Auto latency correction method and apparatus for MPEG playback system
First Claim
1. An apparatus for controlling playback of audio and video signals from an encoded data stream comprising at least audio data packets, video data packets, audio presentation time stamps and video presentation time stamps, said apparatus comprising:
- a system decoder for receiving the encoded data stream and separating the data stream into an encoded audio data stream comprising at least the audio data packets and audio presentation time stamps and an encoded video data stream comprising at least the video data packets and video presentation time stamps;
an audio decoder, for receiving the audio data packets from the encoded audio data stream and decoding the audio data packets;
a video decoder, coupled to said system decoder and said audio decoder, for receiving a system time clock and the encoded video data stream and decoding the encoded video data stream in synchronization with the system time clock, said video decoder further comprising;
a latency value register for storing a video decoder latency value;
counter means, coupled to said latency value register, for adding the latency value to a video presentation time stamp value to produce a normalized video presentation time stamp value;
subtracter means, coupled to said counter means, for subtracting the normalized video presentation time stamp value from an audio presentation time stamp value to produce a difference value;
comparator means, coupled to said subtracter means, for comparing the difference value with a predetermined time drift threshold and outputting a video frame skip signal if the difference value exceeds the pre-determined time drift threshold and the difference value is negative and outputting a video frame repeat signal if the difference value exceeds the predetermined time drift threshold and the difference value is positive; and
latency value adjustment means, coupled to said comparator means and said latency value register, for adding a predetermined value to the latency value stored in said latency value register if the video frame repeat signal is generated by the comparator means and for subtracting the predetermined value from the latency value stored in said latency value register if the video frame skip signal is generated by the comparator means.
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 substantially synchronizing the display of video images with audio playback. Latency between Audio and Video decompression/decoding may be adjusted dynamically by internal hardware. Hardware signals indicating the need to skip or repeat a frame or frames of video or audio data are fed to a hardware circuit which may increment or decrement a latency value accordingly. The latency value is thus stepwise incremented or decremented until no further frame skips/repeats occur. The hardware implementation allows for better matching of latency value to audio and video decoder, frees up software for other tasks and reduces software code requirements. In addition, changes to the audio and video data paths (e.g., switching to an auxiliary audio decoder) are automatically and quickly compensated for. The hardware implementation may provide for additional levels of latency adjustment.
-
Citations
20 Claims
-
1. An apparatus for controlling playback of audio and video signals from an encoded data stream comprising at least audio data packets, video data packets, audio presentation time stamps and video presentation time stamps, said apparatus comprising:
-
a system decoder for receiving the encoded data stream and separating the data stream into an encoded audio data stream comprising at least the audio data packets and audio presentation time stamps and an encoded video data stream comprising at least the video data packets and video presentation time stamps; an audio decoder, for receiving the audio data packets from the encoded audio data stream and decoding the audio data packets; a video decoder, coupled to said system decoder and said audio decoder, for receiving a system time clock and the encoded video data stream and decoding the encoded video data stream in synchronization with the system time clock, said video decoder further comprising; a latency value register for storing a video decoder latency value; counter means, coupled to said latency value register, for adding the latency value to a video presentation time stamp value to produce a normalized video presentation time stamp value; subtracter means, coupled to said counter means, for subtracting the normalized video presentation time stamp value from an audio presentation time stamp value to produce a difference value; comparator means, coupled to said subtracter means, for comparing the difference value with a predetermined time drift threshold and outputting a video frame skip signal if the difference value exceeds the pre-determined time drift threshold and the difference value is negative and outputting a video frame repeat signal if the difference value exceeds the predetermined time drift threshold and the difference value is positive; and latency value adjustment means, coupled to said comparator means and said latency value register, for adding a predetermined value to the latency value stored in said latency value register if the video frame repeat signal is generated by the comparator means and for subtracting the predetermined value from the latency value stored in said latency value register if the video frame skip signal is generated by the comparator means. - View Dependent Claims (2, 3, 4, 5)
-
-
6. An apparatus for controlling playback of audio and video signals from an encoded data stream comprising at least audio data packets, video data packets, audio presentation time stamps and video presentation time stamps, said apparatus comprising:
-
a system decoder for receiving the encoded data stream and separating the data stream into an encoded audio data stream comprising at least the audio data packets and audio presentation time stamps and an encoded video data stream comprising at least the video data packets and video presentation time stamps; a latency value register for storing a decoder latency value; counter means, coupled to said latency value register, for adding the latency value to one of the video and audio presentation time stamp values to produce a normalized presentation time stamp value; subtracter means, coupled to said counter means, for subtracting the normalized presentation time stamp value from the other of the audio and video presentation time stamp values to produce a difference value; comparator means, coupled to said subtracter means, for comparing the difference value with a predetermined time drift threshold and outputting a frame skip/repeat signal if the difference value exceeds the pre-determined time drift threshold; and latency value adjustment means, coupled to said comparator means and said latency value register, for modifying the latency value stored in said latency value register if the frame skip/repeat signal is generated by the comparator means. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A method for controlling playback of audio and video signals from an encoded data stream comprising at least audio data packets, video data packets, audio presentation time stamps and video presentation time stamps, the method comprising the steps of:
-
separating, in a system decoder the encoded data stream into an encoded audio data stream comprising at least the audio data packets and audio presentation time stamps and an encoded video data stream comprising at least the video data packets and video presentation time stamps, decoding, in an audio decoder, the audio data packets from the encoded audio data stream, decoding, in a video decoder, the encoded video data stream in synchronization with a system time clock, adding a stored latency value to a video presentation time stamp value to produce a normalized video presentation time stamp value, subtracting the normalized video presentation time stamp value from an audio presentation time stamp value to produce a difference value, comparing the difference value with a predetermined time drift threshold and outputting a video frame skip signal if the difference value exceeds the pre-determined time drift threshold and the difference value is negative and outputting a video frame repeat if the difference value exceeds the predetermined time drift threshold and the difference value is positive, adding a predetermined value to the latency value if the video frame repeat signal is generated in the comparing step, and subtracting the predetermined value from the latency value if the video frame skip signal is generated in the comparing step. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A method for controlling playback of audio and video signals from an encoded data stream comprising at least audio data packets, video data packets, audio presentation time stamps and video presentation time stamps, said apparatus comprising:
-
separating the encoded data stream into an encoded audio data stream comprising at least the audio data packets and audio presentation time stamps and an encoded video data stream comprising at least the video data packets and video presentation time stamps; combining a decoder latency value to one of the video and audio presentation time stamp values to produce a normalized presentation time stamp value; subtracting the normalized presentation time stamp value from the other of the audio and video presentation time stamp values to produce a difference value; comparing the difference value with a predetermined time drift threshold and outputting a frame skip/repeat signal if the difference value exceeds the pre-determined time drift threshold; and modifying the latency value if the frame skip/repeat signal is generated in the comparing step. - View Dependent Claims (17, 18, 19, 20)
-
Specification