Method for ensuring synchronization of MPEG-1 data carried in an MPEG-2 transport stream
First Claim
1. A method of ensuring synchronization of MPEG-1 video and audio data carried in an MPEG-2 transport stream for decoding by an MPEG-1 video decoder and an MPEG-1 audio decoder, the transport stream including a plurality of packetized elementary stream (PES) packets containing video or audio data, each PES packet including a packet start code prefix identifying it as a PES packet and identifying the PES packet as either a video or an audio packet, with two or more of the PES packets including a video presentation time stamp (PTS) or an audio PTS that enables playback of data in the PES packet to be synchronized with a system time clock, the PES packets having video data and a video PTS including one or more picture start codes that indicate the beginning of a new frame of video data, the method comprising:
- (a) searching the MPEG-2 transport stream for a packet start code prefix indicating the start of a PES packet;
(b) if the PES packet is a video PES packet, examining the video PES packet to determine if a video PTS is present;
(c) storing the data associated with the PES packet into a buffer;
(d) if the PES packet is a video PES packet that includes a video PTS in its header,(i) examining the video data in the PES packet during storage to locate the first occurrence of a picture start code, and upon locating the first occurrence of a picture start code, setting a flag indicating the correspondence between the video PTS and the identified picture start code and storing the video data remaining in the video PES packet without further examination; and
(ii) transmitting blocks of the video data from the buffer to the video decoder in known lengths, each block including a flag indicative of whether the identified video PTS corresponds to a picture start code within that block, if a picture start code is present in that block; and
(e) if the PES packet is a video PES packet that does not include a video PTS in its header, transmitting blocks of the video data from the buffer to the video decoder in known lengths.
6 Assignments
0 Petitions
Accused Products
Abstract
A method for ensuring synchronization of MPEG-1 data is carried in an MPEG-2 transport stream for decoding by an MPEG-1 decoder. The method includes searching the MPEG-2 transport stream for a packet start code prefix indicating the start of a PES packet and storing the data associated with the PES packet into a buffer. If the PES packet is a video PES packet, the packet header is examined to determine if a PTS is present. If a PTS is present, the video data in the PES packet are examined during storage to the buffer to locate the first occurrence of a picture start code in the data. Once the first occurrence of a picture start code is located, a flag is set indicating the correspondence between the PTS and the identified picture start code. The video data remaining in the video PES packet is then stored to the buffer without further examination. The PES packet data are stored without examination if a PTS is not present. In either instance, the stored data are transmitted from the buffer to the video decoder in known lengths. If the PES packet is an audio PES packet, a current value of a system time clock is subtracted from a value of a first PTS contained in an audio PES packet to calculate an audio delay. The audio delay is then adjusted to account for audio decoding, audio transmission, and video decoding times. Audio data stored in the buffer are not enabled for delivery to an audio decoder until after the audio delay has elapsed.
234 Citations
14 Claims
-
1. A method of ensuring synchronization of MPEG-1 video and audio data carried in an MPEG-2 transport stream for decoding by an MPEG-1 video decoder and an MPEG-1 audio decoder, the transport stream including a plurality of packetized elementary stream (PES) packets containing video or audio data, each PES packet including a packet start code prefix identifying it as a PES packet and identifying the PES packet as either a video or an audio packet, with two or more of the PES packets including a video presentation time stamp (PTS) or an audio PTS that enables playback of data in the PES packet to be synchronized with a system time clock, the PES packets having video data and a video PTS including one or more picture start codes that indicate the beginning of a new frame of video data, the method comprising:
-
(a) searching the MPEG-2 transport stream for a packet start code prefix indicating the start of a PES packet; (b) if the PES packet is a video PES packet, examining the video PES packet to determine if a video PTS is present; (c) storing the data associated with the PES packet into a buffer; (d) if the PES packet is a video PES packet that includes a video PTS in its header, (i) examining the video data in the PES packet during storage to locate the first occurrence of a picture start code, and upon locating the first occurrence of a picture start code, setting a flag indicating the correspondence between the video PTS and the identified picture start code and storing the video data remaining in the video PES packet without further examination; and (ii) transmitting blocks of the video data from the buffer to the video decoder in known lengths, each block including a flag indicative of whether the identified video PTS corresponds to a picture start code within that block, if a picture start code is present in that block; and (e) if the PES packet is a video PES packet that does not include a video PTS in its header, transmitting blocks of the video data from the buffer to the video decoder in known lengths. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of ensuring synchronization of MPEG-1 data carried in an MPEG-2 transport stream for decoding by an MPEG-1 decoder, the transport stream including a plurality of packetized elementary stream (PES) packets having video or audio data, each PES packet-including a packet start code prefix identifying it as a PES packet and identifying the PES packet as either a video or an audio packet, with two or more of the PES packets including a video presentation time stamp (PTS) or an audio PTS that enables playback of data in the PES packet to be synchronized with a system time clock, the PES packets having video data and a video PTS including one or more picture start codes that indicate the beginning of a new frame of video data, the method comprising:
-
(a) searching the MPEG-2 transport stream for a packet start code prefix indicating the start of a PES packet; (b) if the PES packet is a video PES packet, examining the video PES packet to determine if a video PTS is present; (c) storing the data associated with the PES packet into a buffer; (d) if the PES packet is a video PES packet that includes a video PTS in its header, (i) examining the video data in the PES packet during storage to locate the first occurrence of a picture start code and, upon beating the first occurrence of a picture start code, setting a flag indicating the correspondence between the video PTS and the identified picture start code and storing the video data remaining in the video PES packet without further examination; and (ii) transmitting blocks of the video data from the buffer to the video decoder in known lengths, each block including a flag indicative of whether the identified video PTS corresponds to a picture start code within that block, if a picture start code is present in that block; (e) if the PES packet is a video PES packet that does not include a video PTS in its header, transmitting blocks of the video data from the buffer to the video decoder in known lengths; and (f) if the PES packet is an audio PES packet, transmitting blocks of the audio data from the buffer to the audio decoder after an audio delay. - View Dependent Claims (10, 11, 12, 13, 14)
-
Specification