Media file format to support switching between multiple timeline-altered media streams
First Claim
Patent Images
1. A method at least partially implemented by a computer, the method 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
rendering or streaming the second timeline-altered media stream beginning at the location identified by the offset to present the second timeline-altered media stream to a user.
2 Assignments
0 Petitions
Accused Products
Abstract
In a networked client/server system, 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. According to one embodiment, a time code stream includes multiple data objects mapping corresponding timeline-altered stream data units to primary stream presentation times, and an index table mapping primary stream presentation times to timeline-altered stream byte offsets.
204 Citations
8 Claims
-
1. A method at least partially implemented by a computer, the method 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 rendering or streaming the second timeline-altered media stream beginning at the location identified by the offset to present the second timeline-altered media stream to a user. - View Dependent Claims (2, 3, 4)
-
-
5. A system comprising:
-
a sending computer coupled to a network; a receiving computer coupled to a network; wherein the sending computer is configured to transmit, to the receiving computer, a data stream having a plurality of data units, the data stream including a time code stream that includes, for each of the plurality of data units, a respective object that maps a current presentation time of the data unit to a corresponding current presentation time of a non-timeline altered primary data stream, the current presentation time being independent of a delivery time and indicating when the data unit is to be presented; and wherein the receiving computer is configured to, receive the data stream from the sending computer, receive a user request to change from presentation of the data stream to presentation of another data stream, identify a current presentation time of the other data stream based on a mapping to the non-timeline altered primary data stream in the respective object corresponding to the data unit currently being rendered; and render the other data stream for presentation to a user beginning at an offset into the other data stream, the offset being identified from the mapping. - View Dependent Claims (6, 7, 8)
-
Specification