Streaming encoded video data
First Claim
1. A method of providing information for encoded video data, the method comprising:
- receiving encoded video data units, wherein each of the units corresponds to a video segment;
determining a first sequence of the units, each of the units in the first sequence having a first common temporal duration;
providing the first common temporal duration for the first sequence of units and the number of the video data units in the first sequence to a client device, wherein providing comprises providing a first value for the common temporal duration and a second value for the number of the video data units in the first sequence, wherein the first value corresponds to the entire first sequence of units, and wherein the second value corresponds to the entire first sequence of units;
determining a second sequence of the units, each of the units in the second sequence having a second common temporal duration, wherein the second common temporal duration is different than the first common temporal duration;
providing the second common temporal duration for the second sequence of units and the number of the video data units in the second sequence to the client device, wherein providing comprises providing a third value for the second common temporal duration and a fourth value for the number of video data units in the second sequence, wherein the third value corresponds to the entire second sequence of units, and wherein the fourth value corresponds to the entire second sequence of units;
assigning each of the segments of the first sequence and the second sequence a unique uniform resource locator;
receiving a streaming hypertext transfer protocol (HTTP) request specifying the uniform resource locator of one of the video segments in either the first sequence or the second sequence from the client device; and
in response to the request, sending the requested video segment to the client device in accordance with streaming HTTP.
1 Assignment
0 Petitions
Accused Products
Abstract
A source device may signal characteristics of a media presentation description (MPD) file such that a destination device may select one of a number of presentations corresponding to the MPD file and retrieve one or more video files of the selected presentation. In one example, an apparatus for transporting encoded video data includes a management unit configured to receive encoded video data comprising a number of video segments and forms a presentation comprising a number of video files, each of the video files corresponding to a respective one of the video segments, and a network interface configured to, in response to a request specifying a temporal section of the video data, output at least one of the video files corresponding to the number of video segments of the requested temporal section. A client may request temporally sequential fragments from different ones of the presentations.
37 Citations
32 Claims
-
1. A method of providing information for encoded video data, the method comprising:
-
receiving encoded video data units, wherein each of the units corresponds to a video segment; determining a first sequence of the units, each of the units in the first sequence having a first common temporal duration; providing the first common temporal duration for the first sequence of units and the number of the video data units in the first sequence to a client device, wherein providing comprises providing a first value for the common temporal duration and a second value for the number of the video data units in the first sequence, wherein the first value corresponds to the entire first sequence of units, and wherein the second value corresponds to the entire first sequence of units; determining a second sequence of the units, each of the units in the second sequence having a second common temporal duration, wherein the second common temporal duration is different than the first common temporal duration; providing the second common temporal duration for the second sequence of units and the number of the video data units in the second sequence to the client device, wherein providing comprises providing a third value for the second common temporal duration and a fourth value for the number of video data units in the second sequence, wherein the third value corresponds to the entire second sequence of units, and wherein the fourth value corresponds to the entire second sequence of units; assigning each of the segments of the first sequence and the second sequence a unique uniform resource locator; receiving a streaming hypertext transfer protocol (HTTP) request specifying the uniform resource locator of one of the video segments in either the first sequence or the second sequence from the client device; and in response to the request, sending the requested video segment to the client device in accordance with streaming HTTP. - View Dependent Claims (2, 3)
-
-
4. An apparatus for providing information for encoded video data, the apparatus comprising:
-
a processor configured to receive encoded video data comprising units of video data, wherein each of the units corresponds to a video segment, determine a first sequence of the units, each of the units in the first sequence having a first common temporal duration, generate the first common temporal duration for the first sequence of video units and the number of the video data units in the first sequence, wherein the processor is configured to generate a first value for the common temporal duration and a second value for the number of the video data units in the first sequence, wherein the first value corresponds to the entire sequence of units, and wherein the second value corresponds to the entire first sequence of units, and wherein the processor is further configured to determine a second sequence of the units, each of the units in the second sequence having a second common temporal duration, wherein the second common temporal duration is different than the first common temporal duration, generate the second common temporal duration for the second sequence of units and the number of the video data units in the second sequence, wherein providing comprises providing a third value for the second common temporal duration and a fourth value for the number of video data units in the second sequence, wherein the third value corresponds to the entire second sequence of units, and wherein the fourth value corresponds to the entire second sequence of units, assign each of the segments of the first sequence and the second sequence a unique uniform resource locator, and receive a streaming hypertext transfer protocol (HTTP) request specifying the uniform resource locator of one of the video segments in either the first sequence or the second sequence from a client device; and a network interface configured to provide the first common temporal duration for the first sequence of video units, the number of the video data units in the first sequence, the second common temporal duration for the second sequence of units, the number of the video data units in the second sequence to the client device, and the requested video segment in accordance with streaming HTTP to the client device. - View Dependent Claims (5, 6)
-
-
7. An apparatus for providing information for encoded video data, the apparatus comprising:
-
means for receiving encoded video data comprising units of video data, wherein each of the units corresponds to a video segment; means for determining a sequence of the units, each of the units in the first sequence having a first common temporal duration; means for providing the first common temporal duration for the first sequence of units and the number of the video data units in the first sequence to a client device, wherein the means for providing comprises means for providing a first value for the first common temporal duration and a second value for the number of the video data units in the first sequence, wherein the first value corresponds to the entire first sequence of units, and wherein the second value corresponds to the entire first sequence of units; means for determining a second sequence of the units, each of the units in the second sequence having a second common temporal duration, wherein the second common temporal duration is different than the first common temporal duration; means for providing the second common temporal duration for the second sequence of units and the number of the video data units in the second sequence to the client device, wherein providing comprises providing a third value for the second common temporal duration and a fourth value for the number of video data units in the second sequence, wherein the third value corresponds to the entire second sequence of units, and wherein the fourth value corresponds to the entire second sequence of units; means for assigning each of the segments of the first sequence and the second sequence a unique uniform resource locator; means for receiving a streaming hypertext transfer protocol (HTTP) request specifying the uniform resource locator of one of the video segments in either the first sequence or the second sequence from the client device; and means for sending, in response to the request, the requested video segment to the client device in accordance with streaming HTTP. - View Dependent Claims (8, 9)
-
-
10. A computer program product comprising a non-transitory computer readable storage medium having stored therein instructions that, when executed, cause a processor of a device for providing information for encoded video data to:
-
receive encoded video data comprising units of video data, wherein each of the units corresponds to a video segment; determine a first sequence of the units, each of the units in the first sequence having a first common temporal duration; provide the first common temporal duration for the sequence of units and the number of the video data units in the sequence to a client device, wherein the instructions that cause the processor to provide comprise instructions that cause the processor to provide a first value for the first common temporal duration and a second value for the number of the video data units in the first sequence, wherein the first value corresponds to the entire first sequence of units, and wherein the second value corresponds to the entire first sequence of units; determine a second sequence of the units, each of the units in the second sequence having a second common temporal duration, wherein the second common temporal duration is different than the first common temporal duration; provide the second common temporal duration for the second sequence of units and the number of the video data units in the second sequence to the client device, wherein providing comprises providing a third value for the second common temporal duration and a fourth value for the number of video data units in the second sequence, wherein the third value corresponds to the entire second sequence of units, and wherein the fourth value corresponds to the entire second sequence of units; assign each of the segments of the first sequence and the second sequence a unique uniform resource locator; receive a streaming hypertext transfer protocol (HTTP) request specifying the uniform resource locator of one of the video segments in either the first sequence or the second sequence from the client device; and in response to the request, send the requested video segment to the client device in accordance with streaming HTTP. - View Dependent Claims (11, 12)
-
-
13. A method of receiving encoded video data, the method comprising:
-
receiving a first common temporal duration for units in a first sequence of units of encoded video data and the number of the units in the first sequence, comprising receiving a first value for the first common temporal duration and a second value for the number of the video data units in the first sequence, wherein the first value corresponds to the entire first sequence of units, wherein the second value corresponds to the entire first sequence of units, and wherein the units of the first sequence comprise respective video segments; receiving a second common temporal duration for units in a second sequence of units of encoded video data and the number of the units in the second sequence, comprising receiving a third value for the second common temporal duration and a fourth value for the number of the video data units in the second sequence, wherein the third value corresponds to the entire second sequence of units, wherein the fourth value corresponds to the entire second sequence of units, and wherein the units of the second sequence comprise respective video segments; receiving one or more indications of a temporal location of the encoded video data at which to begin playback, wherein the temporal location is within the first sequence of units and the second sequence of units, and wherein the one or more indications comprise an indication of either the first sequence of units or the second sequence of units from which to retrieve segments; determining uniform resource locators of segments of either the first sequence or the second sequence based on the received one or more indications, wherein the uniform resource locators of the segments of the first sequence and of the second sequence are unique; automatically generating a streaming hypertext transfer protocol (HTTP) request, in accordance with streaming HTTP, to begin a network stream at one of the units in either the first sequence or the second sequence, such that the network stream includes the temporal location, wherein generating the streaming HTTP request comprises specifying one of the determined uniform resource locators in the streaming HTTP request; and sending the streaming HTTP request to a server device. - View Dependent Claims (14, 15, 16, 17)
-
-
18. An apparatus for receiving encoded video data, the apparatus comprising:
-
a network interface; and a processor configured to receive, via the network interface, a first common temporal duration for a first sequence of units of encoded video data and the number of the units in the sequence, wherein the processor is configured to receive a first value for the first common temporal duration and a second value for the number of the video data units in the first sequence, wherein the first value corresponds to the entire first sequence of units, wherein the second value corresponds to the entire second sequence of units, and wherein the units of the first sequence comprise respective video segments, receive a second common temporal duration for units in a second sequence of units of encoded video data and the number of the units in the second sequence, wherein the processor is configured to receive a third value for the second common temporal duration and a fourth value for the number of the video data units in the second sequence, wherein the third value corresponds to the entire second sequence of units, and wherein the fourth value corresponds to the entire second sequence of units, and wherein the units of the second sequence comprise respective video segments, receive one or more indications of a temporal location of the encoded video data at which to begin playback, wherein the temporal location is within the first sequence of units and the second sequence of units, wherein the one or more indications comprise an indication of either the first sequence of units or the second sequence of units from which to retrieve segments, and uniform resource locators of segments of either the first sequence or the second sequence based on the received one or more indications, wherein the uniform resource locators of the segments of the first sequence and of the second sequence are unique, automatically generate a streaming hypertext transfer protocol (HTTP) request, in accordance with streaming HTTP, to begin a network stream at one of the units in either the first sequence or the second sequence, such that the network stream includes the temporal location, specify one of the determined uniform resource locators in the streaming HTTP request, and send the streaming HTTP request to a server device via the network interface. - View Dependent Claims (19, 20, 21, 22)
-
-
23. An apparatus for receiving encoded video data, the apparatus comprising:
-
means for receiving a first common temporal duration for units in a first sequence of units of encoded video data and the number of the units in the first sequence, comprising receiving a first value for the first common temporal duration and a second value for the number of the video data units in the first sequence, wherein the first value corresponds to the entire first sequence of units, wherein the second value corresponds to the entire first sequence of units, and wherein the units of the first sequence comprise respective video segments; means for receiving a second common temporal duration for units in a second sequence of units of encoded video data and the number of the units in the second sequence, comprising means for receiving a third value for the second common temporal duration and a fourth value for the number of the video data units in the second sequence, wherein the third value corresponds to the entire second sequence of units, wherein the fourth value corresponds to the entire second sequence of units, and wherein the units of the second sequence comprise respective video segments; means for receiving one or more indications of a temporal location of the encoded video data at which to begin playback, wherein the temporal location is within the first sequence of units and the second sequence of units, and wherein the one or more indications comprise an indication of either the first sequence of units or the second sequence of units from which to retrieve segments; means for determining uniform resource locators of segments of either the first sequence or the second sequence based on the received one or more indications, wherein the uniform resource locators of the segments of the first sequence and of the second sequence are unique; means for automatically generating a streaming hypertext transfer protocol (HTTP) request, in accordance with streaming HTTP, to begin a network stream at one of the units in either the first sequence or the second sequence, such that the network stream includes the temporal location, wherein generating the streaming HTTP request comprises specifying one of the determined uniform resource locators in the streaming HTTP request; and means for sending the streaming HTTP request to a server device. - View Dependent Claims (24, 25, 26, 27)
-
-
28. A computer program product comprising a non-transitory computer readable medium having stored thereon instructions that, when executed, cause a processor of a device for receiving encoded video data to:
-
receive a first common temporal duration for units in a first sequence of units of encoded video data and the number of the units in the first sequence, comprising receiving a first value for the first common temporal duration and a second value for the number of the video data units in the first sequence, wherein the first value corresponds to the entire first sequence of units, wherein the second value corresponds to the entire first sequence of units, and wherein the units of the first sequence comprise respective video segments; receive a second common temporal duration for units in a second sequence of units of encoded video data and the number of the units in the second sequence, wherein the instructions cause the processor to receive a third value for the second common temporal duration and a fourth value for the number of the video data units in the second sequence, wherein the third value corresponds to the entire second sequence of units, wherein the fourth value corresponds to the entire second sequence of units, and wherein the units of the second sequence comprise respective video segments; receive one or more indications of a temporal location of the encoded video data at which to begin playback, wherein the temporal location is within the first sequence of units and the second sequence of units, and wherein the one or more indications comprise an indication of either the first sequence of units or the second sequence of units from which to retrieve segments; determine uniform resource locators of segments of either the first sequence or the second sequence based on the received one or more indications, wherein the uniform resource locators of the segments of the first sequence and of the second sequence are unique; automatically generate a streaming hypertext transfer protocol (HTTP) request, in accordance with streaming HTTP, to begin a network stream at one of the units in either the first sequence or the second sequence, such that the network stream includes the temporal location, wherein the instructions cause the processor to generate the streaming HTTP request comprises specifying one of the determined uniform resource locators in the streaming HTTP request; and send the streaming HTTP request to a server device. - View Dependent Claims (29, 30, 31, 32)
-
Specification