DE60106286T2 - Zeitbasisreferenzdatumregeneration für mpeg-transportströme - Google Patents

Zeitbasisreferenzdatumregeneration für mpeg-transportströme Download PDF

Info

Publication number
DE60106286T2
DE60106286T2 DE60106286T DE60106286T DE60106286T2 DE 60106286 T2 DE60106286 T2 DE 60106286T2 DE 60106286 T DE60106286 T DE 60106286T DE 60106286 T DE60106286 T DE 60106286T DE 60106286 T2 DE60106286 T2 DE 60106286T2
Authority
DE
Germany
Prior art keywords
transcoder
clock
time
packet
timing data
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.)
Expired - Lifetime
Application number
DE60106286T
Other languages
English (en)
Other versions
DE60106286D1 (de
Inventor
S. Robert 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.)
Arris Technology Inc
Original Assignee
Arris Technology Inc
General Instrument Corp
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 Arris Technology Inc, General Instrument Corp filed Critical Arris Technology Inc
Application granted granted Critical
Publication of DE60106286D1 publication Critical patent/DE60106286D1/de
Publication of DE60106286T2 publication Critical patent/DE60106286T2/de
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/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/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/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]

Description

  • ALLGEMEINER STAND DER TECHNIK
  • Die vorliegende Erfindung bezieht sich auf das Transcodieren digitaler Videosignale und insbesondere auf das Bereitstellen einer genauen Zeitreferenz für die Eingangs- und Ausgangssignale eines Transcoders.
  • Üblicherweise ist es notwendig, eine Bitrate von digitalen Videoprogrammen, die z. B. an Teilnehmerendgeräte in einem Kabelfernsehnetz oder dergleichen bereitgestellt werden, einzustellen. Beispielsweise kann eine erste Gruppe von Signalen über eine Satellitenübertragung an einer Kopfstelle empfangen werden. Der Kopfstellenbetreiber möchte möglicherweise ausgewählte Programme an die Teilnehmer weiterleiten, während er Programme (z. B. Werbesendungen oder anderen Inhalt) von einer örtlichen Quelle wie etwa Speichermedien oder einer örtlichen Direkteinspeisung hinzufügt. Zusätzlich dazu ist es häufig notwendig, die Programme innerhalb einer insgesamt verfügbaren Kanalbandbreite bereitzustellen.
  • Demgemäß ist der statistische Remultiplexer (stat remux) oder Transcoder entwickelt worden, der vorkomprimierte Videobitströme bearbeitet, indem er sie mit einer spezifizierten Bitrate neu komprimiert. Auf ähnliche Weise bearbeitet der statistische Multiplexer nicht komprimierte Videodaten, indem er sie mit einer gewünschten Bitrate komprimiert.
  • In derartigen Systemen wird eine Reihe von Datenkanälen von einer Reihe von Prozessoren, die parallel angeordnet sind, verarbeitet. Jeder Prozessor kann typischerweise mehrere Datenkanäle unterbringen. Es können allerdings in einigen Fällen, die viele Berechnungen erfordern, wie etwa für hochauflösendes Fernsehen, Anteile von Daten aus einem einzelnen Kanal auf mehrere Prozessoren verteilt werden.
  • Einkanal-Transcoder werden ebenfalls in verschiedenen Anwendungen verwendet.
  • Bei einem digitalen Videokompressionssystem, wie etwa dem MPEG-2-System, wird die digitale Videoquelle auf 27 MHz getaktet (D1-Videostandard). Der Decodierer muss denselben 27-MHz-Takt erzeugen, so dass der Codierer- und der Decodierertakt synchronisiert sind. Dieser Takt wird als Systemzeittaktgeber (STC) bezeichnet. Sowohl der Codierer als auch der Decodierer weisen einen Zähler auf, der bei jedem Ticken des STC erhöht wird. Wenn die STCs des Codierers und des Decodierers synchron geschaltet sind, weisen beide Zähler den gleichen Wert auf.
  • Um den Decodierer synchron zu schalten, sendet der Codieren eine PCR (Program Clock Reference = Programmtaktreferenz) an den Decodierer. Die PCR ist der Wert des STC-Zählers in dem Moment, in dem das Paket mit der PCR den Codierer verlässt. Wenn das Paket mit der PCR von dem Decodierer empfangen wird, vergleicht der Decodierer diesen Wert mit dem Wert seines STC-Zählers. Wenn die beiden gleich sind, wird keine Einstellung benötigt. Wenn sich die zwei Werte unterscheiden, muss der Decodierer seinen STC entweder rücksetzen, beschleunigen oder verlangsamen.
  • Bei verschiedenen Transcodieranwendungen wirkt die Verarbeitung, als ob mehrere Paare von Decodierern/Codierern verwendet werden, da jeder Videoeingangskanal transcodiert (z. B. decodiert und neu codiert) wird. Somit muss der Eingangs-STC für jeden Kanal aufgegriffen werden, und eine neue PCR muss dann für die neu codierte Ausgabe ausgegeben werden. Eine mögliche Lösung liegt darin, für jeden empfangenen Videodienst einen örtlichen STC zu haben. Dies ist jedoch teuer, da es für jeden Videodienst eine Phasensynchronisationsschleife (PLL) erfordert.
  • Demgemäß wäre es wünschenswert, ein kosteneffektives und wirksames System zum Aufgreifen eines Eingangs-STC aus jedem Kanal in einem Transcoder und Ausgeben einer neuen PCR für die neu codierte Ausgabe bereitzustellen.
  • Das System sollte nur einen Haupt-STC verwenden und Differenzen zwischen dem Haupt-STC und den STCs der unterschiedlichen Dienste oder Kanäle ausgleichen.
  • Das System sollte in Software umsetzbar sein.
  • Das System sollte den Bedarf an mehreren Zählern vermeiden.
  • Das System sollte eine Frequenzdifferenz zwischen dem Haupt-STC und dem Eingangs-STC ausgleichen.
  • Das System sollte auch Änderungen bei Decodierzeitstempeln (DTSs) und Präsentationszeitstempeln (PTSs) berücksichtigen.
  • Eine Vorgriffsverzögerung an einem Transcoder und Pufferverzögerungen eines Codierers des Transcoders und eines Decodierers eines Endverbrauchers sollten ebenfalls berücksichtigt werden.
  • Die vorliegende Erfindung stellt ein System mit den obigen und weiteren Vorteilen bereit.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf das Bereitstellen einer genauen Zeitreferenz für die digitalen Eingangs- und Ausgangsvideosignale eines Transcoders.
  • Statt der Verwendung eines örtlichen STC-Taktes für jeden Videodienst, der empfangen wird, verwendet die Erfindung lediglich einen Haupt-STC. Die Differenzen zwischen dem Haupt-STC und dem Eingangs-STC des Dienstes werden dann z. B. unter Verwendung von Software korrigiert.
  • Vorteilhafterweise wird ein Offset zwischen dem Haupt-STC und den Eingangs-PCRs berechnet, um mehrere Zähler zu vermeiden.
  • Dann wird eine Frequenzdifferenz zwischen dem Haupt-STC und dem Eingangs-STC berechnet. Diese Frequenzdifferenz wird korrigiert, wenn die Ausgabe-PCR berechnet wird.
  • Zusätzlich dazu korrigiert die Erfindung auch die PTSs und DTSs, die einen Decodierer darüber informieren, wann ein Bild präsentiert (angezeigt) bzw. decodiert werden soll, ob der Decodierer ein Teil eines Transcoders oder ein allein stehender Decodierer eines Endverbrauchers, wie etwa bei einer Set-Top-Box, ist. Insbesondere verweist der DTS auf die PCR. Wenn zum Beispiel die PCR dem DTS für ein Bild gleicht, wird dieses Bild decodiert. Auf den berechneten STC wird am Eingang in den Transcoder verwiesen. Ein Videoeinzelbild wird aufgrund der Transcodierverzögerung um einen festen Betrag verzögert. Diese Verzögerung ist die Zeit des ursprünglichen PTS/DTS des Eingabestroms bis zur Zeit des transcodierten PTS/DTS. Daher müssen der ursprüngliche PTS und DTS durch Hinzufügen dieser Verzögerung eingestellt werden. Anstatt jedoch sowohl die PCR als auch die Zeitstempel (PTS und DTS) zu modifizieren, ziehen wir diese Verzögerung von der PCR ab, um die gleiche Wirkung zu erzeugen.
  • Ein Verfahren gemäß der Erfindung zur Bereitstellung von eingestellten Zeittaktdaten für eine Vielzahl jeweiliger Kanäle, die in einen Transcoder eingegeben werden, ist in Anspruch 1 dargelegt.
  • Zudem sind die eingestellten Zeittaktdaten (PcrOut) ferner in dem mindestens einen Paket, das aus dem Transcoder gemäß einer Summe des zugehörigen Offsets und eines zugehörigen Hardwarefehlers (PcrHwErr), minus einer dem Transcoder zugehörigen Verzögerung (PcrSysDly), ausgegeben wird, bereitgestellt.
  • Der zugehörige Hardwarefehler (PcrHwErr) gehört Folgendem zu: (a) dem Hauptsystemzeittaktgeber und (b) einem Systemzeittaktgeber eines Codierers, der den bestimmten Kanal codierte, und die dem Transcoder zugehörige Verzögerung (PcrSysDly) umfasst eine Vorgriffsverzögerung (lookahead_dly) und eine Pufferverzögerung (buffer_dly).
  • Eine entsprechende Vorrichtung wird ebenfalls präsentiert und ist in Anspruch 14 dargelegt.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 veranschaulicht ein Blockschaltbild eines Transcoders gemäß der vorliegenden Erfindung.
  • 2 veranschaulicht die Einstellung einer Programmtaktreferenz (PCR) gemäß der vorliegenden Erfindung.
  • 3 veranschaulicht einen Transcoder, der gemäß der vorliegenden Erfindung eine PCR-Korrektur durchführt.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf das Bereitstellen einer genauen Zeitreferenz für die digitalen Eingangs- und Ausgangsvideosignale eines Transcoders.
  • Die folgenden Kurzworte und Begriffe werden verwendet:
    DPRAM – dynamischer programmierbarer Direktzugriffsspeicher
    DTS – Decodierzeitstempel
    FIFO – Prioritätssteuerung
    FPGA – frei programmierbare logische Anordnung
    MTS – MPEG-Transportstrom
    PAT – Program Association Table
    PCI – Peripheral-Component-Interconnect-Bus
    PCR – Programmtaktreferenz
    PID – Programmkennung
    PMT – Programmverwaltungstabelle
    PTS – Präsentationszeitstempel
    QL – Quantisierungspegel
    STC – Systemzeittaktgeber
    TCI – Transportkanaleingang
    TCO – Transportkanalausgabe
    TMC – Transcodermultiplexerkern
    TSP – Fernsehdiensteanbieter
  • 1. Zeitstempel und PCR-Berechnungen
  • 1 veranschaulicht ein Blockschaltbild eines Transcoders gemäß der vorliegenden Erfindung.
  • Gemäß der Erfindung verwendet der Transcoder 100 einen Hauptsystemtaktgeber 155 und erstellt Berechnungen für PCR-Korrekturen, wie unten beschrieben. Dies vermeidet den Bedarf einer PLL für jeden Transportstrom.
  • Der Transcoder 100 empfängt einen Transportstrom oder mehrere Transportströme und hängt an jedes Paket bei einer Anhangsfunktion 105 eine Markierung „PcrInHwTag" – oder PCR-Eingabehardwaremarkierung – an. Diese Markierung stellt die Taktgeberdaten des Haupt-STC 155 zu der Zeit dar, zu der das Paket in den Transcoder eingegeben wird. An einem Demultiplexer 110 wird für jeden Dienst ein MPEG-Transportstrom ausgegeben. Ein erster Dienst wird an Funktionen 120 und 122 verarbeitet und ein letzter, N-ter Dienst wird an Funktionen 130 und 132 verarbeitet. Jeder Dienst wird im Allgemeinen als ein n-ter Dienst bezeichnet, wobei n = 1, ..., N.
  • Insbesondere wird an der Funktion 120 ein Offset zwischen der PCR des ersten Dienstes und einer PCR des Haupttaktgebers 155 bestimmt. Auf ähnliche Weise wird an der Funktion 130 ein Offset zwischen der PCR des N-ten Dienstes und einer PCR des Haupttaktgebers 155 bestimmt. Die obige Verarbeitung wird angewendet, wenn die PCR vorliegt. Im Allgemeinen wird die PCR nicht in jedem Paket bereitgestellt, aber sie kann z. B. alle 100 ms, mit jedem Einzelbild oder in anderen regelmäßigen oder unregelmäßigen Intervallen bereitgestellt werden. Bei MPEG beträgt die Zeit zwischen PCRs möglicherweise nicht mehr als 100 ms.
  • Die Daten aus den Diensten werden an jeweiligen Transcodierfunktionen 122, ..., 132 transcodiert.
  • Jeder n-te Dienst wird analog bearbeitet.
  • Das transcodierte Video wird an einem Remultiplexer 140 remultiplexiert, und an einer Funktion 145 wird ein Ausgabe-PCR-Wert, PcrOut, für diejenigen Pakete, bei denen die PCR vorliegt, berechnet.
  • Die Funktion 145 reagiert auf ein Ausgabetransportticken 150 und eine PCR-Ausgabehardwaremarkierung, PcrOutHwTag, 160, welche beide wiederum auf den Haupttaktgeber 155 reagieren. Diese Markierung stellt die Taktgeberdaten des Haupt-STC 155 zu der Zeit dar, zu der ein Paket aus dem Transcoder ausgegeben wird.
  • Wenn ein Eingabepaket 104 ankommt, hängt die Funktion 105 einen Transportzeitstempel, PcrInHwTag, an das Paket an. Der PcrInHwTag wird aus dem Hauptsystemzeittaktgeber, MasterSTC 155 zwischengespeichert. Der Transcoder 100 reduziert die Rate des Videos an den Transcoderfunktionen 122, ..., 132 und paketiert den Transportstrom am Remultiplexer 140 neu.
  • An der Tq-Periode (einer Quantisierungszeitperiode) sendet jeder Transcoder 122, ..., 132 die Anzahl an Paketen, die ihm zugeteilt worden war, z. B. über einen PCI-Bus an die Funktion 145. Einige dieser Pakete enthalten einen Platzhalter für eine PCR. Von den Transcodern 122, ..., 132 werden Platzhalter für den/die zugehörigen Kanal/Kanäle mit der PCR-Rate eingefügt.
  • Die Funktion 145 stellt Ausgabepakete bereit, wie etwa ein Beispielausgabepaket 106, das einen Anfangsblock 103 mit einem eingestellten PCR-Feld gemäß der Erfindung umfasst.
  • Die Funktion 145 empfängt ein Transportticken, das von der Transporttickfunktion 150 produziert wird. Die Funktion 145 berechnet die PCR und fügt sie in den PCR-Schlitz ein, wenn ein PCR-Platzhalter in dem aktuellen Paket vorliegt. Das Transportpaket 106 wird aus der Funktion 145 über eine angemessene Ausgabe gesendet. Das Transportpaket kann gepuffert und eine feste Anzahl an Transportticken später abgelesen werden.
  • 1.1. Eingangstaktgeberaufgriff
  • Ein 27-MHz-Hauptsystemzeittaktgeber, MasterSTC, 155 wird für alle Kanäle verwendet. Wenn ein Paket 104 mit einer PCR ankommt, kann der MasterSTC 155 aufgrund der mehreren Kanäle nicht auf diesen PCR-Wert gesetzt werden. Stattdessen wird für jeden Kanal der aktuelle Wert des MasterSTC am Signalspeicher 160 zwischengespeichert, und die Differenz, PcrOffset, wird wie folgt berechnet: PcrOffset = PcrIn – PcrInHwTag,wobei PcrIn der PCR-Wert in dem Transportanfangsblock ist, wie z. B. in dem Anfangsblock 102 des Beispielpakets 104 gezeigt. Andere Anfangsblockinformationen sind nicht gezeigt.
  • PcrInHwTag ist die PCR-Hardwaremarkierung; dies ist die Zählung des frei laufenden MasterSTC 155 zu der Zeit, zu der das Paket 104 mit der PcrIn ankam.
  • Unter der Annahme, dass alle Kanaltaktgeber und der STC 155 exakt 27 MHz betragen, ist der unmittelbare Systemzeittaktgeber für jeden Kanal: STC = MasterSTC + PcrOffset
  • Der STC zu der Zeit des Ausgabetransporttickens ist: STC = PcrOutHwTag + PcrOffsetwobei PcrOutHwTag der MasterSTC zu der Zeit des Ausgabetransporttickens ist.
  • Das obige Szenario berücksichtigt jedoch keine Hardwarefehler der Kanaltaktgeber und des Haupttaktgebers, denen in der Praxis begegnet wird. Siehe unten den Abschnitt über „PCR-Jitter". Insbesondere können die 27-MHz-Takte um z. B. 30 ppm falsch liegen. Gemäß der Erfindung wird eine Einstellung am STC für einen PCR-Hardwarefehler (PcrHwErr) wie folgt vorgenommen: STC = PcrOutHwTag + PcrOffset + PcrHwErr (1)
  • PcrHwErr ist der geschätzte Fehler von PcrOutHwTag aufgrund der geringen Differenz zwischen dem 27-MHz-Hardwarezähler auf dem Transcoder und dem 27-MHz-PCR-Zähler der Videoquelle. Bezugnahme auf 2 veranschaulicht die Einstellung einer Programmtaktreferenz (PCR) gemäß der vorliegenden Erfindung.
  • Es ist zu beachten, dass der Haupt-STC von einem Takt wie etwa einem 27-MHz-Takt abgeleitet ist. Software kann einen 27-MHz-Takt erzeugen, aber dieser Takt ist von dem Prozessortakt abgeleitet, der wiederum von Hardware, wie etwa einem Quarzoszillator, erzeugt wird. Der Begriff Hardwarefehler oder dergleichen soll daher derartige Fälle mit einschließen. Der folgende Ausdruck gibt PcrHwErr zur Zeit Tout an, was die Ausgabezeit eines Pakets aus dem Transcoder 100 ist. Tin ist die Eingabezeit eines Pakets mit einer PCR in den Transcoder 100. PcrHwErrTout = αTout*(Tout – Tin(n)).
  • Wobei Tin(n) die neueste PcrIn-Zeit ist. „n" ist ein Index aufeinander folgender aufgegriffener PCR-Werte aus einem zugehörigen Kanal. Außerdem: αTout = CntErrTin(n)/(Tin(n) – Tin(n – 1)) CntErrTin(n) = PcrOffsetTin(n) – PcrOffsetTin(n–1).
  • CntErr bezieht sich auf einen Zählungsfehler.
  • Es ist zu beachten, dass der Transcoder 100 jeden Eingabestrom an dem Demultiplexer 110 entpaketiert. Mit der Ausnahme der Durchführpakete, die in Abschnitt 1.4 beschrieben werden, existieren die Eingabepakete nicht länger, obwohl einige der Paketkopfinformationen und die gesamte Nutzlast bewahrt werden. Neue Pakete werden an der Ausgabe des Datencodierers 328 erzeugt. Siehe 3.
  • Wie erwähnt ist CntErrTin(n) null, wenn die 27-MHz-Takte des Transcoders und der Quelle synchronisiert werden.
  • Unter Substitution von CntErrTin(n):
  • Figure 00110001
  • Unter Substitution von αTout:
  • Figure 00110002
  • Der PcrInHwTag- und PcrOutHwTag-Wert können verwendet werden, um eine Zeit T zu verfolgen, in welchem Fall PcrHwErr(Tout) alternativ wie folgt ausgedrückt werden kann:
  • Figure 00120001
  • Ein Beispiel ist in 2 gezeigt. Ein PcrOffset1 ist zu einer Zeit Tin1 (210) gezeigt, ein PcrOffset2 und ein CntErrT2 sind zu einer Zeit Tin2 (220) gezeigt, eine Zeit Tout1 (230) ist gezeigt und ein PcrOffset3 und ein CntErrT3 sind zu einer Zeit Tina (240) gezeigt. Tin1, Tin2, ... beziehen sich auf die Eingabezeiten eines ersten, zweiten ... Pakets. Tout1 ist die Ausgabezeit des ersten Pakets.
  • PcrHwCnt ist der Zähler des Haupttaktgebers und PcrIn ist der Eingangs-PCR-Wert, der aus dem Eingabepaket aufgegriffen wird.
  • Es ist zu beachten, dass PcrHwErr mit der Zeit in der Größenordnung zunimmt und zu jeder Eingabezeit auf null rückgesetzt wird. Im Wesentlichen wäre PcrHwErr null, wenn ein PCR-Paket zu derselben Zeit ausgegeben wird, in der ein Eingabe-PCR-Paket ankommt, da es nach der anfänglichen Berechnung von PcrOffset keine Hardwaredrift gibt. Falls es jedoch eine Verzögerung zwischen einem Eingabe-PCR-Paket und einem Ausgabe-PCR-Paket gibt, nimmt PcrHwErr mit einer Rate zu, die durch die Steigung α, unten beschrieben, gegeben ist. PcrHwErr(Tout1) = α*(Tout1 – Tin2),wobei α = (PcrOffsetTin2 – PcrOffsetTin1)/(Tin2 – Tin1).
  • Die Steigung a ist im Wesentlichen die Steigung der Linie A-B relativ zur Linie A-B'. Es wird angenommen, dass die Linie B'-C relativ zur Linie B'-C' die gleiche Steigung aufweist, was eine sinnvolle Annahme ist, da sich die relative Steigung zwischen Eingabezeitintervallen nur sehr wenig ändert.
  • Somit wird zu Tout1 die Änderung der PcrOffset-Werte der beiden neuesten Pakete verwendet, um eine relative Steigung α zu erhalten. PcrHwErr zur Zeit des aktuellen Ausgabepakets, z. B. PcrHwErr(Tout1), wird dann auf der Basis der relativen Steigung α und des Zeitintervalls zwischen der Zeit des aktuellen Ausgabepakets (Tout1) und der Zeit des neuesten Eingabepakets (Tin2) (oder eines anderen vorhergehenden Eingabepakets als des neuesten) bestimmt. Dies kann wie folgt ausgedrückt werden:
  • Figure 00130001
  • Diese Gleichung kann alternativ ausgedrückt werden, indem PcrInHwTag und PcrOutHwTag an Stelle von Tout bzw. Tin wie folgt verwendet werden:
    Figure 00130002
    wobei
  • Figure 00130003
  • Es muss Sorge getragen werden, den Zählerumlauf, der beim Haupt-STC 155 auftreten kann, zu berücksichtigen. Das heißt, die Zählung des Haupt-STC wird durch eine feste Anzahl von Bits dargestellt, so dass der Höchstwert beschränkt ist. Wenn der Zähler diese Höchstwerte erreicht, fängt er mit dem Zählen wieder von null an.
  • Wahlweise kann α über die letzten N PcrIn-Zeiten gemittelt werden. Außerdem kann in diesem Fall ein gewichtetes Mittel verwendet werden, z. B. unter Verwendung eines Rekursivfilters.
  • 1.1.1. Umsetzungseinstellungen
  • Die gezeigte Technik nimmt an, dass Pakete bei ihrer Eingabe in den Transcoder analysiert werden. In der Praxis werden die Pakete in einem MTS-Puffer gespeichert und periodisch zwischen Transcodiereinzelbildern analysiert. Daher steht die neueste PCR möglicherweise nicht zu der Zeit zur Verfügung, zu der die Ausgabe-PCR korrigiert werden muss. Deshalb werden das neueste PcrOffset und α, die während der Transport-Demultiplexierung verarbeitet werden, zur PCR-Korrektur verwendet.
  • 1.2. PCR, DTS, PTS
  • Anstatt alle drei Felder, PCR, DTS und PTS, zu ändern, kann die PCR allein eingestellt werden, um die Änderungen des DTS und PTS zu berücksichtigen.
  • Der Transcoder ist als Decodierer und Codierer modelliert. Siehe 3, die einen einzelnen Zeitpunkt darstellt. 3 veranschaulicht einen Transcoder, der gemäß der vorliegenden Erfindung eine PCR-Korrektur durchführt. Da die Decodierer die Pakete zu Nutzlasten entpaketieren, kann ein Ausgabepaket wiederum nicht streng einem Eingabepaket zugehören. Ein Paket wird nur für einen Durchführkanal intakt gehalten, wo die PCR-Korrektur unterschiedlich durchgeführt wird (siehe Abschnitt 1.4).
  • Ein Codierer 300 codiert nicht komprimierte Videoursprungsdaten, z. B. in einem Studio, an einem Direkteinspeiseort, einem Satellitenverteilungsort oder dergleichen, und stellt dem Transcoder 320 einen komprimierten Datenstrom bereit. Der Transcoder 320 führt Decodier- und Neucodierarbeitsschritte durch, um einem Decodierer 380 eines Endverbrauchers einen neuen komprimierten Datenstrom mit einer reduzierten Bitrate bereitzustellen. Der Decodierer 380 eines Endverbrauchers kann eine repräsentative Set-Top-Box in, zum Beispiel, einem Breitbandkommunikationsnetz wie etwa einem Kabel- oder Satellitenfernsehnetz sein. Der Decodierer 380 decodiert und entkomprimiert die empfangenen Daten, um sie in einem zur Anzeige geeigneten Format bereitzustellen.
  • Der Codierer 300 umfasst eine Datencodierfunktion 302 und einen FIFO-Puffer 304. Der Transcoder 320 umfasst einen Decodierer-FIFO 322, einen Datendecodierer 324, einen Transcoderverzögerungspuffer/eine Vorgriffsverzögerung 326, der/die z. B. sechs Einzelbilder speichert, einen Datencodierer 328 und einen Codierer-FIFO 330. Der Decodierer 380 umfasst einen Decodierer-FIFO 382 und einen Datendecodierer 384.
  • Der Decodierer 324 und der Codierer 328 des Transcoders 320 sind repräsentative Funktionen, da grundsätzlich jede Art von Transcodierung verwendet werden kann. Zum Beispiel verwenden einige Transcoder vollständiges Decodieren und Neucodieren, was hinsichtlich Berechnungen relativ intensiv ist. Andere Transcoder verwenden Teildecodierung, gefolgt von Neucodierung. Beispielsweise können verschiedene Informationen wie etwa Bewegungsvektoren wiederverwendet werden, um den Bedarf an Bewegungseinschätzung während der Codierung zu vermeiden, was die Berechnungen am Transcoder reduziert. Zusätzlich dazu kann gemäß der Erfindung ein Durchführmodus verwendet werden, wie unten in Abschnitt 1.4 beschrieben. Des Weiteren kann ein Transcoder zu verschiedenen Zeiten und/oder für verschiedene Kanäle in verschiedenen Modi laufen.
  • Eine Vorgriffsverzögerung erstreckt sich von DTS1 bis STC2, und eine Pufferverzögerung (die Verzögerungen durch die Puffer 330 und 382) umfasst) erstreckt sich von der Zeit STC2 bis DTS2. Die Pufferverzögerung kann z. B. 0,5 s betragen, kann aber für verschiedene Systeme variieren. Eine Gesamt- oder Paketverzögerung umfasst daher die Vorgriffs- und Pufferverzögerung (z. B. 6 Rahmenlängen + 0,5 s).
  • Auf STC1 wird zu der ursprünglichen Codierzeit verwiesen. DTS1 ist der Decodierzeitstempel für den Decodierer 324, der in dem Transcoder 320 eingebettet ist. Auf STC2 wird zu der Transcodercodierzeit verwiesen. DTS2 ist der Decodierzeitstempel für den Zieldecodierer 380.
  • Zu der Transcodercodierzeit (STC2) gleicht der berechnete STC (wie zuvor beschrieben) STC1. STC1 taktet für DTS1. Wenn wir den berechneten STC für die PCR verwenden, muss DTS2 wie folgt berechnet werden: DTS2 = DTS1 + PcrSysDly (2)wobei PcrSysDly = (lookahead_dly + buffer_dly); es ist zu beachten, dass die eigentliche Transcoderdecodierzeit, die in der Figur gezeigt ist, in lookahead_dly eingeschlossen ist. „Sys" bedeutet „System" und „Dly" bedeutet „Verzögerung".
  • Wenn der ursprüngliche DTS und PTS verwendet werden, muss der STC abgeändert werden, um die gleiche relative Zeit zwischen dem STC und dem DTS zu wahren. Zu der Transcodercodierzeit (STC2) haben wir: DTS2 – STC = CONSTANT (3)
  • Wenn DTS1 an Stelle von DTS2 in dem PES-Anfangsblock verwendet wird, ist es gleichwertig damit, wenn PcrSysDly von DTS2 (aus Gleichung (2)) abgezogen wird. Damit CONSTANT in Gleichung (3) gleich bleibt, muss PcrSysDly von dem STC abgezogen werden. Genauer gesagt ist Gleichung (3) zu der Zeit wahr, zu der wir beginnen, ein Bild „A" zu codieren. Zu dieser Zeit (STC) ist der DTS von Bild (A – n) DTS2. ,n' ist eine feste Anzahl von Bildern in den Puffern/Verzögerungsblöcken. Die Zeit zwischen Codierbeginn A und DTS2 ist CONSTANT. Dies ist wahr zur Zeit des Codierbeginns eines beliebigen Bildes. Die Differenz zwischen Zeiten des Decodierbeginns mit einer 30-Hz-Rahmenfrequenz beträgt 900, 900 (in Einheiten von 27 MHz); dasselbe ist wahr für die Zeit zwischen aufeinander folgenden DTS-Werten. STCnew = STC – PcrSysDly
  • Zu der Zeit, in der PCR zwischengespeichert wird, PcrOut = STCnew = STC – PcrSysDly
  • Daher wird beim Substituieren in Gleichung (1) für jeden Videokanal die Ausgabe-PCR durch die folgende Formel erzeugt: PcrOut = PcrOutHwTag + PcrOffset + PcrHwErr – PcrSysDly.
  • 1.3. PCR-Jitter
  • MPEG-2-Spezifikationen für die PCR sind:
    Der 27-MHz-Takt muss 27 MHz +/– 810 Hz (30 ppm) betragen;
    Die 27-MHz-Frequenzanstiegsgeschwindigkeit < 75 × 10–3 Hz/s; und
    Die PCR-Toleranz (Netzjitter nicht eingeschlossen) +/– 500 ns.
  • Die Transcoder-PCR-Korrektur weist den folgenden Jitterfehler auf:
  • PcrInHWTag, der Wert des 27-MHz-Hardwarezählers in dem Moment, in dem das eintreffende PCR-Paket empfangen wird, kann um einen 27-MHz-Zyklus falsch liegen.
  • PcrHwErr ist exakt, abgesehen von der Rundung, da der Frequenzanstieg zwischen PCRs 100 ms*75 × 10–3 Hz/s = 75 × 10–4 Zyklen beträgt.
  • PcrHwErr wird auf das nächste 27-MHz-Ticken gerundet, was einen ½ 27-MHz-Zyklusfehler ergibt.
  • Der höchste PCR-Jitter, der von dem Transcoder bewirkt wird, beträgt 1,5 27-MHz-Zyklen oder 56 ns (1,5/(27 × 106) s.).
  • 1.4. Durchführ-PCR-Korrektur
  • Ein Durchführmodus kann gemäß der Erfindung auch verwendet werden, wobei die Transportpakete eines Kanals zwischen der Eingabe und der Ausgabe des Transcoders intakt bleiben und nicht transcodiert werden. Jedoch werden die Durchführpakete verzögert, um mit der Verzögerung der anderen Dienste/Kanäle übereinzustimmen, damit die Synchronität mit diesen anderen Kanälen, die von dem Transcoder transcodiert werden, gewahrt bleibt.
  • Des Weiteren kann Paketjitter auftreten, wenn sich Pakete aus getrennten Transportströmen zeitlich überlappen.
  • Die PCR wird korrigiert, indem die Differenz zwischen der PcrHwInTag für dieses Paket und der PcrHwOutTag zu der Zeit, zu der dieses Paket ausgesendet wird, genommen wird. Diese Differenz wird mit einer festen Konstante, TcdrPassDly (Transcoderdurchführverzögerung) verglichen, und jede Diskrepanz zwischen den beiden sollte durch das Einstellen des Ausgabe-PCR-Stempels, PCR, korrigiert werden. Die TcdrPassDly stellt die nominale Zeitverzögerung zwischen der Eingabe und der Ausgabe des Transcoders 320 dar. Diese Zeit entspricht im Allgemeinen auch DTS2 – DTS1. Die PCR wird wie folgt korrigiert: PCR = PcrIn – TcdrPassDly + (PcrHwOutTag – PcrHwInTag).
  • Demgemäß wird ersichtlich, dass die vorliegende Erfindung eine genaue Zeitreferenz für mehrere Eingangs- und Ausgangssignale eines Transcoders bereitstellt. Ein effizienter Entwurf wird durch das Einstellen jedes Kanals auf einen Haupttaktgeber des Transcoders erreicht. Insbesondere werden eingestellte Zeittaktdaten für Ausgabepakete eines Kanals auf der Basis von Informationen aus Eingabepaketen des Kanals bereitgestellt. Diese Informationen umfassen einen Offset zwischen den PCR-Daten und dem Haupttaktgeber zu der Paketeingabezeit, einen Hardwarefehler des Haupttaktgebers und/oder des Systemtaktgebers eines Kanalcodierers und eine Verzögerung, die dem Transcoder zugehört und eine Vorgriffsverzögerung und eine Pufferverzögerung umfasst.
  • Obwohl die Erfindung in Verbindung mit verschiedenen bevorzugten Ausführungsformen beschrieben worden ist, versteht es sich, dass verschiedene Modifikationen und Anpassungen daran vorgenommen werden können, ohne den Bereich der Erfindung, wie in den Ansprüchen aufgeführt, zu verlassen.
  • Während die Erfindung vor allem in Hinsicht auf das Transcodieren von Videodaten erörtert worden ist, kann sie um Beispiel auch auf das Transcodieren anderer Arten von Daten, wie etwa Audiodaten, angewendet werden. Insbesondere kann, da aktuelle Audionormen Festraten (nicht variable Raten, wie für Videodaten) unterstützen, Transcodieren von einer höheren Festrate zu einer niedrigeren Festrate durchgeführt werden.

Claims (14)

  1. Ein Verfahren zur Bereitstellung von eingestellten Zeittaktdaten für eine Vielzahl jeweiliger Kanäle, die in einen Transcoder eingegeben werden, das folgende Schritte beinhaltet: für jeden Kanal, Aufgreifen von Zeittaktdaten (PcrIn) von mindestens einem Paket davon, das zu einer jeweiligen Eingabezeit in den Transcoder eingegeben wird, und Bestimmen eines zugehörigen Offsets (PcrOffset) zwischen den aufgegriffenen Zeittaktdaten (PcrIn) und den Zeittaktdaten (PcrInHwTag) eines Hauptsystemzeittaktgebers des Transcoders zu der jeweiligen Eingabezeit; und für jeden Kanal, Bereitstellen von eingestellten Zeittaktdaten (PcrOut) in mindestens einem Paket davon, das zu einer jeweiligen Ausgabezeit gemäß dem zugehörigen Offset (PcrOffset) aus dem Transcoder ausgegeben wird, und von Zeittaktdaten (PcrOutHwTag) des Hauptsystemzeittaktgebers zu der jeweiligen Ausgabezeit; wobei: für mindestens einen bestimmten Kanal die eingestellten Zeittaktdaten (PcrOut) ferner in dem mindestens einen Paket bereitgestellt sind, das aus dem Transcoder gemäß einem Hardwarefehler (PcrHwErr) ausgegeben wird, der Folgendem zugehört: (a) dem Hauptsystemzeittaktgeber und (b) einem Systemzeittaktgeber eines Codierers, der den bestimmten Kanal codierte; und der Hardwarefehler (PcrHwErr) für das mindestens eine Paket, das aus dem Transcoder auf der Basis einer Veränderungsrate eines Hardwarefehlers, der mindestens zwei Paketen zugehört, die vorher in den Transcoder eingegeben wurden, und eines Zeitintervalls zwischen: (a) der Ausgabezeit des mindestens einen Pakets, das aus dem Transcoder ausgegeben wird, und (b) einer Eingabezeit eines letzteren der zwei vorherigen Eingabepakete bestimmt wird.
  2. Verfahren gemäß Anspruch 1, wobei: die aufgegriffenen Zeittaktdaten ein Program-Clock-Reference-Feld (PCR-Feld) beinhalten.
  3. Verfahren gemäß Anspruch 1 oder 2, wobei: die Zeittaktdaten des Hauptsystemzeittaktgebers eine darauf basierende Zählung beinhalten.
  4. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei: die aufgegriffenen Zeittaktdaten für mindestens einen bestimmten Kanal eine Zählung beinhalten, die auf einem Systemzeittaktgeber eines Codierers, der den bestimmten Kanal codierte, basiert.
  5. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei: der Hardwarefehler (PcrHwErr) einer Frequenzabwanderung von mindestens entweder dem Hauptsystemzeittaktgeber oder dem Systemzeittaktgeber des Codierers zugehört.
  6. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei: die eingestellten Zeittaktdaten (PcrOut) für mindestens einen bestimmten Kanal ferner in dem mindestens einen Paket, das aus dem Transcoder gemäß einer Verzögerung (PcrSysDly) ausgegeben wird, die dem Transcoder zugehört, der eine Vorgriffsverzögerung (lookahead_dly) und eine Pufferverzögerung (buffer_dly) umfasst, bereitgestellt sind.
  7. Verfahren gemäß Anspruch 6, wobei: die eingestellten Zeittaktdaten (PcrOut) ferner in dem mindestens einen Paket, das aus dem Transcoder gemäß einer Summe des zugehörigen Offsets und eines zugehörigen Hardwarefehlers (PcrHwErr), minus der dem Transcoder zugehörigen Verzögerung (PcrSysDly), ausgegeben wird, bereitgestellt sind; und der zugehörige Hardwarefehler (PcrHwErr) Folgendem zugehört: (a) dem Hauptsystemzeittaktgeber und (b) einem Systemzeittaktgeber eines Codierers, der den bestimmten Kanal codierte.
  8. Verfahren gemäß Anspruch 6 oder 7, wobei: die Vorgriffsverzögerung (lookahead_dly) auf einer Differenz zwischen der Decodier- und Codierzeit des Transcoders basiert.
  9. Verfahren gemäß Anspruch 8, wobei: die Decodierzeit auf einem Decodierzeitstempel basiert.
  10. Verfahren gemäß Anspruch 8 oder 9, wobei: die Codierzeit auf dem Hauptsystemzeittaktgeber basiert.
  11. Verfahren gemäß einem der Ansprüche 6 bis 10, wobei: die Pufferverzögerung (buffer_dly) auf einer Differenz zwischen einer Codierzeit des mindestens einen Pakets am Transcoder und einer entsprechenden nachfolgenden Decodierzeit basiert.
  12. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei für mindestens einen bestimmten Kanal mindestens ein Paket davon ohne transcodiert zu werden durch den Transcoder geführt wird, das den folgenden, weiteren Schritt beinhaltet: Verzögern der Ausgabe des durchgeführten Pakets aus dem Transcoder gemäß einer Verzögerung des Transcoders, um die Synchronizität des bestimmten Kanals mit anderen der vom Transcoder transcodierten Kanäle zu wahren.
  13. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei: die Zeittaktdaten des Hauptsystemzeittaktgebers an das mindestens eine Paket, das in den Transcoder eingegeben wird, angehängt werden, während sich das mindestens eine Paket in einem Multiplex der Kanäle befindet; und die Kanäle vor dem Bestimmen des zugehörigen Offsets (PcrOffset) demultiplexiert werden.
  14. Eine Vorrichtung zur Bereitstellung von eingestellten Zeittaktdaten für eine Vielzahl jeweiliger Kanäle, die in einen Transcoder eingegeben werden, die Folgendes beinhaltet: für jeden Kanal, ein Mittel zum Aufgreifen von Zeittaktdaten (PcrIn) von mindestens einem Paket davon, das zu einer jeweiligen Eingabezeit in den Transcoder eingegeben wird, und Bestimmen eines zugehörigen Offsets (PcrOffset) zwischen den aufgegriffenen Zeittaktdaten (PcrIn) und den Zeittaktdaten (PcrInHwTag) eines Hauptsystemzeittaktgebers des Transcoders zu der jeweiligen Eingabezeit; und für jeden Kanal, ein Mittel zum Bereitstellen von eingestellten Zeittaktdaten (PcrOut) in mindestens einem Paket davon, das zu einer jeweiligen Ausgabezeit gemäß dem zugehörigen Offset (PcrOffset) aus dem Transcoder ausgegeben wird, und von Zeittaktdaten (PcrOutHwTag) des Hauptsystemzeittaktgebers zu der jeweiligen Ausgabezeit; wobei: für mindestens einen bestimmten Kanal die eingestellten Zeittaktdaten (PcrOut) ferner in dem mindestens einen Paket bereitgestellt sind, das aus dem Transcoder gemäß einem Hardwarefehler (PcrHwErr) ausgegeben wird, der Folgendem zugehört: (a) dem Hauptsystemzeittaktgeber und (b) einem Systemzeittaktgeber eines Codierers, der den bestimmten Kanal codierte; und der Hardwarefehler (PcrHwErr) für das mindestens eine Paket, das aus dem Transcoder auf der Basis einer Veränderungsrate eines Hardwarefehlers, der mindestens zwei Paketen zugehört, die vorher in den Transcoder eingegeben wurden, und eines Zeitintervalls zwischen: (a) der Ausgabezeit des mindestens einen Pakets, das aus dem Transcoder ausgegeben wird, und (b) einer Eingabezeit eines letzteren der zwei vorherigen Eingabepakete bestimmt wird.
DE60106286T 2000-09-22 2001-08-31 Zeitbasisreferenzdatumregeneration für mpeg-transportströme Expired - Lifetime DE60106286T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/667,734 US6724825B1 (en) 2000-09-22 2000-09-22 Regeneration of program clock reference data for MPEG transport streams
US667734 2000-09-22
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
DE60106286D1 DE60106286D1 (de) 2004-11-11
DE60106286T2 true DE60106286T2 (de) 2005-10-13

Family

ID=24679412

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60106286T Expired - Lifetime DE60106286T2 (de) 2000-09-22 2001-08-31 Zeitbasisreferenzdatumregeneration für mpeg-transportströme

Country Status (11)

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

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1177692A1 (de) * 2000-02-23 2002-02-06 Koninklijke Philips Electronics N.V. Verfahren, sender und übertragungssystem
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 (de) * 2000-12-21 2006-11-15 Cit Alcatel Verbesserungsverfahren für eine programmtaktreferenz einer in vielfachzugriffsverfahren und burst-modus abeitende abwärts verbindung in einem integriertem mehrstrahlsatelliten kommunikationssystem
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 (ja) * 2003-03-19 2004-10-14 Fujitsu Ltd データ処理システム、データ処理装置及びデータ処理方法
KR100526189B1 (ko) * 2004-02-14 2005-11-03 삼성전자주식회사 트랜스코딩 전후에 타이밍 파라미터를 일정하게유지시키는 트랜스코딩 시스템 및 방법
EP1615448A1 (de) * 2004-07-09 2006-01-11 Sony Deutschland GmbH Verfahren zur Synchronisierung von Videosignalen
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 (ja) * 2005-07-19 2012-08-01 Necディスプレイソリューションズ株式会社 映像音声再生装置および映像音声再生方法
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 (ja) * 2006-12-26 2011-01-05 富士通株式会社 符号化復号システム及び符号化復号方法
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 (zh) * 2008-03-21 2010-04-21 华为技术有限公司 时钟恢复的方法及装置
JP2009290768A (ja) * 2008-05-30 2009-12-10 Toshiba Corp 映像処理装置および映像処理方法
US7899089B2 (en) * 2008-07-09 2011-03-01 Ericsson Television, Inc. Constant bit rate padding of MPEG transport streams
CN102204249B (zh) 2008-07-09 2014-06-04 爱立信电视公司 Mpeg传输流的恒定比特率填充
US8526506B1 (en) 2008-08-15 2013-09-03 Ipera Technology, Inc. System and method for transcoding with quality enhancement
KR100972792B1 (ko) * 2008-11-04 2010-07-29 한국전자통신연구원 스테레오스코픽 영상을 동기화하는 장치 및 방법과 이를 이용한 스테레오스코픽 영상 제공 장치 및 방법
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 (zh) * 2012-07-31 2016-12-21 国际商业机器公司 用于处理时序数据的方法和装置

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 (ja) 1994-07-22 1996-02-06 Hitachi Ltd 画像符号化復号化装置
US5623312A (en) 1994-12-22 1997-04-22 Lucent Technologies Inc. Compressed-domain bit rate reduction system
EP0756800B1 (de) 1995-02-22 2000-05-10 Koninklijke Philips Electronics N.V. System zur simultanen übertragung mehrerer videoprogramme über einen übertragungskanal
US5694170A (en) 1995-04-06 1997-12-02 International Business Machines Corporation Video compression using multiple computing agents
JP4223571B2 (ja) 1995-05-02 2009-02-12 ソニー株式会社 画像符号化方法及び装置
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 (de) 1996-12-23 1998-07-01 HE HOLDINGS, INC. dba HUGHES ELECTRONICS System und Verfahren zur hochauflösenden Videokompression mit Bildtäfelung
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 (de) 1998-10-02 2001-07-25 General Instrument Corporation Verfahren und vorrichtung zur ratensteuerung in einem videocodierer
WO2000064092A1 (fr) * 1999-04-16 2000-10-26 Sony Corporation Dispositif de communication, procede de communication, et support d'enregistrement
JP2001251616A (ja) * 2000-03-02 2001-09-14 Media Glue Corp 多重化音響・動画圧縮符号化信号変換方法、装置および変換プログラムを記録した媒体
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 (de) 2004-10-15
CN1212737C (zh) 2005-07-27
EP1323312A2 (de) 2003-07-02
CA2421788A1 (en) 2002-03-28
EP1323312B1 (de) 2004-10-06
KR20030061808A (ko) 2003-07-22
WO2002025952A2 (en) 2002-03-28
TW533739B (en) 2003-05-21
MXPA03002418A (es) 2004-02-12
CN1476726A (zh) 2004-02-18
WO2002025952A3 (en) 2002-07-04
DE60106286D1 (de) 2004-11-11
CA2421788C (en) 2011-05-03

Similar Documents

Publication Publication Date Title
DE60106286T2 (de) Zeitbasisreferenzdatumregeneration für mpeg-transportströme
DE60131993T2 (de) Verfahren und gerät zur bestimmung der übertragungsbitrate in einem statistischen multiplexer
DE69535402T2 (de) Einrichtung und Verfahren zur Segmentierung und zeitlichen Synchronisierung der Übertragung von Multimediadaten
DE60003636T2 (de) Verfahren zür erfassung und verhinderung von bandbreiteüberlauf in einem statistischen multiplexer
DE69730419T2 (de) System zur Verteilung komprimierter Videosignale, mit statistischem Multiplexer mit Transkodierern
DE69535553T2 (de) Videokompression
DE69915201T2 (de) Technik zum Dejittern und zur Taktrückgewinnung für audiovisuelle Echtzeitnetzanwendungen
DE69736706T2 (de) Verfahren und gerät zum spleissen komprimierter datenflüsse
AU756355B2 (en) Video encoder and encoding method with buffer control
DE602004012540T2 (de) Videocodierer und videocodierungsverfahren
DE4233543B4 (de) Vorrichtung zur Steuerung der Quantisierung von Videodaten
DE69814642T2 (de) Verarbeitung codierter videodaten
DE69929989T2 (de) Videokomponentanbindungsverfahren für zwei digitale bildtonprogramme mit duplikation von halbbildern
US20020080267A1 (en) High capacity, low-latency multiplexer
DE19860507B4 (de) Videocodierverfahren, Videodecoder und digitales Fernsehsystem unter Verwendung eines solchen Verfahrens und eines solchen Decoders
US7725202B2 (en) Audio splice process for digital Ad insertion
EP1942594A2 (de) Verfahren und Vorrichtung zum statistischen Multiplexing von Diensten
EP2422517A1 (de) Verfahren und vorrichtung zur modifikation eines kodierten datenstroms
DE60106640T2 (de) Prozessorzuweisung für kanäle in einem videomultiprozessorsystem
EP0752789B1 (de) Verfahren, Encoder und Decoder zur Resynchronisierung auf einen fehlerbehafteten Videodatenstrom
DE60211790T2 (de) Videokodierung mit konstanter Qualität
DE60205968T2 (de) Vorrichtung und Verfahren zur Packetierung eines Datenstroms
DE69629442T2 (de) Verfahren und Einrichtung zur Kodierung digitaler Videosignale
DE60131602T2 (de) Multiplexabhängige Videokomprimierung
DE69635177T2 (de) Isochrone Hochgeschwindigkeitsdatenübertragung in MPEG-2 Datenströmen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition