Claims
- 1. A method for remultiplexing one or more transport streams formed from a sequence of transport packets, including transport packets containing compressed program data for each of one or more programs and, for each program, program clock reference time stamps, to which decoding and presentation of said program is synchronized, said method comprising the steps of:
- (a) providing one or more transport streams,
- (b) selecting one or more transport packets of said one or more transport streams for output in a remultiplexed transport stream,
- (c) scheduling some of said transport packets for output in a time slot of an outputted transport stream depending on a predetermined delay, each of said time slots occurring approximately at a dispatch time as indicated by a local clock,
- (d) adjusting each program clock reference time stamp of each scheduled program clock reference bearing transport packet based on a drift between said local clock and a program system time clock from which said program clock reference time stamp was generated, if any, and
- (e) further adjusting each adjusted program clock reference time stamp based on a difference between said dispatch time of said time slot in which said program clock reference time stamp bearing transport packet is scheduled to be outputted and an actual time at which said time slot occurs relative to an external clock.
- 2. The method of claim 1 further comprising the steps of:
- (f) scheduling other transport packets for output in time slots of said outputted transport stream other than a time slot that depends on said predetermined delay,
- (g) calculating an estimated adjustment for each program clock reference time stamp in a selected transport packet outputted in one of said other time slots based on a difference in output time between said one other time slot and a time slot corresponding to said predetermined delay, and
- (h) adjusting each program clock reference time stamp, in a program clock reference time stamp bearing transport packet scheduled for output in one of said other time slots, by said estimated adjustment.
- 3. A remultiplexer for remultiplexing one or more transport streams formed from a sequence of transport packets, including transport packets containing compressed program data for each of one or more programs and, for each program, program clock reference time stamps, to which decoding and presentation of said program is synchronized, said method comprising:
- a local clock,
- a processor responsive to said local clock for selecting one or more transport packets of one or more transport streams for output in a remultiplexed transport stream, for scheduling some of said transport packets for output in a time slot of an outputted transport stream depending on a predetermined delay, each of said time slots occurring approximately at a dispatch time as indicated by said local clock, for adjusting each of program clock reference time stamp in each scheduled program clock reference time stamp bearing transport packet depending on a drift between said local clock and a program system time clock from which said program clock reference time stamp was generated, if any, and
- an output data link control circuit responsive to transport packets scheduled by said processor for further adjusting each adjusted program clock reference time stamp based on a difference between said dispatch time of said time slot in which said program clock reference time stamp bearing transport packet is scheduled to be outputted and an actual time at which said time slot occurs relative to an external clock.
- 4. The remultiplexer of claim 3 wherein said processor is also for scheduling other transport packets for output in time slots of said outputted transport stream other than a time slot that depends on said predetermined delay, for calculating an estimated adjustment for each program clock reference time stamp, in a program clock reference time stamp bearing transport packet scheduled for output in one of said other time slots, based on a difference in output time between said one other time slot and a time slot corresponding to said predetermined delay, and for adjusting each program clock reference time stamp by said estimated adjustment.
- 5. A bit stream formed from a sequence of transport packets, including transport packets containing compressed program data for each of one or more programs and, for each program, program clock reference time stamps, to which decoding and presentation of said program is synchronized, said bit stream being produced by the steps of:
- (a) providing one or more transport streams,
- (b) selecting one or more transport packets of said one or more transport streams for output in a remultiplexed transport stream,
- (c) scheduling some of said transport packets for output in a time slot of an outputted transport stream depending on a predetermined delay, each of said time slots occurring approximately at a dispatch time as indicated by a local clock,
- (d) adjusting each program clock reference time stamp of each scheduled program clock reference bearing transport packet based on a drift between said local clock and a program system time clock from which said program clock reference time stamp was generated, if any, and
- (e) further adjusting each adjusted program clock reference time stamp based on a difference between said dispatch time of said time slot in which said program clock reference time stamp bearing transport packet is scheduled to be outputted and an actual time at which said time slot occurs relative to an external clock.
- 6. The bit stream of claim 5 formed by the further steps of:
- (f) scheduling other transport packets for output in time slots of said outputted transport stream other than a time slot that depends on said predetermined delay,
- (g) calculating an estimated adjustment for each program clock reference time stamp in a selected transport packet outputted in one of said other time slots based on a difference in output time between said one other time slot and a time slot corresponding to said predetermined delay, and
- (h) adjusting each program clock reference time stamp, in a program clock reference time stamp bearing transport packet scheduled for output in one of said other time slots, by said estimated adjustment.
RELATED APPLICATIONS
The subject matter of this application is related to the subject matter of the following patent applications, all of which are commonly assigned to the same assignee as is this application:
US Referenced Citations (5)