← Back to Patent Explorer
US5828414A Expired / Lapsed US ⏱️ 0.0 years remaining

Reduction of timing jitter in audio-video transport streams

Assignee: Harmonic Inc
•
Filing: 1996-02-23
•
Granted: 1998-10-27
•
Expires: 2016-02-23
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for reducing program clock reference (PCR) jitter in transport packets of a transport stream compliant with MPEG-2 or another suitable audio-video encoding standard. The PCRs from a given single program transport stream (SPTS) of a multi-program transport stream are processed in a phase-locked loop (PLL) to generate dejittered PCRs for that SPTS. The PLL for a given SPTS receives as inputs the PCRs from that SPTS and a cycle count for each PCR indicative of the number of asynchronous clock cycles counted since the previous PCR. The PLL generates a given dejittered PCR as a function of the previous dejittered PCR, the cycle count for the given PCR, and a clock frequency mismatch estimate for the given program clock. The clock frequency mismatch estimate is generated by filtering a sequence of jitter estimates, each corresponding to the difference between a previous PCR and its corresponding dejittered PCR. The SPTS transport packets may then be restamped with the dejittered PCRs from the PLL to provide a dejittered multi-program transport stream.

Inventors

  • 👤 Michael G. Perkins
  • 👤 Thomas Lookabaugh

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 16:17
CPC Classifications
H; H04; H04N; H04N21/00; H04N21/40; H04N21/43; H04N21/4302; H04N21/4305; H04N21/434; H04N21/4344; H04N21/60; H04N21/63; H04N21/643; H04N21/64307

Claims Analysis

Total Claims: 16
Claim 1
Independent Claim 219 words
A method of reducing program clock reference jitter in transport packets in a multiple program transport stream, the method comprising the steps of: processing program clock references for transport packets of one or more single program transport streams within the multiple program stream to generate corresponding dejittered program clock references as a function of clock frequency mismatch between a program clock and an asynchronous clock; generating a current cycle count for a current program clock reference indicative of the number of cycles of the asynchronous clock between the current program clock reference and a previous program clock reference; generating a current clock frequency mismatch estimate indicative of mismatch between a program clock and the asynchronous clock, wherein the mismatch estimate is a function of a sequence of jitter estimates for previous program clock references, and further wherein a given jitter estimate is the difference between a program clock reference and its corresponding dejittered program clock reference; generating a dejittered program clock reference for the current program clock reference as a sum of (i) a previous dejittered program clock reference, (ii) the current cycle count, and (iii) a product of the current cycle count and the current clock frequency mismatch estimate; and restamping the transport packets of the single program stream or streams with the corresponding dejittered program clock references.
Claim 2
Independent Claim 219 words
A method of reducing program clock reference jitter in transport packets in a multiple program transport stream, the method comprising the steps of: processing program clock references for transport packets of one or more single program transport streams within the multiple program stream to generate corresponding dejittered program clock references as a function of clock frequency mismatch between a program clock and an asynchronous clock; generating a current cycle count for a current program clock reference indicative of the number of cycles of the asynchronous clock between the current program clock reference and a previous program clock reference; generating a current clock frequency mismatch estimate indicative of mismatch between a program clock and the asynchronous clock, wherein the mismatch estimate is a function of a sequence of jitter estimates for previous program clock references, and further wherein a given jitter estimate is the difference between a program clock reference and its corresponding dejittered program clock reference; generating a dejittered program clock reference for the current program clock reference as a sum of (i) a previous dejittered program clock reference, (ii) the current cycle count, and (iii) a product of the current cycle count and the current clock frequency mismatch estimate; and restamping the transport packets of the single program stream or streams with the corresponding dejittered program clock references.
Claim 3
Dependent Claim 15 words
The method of claim 1 wherein the transport stream is an MPEG-2 compliant transport stream.
Claim 4
Dependent Claim 136 words
The method of claim 1 wherein the step of processing program clock references to generate corresponding dejittered program clock references further includes the steps of: counting cycles of the asynchronous clock between a time a previous program clock reference is received and a time a current program clock reference is received to generate a current cycle count; generating a current estimate of the clock frequency mismatch between a program clock and the asynchronous clock as a function of a sequence of jitter estimates for previous program clock references, wherein a given jitter estimate is the difference between a program clock reference and its corresponding dejittered program clock reference; and generating a dejittered program clock reference for the current program clock reference as a function of the current cycle count and the current clock frequency mismatch estimate.
Claim 5
Dependent Claim 56 words
The method of claim 1 wherein the step of processing program clock references to generate corresponding dejittered program clock references further includes the step of filtering a sequence of jitter estimates for previous program clock references, wherein a given jitter estimate is the difference between a program clock reference and its corresponding dejittered program clock reference.
Claim 6
Dependent Claim 55 words
The method of claim 1 wherein the step of processing program clock references to generate corresponding dejittered program clock references further includes the step of processing the program clock references in a phase-locked loop which generates an additive correction term to compensate for the mismatch between the program clock frequency and the asynchronous clock frequency.
Claim 7
Independent Claim 200 words
A method of reducing program clock reference jitter in transport packets of a transport stream, the method comprising the steps of: determining the number of cycles of an asynchronous clock between receipt of program clock references for transport packets in the transport stream; generating dejittered program clock references as a function of the received program clock references and the number of asynchronous clock cycles; generating a current cycle count for a current program clock reference indicative of the number of cycles of the asynchronous clock between the current program clock reference and a previous program clock reference; generating a current clock frequency mismatch estimate indicative of mismatch between a program clock and the asynchronous clock, wherein the mismatch estimate is a function of a sequence of jitter estimates for previous program clock references, and further wherein a given jitter estimate is the difference between a program clock reference and its corresponding dejittered program clock reference; and generating a dejittered program clock reference for the current program clock reference as a sum of (i) a previous dejittered program clock reference, (ii) the current cycle count, and (iii) a product of the current cycle count and the current clock frequency mismatch estimate.
Claim 8
Independent Claim 200 words
A method of reducing program clock reference jitter in transport packets of a transport stream, the method comprising the steps of: determining the number of cycles of an asynchronous clock between receipt of program clock references for transport packets in the transport stream; generating dejittered program clock references as a function of the received program clock references and the number of asynchronous clock cycles; generating a current cycle count for a current program clock reference indicative of the number of cycles of the asynchronous clock between the current program clock reference and a previous program clock reference; generating a current clock frequency mismatch estimate indicative of mismatch between a program clock and the asynchronous clock, wherein the mismatch estimate is a function of a sequence of jitter estimates for previous program clock references, and further wherein a given jitter estimate is the difference between a program clock reference and its corresponding dejittered program clock reference; and generating a dejittered program clock reference for the current program clock reference as a sum of (i) a previous dejittered program clock reference, (ii) the current cycle count, and (iii) a product of the current cycle count and the current clock frequency mismatch estimate.
Claim 9
Dependent Claim 15 words
The method of claim 6 wherein the transport stream is an MPEG-2 compliant transport stream.
Claim 10
Dependent Claim 124 words
The method of claim 6 further including the steps of: determining the number of cycles of the asynchronous clock between a time a previous program clock reference is received and a time a current program clock reference is received to generate a current cycle count; generating a current estimate of the clock frequency mismatch between a program clock and the asynchronous clock as a function of a sequence of jitter estimates for previous program clock references, wherein a given jitter estimate is the difference between a program clock reference and its corresponding dejittered program clock reference; and generating a dejittered program clock reference for the current program clock reference as a function of the current cycle count and the current clock frequency mismatch estimate.
Claim 11
Dependent Claim 50 words
The method of claim 6 wherein the step of generating dejittered program clock references further includes the step of filtering a sequence of jitter estimates for previous program clock references, wherein a given jitter estimate is the difference between a program clock reference and its corresponding dejittered program clock reference.
Claim 12
Dependent Claim 41 words
The method of claim 6 wherein the step of generating dejittered program clock references further includes the step of processing the program clock references in a phase-locked loop which generates an additive correction term to compensate for the clock frequency mismatch.
Claim 13
Independent Claim 266 words
An apparatus for reducing program clock reference jitter in transport packets of a transport stream, the apparatus comprising: a counter having an input connected to the output of an asynchronous clock and an output corresponding to a count of cycles of the asynchronous clock; a processor having a first input connected to the output of the counter and a second input connected to a source of program clock references of the transport stream, the processor having an output corresponding to dejittered program clock references generated in the processor as a function of the received program clock references and the asynchronous clock cycle count; wherein the processor further includes a phase-locked loop which generates an additive correction term to compensate for clock frequency mismatch between a program clock and the asynchronous clock; further wherein the phase-locked loop further includes: a first input for receiving from the counter a current cycle count for a current program clock reference; a filter for generating a current clock frequency mismatch estimate indicative of mismatch between a program clock and the asynchronous clock, wherein the current mismatch estimate is a function of a sequence of jitter estimates for program clock references, and further wherein a given jitter estimate is the difference between a program clock reference and its corresponding dejittered program clock reference; and an output corresponding to a dejittered program clock reference for the current program clock reference computed as a sum of (i) a previous dejittered program clock reference, (ii) the current cycle count, and (iii) a product of the current cycle count and the current clock frequency mismatch estimate.
Claim 14
Independent Claim 266 words
An apparatus for reducing program clock reference jitter in transport packets of a transport stream, the apparatus comprising: a counter having an input connected to the output of an asynchronous clock and an output corresponding to a count of cycles of the asynchronous clock; a processor having a first input connected to the output of the counter and a second input connected to a source of program clock references of the transport stream, the processor having an output corresponding to dejittered program clock references generated in the processor as a function of the received program clock references and the asynchronous clock cycle count; wherein the processor further includes a phase-locked loop which generates an additive correction term to compensate for clock frequency mismatch between a program clock and the asynchronous clock; further wherein the phase-locked loop further includes: a first input for receiving from the counter a current cycle count for a current program clock reference; a filter for generating a current clock frequency mismatch estimate indicative of mismatch between a program clock and the asynchronous clock, wherein the current mismatch estimate is a function of a sequence of jitter estimates for program clock references, and further wherein a given jitter estimate is the difference between a program clock reference and its corresponding dejittered program clock reference; and an output corresponding to a dejittered program clock reference for the current program clock reference computed as a sum of (i) a previous dejittered program clock reference, (ii) the current cycle count, and (iii) a product of the current cycle count and the current clock frequency mismatch estimate.
Claim 15
Dependent Claim 15 words
The apparatus of claim 11 wherein the transport stream is an MPEG-2 compliant transport stream.
Claim 16
Dependent Claim 68 words
The apparatus of claim 11 wherein the phase-locked loop further includes a filter having an input connected to receive a sequence of jitter estimates for previous program clock references, wherein a given jitter estimate is the difference between a program clock reference and its corresponding dejittered program clock reference, and an output corresponding to an estimate of clock frequency mismatch between the program clock and the asynchronous clock.

References Cited (Backward Citations)

US5396497A Cited
US5381181A Cited
US5467137A Cited
US5430485A Cited
US5467139A Cited
US5473385A Cited
US5598352A Cited
US5652749A Cited
US5588025A Cited
US5654751A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag