OPTIMIZED CLIENT SIDE RATE CONTROL AND INDEXED FILE LAYOUT FOR STREAMING MEDIA
First Claim
1. An indexed file layout for segmented streaming of multimedia content, the layout comprising:
- one or more files containing index information for a program, the index information comprising;
program description information describing the program, wherein the program description information comprises a duration of the program and track information for each audio and video track in the program; and
streaming segment index information describing each streaming segment of the program; and
one or more files containing streaming segments of the program, wherein each streaming segment of the program is encoded at one or more bitrates, corresponding to one or more available streaming segment encodings, independently of other streaming segments of the program, and wherein the layout supports client switching between different bitrates when transitioning between different streaming segments.
2 Assignments
0 Petitions
Accused Products
Abstract
An indexed file layout, comprising index information, is defined for segmented streaming of multimedia content. The index information can comprise program description information and streaming segment index information. In addition, the layout can comprise files containing streaming segments of the program, where the streaming segments are each encoded at one or more bitrates independently of other streaming segments of the program. The layout supports client switching between different bitrates at segment boundaries. Optimized client-side rate control of streaming content can be provided by defining a plurality of states, selecting available paths based on constraint conditions, and selecting a best path through the states (e.g., based on a distortion measure). In one client-side rate control solution states correspond to a specific bitrate of a specific streaming segment, and in another client-side rate control solution states correspond to a measure of client buffer fullness.
-
Citations
20 Claims
-
1. An indexed file layout for segmented streaming of multimedia content, the layout comprising:
-
one or more files containing index information for a program, the index information comprising; program description information describing the program, wherein the program description information comprises a duration of the program and track information for each audio and video track in the program; and streaming segment index information describing each streaming segment of the program; and one or more files containing streaming segments of the program, wherein each streaming segment of the program is encoded at one or more bitrates, corresponding to one or more available streaming segment encodings, independently of other streaming segments of the program, and wherein the layout supports client switching between different bitrates when transitioning between different streaming segments. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for optimizing client-side rate control of streaming content, the method comprising:
-
for each of a plurality of states; selecting one or more available paths that end in the state, where the one or more available paths are those paths ending in the state that satisfy a constraint condition; selecting a best path to the state from the one or more available paths, wherein the best path has the lowest distortion amongst the one or more available paths; and eliminating, as available paths, all of the one or more available paths other than the best path; and downloading, by a client from a server, one or more streaming segments encoded at bitrates corresponding to the best path to an ending state through the plurality of states, wherein each of the plurality of states corresponds to a specific bitrate encoding of a specific streaming segment. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A method for optimizing client-side rate control of streaming content, the method comprising:
-
for each of a plurality of states; selecting one or more available paths that end in the state, where the one or more available paths are those paths ending in the state that satisfy a constraint condition; and retaining the one or more available paths as possible paths to be included in a best end-to-end path; performing an end-to-end analysis of the possible paths to determine the best end-to-end path, wherein the best end-to-end path has the lowest overall distortion; and downloading, by a client from a server, one or more streaming segments encoded at bitrates corresponding to the best end-to-end path through the plurality of states, wherein each of the plurality of states corresponds to a measure of client buffer fullness for a specific bitrate encoding of a specific streaming segment. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification