Signaling characteristics of segments for network streaming of media data
First Claim
Patent Images
1. A method for processing video data, the method comprising:
- determining an estimated throughput;
receiving, from a server device, information indicative of a respective priority value for each respective segment group of a plurality of segment groups, wherein;
for each respective segment group of the plurality of segment groups;
the respective segment group is a respective plurality of segments,each of the segments of the respective segment group corresponds to a respective temporal section of media content different from temporal sections of the media content to which segments of other segment groups of the plurality of segment groups correspond,each respective segment of the respective segment group represents the same respective temporal section of the media content, is retrievable individually, and is from a different representation of a plurality of representations of the media content, each of the representations being encoded at a different bit rate, andthe respective priority value for the respective segment group indicates an importance of selecting a segment for the respective temporal section from a representation in the plurality of representations that has a higher bit rate than other ones of the representations, andthe priority value for a first segment group of the plurality of segment groups is different from the priority value for a second, different segment group of the plurality of segment groups, the first segment group and the second segment group including respective segments from the same representation of the plurality of representations;
performing a selection operation that selects a segment of each respective segment group of the plurality of segment groups, wherein performing the selection operation comprises selecting the segments of each respective segment group based at least in part on the estimated throughput and the priority values for the segment groups; and
processing the selected segments.
1 Assignment
0 Petitions
Accused Products
Abstract
Video data is retrieved from a server. During retrieval of the video data, a client device receives information indicating bit rates of representations of multimedia content. In addition, the client device receives information indicating priority values for segments of the representations. The segments correspond to particular temporal sections of the representations. The client device requests selected ones of the segments based on the priority values for the segments and an estimated throughput. In some instances, the client device requests the segments in accordance with an adaptive streaming network protocol, such as Dynamic Adaptive Streaming over HTTP (DASH).
49 Citations
46 Claims
-
1. A method for processing video data, the method comprising:
-
determining an estimated throughput; receiving, from a server device, information indicative of a respective priority value for each respective segment group of a plurality of segment groups, wherein; for each respective segment group of the plurality of segment groups; the respective segment group is a respective plurality of segments, each of the segments of the respective segment group corresponds to a respective temporal section of media content different from temporal sections of the media content to which segments of other segment groups of the plurality of segment groups correspond, each respective segment of the respective segment group represents the same respective temporal section of the media content, is retrievable individually, and is from a different representation of a plurality of representations of the media content, each of the representations being encoded at a different bit rate, and the respective priority value for the respective segment group indicates an importance of selecting a segment for the respective temporal section from a representation in the plurality of representations that has a higher bit rate than other ones of the representations, and the priority value for a first segment group of the plurality of segment groups is different from the priority value for a second, different segment group of the plurality of segment groups, the first segment group and the second segment group including respective segments from the same representation of the plurality of representations; performing a selection operation that selects a segment of each respective segment group of the plurality of segment groups, wherein performing the selection operation comprises selecting the segments of each respective segment group based at least in part on the estimated throughput and the priority values for the segment groups; and processing the selected segments. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computing device comprising:
-
one or more non-transitory computer storage media configured to store video data; and one or more processors configured to; determine an estimated throughput; receive, from a server device, information indicative of respective priority values for each respective segment group of a plurality of segment groups, wherein; for each respective segment group of the plurality of segment groups; the respective segment group is a respective plurality of segments, each of the segments of the respective segment group corresponds to a respective temporal section of media content different from temporal sections of the media content to which segments of other segment groups of the plurality of segment groups correspond, each respective segment of the respective segment group represents the same respective temporal section of the media content, is retrievable individually, and is from a different representation of a plurality of representations of the media content, each of the representations being encoded at a different bit rate, and the respective priority value for the respective segment group indicates an importance of selecting a segment for the respective temporal section from a representation in the plurality of representations that has a higher bit rate than other ones of the representations, and the priority value for a first segment group of the plurality of segment groups is different from the priority value for a second, different segment group of the plurality of segment groups, the first segment group and the second segment group including respective segments from the same representation of the plurality of representations; perform a selection operation that selects a segment of each respective segment group of the plurality of segment groups, wherein the one or more processors are configured such that, as part of performing the selection operation, the one or more processors select the segments of each respective segment group based at least in part on the estimated throughput and the priority values for the segment groups; and process the selected segments. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A computing device comprising:
-
means for determining an estimated throughput; means for receiving, from a server device, information indicative of a respective priority value for each respective segment group of a plurality of segment groups, wherein; for each respective segment group of the plurality of segment groups; the respective segment group is a respective plurality of segments, each of the segments of the respective segment group corresponds to a respective temporal section of media content different from temporal sections of the media content to which segments of other segment groups of the plurality of segment groups correspond, each respective segment of the respective segment group represents the same respective temporal section of the media content, is retrievable individually, and is from a different representation of a plurality of representations of the media content, each of the representations being encoded at a different bit rate, and the respective priority value for the respective segment group indicates an importance of selecting a segment for the respective temporal section from a representation in the plurality of representations that has a higher bit rate than other ones of the representations, and the priority value for a first segment group of the plurality of segment groups is different from the priority value for a second, different segment group of the plurality of segment groups, the first segment group and the second segment group including respective segments from the same representation of the plurality of representations; means for performing a selection operation that selects a segment of each respective segment group of the plurality of segment groups, wherein the means for performing the selection operation comprises means for selecting the segments of each respective segment group based at least in part on the estimated throughput and the priority values for the segment groups; and means for processing the selected segments. - View Dependent Claims (28, 29, 30, 31, 32)
-
-
33. A non-transitory computer-readable storage medium having stored thereon instructions that, when executed, cause one or more processors to:
-
determine an estimated throughput; receive, from a server device, information indicative of a respective priority value for each respective segment group of a plurality of segment groups, wherein; for each respective segment group of the plurality of segment groups; the respective segment group is a respective plurality of segments, each of the segments of the respective segment group corresponds to a respective temporal section of media content different from temporal sections of the media content to which segments of other segment groups of the plurality of segment groups correspond, each respective segment of the respective segment group represents the same respective temporal section of the media content, is retrievable individually, and is from a different representation of a plurality of representations of the media content, each of the representations being encoded at a different bit rate, and the respective priority value for the respective segment group indicates an importance of selecting a segment for the respective temporal section from a representation in the plurality of representations that has a higher bit rate than other ones of the representations, and the priority value for a first segment group of the plurality of segment groups is different from the priority value for a second, different segment group of the plurality of segment groups, the first segment group and the second segment group including respective segments from the same representation of the plurality of representations; perform a selection operation that selects a segment of each respective segment group of the plurality of segment groups, wherein the instructions cause the one or more processors to perform the selection operation in part by causing the one or more processors to select the segments of each respective segment group based at least in part on the estimated throughput and the priority values for the segment groups; and process the selected segments. - View Dependent Claims (34, 35, 36, 37, 38)
-
-
39. A method for providing video data via an adaptive streaming network protocol, the method comprising:
-
sending information indicative of a respective priority value for each respective segment group of a plurality of segment groups, wherein; for each respective segment group of the plurality of segment groups; the respective segment group is a respective plurality of segments, each of the segments of the respective segment group corresponds to a respective temporal section of media content different from temporal sections of the media content to which segments of other segment groups of the plurality of segment groups correspond, each respective segment of the respective segment group represents the same respective temporal section of the media content, is retrievable individually, and is from a different representation of a plurality of representations of the media content, each of the representations being encoded at a different bit rate, and the respective priority value for the respective segment group indicates an importance of selecting a segment for the respective temporal section from a representation in the plurality of representations that has a higher bit rate than other ones of the representations, and the priority value for a first segment group of the plurality of segment groups is different from the priority value for a second, different segment group of the plurality of segment groups, the first segment group and the second segment group including respective segments from the same representation of the plurality of representations; and sending requested segments via the adaptive streaming network protocol in response to one or more requests from a client device, the requested segments being ones of the segments specified by the one or more requests. - View Dependent Claims (40)
-
-
41. A computing device comprising:
-
one or more non-transitory computer storage media configured to store media data; and one or more processors configured to; send information indicative of a respective priority value for each respective segment group of a plurality of segment groups, wherein; for each respective segment group of the plurality of segment groups; the respective segment group is a respective plurality of segments, each of the segments of the respective segment group corresponds to a respective temporal section of media content different from temporal sections of the media content to which segments of other segment groups of the plurality of segment groups correspond, each respective segment of the respective segment group represents the same respective temporal section of the media content, is retrievable individually, and is from a different representation of a plurality of representations of the media content, each of the representations being encoded at a different bit rate, and the respective priority value for the respective segment group indicates an importance of selecting a segment for the respective temporal section from a representation in the plurality of representations that has a higher bit rate than other ones of the representations, and the priority value for a first segment group of the plurality of segment groups is different from the priority value for a second, different segment group of the plurality of segment groups, the first segment group and the second segment group including respective segments from the same representation of the plurality of representations; and send requested segments via an adaptive streaming network protocol in response to one or more requests from a client device, the requested segments being ones of the segments specified by the requests. - View Dependent Claims (42)
-
-
43. A computing device comprising:
-
means for sending information indicative of a respective priority value for each respective segment group of a plurality of segment groups, wherein; for each respective segment group of the plurality of segment groups; the respective segment group is a respective plurality of segments, each of the segments of the respective segment group corresponds to a respective temporal section of media content different from temporal sections of the media content to which segments of other segment groups of the plurality of segment groups correspond, each respective segment of the respective segment group represents the same respective temporal section of the media content, is retrievable individually, and is from a different representation of a plurality of representations of the media content, each of the representations being encoded at a different bit rate, and the respective priority value for the respective segment group indicates an importance of selecting a segment for the respective temporal section from a representation in the plurality of representations that has a higher bit rate than other ones of the representations, and the priority value for a first segment group of the plurality of segment groups is different from the priority value for a second, different segment group of the plurality of segment groups, the first segment group and the second segment group including respective segments from the same representation of the plurality of representations; and means for sending requested segments via an adaptive streaming network protocol in response to one or more requests from a client device, the requested segments being ones of the segments specified by the requests. - View Dependent Claims (44)
-
-
45. A non-transitory computer-readable storage medium having stored thereon instructions that, when executed by one or more processors of a computing device, cause the computing device to:
-
send information indicative of a respective priority value for each respective segment group of a plurality of segment groups, wherein; for each respective segment group of the plurality of segment groups; the respective segment group is a respective plurality of segments, each of the segments of the respective segment group corresponds to a respective temporal section of media content different from temporal sections of the media content to which segments of other segment groups of the plurality of segment groups correspond, each respective segment of the respective segment group represents the same respective temporal section of the media content, is retrievable individually, and is from a different representation of a plurality of representations of the media content, each of the representations being encoded at a different bit rate, and the respective priority value for the respective segment group indicates an importance of selecting a segment for the respective temporal section from a representation in the plurality of representations that has a higher bit rate than other ones of the representations, and the priority value for a first segment group of the plurality of segment groups is different from the priority value for a second, different segment group of the plurality of segment groups, the first segment group and the second segment group including respective segments from the same representation of the plurality of representations; and send requested segments via an adaptive streaming network protocol in response to one or more requests from a client device, the requested segments being ones of the segments specified by the requests. - View Dependent Claims (46)
-
Specification