Multi-media synchronization
First Claim
1. A method of synchronously rendering a plurality of media streams, each media stream comprising a sequence of media samples having media-specified timing, the method comprising the following steps:
- generating a common clock reference;
calculating presentation times for the media samples based in part on the media-specified timing of the media samples and also based in part upon a desired synchronization of the media streams relative to each other;
associating the presentation times with the media samples of the plurality of media streams, each presentation time indicating when the associated media sample should be rendered relative to the common clock reference;
rendering the respective media samples of the plurality of media streams at approximate times relative to the common clock reference as indicated by the presentation times associated with the respective media samples.
2 Assignments
0 Petitions
Accused Products
Abstract
A method is described for synchronously rendering digitized media streams. Each digitized media stream is made up of a sequence of media samples having media-specified timing. The described method includes calculating presentation times for media samples of different media streams based in part on the media-specified timing of the media samples and also based in part upon the desired synchronization of the different media streams relative to each other. The calculated presentation times indicate when the media samples should be rendered relative to a common clock reference. The method further includes attaching a media sample'"'"'s calculated presentation time to the media sample, and then routing the media sample to a sink component for rendering. The sink component renders the respective media samples of the digitized media streams at the approximate presentation times of the samples relative to the common clock reference.
-
Citations
27 Claims
-
1. A method of synchronously rendering a plurality of media streams, each media stream comprising a sequence of media samples having media-specified timing, the method comprising the following steps:
-
generating a common clock reference; calculating presentation times for the media samples based in part on the media-specified timing of the media samples and also based in part upon a desired synchronization of the media streams relative to each other; associating the presentation times with the media samples of the plurality of media streams, each presentation time indicating when the associated media sample should be rendered relative to the common clock reference; rendering the respective media samples of the plurality of media streams at approximate times relative to the common clock reference as indicated by the presentation times associated with the respective media samples. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of synchronously rendering a plurality of media streams, each media stream comprising a sequence of media samples having media-specified timing, the method comprising the following steps:
-
generating a common clock reference; calculating presentation times for media samples of different media streams based in part on the media-specified timing of the media samples and also based in part upon the desired synchronization of the different media streams relative to each other, said presentation times indicating when the media samples should be rendered relative to the common clock reference; routing the samples of any particular media stream to a sink processing component that renders the media samples of the particular media stream; attaching a particular media sample'"'"'s calculated presentation time to the particular media sample before the particular media sample is routed to the sink component; the sink component rendering the respective media samples of the plurality of media streams at approximate times relative to the common clock reference as indicated by the presentation times attached to the respective media samples. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method of rendering a media stream, comprising the following steps:
-
generating a clock reference; sending a play command to a source processing component that reads media samples of a media stream from a media source; specifying a start time for the media stream in the play command, the start time being specified relative to the clock reference; routing the media samples of the media stream from the source processing component to a sink processing component; the sink processing component beginning the rendering of the media stream at approximately the start time relative to the reference clock. - View Dependent Claims (15, 16, 17)
-
-
18. A method of synchronizing two media streams, comprising the following steps:
-
generating a common clock reference; sending first and second play commands to one or more source processing components that read media samples of first and second media streams from one or more media sources; specifying a stop time for the first media stream in the first play command, the stop time being specified relative to the common clock reference; specifying a start time for the second media stream in the second play command, the start time being specified relative to the common clock reference; routing the media samples of the first and second media streams from the source processing components to one or more sink processing components; the one or more sink processing components rendering the media streams; the one or more sink processing components stopping the rendering of the first media stream at approximately the stop time relative to the common reference clock; the one or more sink processing components beginning the rendering of the second media stream at approximately the start time relative to the common reference clock. - View Dependent Claims (19, 20, 21)
-
-
22. A media rendering system comprising:
-
a media source; a timing source that supplies a clock reference; a plurality of media processing components including a source component and a sink component; the source component reading media samples of a media stream from the media source; component interconnections between the media processing components to route the media samples from the source component to the sink component; the source component attaching presentation times to the respective media samples indicating when the respective media samples should be rendered relative to the clock reference; the sink component rendering the respective media samples at approximate times relative to the clock reference as indicated by the presentation times attached to the respective media samples. - View Dependent Claims (23, 24)
-
-
25. A method of synchronously rendering a plurality of media streams, each media stream comprising a sequence of media samples, the method comprising the following steps:
-
generating a common clock reference; associating presentation times with the media samples of the plurality of media streams, each presentation time indicating when the associated media sample should be rendered relative to the common clock reference; rendering the respective media samples of the plurality of media streams at approximate times relative to the common clock reference as indicated by the presentation times associated with the respective media samples; varying the common clock reference to vary the rendering rate of the media samples.
-
-
26. A method of synchronously rendering a plurality of media streams, each media stream comprising a sequence of media samples, the method comprising the following steps:
-
calculating a common clock reference based on a reference media stream; associating presentation times with the media samples of the plurality of media streams, each presentation time indicating when the associated media sample should be rendered relative to the common clock reference; rendering the respective media samples of the plurality of media streams at approximate times relative to the common clock reference as indicated by the presentation times associated with the respective media samples. - View Dependent Claims (27)
-
Specification