Programmable audio-video synchronization method and apparatus for multimedia systems
First Claim
1. A multimedia system having an audio/video decoding/decompressing circuit for decoding an encoded/compressed data stream, the audio/video decoding/decompressing circuit comprising:
- a parser for separating the encoded/compressed data stream into encoded/compressed audio data, encoded/compressed video data, an audio time value, and a video time value, wherein each of the audio time value and the video time value comprise a time stamp for the encoded/compressed audio data and the encoded/compressed video data respectively;
a memory having addressable storage, coupled to the parser, addressing addressable storage to selectively store and read the encoded/compressed audio data, the encoded/compressed video data, or decoded/decompressed video data to and from addressable storage;
a first decoder, coupled to the memory, for decoding the encoded/compressed video data and generating the decoded/decompressed video data; and
a synchronizer, coupled to the first decoder and the memory, for comparing the video time value with the audio time value and when the comparison exceeds a predetermined threshold, substantially synchronizing the generation of the decoded/decompressed video data by the first decoder with the addressing of addressable storage by the memory.
2 Assignments
0 Petitions
Accused Products
Abstract
A multimedia system including an audio/video decoder/decompresser for decoding/decompressing a compressed encoded audio/video data stream to generate video images for display and audio signals for audible reproduction. The multimedia system includes an integrated system and video decoder with an audio/video synchronization circuit for substancially synchronizing the display of video images with audio playback. A method is described for detecting when the playback of audio and the display of video images are out of synchronization. The circuitry includes three programmable registers, a finite state machine and one full adder using an audio presentation time stamp and the video presentation time stamp. The method uses a rounded programmable bias value which is compared with the difference between the video presentation time stamp and the audio presentation time stamps. The difference may included the latency delay of the audio and video display devices to more properly reflect the synchronization status between audio and video. The circuit area used by the circuitry has been minimized by selective rounding or truncation of the audio presentation time stamp and the video presentation time stamp without sacrificing the accuracy or speed of determining the synchronization between audio and video.
173 Citations
74 Claims
-
1. A multimedia system having an audio/video decoding/decompressing circuit for decoding an encoded/compressed data stream, the audio/video decoding/decompressing circuit comprising:
-
a parser for separating the encoded/compressed data stream into encoded/compressed audio data, encoded/compressed video data, an audio time value, and a video time value, wherein each of the audio time value and the video time value comprise a time stamp for the encoded/compressed audio data and the encoded/compressed video data respectively; a memory having addressable storage, coupled to the parser, addressing addressable storage to selectively store and read the encoded/compressed audio data, the encoded/compressed video data, or decoded/decompressed video data to and from addressable storage; a first decoder, coupled to the memory, for decoding the encoded/compressed video data and generating the decoded/decompressed video data; and a synchronizer, coupled to the first decoder and the memory, for comparing the video time value with the audio time value and when the comparison exceeds a predetermined threshold, substantially synchronizing the generation of the decoded/decompressed video data by the first decoder with the addressing of addressable storage by the memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for determining if synchronization of audio playback having a plurality of compressed and decompressed audio data packets, with video display images having a plurality of compressed and decompressed video data frames, is required, the method for determining comprising the steps of:
-
determining a time difference between receiving an audio time value and a video time value within a data stream of interspersed compressed audio data packets and compressed video data frames; adding the time difference to the audio time value to generate a normalized audio time value; and comparing the normalized audio time value with the video time value to determine whether the video display is lagging the audio playback and requires synchronization. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A method for determining if synchronization of video display images having a plurality of compressed and decompressed video data frames, with audio playback having a plurality of compressed and decompressed audio data packets, is required, the method for determining comprising the steps of:
-
determining a time difference between receiving a video time value and an audio time value within a data stream of interspersed compressed video data frames and compressed audio data packets; adding the time difference to the video time value to generate a normalized video time value; and comparing the normalized video time value with the audio time value to determine whether the video display is lagging the audio playback and requires synchronization. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. An audio/video synchronization circuit for substantially synchronizing video display images having a plurality of compressed and decompressed video data frames, with audio playback having a plurality of compressed and decompressed audio data packets, the audio/video synchronization circuit comprising:
-
a counter initialized to an audio time value upon receiving the audio time value within an audio/video encoded data stream and incremented by a clock to generate a normalized audio time value, the audio time value comprising a time stamp; a memory means for storing a video time value upon receiving the video time value within the audio/video encoded data stream, the video time value also comprising a time stamp; and a subtracter coupled to the memory means, for subtracting the video time value stored in said memory means from the normalized audio time value to generate a time drift value, for comparing the time drift value with a positive lag threshold to determine whether the video display is lagging the audio playback by the lag threshold and when exceeding the lag threshold skipping M compressed video data frames to substantially synchronize a compressed video data frame with a compressed audio data packet, and for comparing the time drift value with the negative value of a lead threshold to determine whether the video display is leading the audio playback by the lead threshold and when exceeding the lead threshold repeating N decompressed video data frames to substantially synchronize a decompressed video data frame with a decompressed audio data packet. - View Dependent Claims (35, 36, 37, 38)
-
-
39. An audio/video synchronization circuit for substantially synchronizing video display images having a plurality of compressed and decompressed video data frames with audio playback having a plurality of compressed and decompressed audio data packets, the audio/video synchronization circuit comprising:
-
a frequency divider for selectively dividing the frequency of a clock in response to a display frame rate to generate a divided frequency clock; a counter, coupled to the frequency divider, initialized to an audio time value upon receiving the audio time value within an audio/video encoded data stream, and incremented by the divided frequency clock to generate a normalized audio time value., wherein the audio time value comprises a time stamp; a first memory means for storing a video time value upon receiving the video time value within the audio/video encoded data stream, wherein the video time value also comprises a time stamp; a second memory means for storing a threshold value; and an arithmetic means selectively coupled to the first memory means, the second memory means, and the counter, for selectively adding or subtracting the threshold value and the video time value to generate a first result and selectively adding or subtracting the normalized audio time value and the first result to generate a second result, wherein the second result indicates that the video display lags the audio playback by more than the threshold value; and a synchronizer for causing M compressed video data frames to be skipped in order to substantially synchronize a decompressed video data frame with a decompressed audio data packet. - View Dependent Claims (40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54)
-
-
55. An audio/video synchronization circuit for substantially synchronizing video display images having a plurality of compressed and decompressed video data frames with audio playback having a plurality of compressed and decompressed audio data packets, the audio/video synchronization circuit comprising:
-
a frequency divider for selectively dividing the frequency of a clock in response to a display frame rate to generate a divided frequency clock; a counter, coupled to the frequency divider, initialized to a video time value upon receiving the video time value within an audio/video encoded data stream, and incremented by the divided frequency clock to generate a normalized video time value, wherein the video time value comprises a time stamp; a first memory means for storing an audio time value upon receiving the audio time value within the audio/video encoded data stream, wherein the audio time value also comprises a time stamp; a second memory means for storing a threshold value; and an arithmetic means selectively coupled to the first memory means, the second memory means, and the counter, for selectively adding or subtracting the threshold value and the audio time value to generate a first result and selectively adding or subtracting the normalized video time value and the first result to generate a second result, wherein the second result indicates that the video display lags the audio playback by more than the threshold value; and a synchronization circuit for causing M compressed video data frames to be skipped in order to substantially synchronize a decompressed video data frame with a decompressed audio data packet. - View Dependent Claims (56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66)
-
-
67. A multimedia system for reading, decoding, and decompressing encoded audio/video data into video data for display on a plurality of display types and into audio data for reproduction on a plurality of sound reproduction devices, the multimedia system comprising:
-
a reader, receiving the encoded audio/video data, for reading the encoded audio/video data and generating a first encoded audio/video bit stream; a first memory for storing the first encoded audio/video bit stream; a processor, coupled to the reader, the first memory, and a system bus, for receiving the first encoded audio/video bit stream and writing first encoded audio/video bit stream into and a first memory, and reading the first encoded audio/video bit stream from the first memory being stored therein and outputing the first encoded audio/video bit stream onto the bus; and an audio/video decoding circuit, coupled to the system bus, for receiving the first encoded audio/video bit stream and for decoding and decompressing the encoded audio/video data into video data and audio data, the audio/video decoding circuit comprising; a parser for separating the encoded data stream into encoded audio data, encoded video data, an audio time value, and a video time value, the audio time value and the video time value comprising a time stamp; a second memory having addressable storage, coupled to the parser, coupled to the parser, addressing addressable storage to selectively store and read the encoded audio data, the encoded video data, or decoded video data to and from addressable storage; a first decoder, coupled to the second memory, for decoding and decompressing encoded video data and generating decompressed video data in response to the video time value; a synchronizing circuit, coupled to the first decoder and the second memory, for comparing the video time value with the audio time value and when the comparison exceeds a predetermined threshold, substantially synchronizing the generation of the decompressed video data by the first decoder with the addressing of addressable storage by the second memory; and a second decoder, coupled to the second memory, for decoding and decompressing encoded audio data to generate decompressed audio data. - View Dependent Claims (68, 69, 70, 71, 72, 73, 74)
-
Specification