CA2421788A1 - Regeneration of program clock reference data for mpeg transport streams - Google Patents

Regeneration of program clock reference data for mpeg transport streams Download PDF

Info

Publication number
CA2421788A1
CA2421788A1 CA002421788A CA2421788A CA2421788A1 CA 2421788 A1 CA2421788 A1 CA 2421788A1 CA 002421788 A CA002421788 A CA 002421788A CA 2421788 A CA2421788 A CA 2421788A CA 2421788 A1 CA2421788 A1 CA 2421788A1
Authority
CA
Canada
Prior art keywords
transcoder
timing data
packet
output
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CA002421788A
Other languages
French (fr)
Other versions
CA2421788C (en
Inventor
Robert S. Nemiroff
Vincent Liu
Siu-Wai Wu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google Technology Holdings LLC
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of CA2421788A1 publication Critical patent/CA2421788A1/en
Application granted granted Critical
Publication of CA2421788C publication Critical patent/CA2421788C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23608Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]

Abstract

A system for providing an accurate time reference for multiple input and output digital video signals of a transcoder (100) that is particularly suited for use with MPEG data. The multiple streams are synchronized with a single master system time clock (155) at the transcoder (100). Timing data from the master clock is compared to timing data from packets that are input to the transcoder to determine an offset (120, 130). In particular, timing data, such as a program clock reference (PCR) field, is recovered from packets (104) of different channels that are input to the transcoder (122, 132). For each channel, timing data is then provided for packets (106) that are output from the transcoder based on the offset and timing data of the master clock (155) at the respective output times. In particular, the adjusted timing data is determined as a sum of the offset and an associated hardware error, less a delay (PcrSysDla) associated with the transcoder, which includes a lookahead delay and a buffer delay. The associated hardware error represents an error of the master clock and/or a system time clock of an encoder that encoded the particular channel.

Claims (18)

1. A method for providing adjusted timing data for a plurality of respective channels that are input to a transcoder, comprising the steps of for each channel, recovering timing data (PcrIn) from at least one packet thereof that is input to the transcoder at a respective input time, and determining an associated offset (PcrOffset) between the recovered timing data (PcrIn) and timing data (PcrInHwTag) of a master system time clock of the transcoder at the respective input time; and for each channel, providing adjusted timing data (PcrOut) in at least one packet thereof that is output from the transcoder at a respective output time according to the associated offset (PcrOffset), and timing data (PcrOutHwTag) of the master system time clock at the respective output time.
2. The method of claim 1, wherein:
the recovered timing data comprises a program clock reference (PCR) field.
3. The method of claim 1, wherein:
the timing data of the master system time clock comprises a count based thereon.
4. The method of claim 1, wherein:
for at least one particular channel, the recovered timing data comprises a count based on a system time clock of an encoder that encoded the particular channel.
5. The method of claim 1, wherein:
for at least one particular channel, the adjusted timing data (PcrOut) is further provided in the at least one packet that is output from the transcoder according to a hardware error (PcrHwErr) associated with: (a) the master system time clock, and (b) a system time clock of an encoder that encoded the particular channel.
6. The method of claim 5, wherein:
the hardware error (PcrHwErr) is associated with a frequency drift of at least one of the master system time clock and the system time clock of the encoder.
7. The method of claim 5, wherein:
the hardware error (PcrHwErr) is determined for the at least one packet that is output from the transcoder based on a rate of change of a hardware error associated with at least two packets that were previously input to the transcoder, and a time interval between: (a) the output time of the at least one packet that is output from the transcoder, and (b) an input time of a latter one of the two previous input packets.
8. The method of claim 1, wherein:
for at least one particular channel, the adjusted timing data (PcrOut) is further provided in the at least one packet that is output from the transcoder according to a delay (PcrSysDly) associated with the transcoder that includes a lookahead delay (lookahead_dly) and a buffer delay (buffer_dly).
9. The method of claim 8, wherein:
the adjusted timing data (PcrOut) is further provided in the at least one packet that is output from the transcoder according to a sum of the associated offset and an associated hardware error (PcrHwErr), less the delay (PcrSysDly) associated with the transcoder; and the associated hardware error (PcrHwErr) is associated with: (a) the master system time clock and (b) a system time clock of an encoder that encoded the particular channel.
10. The method of claim 8, wherein:

the lookahead delay (lookahead_dly) is based on a difference between decode and encode times of the transcoder.
11. The method of claim 10, wherein:
the decode time is based on a decode time stamp.
12. The method of claim 10, wherein:
the encode time is based on the master system time clock.
13. The method of claim 8, wherein:
the buffer delay (buffer_dly) is based on a difference between an encode time of the at least one packet at the transcoder and a corresponding subsequent decode time.
14. The method of claim 13, wherein:
the encode time is based on the master system time clock.
15. The method of claim 13, wherein:
the decode time is based on a decode time stamp.
16. The method of claim 1, wherein for at least one particular channel, at least one packet thereof is passed through the transcoder without being transcoded, comprising the further step of:
delaying the output of the passed through packet from the transcoder according to a delay of the transcoder to maintain synchronicity of the particular channel with other ones of the channels that are transcoded by the transcoder.
17. The method of claim 1, wherein:

the timing data of the master system time clock is appended to the at least one packet that is input to the transcoder while the at least one packet is in a multiplex of the channels; and the channels are demultiplexed prior to the determining of the associated offset (PcrOffset).
18. An apparatus for providing adjusted timing data for a plurality of respective channels that are input to a transcoder, comprising:
means for recovering, for each channel, timing data (PcrIn) from at least one packet thereof that is input to the transcoder at a respective input time, and determining an associated offset (PcrOffset) between the recovered timing data (PcrIn) and timing data (PcrInHwTag) of a master system time clock of the transcoder at the respective input time; and means for providing, for each channel, adjusted timing data (PcrOut) in at least one packet thereof that is output from the transcoder at a respective output time according to the associated offset (PcrOffset), and timing data (PcrOutHwTag) of the master system time clock at the respective output time.
CA2421788A 2000-09-22 2001-08-31 Regeneration of program clock reference data for mpeg transport streams Expired - Lifetime CA2421788C (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/667,734 2000-09-22
US09/667,734 US6724825B1 (en) 2000-09-22 2000-09-22 Regeneration of program clock reference data for MPEG transport streams
PCT/US2001/027191 WO2002025952A2 (en) 2000-09-22 2001-08-31 Regeneration of program clock reference data for mpeg transport streams

Publications (2)

Publication Number Publication Date
CA2421788A1 true CA2421788A1 (en) 2002-03-28
CA2421788C CA2421788C (en) 2011-05-03

Family

ID=24679412

Family Applications (1)

Application Number Title Priority Date Filing Date
CA2421788A Expired - Lifetime CA2421788C (en) 2000-09-22 2001-08-31 Regeneration of program clock reference data for mpeg transport streams

Country Status (11)

Country Link
US (1) US6724825B1 (en)
EP (1) EP1323312B1 (en)
KR (1) KR20030061808A (en)
CN (1) CN1212737C (en)
AT (1) ATE279073T1 (en)
AU (1) AU8699001A (en)
CA (1) CA2421788C (en)
DE (1) DE60106286T2 (en)
MX (1) MXPA03002418A (en)
TW (1) TW533739B (en)
WO (1) WO2002025952A2 (en)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1177692A1 (en) * 2000-02-23 2002-02-06 Koninklijke Philips Electronics N.V. Method, transmitter and transmission system
US6724825B1 (en) 2000-09-22 2004-04-20 General Instrument Corporation Regeneration of program clock reference data for MPEG transport streams
US6847656B1 (en) * 2000-09-25 2005-01-25 General Instrument Corporation Statistical remultiplexing with bandwidth allocation among different transcoding channels
ATE343262T1 (en) * 2000-12-21 2006-11-15 Cit Alcatel IMPROVEMENT METHOD FOR A PROGRAM CLOCK REFERENCE OF A MULTIPLE ACCESS AND BURST MODE DOWNWARD LINK IN AN INTEGRATED MULTI-BEAM SATELLITE COMMUNICATIONS SYSTEM
US7023883B1 (en) * 2000-12-27 2006-04-04 Cisco Technology, Inc. Method for providing a network timing reference clock in ethernet-connected VOIP equipment
US6895520B1 (en) 2001-03-02 2005-05-17 Advanced Micro Devices, Inc. Performance and power optimization via block oriented performance measurement and control
US7194556B2 (en) * 2001-03-30 2007-03-20 Intel Corporation Method and apparatus for high accuracy distributed time synchronization using processor tick counters
US7173947B1 (en) * 2001-11-28 2007-02-06 Cisco Technology, Inc. Methods and apparatus to evaluate statistical remultiplexer performance
GB2386275B (en) * 2002-03-05 2004-03-17 Motorola Inc Scalable video transmissions
US7298741B2 (en) * 2003-02-27 2007-11-20 Sharp Laboratories Of America, Inc. Robust MPEG-2 multiplexing system and method using an adjustable time stamp
JP2004289295A (en) * 2003-03-19 2004-10-14 Fujitsu Ltd Data processing system, data processor, and data processing method
KR100526189B1 (en) * 2004-02-14 2005-11-03 삼성전자주식회사 Transcoding system and method for keeping timing parameters constant after transcoding
EP1615448A1 (en) * 2004-07-09 2006-01-11 Sony Deutschland GmbH Method for synchronizing video signals
US8189679B2 (en) * 2004-09-02 2012-05-29 Sony Corporation Content receiving apparatus, method of controlling video-audio output timing and content providing system
US20060095940A1 (en) * 2004-11-03 2006-05-04 Yearwood Bradley N Method and apparatus for distributing digital stream data to a user terminal
US7649874B2 (en) * 2005-03-10 2010-01-19 Qualcomm Incorporated Methods and apparatus for providing power efficient time management for mobile media
JP4991129B2 (en) * 2005-07-19 2012-08-01 Necディスプレイソリューションズ株式会社 Video / audio playback apparatus and video / audio playback method
US20070177519A1 (en) * 2006-01-30 2007-08-02 Thomsen Jan H Systems and methods for transcoding bit streams
US8068541B2 (en) * 2006-01-30 2011-11-29 Jan Harding Thomsen Systems and methods for transcoding bit streams
US7548543B2 (en) * 2006-05-19 2009-06-16 Scientific-Atlanta, Inc. Generation of valid program clock reference time stamps for duplicate transport stream packets
US7702056B2 (en) 2006-10-26 2010-04-20 Toshiba America Electronic Components, Inc. Time base corrector
JP4607856B2 (en) * 2006-12-26 2011-01-05 富士通株式会社 Encoding / decoding system and encoding / decoding method
US20080205389A1 (en) * 2007-02-26 2008-08-28 Microsoft Corporation Selection of transrate and transcode processes by host computer
US8165199B2 (en) * 2007-10-18 2012-04-24 Texas Instruments Incorporated Method and apparatus for on-chip voltage controlled oscillator function
US20100278236A1 (en) * 2008-01-17 2010-11-04 Hua Yang Reduced video flicker
CN101247527B (en) * 2008-03-21 2010-04-21 华为技术有限公司 Clock recovery method and device
JP2009290768A (en) * 2008-05-30 2009-12-10 Toshiba Corp Video processing apparatus and video processing method
US7899089B2 (en) * 2008-07-09 2011-03-01 Ericsson Television, Inc. Constant bit rate padding of MPEG transport streams
CN102204249B (en) 2008-07-09 2014-06-04 爱立信电视公司 Constant bit rate padding of mpeg transport streams
US8526506B1 (en) 2008-08-15 2013-09-03 Ipera Technology, Inc. System and method for transcoding with quality enhancement
KR100972792B1 (en) * 2008-11-04 2010-07-29 한국전자통신연구원 Synchronizer and synchronizing method for stereoscopic image, apparatus and method for providing stereoscopic image
US20120036277A1 (en) * 2009-03-16 2012-02-09 Nederlandse Organisatie Voor Toegepast-Natuurwetenschappelijk Onderzoek Tno Modified Stream Synchronization
WO2011035443A1 (en) 2009-09-26 2011-03-31 Sharif-Ahmadi Seyed M System and method for micro-cloud computing
US8458362B2 (en) 2010-09-30 2013-06-04 Comcast Cable Communications, Llc Delivering content in multiple formats
US8514329B2 (en) 2011-05-31 2013-08-20 Motorola Mobility Llc Jitter estimation for MPEG receivers
US20130083859A1 (en) * 2011-10-04 2013-04-04 General Instrument Corporation Method to match input and output timestamps in a video encoder and advertisement inserter
US9380327B2 (en) 2011-12-15 2016-06-28 Comcast Cable Communications, Llc System and method for synchronizing timing across multiple streams
CN103577456B (en) * 2012-07-31 2016-12-21 国际商业机器公司 For the method and apparatus processing time series data

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5216503A (en) 1991-12-24 1993-06-01 General Instrument Corporation Statistical multiplexer for a multichannel image compression system
JPH0837662A (en) 1994-07-22 1996-02-06 Hitachi Ltd Picture encoding/decoding device
US5623312A (en) 1994-12-22 1997-04-22 Lucent Technologies Inc. Compressed-domain bit rate reduction system
EP0756800B1 (en) 1995-02-22 2000-05-10 Koninklijke Philips Electronics N.V. System for transmitting a plurality of video programs simultaneously through a transmission channel
US5694170A (en) 1995-04-06 1997-12-02 International Business Machines Corporation Video compression using multiple computing agents
JP4223571B2 (en) 1995-05-02 2009-02-12 ソニー株式会社 Image coding method and apparatus
US5920572A (en) 1995-06-30 1999-07-06 Divicom Inc. Transport stream decoder/demultiplexer for hierarchically organized audio-video streams
US5650860A (en) 1995-12-26 1997-07-22 C-Cube Microsystems, Inc. Adaptive quantization
US5835493A (en) 1996-01-02 1998-11-10 Divicom, Inc. MPEG transport stream remultiplexer
US5905732A (en) 1996-08-27 1999-05-18 Zenith Electronics Corporation PCR restamper
US5917830A (en) * 1996-10-18 1999-06-29 General Instrument Corporation Splicing compressed packetized digital video streams
EP0851656A1 (en) 1996-12-23 1998-07-01 HE HOLDINGS, INC. dba HUGHES ELECTRONICS System and method for high resolution video compression by tiling
US5949490A (en) 1997-07-08 1999-09-07 Tektronix, Inc. Distributing video buffer rate control over a parallel compression architecture
US6356567B2 (en) * 1997-09-26 2002-03-12 International Business Machines Corporation Embedded clock recovery and difference filtering for an MPEG-2 compliant transport stream
US6111896A (en) 1998-01-14 2000-08-29 Skystream Corporation Remultiplexer for video program bearing transport streams with program clock reference time stamp adjustment
EP1118225A1 (en) 1998-10-02 2001-07-25 General Instrument Corporation Method and apparatus for providing rate control in a video encoder
WO2000064092A1 (en) * 1999-04-16 2000-10-26 Sony Corporation Communication device, communication method, and recorded medium
JP2001251616A (en) * 2000-03-02 2001-09-14 Media Glue Corp Method and device for converting multiplexed sound/ moving picture compressing-coded signal, and medium recorded with conversion program
US6724825B1 (en) 2000-09-22 2004-04-20 General Instrument Corporation Regeneration of program clock reference data for MPEG transport streams
US7068719B2 (en) * 2001-06-01 2006-06-27 General Instrument Corporation Splicing of digital video transport streams

Also Published As

Publication number Publication date
US6724825B1 (en) 2004-04-20
AU8699001A (en) 2002-04-02
ATE279073T1 (en) 2004-10-15
CN1212737C (en) 2005-07-27
EP1323312A2 (en) 2003-07-02
DE60106286T2 (en) 2005-10-13
EP1323312B1 (en) 2004-10-06
KR20030061808A (en) 2003-07-22
WO2002025952A2 (en) 2002-03-28
TW533739B (en) 2003-05-21
MXPA03002418A (en) 2004-02-12
CN1476726A (en) 2004-02-18
WO2002025952A3 (en) 2002-07-04
DE60106286D1 (en) 2004-11-11
CA2421788C (en) 2011-05-03

Similar Documents

Publication Publication Date Title
CA2421788A1 (en) Regeneration of program clock reference data for mpeg transport streams
RU2117411C1 (en) Device for video signal compression and synchronization device
US7012650B2 (en) Start/stop audio encoder apparatus and method for synchronizing digital audio and video signals
JP3666625B2 (en) Data recording method and data recording apparatus
US8755413B2 (en) Method and system for dynamically allocating video multiplexing buffer based on queuing theory
EP1762078B1 (en) Method for transmitting packets in a transmission system
CN101102496A (en) Method and device for reconstructing system time clock
US7397822B2 (en) Method and system for compensating for timing violations of a multiplex of at least two media packet streams
US7961792B2 (en) Robust system for maintaining audio/video synchronization during playback of multimedia streams with no embedded time stamps
CN103177725B (en) Method and device for transmitting aligned multichannel audio frequency
KR20060065436A (en) Apparatus and method for synchronization of audio and video in dmb apparatus
JP3893643B2 (en) Signal multiplexing method and transmission signal generating apparatus using the same
US7903774B2 (en) Method for creating a system clock in a receiver device and corresponding receiver device
CN1166174C (en) Method for correcting timer reference of programs in multiplexing
CN103474076B (en) Method and device for transmitting aligned multichannel audio frequency
KR100211999B1 (en) Pcr corrector of mpeg-2 transport stream remultiplexer
US6829304B1 (en) Method for clock recovery in MPEG systems
CN111988641B (en) Transport stream multiplexing audio and video time synchronization method
KR0138123B1 (en) An apparatus for coding time-stamp in mpeg-2 system
KR100731488B1 (en) Apparatus and Method for Processing Timing
KR0183136B1 (en) Program clock reference timestamp encoder without jitter
WO2017110854A1 (en) Transmission apparatus, reception apparatus, transmission method, and reception method
JPH0254642A (en) Sampling clock phase control system
JP2001217793A (en) Method and device for generating stream

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20210831