Method and apparatus for synchronizing audio and video data
AssigneeMicrosoft Corporation
InventorsJames Lundblad, Ramaneek Khanna
Life of this patent
Estimating the term…
Abstract
A system receives a transport stream containing video data and audio data. A determination is made regarding the time required to process the video data contained in the transport stream and the time required to process the audio data contained in the transport stream. The system then determines a difference in time to process the video contained in the transport stream as compared to the audio data contained in the transport stream. Presentation of the audio data is delayed by this difference in time to synchronize presentation of the audio data with presentation of the video data.
Claims13
A method comprising:
- receiving a transport stream containing video data and audio data;
- identifying a presentation time stamp in the transport stream;
- identifying a value associated with a system time clock;
- determining a time required to process the video data contained in the transport stream by comparing the presentation time stamp and the system time clock;
- and
- delaying presentation of the audio data by the time required to process the video data contained in the transport stream, wherein delaying presentation of the audio data by the time required to process the video data contained in the transport stream includes:
- determining a position of a DMA read pointer;
- and
- storing the audio data in a DMA buffer with a delay that matches the time required to process the video data contained in the transport stream.
An apparatus comprising:
- a transport stream decoder coupled to receive a transport stream and configured to separate audio data and video data from the transport stream;
- a video processing module configured to receive video data from the transport stream decoder;
- an audio processing module configured to receive audio data from the transport stream decoder;
- and
- a clock control module coupled to the transport stream decoder to receive timing data from the transport stream, the clock control module further coupled to the video processing module and the audio processing module and further configured to delay presentation of the audio data by a difference in time to process the video data as compared to the audio data, wherein delaying presentation of the audio data by the time required to process the video data contained in the transport stream includes:
- determining a position of a DMA read pointer;
- and
- storing the audio data in a DMA buffer with a delay that matches the time required to process the video data contained in the transport stream.
An apparatus comprising:
- a system time clock configured to maintain a current system;
- a video display software routine executing on a processor and configured to receive a first time stamp from a transport stream and receive a current system time from the system time clock, the video display software routine further configured to determine a video presentation delay based on the first time stamp and the current system time;
- and
- an audio software routine executing on the processor and configured to receive the video presentation delay from the video display software routine and delay presentation of audio data contained in the transport stream based on the video presentation delay, wherein delaying presentation of the audio data by the time required to process the video data contained in the transport stream includes:
- determining a position of a DMA read pointer;
- and
- storing the audio data in a DMA buffer with a delay that matches the time required to process the video data contained in the transport stream.
Dependencies are inferred from the claim text.