Media content is streamed from a server computer to a client computer. A media file format is used to store data for multiple timeline-altered streams that provides support for switching between the different timeline-altered streams during their presentation. In one aspect, a user can switch between different timeline-altered streams. Upon receiving a user request to switch to a particular timeline-altered stream (the target stream), the client computer accesses a time code stream data object corresponding to the current data unit being presented. The time code stream data object identifies a primary stream presentation time corresponding to the data unit. The client then uses the primary stream presentation time to index into a table of mappings to byte offsets. The table provides a mapping of the primary stream presentation time to a corresponding byte offset of the target stream.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A computer-readable data storage medium with computer-program instructions embedded thereon, the computer-program instructions being executable by a processor for performing operations comprising: receiving a user selection to switch from a first timeline-altered media stream to a second timeline-altered media stream; accessing a time-compressed stream object corresponding to a data unit, currently being rendered, of the first timeline-altered media stream; identifying, from the time-compressed stream object, a presentation time of a primary media stream whose timeline has not been altered, the presentation time indicates when the data unit of the first timeline-altered media stream is to be rendered, the presentation time being independent of a delivery time that indicates when the data unit is to be delivered to a rendering client; accessing an index table to identify an offset into the second timeline altered stream corresponding to the presentation time of the primary media stream; and wherein the second timeline-altered media steam is for presentation to a user by the rendering client.
2. The computer-readable data storage medium of claim 1 , wherein the computer-program instructions further comprise instructions for rendering the second timeline-altered media stream beginning at the location identified by the offset.
3. The computer-readable data storage medium of claim 1 , wherein the computer-program instructions further comprise instructions for streaming the second timeline-altered media stream, beginning at the location identified by the offset, to a client computer for presentation to a user.
4. The computer-readable data storage medium of claim 1 , wherein the computer-program instructions further comprise instructions for rendering the second timeline-altered media stream beginning at a location prior to the location identified by the offset.
5. The computer-readable data storage medium of claim 1 , wherein the computer-program instructions further comprise instructions for streaming the second timeline-altered media stream, beginning at a location prior to the location identified by the offset, to a client computer for presentation to a user.
6. A computing device comprising: a processor; and a memory coupled to the processor, the memory comprising computer-program instructions executable by a processor for performing operations comprising: receiving a user selection to switch from a first timeline-altered media stream to a second timeline-altered media stream; accessing a tune-compressed stream object corresponding to a data unit, currently being rendered, of the first timeline-altered media stream; identifying, from the time-compressed stream object, a presentation time of a primary media stream whose timeline has not been altered, the presentation time indicates when the data unit of the first timeline-altered media stream is to be rendered, the presentation time being independent of a delivery time that indicates when the data unit is to be delivered to a rendering client; accessing an index table to identify an offset into the second timeline altered stream corresponding to the presentation time of the primary media stream; and wherein the second timeline-altered media stream is for presentation to a user by the rendering client.
7. The computing device of claim 6 , wherein the computer-program instructions further comprise instructions for rendering the second timeline-altered media stream beginning at the location identified by the offset.
8. The computing device of claim 6 , wherein the computer-program instructions further comprise instructions for streaming the second timeline-altered media stream, beginning at the location identified by the offset, to a client computer for presentation to a user.
9. The computing device of claim 6 , wherein the computer-program instructions further comprise instructions for rendering the second timeline-altered media stream beginning at a location prior to the location identified by the offset.
10. The computing device of claim 6 , wherein the computer-program instructions further comprise instructions for streaming the second timeline-altered media stream, beginning at a location prior to the location identified by the offset, to a client computer for presentation to a user.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
November 26, 2007
December 30, 2008
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.