IP Library Granted Patent US 6,868,125
Granted Patent B2
US 6,868,125 · App. 09/997,943 · Granted Mar 15, 2005

Transport stream to program stream conversion

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,868,125
App. No.
09/997,943
Granted
Mar 15, 2005
Kind
B2
Abstract

There is provided a method for maintaining synchronization between a transport stream and a program stream decoder during a conversion from the transport stream to a program stream. A system reference clock (SCR) is calculated from the transport stream ( 410 ). A multiplexer-rate is calculated for the program stream ( 480 ). The program stream is formed by multiplexing packetized elementary stream (PES) packets parsed from the transport stream using the calculated multiplexer-rate ( 480 ).

Claims (47)

1. A method for maintaining synchronization between an incoming transport stream and a program stream decoder during a conversion of the transport stream to a program stream, comprising the steps of:

calculating a system clock reference (SCR) from the transport stream;

calculating a multiplexer-rate for the program stream; and

forming the program stream by multiplexing packetized elementary stream (PES) packets corresponding to the transport stream using the multiplexer-rate.

2. The method of claim 1 , further comprising the step of managing time discontinuities during the conversion, wherein said managing step comprises the steps of:

detecting an SCR discontinuity; and

discarding a current pack and adding a system header to a subsequent pack to inform the decoder to adjust an internal reference clock to be synchronized, when the decoder uses the system header to reset the internal reference clock.

3. The method of claim 1 , further comprising the step of managing time discontinuities during the conversion, wherein said managing step comprises the steps of:

detecting an SCR discontinuity; and

disabling time-stamp decoding by the decoder across the SCR discontinuity to reset an internal reference clock of the decoder, when the decoder does not use a system header to reset the internal reference clock.

4. The method of claim 3 , wherein said disabling step comprises the step of toggling a low delay mode of the decoder on and off at the SCR discontinuity.

5. The method of claim 1 , further comprising the step of including a number of bytes dropped between packets in the transport stream when performing said step of calculating the SCR.

6. The method of claim 1 , wherein said step of calculating the SCR comprises the steps of:

computing a delta time as a difference between program clock reference (PCR) values of the transport stream;

computing a transport rate as a number of bytes between PCRs divided by the delta time; and

computing the SCR as a number of bytes between a unit-start packet and a PCR packet divided by the transport rate, plus a PCR prior to unit-start.

7. The method of claim 1 , wherein said step of calculating the multiplexer-rate comprises the steps of:

computing a delta SCR as a difference between an SCR at end of Pack and an SCR at start of Pack; and

computing the multiplexer-rate as the product of a number of bytes to output and 27,000,000 ticks, divided by 50 bytes, and divided by the delta SCR.

8. The method of claim 1 , wherein the transport stream comprises at least one packet having an extended time stamp, the extended time stamp specifying a value that corresponds to an actual delivery time for a predetermined byte.

9. The method of claim 8 , wherein said step of calculating the SCR comprises the step of computing the SCR as a delta time at unit start divided by a delta time to current packet, plus a PCR prior to unit start.

10. The method of claim 8 , wherein said step of calculating the multiplexer-rate comprises the steps of:

computing a delta SCR as a difference between an SCR at end of Pack and an SCR at start of Pack; and

computing the multiplexer-rate as the product of a number of bytes to output and 27,000,000 ticks, divided by 50 bytes, and divided by the delta SCR.

11. The method of claim 8 , further comprising the step of adding a time-stamp to each transport packet that specifies a time at which a first packet byte was received and using the time-stamp in performing said step of calculating the SCR.

12. A device for maintaining synchronization between an incoming transport stream and a program stream decoder during a conversion of the transport stream to a program stream, comprising:

means for calculating a system clock reference (SCR) from the transport stream;

means for calculating a multiplexer-rate for the program stream; and

means for forming the program stream by multiplexing packetized elementary stream (PES) packets corresponding to the transport stream using the multiplexer-rate.

13. The device of claim 12 , further comprising means for managing time discontinuities during the conversion.

14. The device of claim 13 , wherein said means for managing time discontinuities comprises:

means for detecting an SCR discontinuity; and

means for discarding a current pack and adding a system header to a subsequent pack to inform the decoder to adjust an internal reference clock to be synchronized, when the decoder uses the system header to reset the internal reference clock.

15. The device of claim 13 , wherein said means for managing time discontinuities comprises:

means for detecting an SCR discontinuity; and

means for disabling time-stamp decoding by the decoder across the SCR discontinuity to reset an internal reference clock of the decoder, when the decoder does not use a system header to reset the internal reference clock.

16. The device of claim 15 , wherein said means for disabling time-stamp decoding toggles a low delay mode of the decoder on and off at the SCR discontinuity.

17. The device of claim 12 , wherein said means for calculating the SCR includes a number of bytes dropped between packets in the transport stream when calculating the SCR.

18. The device of claim 12 , wherein the transport stream comprises at least one packet having an extended time stamp, the extended time stamp specifying a value that corresponds to an actual delivery time for a predetermined byte.

19. The device of claim 18 , further comprising means for adding a time-stamp to each transport packet that specifies a time at which a first packet byte was received, and wherein said means for calculating the SCR uses the time-stamp in calculating the SCR.

20. A device for translating a transport stream to a program stream, comprising:

an isochronous delivery system for providing the transport stream; and

a program stream decoder for calculating a system clock reference (SCR) from the transport stream, calculating a multiplexer-rate for the program stream, and forming the program stream by multiplexing packetized elementary stream (PES) packets corresponding to the transport stream using the multiplexer-rate.

21. A device for transcoding an MPEG transport stream into an MPEG program stream, comprising:

a parser for parsing packetized elementary stream (PES) packets from the transport stream;

a PES filter for passing and buffering selected ones of the parsed PES packets; and

a packet assembler for accessing and multiplexing the buffered selected ones of the parsed PES packets to form the MPEG program stream.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2018
From: THOMSON LICENSING DTV
To: INTERDIGITAL MADISON PATENT HOLDINGS
Reel/Frame 046763/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2017
From: THOMSON LICENSING
To: THOMSON LICENSING DTV
Reel/Frame 043302/0965 →
CHANGE OF NAME Recorded Apr 21, 2017
From: THOMSON LICENSING S.A.
To: THOMSON LICENSING
Reel/Frame 042303/0268 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2001
From: GENDEL, GARY ALLEN
To: THOMSON LICENSING S.A.
Reel/Frame 012340/0472 →