Method and apparatus for processing transport stream packets to compensate for jitter
AssigneeGeneral Instrument Corporation
InventorsVincent C. Liu, Robert S. Nemiroff, Guofei Wu
Life of this patent
Estimating the term…
Abstract
Method and apparatus for processing transport stream packets received from a network for distribution to user terminals is described. In one embodiment, a pair of clock reference packets in the transport stream packets is identified. The pair of clock reference packets includes a first clock reference packet having an output time stamp and a second clock reference packet. A difference between a time value of the second clock reference packet and a time value of the first clock reference packet is computed. An output time stamp for the second clock reference packet is calculated in response to the output time stamp of the first clock reference packet and the difference.
Claims12
A method of processing transport stream packets received from a network for distribution to user terminals, comprising, in at least one processor:
- extracting groups of said transport stream packets from data units transmitted over said network;
- appending an arrival time stamp to each of said groups;
- appending a preliminary output time stamp to each of said transport stream packets, the preliminary output time stamp being equal to the arrival time stamp plus a fixed initial nominal buffer delay;
- identifying a pair of clock reference packets in said transport stream packets, said pair of clock reference packets including a first clock reference packet having an output time stamp and a second clock reference packet;
- computing a difference between a time value of said second clock reference packet and a time value of said first clock reference packet;
- calculating an output time stamp for said second clock reference packet in response to said output time stamp of said first clock reference packet and said difference;
- adjusting each output time stamp of each transport stream packet between said first clock reference packet and said second clock reference packet such that there is uniform time spacing between each said transport stream packet;
- and
- reverting to said preliminary output time stamp associated with said second clock reference packet in response to said output time stamp being greater than a current time value.
A method of processing transport stream packets received from a network for distribution to user terminals, comprising, in at least one processor:
- identifying a pair of clock reference packets in said transport stream packets, said pair of clock reference packets including a first clock reference packet having an output time stamp and a second clock reference packet;
- computing a difference between a time value of said second clock reference packet and a time value of said first clock reference packet;
- calculating an output time stamp for said second clock reference packet in response to said output time stamp of said first clock reference packet and said difference;
- adjusting each output time stamp of each transport stream packet between said first clock reference packet and said second clock reference packet such that there is uniform time spacing between each said transport stream packet;
- calculating a clock adjustment value for said output time stamp of said second clock reference packet;
- and
- adjusting said output time stamp for said second clock reference packet in response to said clock adjustment value;
- wherein said step of calculating said clock adjustment value comprises:
- determining a frequency adjustment value;
- computing said clock adjustment value in response to said difference and said frequency adjustment value;
- wherein said step of determining a frequency adjustment value comprises:
- computing a second difference between values of two clock reference packets in said transport stream packets;
- incrementing said frequency adjustment value in response to said second difference being less than a nominal difference;
- and
- decrementing said frequency adjustment value in response to said second difference being more than a nominal difference.
An apparatus for processing transport stream packets received from a network for distribution to user terminals, comprising:
- a buffer for storing said transport stream packets;
- an output time stamp adjuster, coupled to said buffer, for identifying a pair of clock reference packets in said buffer, said pair of clock reference packets including a first clock reference packet having an output time stamp and a second clock reference packet, computing a difference between a time value of said second clock reference packet and a time value of said first clock reference packet;
- calculating an output time stamp for said second clock reference packet in response to said output time stamp of said first clock reference packet and said difference;
- and adjusting each output time stamp of each transport stream packet between said first clock reference packet and said second clock reference packet such that there is uniform time spacing between each said transport stream packet;
- a network interface for extracting groups of said transport stream packets from data units transmitted over said network;
- and
- an arrival time stamper for appending an arrival time stamp to each of said groups;
- and
- a preliminary output time stamper for appending a preliminary output time stamp to each of said transport stream packets, the preliminary output time stamp being equal to the arrival time stamp plus a fixed initial nominal buffer delay;
- wherein said output time stamp adjuster is further configured to revert to said preliminary output time stamp associated with said second clock reference packet in response to said output time stamp being greater than a current time value.
Apparatus for processing transport stream packets received from a network for distribution to user terminals, comprising:
- means for extracting groups of said transport stream packets from data units transmitted over said network;
- means for appending an arrival time stamp to each of said groups;
- means for appending a preliminary output time stamp to each of said transport stream packets, the preliminary output time stamp being equal to the arrival time stamp plus a fixed initial nominal buffer delay;
- means for identifying a pair of clock reference packets in said transport stream packets, said pair of clock reference packets including a first clock reference packet having an output time stamp and a second clock reference packet;
- means for computing a difference between a time value of said second clock reference packet and a time value of said first clock reference packet;
- means for calculating an output time stamp for said second clock reference packet in response to said output time stamp of said first clock reference packet and said difference;
- means for adjusting each output time stamp of each transport stream packet between said first clock reference packet and said second clock reference packet such that there is uniform time spacing between each said transport stream packet;
- and
- means for reverting to said preliminary output time stamp associated with said second clock reference packet in response to said output time stamp being greater than a current time value.
A computer readable storage medium including stored program instructions that instruct a computer to perform a method of:
- extracting groups of said transport stream packets from data units transmitted over said network;
- appending an arrival time stamp to each of said groups;
- appending a preliminary output time stamp to each of said transport stream packets, the preliminary output time stamp being equal to the arrival time stamp plus a fixed initial nominal buffer delay;
- identifying a pair of clock reference packets in said transport stream packets, said pair of clock reference packets including a first clock reference packet having an output time stamp and a second clock reference packet;
- computing a difference between a time value of said second clock reference packet and a time value of said first clock reference packet;
- calculating an output time stamp for said second clock reference packet in response to said output time stamp of said first clock reference packet and said difference;
- adjusting each output time stamp of each transport stream packet between said first clock reference packet and said second clock reference packet such that there is uniform time spacing between each said transport stream packet;
- and
- reverting to said preliminary output time stamp associated with said second clock reference packet in response to said output time stamp being greater than a current time value.
Dependencies are inferred from the claim text.