Patent US5726989A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5726989A Expired / Lapsed US ⏱️ 0.0 years remaining

Method for ensuring synchronization of MPEG-1 data carried in an MPEG-2 transport stream

Assignee: Stellar One Corp
•
Filing: 1995-11-06
•
Granted: 1998-03-10
•
Expires: 2015-11-06
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Miroslav V. Dokic

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 11:58
CPC Classifications
H; H04; H04N; H04N21/00; H04N21/40; H04N21/43; H04N21/44; H04N21/44004; G; G06; G06T; G06T9/00; G06T9/007; H04N21/4302; H04N21/4305; H04N21/4307; H04N21/43072; H04N21/439; H04N21/4392

Claims Analysis

Total Claims: 16
Claim 1
Independent Claim 361 words
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.
Claim 2
Independent Claim 361 words
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.
Claim 3
Dependent Claim 61 words
The method of claim 1, wherein the step of transmitting blocks of the video data from the buffer to the video decoder in known lengths for video PES packets that do not include a video PTS includes providing a flag in each block indicating that there is not a video PTS that corresponds to a picture start code within that block.
Claim 4
Dependent Claim 39 words
The method of claim 1, wherein the step of transmitting blocks of the video data from the buffer to the video decoder in known lengths includes the step of ensuring that each block contains an even number of bytes.
Claim 5
Dependent Claim 53 words
The method of claim 3, wherein the step of ensuring that each block contains an even number of bytes includes removing a byte of data from the PES packet being processed if the PES packet contains an odd number of bytes and appending the byte of data to a subsequent video PES packet.
Claim 6
Dependent Claim 34 words
The method of claim 1, wherein if the PES packet is an audio PES packet, transmitting blocks of the audio data from the buffer to the MPEG-1 audio decoder after an initial audio delay.
Claim 7
Dependent Claim 60 words
The method of claim 5, wherein the initial audio delay is computed by: (a) searching the transport stream for an audio PTS and ascertaining its value; (b) reading the value of the system time clock; and (c) calculating the audio delay by computing the difference between the value of the audio PTS and the value of the system time clock.
Claim 8
Dependent Claim 20 words
The method of claim 6, wherein the audio delay is adjusted to account for audio decoding and audio transmission times.
Claim 9
Dependent Claim 21 words
The method of claim 7, wherein the audio delay is further adjusted to account for any delay associated with video decoding.
Claim 10
Independent Claim 378 words
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.
Claim 11
Independent Claim 378 words
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.
Claim 12
Dependent Claim 20 words
The method of claim 9, and further including repeating steps (a)-(f) for each PES packet in the MPEG-2 transport stream.
Claim 13
Dependent Claim 39 words
The method of claim 9, wherein the step of transmitting blocks of the video data from the buffer to the video decoder in known lengths includes the step of ensuring that each block contains an even number of bytes.
Claim 14
Dependent Claim 52 words
The method of claim 11, wherein the step of ensuring that each block contains an even number of bytes includes removing a byte of data from the PES packet being processed if the PES packet contains an odd number of bytes and appending the byte of data to a subsequent PES packet.
Claim 15
Dependent Claim 59 words
The method of claim 9, wherein the audio delay is computed by: (a) searching the transport stream for an audio PTS and ascertaining its value; (b) reading the value of the system time clock; and (c) calculating the audio delay by computing the difference between the value of the audio PTS and the value of the system time clock.
Claim 16
Dependent Claim 22 words
The method of claim 13, wherein the audio delay is adjusted to account for audio decoding, audio transmission, and video decoding times.

References Cited (Backward Citations)

US5396497A Cited
US5623423A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-03-09 2001-09-08 2002-03-10 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-03-09 2005-09-08 2006-03-10 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-03-09 2009-09-08 2010-03-10 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag