Patent ID: 8379851

Claim:
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, wherein the streaming segment index information comprises, for each streaming segment: a start position of the streaming segment; and an indication of bitrates for each available streaming segment encoding of the streaming segment, wherein a plurality of different bitrates are available for at least one streaming segment; and one or more other 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, wherein the layout supports switching controlled by a client computing device between different bitrates when transitioning between different streaming segments of the program, wherein bitrate selection decisions are exclusively controlled by client-side rate control software and/or hardware of the client computing device, and wherein the client computing device downloads the one or more files containing index information for the program and uses the downloaded index information for the switching and bitrate selection decisions; wherein the program comprises one or more audio tracks and one or more video tracks, wherein at least one streaming segment of the program is encoded at a plurality of different bitrates, and wherein at least one streaming segment of the program is encoded at a different number of bitrates than at least one other streaming segment of the program; and wherein the program is segmented into the one or more streaming segments, wherein each of the one or more streaming segments covers a contiguous time range of corresponding tracks of the program, and wherein all of the one or more streaming segments of the program combine to cover the program.