Error detection and recovery for high rate isochronous data in MPEG-2 data streams
First Claim
1. A method for managing errors in isochronous data ("isodata") received in bursts from a packetized data stream carrying isodata presentation units in fixed length isodata transport packets, each of said transport packets including a packet identifier (PID) and at least some of said packets containing a presentation time stamp (PTS) indicative of a time for commencing the fixed rate presentation of isodata presentation units from a buffer into which they are temporarily stored upon receipt, said method comprising the steps of:
- monitoring said data stream to detect PIDs identifying said isodata transport packets;
monitoring the isodata transport packets identified by said PIDs to locate isodata PTSs;
synchronizing the presentation of said presentation units from said buffer to a system time clock (STC) using timing information derived from the located isodata PTSs;
identifying discontinuity errors between successive ones of said isodata transport packets and, if a discontinuity of no more than one packet is identified, advancing a write pointer of said buffer by a suitable number of bits to compensate for the discontinuity, while maintaining the synchronization of said presentation with respect to said STC.
5 Assignments
0 Petitions
Accused Products
Abstract
Error recovery is provided for isochronous data ("isodata") obtained from a data stream. Isodata transport packets are monitored to locate isodata presentation time stamps (PTSs). The presentation of isodata from a buffer is synchronized to a system time clock (STC) using timing information derived from the PTSs. Discontinuity errors between said isodata transport packets are identified and, if a discontinuity of no more than one packet is identified, a write pointer of the buffer is advanced by a suitable number of bits to compensate for the discontinuity, while maintaining the synchronization of the presentation with respect to the STC. Additional error detection and recovery techniques are disclosed, including the maintenance of a presentation unit counter, the use of a PTE extension and PTS offset to verify output timing, the provision of a pair of PTS pointers verifying correct output data timing, the use of a packet elementary stream (PES) count to detect lost data in the transport stream, and the detection and discarding of packets designated as encrypted after any decryption should have already been completed.
283 Citations
34 Claims
-
1. A method for managing errors in isochronous data ("isodata") received in bursts from a packetized data stream carrying isodata presentation units in fixed length isodata transport packets, each of said transport packets including a packet identifier (PID) and at least some of said packets containing a presentation time stamp (PTS) indicative of a time for commencing the fixed rate presentation of isodata presentation units from a buffer into which they are temporarily stored upon receipt, said method comprising the steps of:
-
monitoring said data stream to detect PIDs identifying said isodata transport packets; monitoring the isodata transport packets identified by said PIDs to locate isodata PTSs; synchronizing the presentation of said presentation units from said buffer to a system time clock (STC) using timing information derived from the located isodata PTSs; identifying discontinuity errors between successive ones of said isodata transport packets and, if a discontinuity of no more than one packet is identified, advancing a write pointer of said buffer by a suitable number of bits to compensate for the discontinuity, while maintaining the synchronization of said presentation with respect to said STC. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for managing errors in isochronous data ("isodata") received in bursts from a packetized data stream carrying isodata presentation units in fixed length isodata transport packets, each of said transport packets including a packet identifier (PIP) and at least some of said packets containing a presentation time stamp (PTS) indicative of a time for commencing the fixed rate presentation of isodata presentation units from a buffer into which they are temporarily stored upon receipt, said method comprising the steps
monitoring said data stream to detect PIDs identifying said isodata transport packets; -
monitoring the isodata transport packets identified by said PIPs to locate isodata PTSs; synchronizing the presentation of said presentation units from said buffer no a system time clock (STC) using timing information derived from the located isodata PTSs, said synchronization step comparing the STC to the timing information derived from the PTSs; and providing fill bits as output until it is time to present said presentation units if said comparison determines that said presentation units are too early to be presented. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A method for managing errors in isochronous data ("isodata") received in bursts from a packetized data stream carrying isodata presentation units in fixed length isodata transport packets, each of said transport packets including a packet identifier (PID) and at least some of said packets containing a presentation time stamp (PTS) indicative of a time for commencing the fixed rate presentation of isodata presentation units from a buffer into which they are temporarily stored upon receipt, said method comprising the steps of:
-
monitoring said data stream to detect PIDs identifying said isodata transport packets; monitoring the isodata transport packets identified by said PIDs to locate isodata PTSs; synchronizing the presentation of said presentation units from said buffer to a system time clock (STC) using timing information derived from the located isodata PTSs, said synchronization step comparing the STC to the timing information derived from the PTSs; monitoring said isodata transport packets identified by said PIDs to determine if any of them are designated as being encrypted after any encryption should have been removed; and if a single packet only is designated as being encrypted after any encryption should have been removed, advancing a write pointer of said buffer by a suitable number of bits to ignore the single packet, while maintaining the synchronization of said presentation with respect to said STC.
-
-
18. A decoder for receiving and managing errors in isochronous data ("isodata") received in bursts from a packetized data stream carrying isodata presentation units in fixed length isodata transport packets, each of said transport packets including a packet identifier (PID) and at least some of said packets containing a presentation time stamp (PTS) indicative of a time for commencing the fixed rate presentation of isodata presentation units from a buffer into which they are temporarily stored upon receipt, said decoder comprising:
-
means for monitoring said data stream to detect PIDs identifying said isodata transport packets; means for monitoring the isodata transport packets identified by said PIDs to locate isodata PTSs; means for synchronizing the presentation of said presentation units from said buffer to a system time clock (STC) using timing information derived from the located isodata PTSs; means for identifying discontinuity errors between successive ones of said isodata transport packets and, if a discontinuity of no more than one packet is identified, advancing a write pointer of said buffer by a suitable number of bits to compensate for the discontinuity, while maintaining the synchronization of said presentation with respect to said STC. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A decoder for receiving and managing errors in isochronous data ("isodata") received in bursts from a packetized data stream carrying isodata presentation units in fixed length isodata transport packets, each of said transport packets including a packet identifier (PID) and at least some of said packets containing a presentation time stamp (PTS) indicative of a time for commencing the fixed rate presentation of isodata presentation units from a buffer into which they are temporarily stored upon receipt, said decoder comprising:
-
means for monitoring said data stream to detect PIDs identifying said isodata transport packets; means for monitoring the isodata transport packets identified by said PIDs to locate isodata PTSs; means for synchronizing the presentation of said presentation units from said buffer to a system time clock (STC) using timing information derived from the located isodata PTSs; and means for providing fill bits as output until it is time to present said presentation units if said comparison determines that said presentation units are too early to be presented. - View Dependent Claims (28, 29, 30, 31, 32, 33)
-
-
34. A decoder for receiving and managing errors in isochronous data ("isodata") received in bursts from a packetized data stream carrying isodata presentation units in fixed length isodata transport packets, each of said transport packets including a packet identifier (PID) and at least some of said packets containing a presentation time stamp (PTS) indicative of a time for commencing the fixed rate presentation of isodata presentation units from a buffer into which they are temporarily stored upon receipt, said decoder comprising:
-
means for monitoring said data stream to detect PIDs identifying said isodata transport packets; means for monitoring the isodata transport packets identified by said PIDs to locate isodata PTSs; means for synchronizing the presentation of said presentation units from said buffer to a system time clock (STC) using timing information derived from the located isodata PTSs, said synchronization step comparing the STC to the timing information derived from the PTSs; means for determining if any of the isodata transport packets identified by said PIDs are identified as being encrypted after any encryption should have been removed; and means responsive to said determining means when a single packet only is designated as being encrypted after any encryption should have been removed, for advancing a write pointer of said buffer by a suitable number of bits to ignore the single packet while maintaining the synchronization of said presentation with respect to said STC.
-
Specification