DE69732927T2 - Fehlererkennung und -beseitigung für hohenrate isochronen Daten in einen MPEG-2 Datenstrom - Google Patents

Fehlererkennung und -beseitigung für hohenrate isochronen Daten in einen MPEG-2 Datenstrom Download PDF

Info

Publication number
DE69732927T2
DE69732927T2 DE69732927T DE69732927T DE69732927T2 DE 69732927 T2 DE69732927 T2 DE 69732927T2 DE 69732927 T DE69732927 T DE 69732927T DE 69732927 T DE69732927 T DE 69732927T DE 69732927 T2 DE69732927 T2 DE 69732927T2
Authority
DE
Germany
Prior art keywords
pts
presentation
data
isodata
buffer
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
DE69732927T
Other languages
English (en)
Other versions
DE69732927D1 (de
Inventor
Ray La Jolla Nuber
Paul Olivenhain Moroney
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26689905&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE69732927(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from US08/678,108 external-priority patent/US5742623A/en
Application filed by Arris Technology Inc, General Instrument Corp filed Critical Arris Technology Inc
Application granted granted Critical
Publication of DE69732927D1 publication Critical patent/DE69732927D1/de
Publication of DE69732927T2 publication Critical patent/DE69732927T2/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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • H04N19/895Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment
    • 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/23614Multiplexing of additional data and video streams
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4343Extraction or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4346Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream involving stuffing data, e.g. packets or bytes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Television Systems (AREA)

Description

  • ALLGEMEINER STAND DER TECHNIK
  • Die vorliegende Erfindung bezieht sich auf ein Verfahren und ein Gerät zur Übermittlung von Daten über einen paketierten Datenstrom und insbesondere auf die Erkennung und Korrektur von Fehlern in hochratigen isochronen Daten („Isodaten") in einem digitalen Datenstrom. Ein derartiger Datenstrom kann zum Beispiel einen MPEG-2- oder einen DigiCipher® II-Datenstrom beinhalten.
  • Für den Transport digitaler Daten wie etwa digitaler Fernsehdaten haben sich verschiedene Normen herausgebildet. Beispiele derartiger Normen umfassen die als MPEG-2 bezeichnete Norm der Motion Picture Experts Group und die der General Instrument Corporation aus Chicago, Illinois, USA, dem Zessionär der vorliegenden Erfindung, gehörende DigiCipher II-Norm. Die DigiCipher II-Norm ist der MPEG-2-Norm, die weithin bekannt und als eine von der Internationalen Normenorganisation (ISO) im Dokument ISO 13818 sanktionierte Vorgabe zur Video- und Audiokomprimierung anerkannt ist, ähnlich und umfasst verschiedene Aspekte von ihr. Zusätzlich zu den Video- und Audiokomprimierungsmerkmalen enthält die MPEG-2-Vorgabe auch eine System-„Schicht", die eine vom Übertragungsmedium unabhängige Codiertechnik zum Formen von Bitströmen, die ein oder mehrere MPEG-Programme enthalten, bereitstellt. Die MPEG-Codiertechnik verwendet eine formale Grammatik („Syntax") und einen Satz semantischer Regeln zur Konstruktion von zu übertragenden Bitströmen. Die Syntax und die semantischen Regeln umfassen Vorkehrungen für Multiplexierung, Taktrückgewinnung, Synchronisation und Fehlerresilienz. Für den Zweck dieser Offenbarung wird jeder Datenstrom, der ähnlich dem eines MPEG- 2-Transportstroms codiert ist, als ein „MPEG-2-artiger Transportstrom" bezeichnet. Ein Beispiel, aber keinesfalls der einzige MPEG-2-artige Transportstrom, ist ein Datenstrom, der gemäß der DigiCipher II-Norm bereitgestellt ist. Es ist zu erwarten, dass in der Zukunft andere derartige Normen veröffentlicht werden.
  • Der MPEG-2-Transportstrom ist mit Rücksicht auf Übertragung unter Konditionen, die Datenfehler erzeugen können, entworfen. MPEG-Transportpakete weisen je eine feste Länge von 188 Byte auf. Viele Programme, jedes mit unterschiedlichen Komponenten, können in einem Transportstrom kombiniert werden. Beispiele von Diensten, die unter Verwendung des MPEG-Formats bereitgestellt werden können, sind der Fernsehdienstrundfunk über terrestrische Netze, Kabelfernseh- und Satellitennetze sowie interaktive Dienste auf der Basis des Fernsprechwesens. Die Syntax und Semantik des MPEG-2-Transportstroms sind in der Internationalen Normenorganisation, ISO/IEC 13818-1, Internationale Norm, 13. November 1994 mit dem Titel Generic Coding of Moving Pictures and Associated Audio: Systems (generisches Codieren bewegter Bilder und damit verbundener Tonfolgen: Systeme), Empfehlung N.222.0, und ISO/IEC 13818-2, Internationale Norm, 1995 mit dem Titel Generic Coding of Moving Pictures and Associated Audio: Video (generisches Codieren bewegter Bilder und damit verbundener Tonfolgen: Video), Empfehlung H.262, beide hier unter Verweis eingeschlossen, definiert.
  • Eine Multiplexierung gemäß der MPEG-2-Norm wird durch das Verpacken roher Elementarströme wie etwa codierten Videos und Audios zu Paketen des paketierten Elementarstroms (PES), die dann in Transportpakete eingefügt werden, erzielt. Wie oben angemerkt, ist jedes MPEG-Transportpaket in der Länge auf 188 Byte festgelegt. Das erste Byte ist ein Synchronisationsbyte mit einem einzigartigen Acht-Bit-Muster, z. B. 01000111. Das Synchronisationsbyte zeigt den Anfang jedes Transportpakets an.
  • Auf das Synchronisationsbyte folgt ein Präfix aus drei Byte, das einen Transportpaket-Fehleranzeiger aus einem Bit, einen Nutzlasteinheits-Startanzeiger aus einem Bit, einen Transportprioritätsanzeiger aus einem Bit, eine Paketkennung (PID = Packet Identifier) aus 13 Bit, eine Transportverwürflungs-Steuerung aus zwei Bit, eine Anpassungsfeldsteuerung aus zwei Bit und einen Kontinuitätszähler aus vier Bit umfasst. Die Verwendung des Synchronisationsbyte und des Präfixes aus drei Byte lässt bis zu 184 Byte Nutzlast übrig, welche die zu übermittelnden Daten tragen. Ein wahlfreies Anpassungsfeld kann auf das Präfix folgen, um sowohl auf MPEG bezogene als auch private Informationen zu tragen, die für einen gegebenen Transportstrom oder den Elementarstrom, der in einem gegebenen Transportpaket getragen wird, von Bedeutung sind. Vorkehrungen für eine Taktrückgewinnung wie etwa eine Programmtaktreferenz (PCR = Program Clock Reference) und Spleißsteuerung sind typisch für die Informationen, die in dem Anpassungsfeld getragen werden. Indem derartige Informationen in ein Anpassungsfeld gesetzt werden, werden sie mit ihren zugehörigen Daten eingekapselt, um erneute Multiplexier- und Netzverkehrslenkungsabläufe zu erleichtern. Wenn ein Anpassungsfeld verwendet wird, ist die Nutzlast entsprechend kürzer.
  • Die PCR ist eine Zählung, die den Wert des Systemzeittaktes (STC = System Time Clock) für das zugehörige Programm für den Zeitpunkt widerspiegelt, zu dem der PCR-Wert in den Transportstrom eingefügt wurde. Der Decodierer verwendet die PCR, um einen Decodiererzeittakt mit dem Codierersystemtakt zu synchronisieren. Die unteren neun Bits der 42-Bit-PCR stellen einen Modulo-300-Zähler bereit, der mit einer Taktrate von 27 MHz (der „Systemtaktrate") inkrementiert wird. Bei jedem Modulo-300-Durchlauf wird die Zählung in den oberen 33 Bit so inkrementiert, dass die oberen Bits Zählungen repräsentieren, die mit einer Rate von 90 kHz auftreten. Das ermöglicht, dass Präsentationszeitstempel (PTS = Presentation Time Stamp) und Decodierzeitstempel (DTS = Decoding Time Stamp) unter Verwendung des 90-kHz-Wertes verglichen werden können. Da jedes Programm oder jeder Dienst, das/der vom Datenstrom getragen wird, seine eigene PCR haben kann, können die Programme und Dienste asynchron gemultiplext werden.
  • Die Synchronisation von Audio, Video und Daten innerhalb eines Programms wird unter Verwendung eines Zeitstempelansatzes erzielt. Präsentationszeitstempel und Decodierzeitstempel werden in den Transportstrom für die separaten Video- und Audiopakete eingefügt. Die PTS- und DTS-Informationen werden vom Decodierer verwendet, um zu ermitteln, wann ein Bild zu decodieren und anzuzeigen und wann ein Audiosegment zu spielen ist. Wie oben angedeutet, sind die PTS- und DTS-Werte an denselben Takt gebunden, der durch die PCR aufgestellt wurde, sie sind jedoch durch die MPEG-2-Norm auf eine zeitliche Auflösung von 11,1 Mikrosekunden beschränkt. Diese Auflösung ist durch die PTS-Auflösung des 90-kHz-Taktens beschränkt, das durch die oberen 33 Bit der PCR bereitgestellt wird. Diese Einschränkung schließt den Transport von verallgemeinerten "hochratigen" Daten aus, die gegenüber Zeitablauffehlern robust sind, z. B. Datenraten, die sich nicht ganzzahlig auf 90 Kilobitls beziehen, wobei derselbe Ansatz verwendet wird, der in einem normalen MPEG-2-artigen Transportstrom für Video- und Audio-Informationen bereitgestellt ist.
  • MPEG-2-Daten wie etwa komprimierte Video- und Audio-Daten müssen zu einem paketierten Elementarstrom (PES) formatiert werden, der aus einer Folge von PES-Paketen gebildet wird. Jedes PES-Paket umfasst einen PES-Kopf, auf den eine Nutzlast folgt. Dann werden die PES-Pakete in Nutzlasten von aufeinander folgenden Transportpaketen fester Länge aufgeteilt.
  • Im Allgemeinen weisen PES-Pakete eine variable Länge auf und sind relativ lang. Verschiedene wahlfreie Felder, wie etwa die Präsentationszeitstempel und Decodierzeitstempel, können auf den PES-Kopf folgen. Wenn die Transportpakete aus dem PES gebildet werden, werden die PES-Köpfe mit den Transportpaketköpfen abgeglichen. Ein einzelnes PES-Paket kann sich über viele Transportpakete erstrecken, und die Unterabschnitte des PES-Pakets müssen in nacheinander folgenden Transportpaketen mit demselben PID-Wert erscheinen. Es sollte sich jedoch verstehen, dass diese Transportpakete mit anderen Transportpaketen, die verschiedene PID aufweisen und Daten von unterschiedlichen Elementarströmen tragen, beliebig verzahnt werden können.
  • Videodienste werden getragen, indem codierte MPEG-Videoströme in PES-Pakete gesetzt werden, die dann zum Einfügen in einen Transportstrom in Transportpakete aufgeteilt werden. Jedes Video-PES-Paket enthält das gesamte oder einen Teil eines codierten Videobilds, das als „Video-Präsentationseinheit" bezeichnet wird. PTS- und DTS-Daten werden in einen PES-Paket-Kopf gesetzt, der die zugehörige Präsentationseinheit einkapselt. Der DTS zeigt an, wann der Decodierer die Präsentationseinheit decodieren sollte. Der PTS wird dazu verwendet, den Decodierer einzuschalten, um die zugehörige Präsentationseinheit zu präsentieren (z. B. „anzuzeigen").
  • Audiodienste werden gemäß der MPEG-Norm unter Verwendung derselben Vorgabe der PES-Paketschicht bereitgestellt. PTS-Daten sind an einige Pakete angehängt, die Audio-Rahmengrenzen umfassen.
  • Derartige Grenzen werden durch Audio-Synchronisationswörter (Sync-Wörter) definiert. Ein Audio-Rahmen ist als die Daten zwischen zwei nacheinander folgenden Audio-Sync-Wörtern definiert.
  • Um von den Video- und Audio-Informationen, die in einem MPEG-2-artigen (z. B. MPEG-2 oder DigiCipher II) Transportstrom getragen werden, ein Fernsehsignal zu rekonstruieren, wird ein Decodierer benötigt, um die Video-Pakete für die Ausgabe an einen Video-Dekompressions-Prozessor (VDP) und die Audio-Pakete für die Ausgabe an einen Audio-Dekompressions-Prozessor (ADP) zu verarbeiten. Es ist auch möglich, andere Datentypen in einem derartigen Transportstrom zu übertragen. Zum Beispiel können private Daten zur Bereitstellung von Diensten wie etwa Teletext, Börsenkursen und anderen Informationen als separate Transportpakete, die aus einem separaten paketierten Elementarstrom abgeleitet werden, getragen werden. Asynchrone Datenpipes können auch unterstützt werden; eine derartige Pipe würde eine Ausgabe vom Typ RS-232 von dem Decodierer mit der entsprechenden Eingabe an einen Codierer repräsentieren. Derartige Informationsdienst-Transportpakete würden mit den MPEG-Video- und Audio-Paketen in einem endgültigen, z. B. über Satellit oder Kabel übertragenen Multiplex gemultiplext.
  • Es wäre vorteilhaft, unter Verwendung eines MPEG-2-artigen Formats auch „isochrone" Daten zu tragen. Isochrone Daten sind hochratige Daten, die an den Flanken eines regelmäßigen Takts bereitgestellt werden und sich von bündelförmigen „synchronen" Daten unterscheiden, welche mit einem unregelmäßigen Takt ankommen können. Somit tragen isochrone Daten eine Jitter-Spezifikation, und der Takt kann mit einer einfachen Phasenregelschleife (PLL = Phase Lock Loop) wiederhergestellt werden. Im Allgemeinen werden bei einer isochronen Datenkomponente Datenbits im Wesentlichen in regelmäßigen Raten mit einem begleitenden Takt präsentiert. Eine Abweichung von der regelmäßigen (isochronen) Rate würde von der Jitter-Spezifikation definiert. Derartige Daten können für eine beliebige Anzahl eines großen Bereichs von „Daten-Pipe"-Anwendungen verwendet werden. Ein Beispiel ist der Transport des Inhalts eines digitalen T1 (d. h. Telefondatenleitung)-Datenstroms. Derartige Datenströme arbeiten mit 1,554 Megabits. Ohne darauf beschränkt zu sein, umfassen andere Anwendungen betriebliche Netzwerkdaten, allgemeine Hochgeschwindigkeits-Datenübermittlungen und praktisch jeden beliebigen anderen Datendienst, der Datenübertragungsraten mit konstanter Verzögerung benötigt, die jene allgemein vorhandenen unter Verwendung asynchroner Übermittlungstechniken übertreffen oder für variable Verzögerung nicht geeignet sind. Diese Anwendungen sind durch eine allgemeine Intoleranz gegenüber „Bitschlupf" gekennzeichnet. Das heißt, dass Fehler toleriert werden, dass aber eine Resynchronisation, die eine Nettoversetzung des Bitstroms involviert, große Ausfälle bei der endgültigen Datensynchronisation verursacht.
  • Bei der MPEG-2-Norm können die Präsentationszeitstempel die Präsentationseinheitsfälle (d. h. aus 8 Bit bestehende Datenbyte, die dem Decodierer „präsentiert" werden) nur mit einer Auflösung von 11,1 Mikrosekunden anzeigen. Diese Einschränkung ergibt sich aus der 90-kHz-Rate, die durch die oberen Bits der PCR-Zählung bestimmt wird, welche zur Erstellung der Präsentationszeitstempel verwendet wird. Bei isochronen Hochgeschwindigkeits-Daten ist es möglicherweise nötig, die Präsentationseinheitszeiten mit einer höheren Auflösung aufzulösen, insbesondere zum Zweck der Fehlerkorrektur. Spezifisch besteht die Notwendigkeit, in der Lage zu sein, Präsentationseinheiten zeitlich unzweideutig zu präsentieren, um kontinuierlich variable Raten zu unterstützen. Es wäre daher ein Vorteil, die zeitliche Auflösung der Präsentationszeitstempel gegenüber derjenigen zu erhöhen, die durch eine normale MPEG-2-Umsetzung bereitgestellt wird. Es wäre beispielsweise vorteilhaft, ein Schema für die Erhöhung der PTS-zeitlichen Auflösung bereitzustellen, um den robusten Transport isochroner Daten oder dergleichen bei Raten von bis zu 9,0 Megabits oder mehr zu ermöglichen.
  • Es wäre weiterhin vorteilhaft, ein Schema zur Vereinfachung eines Datenempfängers bereitzustellen, um die geeigneten Taktraten bereitzustellen, die auf einer Systemtaktfrequenz basieren, um Daten von einem Datenstrom zurückzugewinnen. Insbesondere wäre es vorteilhaft, ein Schema bereitzustellen, bei dem der Empfänger in der Lage wäre, einen Takt mit jeder beliebigen gewünschten Informationsdatenrate, z. B. von 19,2 Kilobits bis 9 Megabits, zur Verwendung bei der Ausgabe isochroner Informationsdaten über direkte digitale Synthese (DDS), bereitzustellen.
  • Es wäre darüber hinaus vorteilhaft, ein Verfahren und ein Gerät zur Verwaltung der unvermeidlichen Fehler bereitzustellen, die bei der Übertragung isochroner Daten über einen paketierten Transportstrom auftreten. Insbesondere wäre es wünschenswert, die Synchronisation eintreffender Isodaten trotz des Auftretens von Fehlern und während der Zeit, in der die Fehlerkorrektur abläuft, aufrechtzuerhalten. Weiterhin fließen Isodaten typischerweise durch einen Puffer in einen Decodierer, der die Isodaten aus dem Übertragungsstrom zurückgewinnt. Es wäre vorteilhaft zu gewährleisten, dass der Puffer während der Fehlerkorrektur gefüllt bleibt, um das Versagen des Datenrückgewinnungsvorgangs aufgrund eines Pufferüberlaufs oder -unterlaufs zu vermeiden.
  • Nachdem Daten aufgrund von Fehlern verlorengegangen sind, wäre es vorteilhaft, einen Mechanismus zu haben, um den Zeitablauf, mit dem die erfolgreich zurückgewonnenen Isodaten als Ausgabe vom Isodaten-Decodierer präsentiert werden, zu prüfen und wiederherzustellen und um durch verlorene Daten verursachte Zeitablauffehler zu absorbieren. Verbesserte Verfahren zum Erkennen des Auftretens verlorener Daten wären ebenfalls wünschenswert. Zusätzliche Vorkehrungen zur Sicherstellung der Wiederaufnahme der Datenpräsentation zur richtigen Ausgabezeit wären ebenfalls vorteilhaft. Darüber hinaus wäre es vorteilhaft, ein Schema zur Überwindung von Unsicherheiten im Inhalt von Datenpaketen für den Fall, dass die Pakete verschlüsselte Daten enthalten, nachdem deren Entschlüsselung schon beendet sein sollte, bereitzustellen.
  • Ein Audio-/Video-Decodiersystem ist in EP-A-0668700 beschrieben. Ein Gerät zum Ausschneiden (und Wiedereinfügen) spezifischer Daten aus einem komprimierten Videodatenstrom zur Reduktion seiner Übertragungsbandbreite ist in US-A-5371547 beschrieben.
  • Die vorliegende Erfindung wird in den Ansprüchen dargelegt, worauf hier hingewiesen wird. Sie stellt Verfahren und Geräte zum Erkennen und Korrigieren von Fehlern bei der Verarbeitung von Isodaten an einem Decodierer bereit, wobei diese Verfahren und Geräte die zuvor erwähnten und andere Vorteile genießen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Gemäß der vorliegenden Erfindung wird ein Verfahren zum Verwalten von Fehlern in isochronen Daten bereitgestellt, die in Bündeln von einem paketierten Datenstrom empfangen werden, der in Isodaten-Transportpaketen fester Länge Isodaten-Präsentationseinheiten trägt. Jedes der Transportpakete umfasst eine Paketkennung (PID). Mindestens einige der Pakete enthalten einen Präsentationszeitstempel (PTS), der anzeigt, zu welchem Zeitpunkt die Präsentation fester Rate von Isodaten-Präsentationseinheiten vom einem Puffer, in dem sie nach dem Empfang vorübergehend gespeichert wurden, begonnen werden soll. Der Datenstrom wird überwacht, um PID zu erkennen, welche die Isodaten-Transportpakete identifizieren. Die durch die PID identifizierten Isodaten-Transportpakete werden überwacht, um Isodaten-PTS zu lokalisieren. Die Präsentation der Präsentationseinheiten von dem Puffer wird mit einem Systemzeittakt (STC) synchronisiert, wobei Zeitinformationen verwendet werden, die von den lokalisierten Isodaten-PTS abgeleitet werden. Diskontinuitätsfehler werden zwischen aufeinander folgenden Isodaten-Transportpaketen identifiziert, und falls eine Diskontinuität von nicht mehr als einem Paket identifiziert wird, wird ein Schreibzeiger des Puffers um eine angemessene Anzahl von Bits vorwärts bewegt, um die Diskontinuität zu kompensieren, während die Synchronisation der Präsentation mit Bezug auf den STC aufrechterhalten wird.
  • Erste und zweite PTS-Zeiger sind bereitgestellt, wobei jeder einen unterschiedlichen PTS-Wert und eine Adresse des Puffers aufrechterhält, um zu identifizieren, wo eine von dem PTS-Wert bezeichnete Präsentationseinheit gespeichert ist. Die Synchronisation der Präsentation wird aufrechterhalten, indem (i) der PTS-Wert und die Adresse für einen der PTS-Zeiger durch einen neuen PTS-Wert und eine neue Adresse ersetzt werden, nachdem Daten, die an der zu dem ersetzten Wert zugehörigen Adresse gespeichert sind, von dem Puffer präsentiert worden sind, und indem (ii), wenn die neue Adresse erreicht ist, die Präsentation der Daten von dem Puffer angehalten wird, falls der STC nicht gleich einer Präsentationszeit ist, die von dem neuen PTS-Wert abgeleitet wurde, und indem (iii), falls die Präsentation angehalten wurde, die Präsentation der Daten von dem Puffer wiederaufgenommen wird, wenn der STC die Präsentationszeit erreicht, die von dem neuen PTS-Wert abgeleitet wurde.
  • Im Verlauf der Zeit können neue PTS-Werte von den Isodaten- Transportpaketen empfangen werden. In einer derartigen Ausführungsform wird ermittelt, ob beide PTS-Zeiger PTS-Werte enthalten, die noch nicht dazu verwendet worden sind, Daten von dem Puffer zu präsentieren, wenn ein neuer PTS-Wert empfangen wird. Wenn ja, werden der PTS-Wert und die zugehörige Adresse in dem zuletzt aktualisierten PTS-Zeiger durch den neuen PTS-Wert und die neue Adresse ersetzt, wodurch der älteste nicht verwendete PTS-Wert und die Adresse zur Verwendung beim Synchronisieren der Präsentation der Präsentationseinheiten von dem Puffer aufrechterhalten werden.
  • In einer anderen Ausführungsform wird ein PTS-Zeiger bereitgestellt, um einen gegenwärtigen PTS-Wert sowie eine Adresse des Puffers aufrechtzuerhalten, die identifiziert, wo eine Präsentationseinheit, auf die durch den aktuellen PTS-Wert verwiesen wird, gespeichert ist. Die Synchronisation der Präsentation wird durch die folgenden weiteren Schritte aufrechterhalten: (i) Ersetzen des PTS-Wertes in dem PTS-Zeiger durch einen neuen gegenwärtigen PTS-Wert, nachdem an der Adresse gespeicherte Daten von dem Puffer präsentiert worden sind, (ii) Ersetzen der Adresse in dem PTS-Zeiger durch eine neue Adresse, die einer Präsentationseinheit entspricht, die durch den neuen gegenwärtigen PTS-Wert bezeichnet wird, (iii) wenn die neue Adresse erreicht ist, Anhalten der Präsentation von Daten von dem Puffer, falls der STC nicht gleich einer Präsentationszeit ist, die von dem neuen gegenwärtigen PTS-Wert abgeleitet wurde, und (iv) falls die Präsentation angehalten worden ist, Wiederaufnehmen der Präsentation von Daten von dem Puffer, wenn der STC die Präsentationszeit erreicht, die von dem neuen gegenwärtigen PTS-Wert abgeleitet wurde.
  • Die von dem paketierten Datenstrom getragenen Präsentationseinheiten können von Paketen eines paketierten Elementarstroms (PES) geliefert werden, die die Präsentationseinheiten sowie Informationen tragen, welche die Länge jedes PES-Pakets anzeigen. In einer derartigen Ausführungsform wird ermittelt, ob sich eine Menge von Präsentationseinheitsdaten, die tatsächlich für ein gegebenes PES-Paket empfangen worden sind, von der Menge von Daten unterscheidet, die empfangen werden sollte, wie es durch die PES-Paketlängeninformationen angezeigt wurde. Ein Fehler wird angezeigt, wenn die verglichenen Mengen von Daten nicht übereinstimmen.
  • Wenn ein derartiger Fehler auftritt, wird der PTS-Zeiger auf null gesetzt. Die Präsentation von Daten von dem Puffer wird auch vorübergehend blockiert, falls zusätzliche Präsentationseinheitsdaten in der Abwesenheit eines neuen PES-Paketanzeigers weiter ankommen, nachdem die PES-Paketlängeninformationen anzeigen, dass für das gegebene PES-Paket alle Daten bereitgestellt worden sind. Die Präsentation von Daten von dem Puffer wird auf der Basis eines neuen PTS-Werts, der in dem PTS-Zeiger bereitgestellt ist, wiederaufgenommen, nachdem der PTS-Zeiger auf null gesetzt wurde.
  • Eine PTS-Erweiterung kann aus den identifizierten Isodaten-Transportpaketen wiedergewonnen werden, um das Erhöhen der zeitlichen Auflösung zum Präsentieren von Isodaten-Präsentationseinheiten zu ermöglichen. In diesem Fall können die Zeitinformationen ermittelt werden, indem mindestens der PTS und die PTS-Erweiterung summiert werden. Die Zeitinformationen können alternativ von der Summe aus dem PTS, der PTS-Erweiterung und einem PTS-Verschiebungswert, der verwendet wird, um eine Zeitverzögerung bereitzustellen, abgeleitet werden.
  • Die Zeitinformationen können mit dem STC verglichen werden, um zu ermitteln, ob es für die Präsentation der Präsentationseinheiten von dem Puffer zu früh, zu spät oder die richtige Zeit ist. Füllbits werden als Ausgabe bereitgestellt, bis es Zeit ist, die Präsentationseinheiten zu präsentieren, falls der Vergleich ermittelt, dass es für die Präsentation der Präsentationseinheiten zu früh ist. Die Präsentation der Präsentationseinheiten von dem Puffer wird resynchronisiert, falls der Vergleichsschritt ermittelt, dass es für die Präsentation der Präsentationseinheiten zu spät ist. Die Präsentationseinheiten werden von dem Puffer präsentiert, falls der Vergleichsschritt ermittelt, dass die Zeit für ihre Präsentation richtig ist.
  • Die Synchronisation der Präsentation der Präsentationseinheiten mit dem Systemzeittakt kann durchgeführt werden, indem der STC mit den von den PTS abgeleiteten Zeitinformationen verglichen wird. Füllbits können dann als Ausgabe bereitgestellt werden, bis es Zeit ist, die Präsentationseinheiten zu präsentieren, falls der Vergleich ermittelt, dass es für die Präsentation der Präsentationseinheiten zu früh ist. Wie oben angedeutet, können die Zeitinformationen die Summe von mindestens einem PTS und einer PTS-Erweiterung beinhalten, welche das Erhöhen der zeitlichen Auflösung zum Präsentieren von Isodaten-Präsentationseinheiten ermöglicht. Die Füllbits werden als Ausgabe bereitgestellt, bis eine von dem STC bezeichnete Zeit gleich der Zeit ist, die von der Summe bezeichnet wird. Die Zeitinformationen können alternativ dazu die Summe aus dem PTS, der PTS-Erweiterung und einem PTS-Verschiebungswert, der verwendet wird, um eine Zeitverzögerung bereitzustellen, beinhalten.
  • Jede Präsentationseinheit kann eine ganzzahlige Anzahl N von Isodaten-Bits beinhalten. Eine N-Bit-Zählung wird aufrechterhalten, die mit der Präsentation einer ersten Präsentationseinheit von dem Puffer korreliert. Füllbits werden ständig als Ausgabe bereitgestellt, nachdem der STC der von der Summe bezeichneten Zeit gleich ist, bis die N-Bit-Zählung anzeigt, dass es Zeit ist, mit der Präsentation einer neuen Präsentationseinheit zu beginnen.
  • Die von den PID identifizierten Isodaten-Transportpakete können überwacht werden, um zu ermitteln, ob irgendwelche davon als verschlüsselt bezeichnet sind, nachdem jedwede Verschlüsselung schon entfernt worden sein sollte. Falls nur ein Einzelpaket als verschlüsselt bezeichnet ist, nachdem eine Verschlüsselung schon entfernt worden sein sollte, wird ein Schreibzeiger des Puffers um eine angemessene Anzahl von Bits vorwärts bewegt, um das Einzelpaket zu ignorieren. Die Synchronisation der Präsentation wird während dieser Prozedur mit Bezug auf den STC aufrechterhalten.
  • Ein Decodierer ist zum Empfang und zum Verwalten von Fehlern in isochronen Daten bereitgestellt, die in Bündeln von einem paketierten Datenstrom, der Isodaten-Präsentationseinheiten in Isodaten-Transportpaketen fester Länge trägt, empfangen werden. Jedes der Transportpakete umfasst eine Paketkennung (PID), und mindestens einige der Pakete enthalten einen Präsentationszeitstempel (PTS), der anzeigt, zu welchem Zeitpunkt die Präsentation fester Rate von Isodaten-Präsentationseinheiten von einem Puffer, in dem sie nach dem Empfang vorübergehend gespeichert wurden, begonnen werden soll. Mittel zur Überwachung des Datenstroms sind bereitgestellt, um PID zu erkennen, welche die Isodaten-Transportpakete identifizieren. Es sind auch Mittel zur Überwachung der Isodaten-Transportpakete bereitgestellt, die durch die PID identifiziert worden sind, um die Isodaten-PTS zu lokalisieren. Die Präsentation der Präsentationseinheiten von dem Puffer wird mit einem Systemzeittakt (STC) synchronisiert, wobei Zeitinformationen verwendet werden, die von den lokalisierten Isodaten-PTS abgeleitet werden. Zur Identifikation von Diskontinuitätsfehlern zwischen aufeinander folgenden Isodaten-Transportpaketen sind Mittel bereitgestellt, und falls eine Diskontinuität von nicht mehr als einem Paket identifiziert wird, wird ein Schreibzeiger des Puffers um eine angemessene Anzahl von Bits vorwärts bewegt, um die Diskontinuität zu kompensieren, während die Synchronisation der Präsentation mit Bezug auf den STC aufrechterhalten wird.
  • Der Decodierer kann auch die anderen Fehlerverwaltungs-Merkmale der oben beschriebenen Verfahren inkorporieren.
  • Eine vorteilhafte Ausführungsform stellt ein Verfahren zum Verwalten von Fehlern in isochronen Daten („Isodaten"), die von einem paketierten Datenstrom, der Isodaten-Präsentationseinheiten in Isodaten-Transportpaketen fester Länge trägt, in Bündeln empfangen werden, bereit, wobei jedes der Transportpakete eine Paketkennung (PID) umfasst und wobei mindestens einige der Pakete einen Präsentationszeitstempel (PTS) enthalten, der anzeigt, zu welchem Zeitpunkt die Präsentation fester Rate von Isodaten-Präsentationseinheiten von einem Puffer, in dem sie beim Empfangen vorübergehend gespeichert wurden, aus begonnen werden soll, wobei das Verfahren die folgenden Schritte beinhaltet:
    Überwachen des Datenstroms, um PID zu erkennen, welche die Isodaten-Transportpakete identifizieren;
    Überwachen der durch die PID identifizierten Isodaten-Transportpakete, um Isodaten-PTS zu lokalisieren;
    Synchronisieren der Präsentation der Präsentationseinheiten von dem Puffer mit einem Systemzeittakt (STC), wobei Zeitinformationen verwendet werden, die von den lokalisierten Isodaten-PTS abgeleitet werden;
    Identifizieren von Diskontinuitätsfehlern zwischen aufeinander folgenden Isodaten-Transportpaketen, und falls eine Diskontinuität von nicht mehr als einem Paket identifiziert wird, Vorwärtsbewegen eines Schreibzeigers des Puffers um eine angemessene Anzahl von Bits, um die Diskontinuität zu kompensieren, während die Synchronisation der Präsentation mit Bezug auf den STC aufrechterhalten wird.
  • Eine andere vorteilhafte Ausführungsform stellt ein Verfahren bereit, wobei ein erster und zweiter PTS-Zeiger bereitgestellt sind, so dass jeder einen unterschiedlichen PTS-Wert und eine Adresse des Puffers aufrechterhält, die identifiziert, wo eine Präsentationseinheit, die durch den PTS-Wert bezeichnet wird, gespeichert ist, wobei die Synchronisation der Präsentation durch folgende weitere Schritte aufrechterhalten wird:
    Ersetzen des PTS-Werts und der Adresse für einen der PTS-Zeiger durch einen neuen PTS-Wert und eine neue Adresse, nachdem in der Adresse, die dem ersetzten Wert zugehörig ist, gespeicherte Daten von dem Puffer präsentiert wurden;
    wenn die neue Adresse erreicht ist, Anhalten der Präsentation von Daten von dem Puffer, wenn der STC einer von dem neuen PTS-Wert abgeleiteten Präsentationszeit nicht gleich ist; und
    wenn die Präsentation angehalten wurde, Wiederaufnehmen der Präsentation von Daten von dem Puffer, wenn der STC die von dem neuen PTS-Wert abgeleitete Präsentationszeit erreicht.
  • Es ist weiterhin vorteilhaft, wenn im Verlauf der Zeit neue PTS-Werte von den Isodaten-Transportpakten empfangen werden, wobei das Verfahren die folgenden weiteren Schritte beinhaltet:
    Ermitteln, ob beide PTS-Zeiger PTS-Werte enthalten, die noch nicht verwendet wurden, um Daten von dem Puffer zu präsentieren, wenn ein neuer PTS-Wert empfangen wird; und wenn ja,
    Ersetzen des PTS-Werts und der zugehörigen Adresse in dem zuletzt aktualisierten PTS-Zeiger durch den neuen PTS-Wert und die neue Adresse, wodurch der älteste nicht verwendete PTS-Wert und die Adresse zur Verwendung beim Synchronisieren der Präsentation der Präsentationseinheiten von dem Puffer aufrechterhalten werden.
  • Eine vorteilhafte Lösung stellt einen PTS-Zeiger bereit, um einen gegenwärtigen PTS-Wert zusammen mit einer Adresse des Puffers, die identifiziert, wo eine durch den gegenwärtigen PTS-Wert bezeichnete Präsentationseinheit gespeichert ist, aufrechtzuerhalten, wobei die Synchronisation der Präsentation durch die folgenden weiteren Schritte aufrechterhalten wird:
    Ersetzen des PTS-Werts in dem PTS-Zeiger durch einen neuen gegenwärtigen PTS-Wert, nachdem an der Adresse gespeicherte Daten von dem Puffer präsentiert wurden;
    Ersetzen der Adresse in dem PTS-Zeiger durch eine neue Adresse, die einer Präsentationseinheit, die durch den neuen gegenwärtigen PTS-Wert bezeichnet wird, entspricht;
    wenn die neue Adresse erreicht ist, Anhalten der Präsentation von Daten von dem Puffer, wenn der STC einer von dem neuen gegenwärtigen PTS-Wert abgeleiteten Präsentationszeit nicht gleich ist; und
    wenn die Präsentation angehalten wurde, Wiederaufnehmen der Präsentation von Daten von dem Puffer, wenn der STC die von dem neuen gegenwärtigen PTS-Wert abgeleitete Präsentationszeit erreicht.
  • In einer weiteren vorteilhaften Ausführungsform werden die von dem paketierten Datenstrom getragenen Präsentationseinheiten von Paketen eines paketierten Elementarstroms (PES) geliefert, die die Präsentationseinheiten sowie Informationen tragen, welche die Länge der einzelnen PES-Pakete anzeigen, wobei das Verfahren die folgenden weiteren Schritte beinhaltet:
    Ermitteln, ob sich eine Menge von tatsächlich für ein gegebenes PES-Paket empfangener Präsentationseinheitsdaten von einer Menge von Daten, die empfangen werden sollten, wie durch die PES-Paketlängeninformationen angezeigt, unterscheidet; und
    Anzeigen eines Fehlers, wenn die verglichenen Mengen von Daten nicht übereinstimmen.
  • Ein anderes vorteilhaftes Verfahren beinhaltet die folgenden weiteren Schritte:
    Auf-null-Setzen des PTS-Zeigers und vorübergehendes Blockieren der Präsentation von Daten von dem Puffer in dem Fall, dass zusätzliche Präsentationseinheitsdaten in der Abwesenheit eines neuen PES-Paketanzeigers weiter ankommen, nachdem die PES-Paketlängeninformationen anzeigen, dass alle Daten für das gegebene PES-Paket bereitgestellt wurden; und
    Wiederaufnehmen der Präsentation von Daten von dem Puffer auf der Basis eines neuen PTS-Werts, der in dem PTS-Zeiger bereitgestellt ist, nachdem der PTS-Zeiger auf null gesetzt wurde.
  • In einer bevorzugten Lösung werden ein erster und zweiter PTS-Zeiger bereitgestellt, so dass Jeder einen unterschiedlichen PTS-Wert und eine Adresse des Puffers aufrechterhält, die identifiziert, wo eine Präsentationseinheit, die durch den PTS-Wert bezeichnet wird, gespeichert ist, wenn neue PTS-Werte im Verlauf der Zeit von den Isodaten-Transportpaketen empfangen werden, wobei das Verfahren die folgenden weiteren Schritte beinhaltet:
    Ermitteln, ob beide der PTS-Zeiger PTS-Werte enthalten, die noch nicht verwendet wurden, um Daten von dem Puffer zu präsentieren, wenn ein neuer PTS-Wert empfangen wird, und wenn ja,
    Ersetzen des PTS-Werts und der zugehörigen Adresse in dem zuletzt aktualisierten PTS-Zeiger durch den neuen PTS-Wert und die neue Adresse, wodurch der älteste nicht verwendete PTS-Wert und die Adresse zur Verwendung beim Synchronisieren der Präsentation der Präsentationseinheiten von dem Puffer aufrechterhalten werden;
    Auf-null-Setzen beider PTS-Zeiger und vorübergehendes Blockieren der Präsentation von Daten von dem Puffer in dem Fall, dass zusätzliche Präsentationseinheitsdaten in der Abwesenheit eines neuen PES-Paketanzeigers weiter ankommen, nachdem die PES-Paketlängeninformationen anzeigen, dass alle Daten für das gegebene PES-Paket bereitgestellt wurden; und
    Wiederaufnehmen der Präsentation von Daten von dem Puffer auf der Basis eines neuen PTS-Werts, der in einem der PTS-Zeiger bereitgestellt wird, nachdem die PTS-Zeiger auf null gesetzt wurden.
  • Ein bevorzugtes Verfahren ist bereitgestellt, wobei:
    die Isodaten-Präsentationseinheiten, die in den Isodaten-Transportpaketen fester Länge getragen werden, von Isodaten-Paketen des paketierten Elementarstroms (PES) erhalten werden, und
    die angemessene Anzahl von Bits zum Vorwärtsbewegen des Schreibzeigers als Reaktion auf eine Zählung von PES-Nutzbyte, die aus den Isodaten-Transportpaketen wiedergewonnen werden, ermittelt wird.
  • Eine bevorzugte Ausführungsform stellt ein Verfahren bereit, wobei die Isodaten-Transportpakete fester Länge je 188 Byte beinhalten, und:
    wenn die Zählung anzeigt, dass mindestens noch 184 Byte für das gegenwärtige PES-Paket zu empfangen sind, wird die Zählung um 184 dekrementiert und der Schreibzeiger um 184 Byteadressen vorwärts bewegt;
    wenn die Zählung anzeigt, dass keine Byte mehr für das gegenwärtige PES-Paket zu empfangen sind, wird die Zählung auf den Wert einer vorherigen PES-Paketlänge eingestellt und dann um 178 dekrementiert, und der Schreibzeiger wird um 164 Byteadressen vorwärts bewegt; und
    wenn die Zählung anzeigt, dass N Byte, wobei 1 ≤ N ≤ 183, noch für das gegenwärtige PES-Paket zu empfangen sind, wird die Zählung um N dekrementiert und der Schreibzeiger um N Byteadressen vorwärts bewegt.
  • In einem bevorzugten Verfahren zum Verwalten von Fehlern in isochronen Daten („Isodaten"), die von einem paketierten Datenstrom, der Isodaten-Präsentationseinheiten in Isodaten-Transportpaketen fester Länge trägt, in Bündeln empfangen werden, umfasst jedes der Transportpakete eine Paketkennung (PID), und mindestens einige der Pakete enthalten einen Präsentationszeitstempel (PTS), der anzeigt, zu welchem Zeitpunkt die Präsentation fester Rate von Isodaten-Präsentationseinheiten von einem Puffer, in dem sie bei Empfang vorübergehend gespeichert werden, aus angefangen werden soll, wobei das Verfahren die folgenden Schritte beinhaltet:
    Überwachen des Datenstroms, um PID zu erkennen, welche die Isodaten-Transportpakete identifizieren;
    Überwachen der durch die PID identifizierten Isodaten-Transportpakete, um Isodaten-PTS zu lokalisieren;
    Synchronisieren der Präsentation der Präsentationseinheiten von dem Puffer mit einem Systemzeittakt (STC), wobei Zeitinformationen verwendet werden, die von den lokalisierten Isodaten-PTS abgeleitet werden, wobei der Synchronisationsschritt den STC mit den von den PTS abgeleiteten Zeitinformationen vergleicht; und
    Bereitstellen von Füllbits als Ausgabe, bis es Zeit ist, die Präsentationseinheiten zu präsentieren, falls der Vergleich ermittelt, dass es für die Präsentation der Präsentationseinheiten zu früh ist.
  • Ein weiteres vorteilhaftes Verfahren beinhaltet die folgenden weiteren Schritte:
    Wiedergewinnen einer PTS-Erweiterung aus den identifizierten Isodaten-Transportpaketen, um das Erhöhen der zeitlichen Auflösung zum Präsentieren von Isodaten-Präsentationseinheiten zu ermöglichen; und
    Ableiten der Zeitinformationen durch das Summieren von mindestens dem PTS und der PTS-Erweiterung.
  • In einem bevorzugten Verfahren werden Zeitinformationen von der Summe aus dem PTS, der PTS-Erweiterung und einem PTS-Verschiebungswert, der verwendet wird, um eine Zeitverzögerung bereitzustellen, abgeleitet.
  • Ein weiteres bevorzugtes Verfahren beinhaltet die folgenden weiteren Schritte:
    Vergleichen der Zeitinformationen mit dem STC, um zu ermitteln, ob es für die Präsentation der Präsentationseinheiten von dem Puffer zu spät oder die richtige Zeit ist;
    Neusynchronieren der Präsentation der Präsentationseinheiten von dem Puffer, wenn der Vergleichsschritt ermittelt, dass es für die Präsentation der Präsentationseinheiten ansonsten zu spät wäre; und
    Präsentieren der Präsentationseinheiten von dem Puffer, wenn der Vergleichsschritt ermittelt, dass es für die Präsentation der Präsentationseinheiten die richtige Zeit ist.
  • In einer vorteilhaften Ausführungsform beinhalten die Zeitinformationen die Summe aus mindestens einem PTS und einer PTS-Erweiterung, welche das Erhöhen der zeitlichen Auflösung zum Präsentieren von Isodaten-Präsentationseinheiten ermöglicht; und die Füllbits werden als Ausgabe bereitgestellt, bis eine durch den STC bezeichnete Zeit der Zeit, die durch die Summe bezeichnet wurde, gleich ist.
  • In einer weiteren Ausführungsform beinhalten die Zeitinformationen die Summe aus dem PTS, der PTS-Erweiterung und einem PTS-Verschiebungswert, der verwendet wird, um eine Zeitverzögerung bereitzustellen.
  • Gemäß einer Ausführungsform eines Verfahrens beinhaltet jede Präsentationseinheit eine ganzzahlige Anzahl N von Isodaten-Bit, wobei das Verfahren die folgenden weiteren Schritte beinhaltet:
    Aufrechterhalten einer N-Bit-Zählung, die mit der Präsentation einer ersten Präsentationseinheit von dem Puffer korreliert; und
    kontinuierliches Bereitstellen von Füllbits als Ausgabe, nachdem der STC der Zeit, die durch die Summe bezeichnet wird, gleich ist, bis die N-Bit-Zählung anzeigt, dass es Zeit ist, die Präsentation einer neuen Präsentationseinheit zu beginnen.
  • Eine bevorzugte Ausführungsform eines Verfahrens zum Verwalten von Fehlern in isochronen Daten („Isodaten"), die von einem paketierten Datenstrom, der Isodaten-Präsentationseinheiten in Isodaten-Transportpaketen fester Länge trägt, in Bündeln empfangen werden, jedes der Transportpakete umfasst eine Paketkennung (PID), und mindestens einige der Pakete enthalten einen Präsentationszeitstempel (PTS), der anzeigt, zu welchem Zeitpunkt die Präsentation fester Rate von Isodaten-Präsentationseinheiten von einem Puffer, in dem sie bei Empfang vorübergehend gespeichert wurden, aus angefangen werden soll, wobei das Verfahren die folgenden Schritte beinhaltet:
    Überwachen des Datenstroms, um PID zu erkennen, welche die Isodaten-Transportpakete identifizieren;
    Überwachen der durch die PID identifizierten Isodaten-Transportpakete, um Isodaten-PTS zu lokalisieren;
    Synchronisieren der Präsentation der Präsentationseinheiten von dem Puffer mit einem Systemzeittakt (STC), wobei Zeitinformationen verwendet werden, die von den lokalisierten Isodaten-PTS abgeleitet werden, wobei der Synchronisationsschritt den STC mit den von den PTS abgeleiteten Zeitinformationen vergleicht;
    Überwachen der durch die PID identifizierten Isodaten-Transportpakete, um zu ermitteln, ob irgendwelche von ihnen als verschlüsselt bezeichnet sind, nachdem jegliche Verschlüsselungen entfernt worden sein sollten; und
    wenn nur ein Einzelpaket als verschlüsselt bezeichnet ist, nachdem jegliche Verschlüsselungen entfernt worden sein sollten, Vorwärtsbewegen eines Schreibzeiger des Puffers um eine angemessene Anzahl von Bits, um das Einzelpaket zu ignorieren, während die Synchronisation der Präsentation mit Bezug auf den STC aufrechterhalten wird.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist eine schematische Darstellung, die zeigt, wie Elementarstromdaten in Transportpakete verpackt werden;
  • 2 stellt die in 1 bezeichneten PES- und isochronen Datenköpfe detaillierter dar;
  • 3 ist ein Blockschaltbild eines Codierergeräts zur Zusammenstellung der in 1 bezeichneten Transportpakete;
  • 4 ist ein Blockschaltbild eines Decodierergeräts zur Rückgewinnung der isochronen Daten, die von den Transportpaketen getragen werden;
  • 5 ist ein Blockschaltbild, in dem Teile aus 4 detaillierter gezeigt werden; und
  • 6 ist ein Zustandsdiagramm, das die Erfassung und die Verfolgung isochroner Daten gemäß der vorliegenden Erfindung darstellt.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • 1 ist eine schematische Darstellung, die zeigt, wie unterschiedliche, digitale Dienstkomponenten zu einem Strom von Transportpaketen gemultiplext werden können. Multiplexierung wird erzielt, indem rohe Elementarströme wie etwa codiertes Video und Audio und codierte Daten in PES-Pakete verpackt und dann in Transportpakete eingekapselt werden. Die Figur ist nur zur Illustration gedacht, da ein PES-Paket wie etwa das dargestellte Paket 12 aus mehr oder weniger als den sieben dargestellten Transportpaketen 22a22g bestehen kann.
  • In dem Beispiel aus 1 beinhaltet ein Elementarstrom, der allgemein mit 10 bezeichnet ist, einen seriellen Strom von Datenbits wie etwa die gezeigten isochronen Daten. Es sollte sich verstehen, dass andere Datentypen in dem Elementarstrom zur Übertragung gemäß der vorliegenden Erfindung bereitgestellt werden können. Ähnliche Elementarströme werden für komprimierte Video- und Audiodaten gemäß der MPEG-2-Transportnorm bereitgestellt.
  • Der erste Schritt bei der Bildung eines Transportpaketstroms besteht darin, den Elementarstrom für jeden Datentyp in einen entsprechenden paketierten Elementarstrom (PES) einzukapseln, der aus aufeinander folgenden PES-Paketen wie etwa dem dargestellten Paket 12 gebildet ist. Jedes PES-Paket enthält einen PES-Kopf 14, gefolgt von einer PES-Nutzlast, die eine ganzzahlige Anzahl von Präsentationseinheiten (PU = Presentation Unit) 18 enthält. Die Nutzlast beinhaltet die endgültigen Informationen, die von einer Übertragungsstelle zur Rückgewinnung auf einer Empfangsstelle übermittelt werden sollen. Der PES-Kopf 14 enthält Informationen, die bei der Verarbeitung der Nutzdaten nützlich sind, wie etwa den Präsentationszeitstempel (PTS) gemäß der MPEG-2-Systemspezifikation.
  • Gemäß der vorliegenden Erfindung folgt auf den PES-Kopf 14 ein isochroner Datenkopf (ISO-Kopf) 16 als Teil der PES-Paket-Nutzlast. Die Präsentationseinheiten 18 der Nutzlast folgen auf den ISO-Kopf 16. Der ISO-Kopf wird unten detaillierter beschrieben.
  • Der Kopf und die Nutzdaten jedes PES-Pakets sind in individuelle Transportpakete 22, 24, 26 fester Länge geteilt, wobei jedes einen Transportkopf 30 und Nutzdaten 36 enthält. Die Nutzdaten jedes Transportpakets enthalten einen Teil der Nutzdaten (d. h. Präsentationseinheiten 18) des entsprechenden PES-Pakets 12 und können auch den PES-Kopf 14 und ISO-Kopf 16 enthalten, wie bei 22a dargestellt. Transportpaket 22d ist ein weiteres isochrones Datentransportpaket in dem Transportpaket-Multiplex 20. Dieses Transportpaket umfasst einen Transportkopf 30 sowie eine Nutzlast 36. Die Nutzlast umfasst keinen PES-Kopf oder ISO-Kopf, weil dieses Transportpaket aus Nutzdaten abgeleitet ist, die dem PES-Kopf und dem ISO-Kopf in dem PES-Paket nachfolgen. Mit anderen Worten, da es pro PES-Paket nur einen PES-Kopf und einen ISO-Kopf gibt, enthält nur das erste von jenem PES-Paket abgeleitete Transportpaket den PES-Kopf und ISO-Kopf. Die Nutzlastsegmente der verbleibenden, von dem PES-Paket abgeleiteten Transportpakete enthalten nur Teile der eigentlichen Informationsdaten, die übertragen werden sollen.
  • Gemäß der MPEG-2-Systemspezifikation enthalten die Transportpaketköpfe 30 die Programmkennung (PID), die jeden Transportpaketstrom, wie etwa einen isochronen Datenpaketstrom, einen Videopaketstrom oder einen Audiopaketstrom, von anderen Paketströmen unterscheidet. In 1 ist nur die Ableitung des isochronen Datentransportpakets 22 gezeigt. Um Videopakete 24 und Audiopakete 26 abzuleiten, sind entsprechende Elementarströme (nicht gezeigt) bereitgestellt, die in PES-Pakete und Transportpakete im Wesentlichen auf dieselbe Weise eingekapselt sind, wie in 1 mit Bezug auf die Bildung der isochronen Datenpakete 22 dargestellt ist, mit der Ausnahme, dass der isochrone Datenkopf 16 der vorliegenden Erfindung nicht in den Video- oder Audio-Transportpaketen bereitgestellt ist.
  • Jedes MPEG-Transportpaket enthält 188 Datenbyte, die aus dem Transportkopf 30 von mindestens vier Byte und den Nutzdaten 36, die bis zu 184 Byte sein können, gebildet sind. Gemäß der MPEG-2-Systemspezifikation kann ein Anpassungsfeld von z. B. acht Byte zwischen dem Transportkopf 30 und der Nutzlast 36 bereitgestellt werden. Das Anpassungsfeld variabler Länge kann zum Beispiel die Programmtaktreferenz (PCR) enthalten, die zur Synchronisation des Systemzeittaktes des Decodierers verwendet wird.
  • Die Vielzahl von isochronen Datenpaketen 22a, 22b, 22c ... 22g ..., sowie anderer Pakete 24a–f ... und 26a–f ... wird, wie in 1 dargestellt, gemultiplext, um den Transportstrom 20 zu bilden, der über den Übertragungskanal von dem Codierer zum Decodierer übermittelt wird. Es ist der Zweck des Decodierers, die unterschiedlichen Arten von Transportpaketen aus dem Transportstrom auf der Basis der PID der individuellen Pakete zu demultiplexen und dann die isochronen Daten, Audio- und Videokomponenten je selektiv zu verarbeiten, um sie beim Rekonstruieren eines Fernsehsignals und der Rückgewinnung eines Datenstroms, der durch die isochronen Daten repräsentiert wird, zu verwenden.
  • 2 stellt den PES-Kopf 14 und ISO-Kopf 16 detaillierter dar. Der PES-Kopf 14 umfasst verschiedene Längen- und Strukturinformationen 50 gemäß der MPEG-2-Systemspezifikation. Ein wahlfreies PTS-Feld 52 kann auf die Längen- und Strukturinformationen 50 folgen. Falls ein PTS bereitgestellt ist, ist in dem ISO-Kopf 16 eine PTS-Erweiterung als Gegenstück bereitgestellt. Wie in 2 dargestellt, ist die PTS-Erweiterung 54 vorzugsweise am Anfang des ISO-Kopfes 16 bereitgestellt, so dass sie unmittelbar auf den PTS 52 in dem PES-Kopf folgt. Die vorliegende Erfindung ist jedoch nicht darauf beschränkt, die PTS-Erweiterung am Anfang des ISO-Kopfes bereitzustellen. Die PTS-Erweiterung kann an anderer Stelle in dem ISO-Kopf bereitgestellt werden, solange sie am Decodierer erkannt werden kann, damit sie zum Anhängen an den PTS verwendet werden kann, um die zeitliche Auflösung zur Präsentation der isochronen Daten an der Ausgabe des Decodierers zu erweitern. Indem beispielsweise zusätzliche acht Bits in der PTS-Erweiterung bereitgestellt werden, die zu den dreiunddreißig Bits addiert werden müssen, welche in dem in der Vorgabe des MPEG-Systems vorgeschriebenen PTS bereitgestellt sind, kann die normale MPEG-2-Auflösung von 11,1 Mikrosekunden zur unzweideutigen Ermittlung der korrekten Startzeit für die Präsentationseinheit auf 74 Nanosekunden erweitert werden, wobei auf die Startzeit von einem erweiterten isochronen Daten-PTS verwiesen wird.
  • Der ISO-Kopf umfasst auch verschiedene Raten-, Längen- und Inkrementinformationen 56. Insbesondere umfassen die Raten-, Längen- und Inkrementinformationen einen Datenratenmerker, ein isochrones Datenkopf-Längenfeld und ein Inkrementfeld, das ein Verhältnis der Informationsdatenrate (z. B. der isochronen Datenrate) gegenüber einer Systemtaktfrequenz festlegt. Dieser Taktinkrementierwert ermöglicht einen direkten, digitalen Synthesetakt an einem Decodierer, um ein Taktsignal mit der Informationsdatenrate, zur Verwendung bei der Ausgabe von Informationsdaten, die von einem Datentransportstrom gemäß der vorliegenden Erfindung getragen werden, bereitzustellen.
  • In einer bevorzugten Ausführungsform der Erfindung ist jede isochrone Daten-Präsentationseinheit 18 (1) sechzehn Bit lang, d. h. ein Wort aus zwei Acht-Bit-Byte. Die isochronen Daten werden mit der PES-Syntax abgeglichen, wobei das erste Byte des isochronen Datenkopfes unmittelbar auf das letzte Byte des PES-Kopfes folgt. Auch werden die isochronen Daten-Präsentationseinheiten mit der PES-Syntax abgeglichen, wobei das erste Byte der ersten Präsentationseinheit in einem gegebenen PES-Paket unmittelbar auf das letzte Byte des isochronen Datenkopfes folgt. Isochrone Daten-Präsentationseinheiten werden mit Transportpaket-Nutzlasten so abgeglichen, dass das erste Nutzbyte eines isochronen Datentransportpakets das erste Byte einer isochronen Daten-Präsentationseinheit ist (nach beliebigen Anpassungs-, PES-Kopf- und isochronen Datenkopf-Feldern). Das letzte Byte eines isochronen Datentransportpakets ist das letzte Byte einer isochronen Daten-Präsentationseinheit.
  • Die Syntax isochroner Daten gemäß der vorliegenden Erfindung ist unten beschrieben, wobei die formale Grammatik verwendet wird, die von der MPEG-2-Systemspezifikation benutzt wird. Die MPEG-Grammatik ist eine der C-Sprache ähnliche Syntax und ist ein Verfahren, das Bitfolgen, die eine kontinuierliche und möglicherweise eine variable Rate aufweisen, beschreibt, anstatt ein prozedurales Programm und seine Funktionen vorzuschreiben, wie in der Computersprache C. Die erste Spalte der Syntax enthält das Syntaxelement. Die zweite Spalte gibt die Länge des Syntaxelements in Bit an, und die dritte Spalte identifiziert den Syntaxtyp. Die Typen sind bslbf (bit sequence left-most bit first = zuerst das am weitesten links stehende Bit der Bitfolge) und uimsbf (unsigned integer most significant bit first = zuerst das höchstwertige Bit einer vorzeichenlosen Ganzzahl). Die Schreibweise „isochronous_data_header() {...}" zeigt an, dass die Syntaxelemente innerhalb der geschweiften Klammern eine benannte Gruppe sind und an anderer Stelle in der Syntax aufgerufen werden können, indem einfach die Bezeichnung „isochronous_data_header()" verwendet wird. Ein bedingtes Auftreten von Bit-Strukturen kann mit den gewöhnlichen „wenn"-Tests angezeigt werden. Die üblichen, in der C-Sprache wohl bekannten Vergleichsoperatoren sind auch verfügbar. Schleifenstrukturen sind möglich und verwenden die Standard-C-Schleifensyntax. Die Syntaxtabelle wird von einer Semantikgruppe begleitet, wobei für jedes vorher undefinierte Syntaxfeld Definitionen bereitgestellt und ihrer Verwendung Einschränkungen auferlegt werden. Die folgende isochrone Datenbitstrom-Syntax und Bitstrom-Semantik stellen eine bevorzugte Ausführungsform der vorliegenden Erfindung dar: Isochrone Datensequenz:
    Figure 00300001
    • 1 isochrone_Datensequenz
    • 2 Isochroner_Datenkopf
    • 3 Isochrone_Datenpräsentationseinheit
  • Isochroner Datenkopf:
  • Um jede isochrone Datensequenz auf eine gerade Anzahl von Byte einzuschränken, ist vorgeschrieben, dass das letzte reservierte Feld in dem isochronen Datenkopf eine gerade Anzahl von Byte sein muss. Die Syntax für isochrone Datenköpfe ist:
    Figure 00310001
    • 4 Daten_Raten_Merker
    • 5 reserviert
    • 6 isochrone_Daten_Kopf_Länge
    • 7 Inkrement
  • Semantik des isochronen Datenbitstroms:
  • Isochrone Datensequenz:
    • Isochronous_data_presentation_unit (isochrone_Daten_Präsentations_Einheit) -- Eine 16-Bit-Präsentationseinheit isochroner Daten, wobei das erste (linke) Bit vor dem zweiten Bit präsentiert (ausgegeben) wird, usw.
  • Isochroner Datenkopf:
    • pts_ext8 -- Ein 8-Bit-Feld, das den PTS erweitert, der in dem PES-Kopf dieses PES befördert wird. Dieses Feld ist die 8 höchstwertigen Bits der 9-Bit-PCR-Erweiterung, die in der MPEG-2-Systemspezifikation definiert ist, und wird gemäß der vorliegenden Erfindung dazu verwendet, die zeitliche Auflösung von isochronen Daten-PTS von der Auflösung von 11,1 Mikrosekunden (90 kHz) gemäß der MPEG-2-Systemspezifikation auf 74 Nanosekunden (13,5 MHz) zu erweitern, zur unzweideutigen Ermittlung der korrekten Startzeit für die Präsentationseinheit, wobei auf die Startzeit von einem isochronen Daten-PTS verwiesen wird.
    • data_rate_flag (Daten_Raten_Merker) -- Ein Ein-Bit-Merker, der anzeigt, dass ein Inkrementfeld in dem isochronen Datenkopf vorliegt, wenn er auf „1" gestellt ist.
    • isochronous_data_header_length (isochrone_Daten_Kopf Länge) -- Ein 4-Bit-Feld, das die Anzahl Wörter (16 Bits) des isochronen Datenkopfes anzeigt, die auf dieses Feld folgen, einschließlich der reservierten Wörter (Einheiten von 16 Bits zwingen den isochronen Datenkopf dazu, eine gerade Anzahl von Byte zu haben, was es in Verbindung mit isochronen Daten-Präsentationseinheiten, Anpassungsfeldern und PES-Kopf, die jeweils auch eine gerade Anzahl von Byte haben, ermöglicht, dass isochrone Datentransportpakete ohne Auffüllbyte und damit mit einer höheren Effektivität erzeugt werden können).
    • increment (Inkrement) -- Ein 28-Bit-Feld, das den isochronen Datentaktinkrement-Wert anzeigt und einen Wert annimmt, der das genaue Verhältnis der isochronen Datenrate zu einem phasensynchronisierten Referenztakt beschreibt, z. B. einer 27-MHz-Referenz nach MPEG-2. In einer bevorzugten Ausführungsform ist das Inkrement: Inkrement = NINT(isochrone Datenrate* 536,868,000/nominal_system_clock_frequency); wobei: nominal_system_clock_frequency (nominale_System_Takt_Frequenz) von MPEG als 27 MHz vorgeschrieben ist und „NINT" die „am nächsten liegende ganze Zahl" bedeutet. Wie oben erwähnt, erlaubt MPEG eine 30-PPM-Variabilität in Bezug auf die nominale Systemtaktfrequenz.
    • reserved (reserviert) -- Ein n-Bit-Feld reservierter Wörter, für die der Decodierer keinen bestimmten Wert annimmt.
  • Das Blockschaltbild aus 3 stellt einen möglichen Codierer zur Umsetzung der vorliegenden Erfindung dar. Isochrone Daten (z. B. vom Elementarstrom 101) werden über die Datenstation 60 in eine Kopfeinfügestufe 62 eingegeben, welche die Daten einfügt, die für die Zusammenstellung des ISO-Kopfes 16 benötigt werden. Diese Daten werden beispielsweise von einem nicht gezeigten System-Mikroprozessor erhalten. Die Isodaten mit dem einfügten ISO-Kopf werden von einer PES-Paketierstufe 66 empfangen, welche den PES-Kopf 14 einfügt, der aus PES-Kopfdaten zusammengestellt worden ist, die über die Datenstation 68 eingegeben wurden. Wie bei den ISO-Kopfdaten lassen sich die PES-Kopfdaten von einem System-Mikroprozessor oder einer anderen Datenquelle erhalten, wie auf dem Stand der Technik wohl bekannt ist.
  • Ein isochrones Datentaktsignal wird über die Datenstation 65 in eine Phasenregelschleife (PLL = Phase Lock Loop) 67 des Codierers aus 3 eingegeben. Die PLL kann z. B. einen 27-MHz-Oszillator und eine DDS- Schaltung beinhalten, um sich an das Eingabetaktsignal anzukoppeln, wobei sie den wie oben berechneten, am nächsten liegenden Inkrementwert verwendet. PCR-Werte werden dann von einem PCR-Generator 69 erzeugt. Die PCR-Werte werden als Transportanpassungsdaten in einen Transportpaket-Paketierer 70 eingegeben, der unten detaillierter beschrieben ist.
  • Nachdem der ISO-Kopf und der PES-Kopf in den Elementarstrom isochroner Daten eingefügt worden sind, werden die nachfolgenden, über die Datenstation 60 eingegebenen Nutzdaten segmentiert, um den Köpfen in Form von Präsentationseinheiten 18 fester Länge zu folgen. Das Ergebnis ist eine Aufeinanderfolge von PES-Paketen 12, die von dem PES-Paketierer 66 an die Transportpaket-Paketierstufe 70 ausgegeben werden. An diesem Punkt werden Daten, die zum Zusammenstellen des Transportkopfes benötigt werden, über die Datenstation 72 auf eine herkömmlichen Weise empfangen und zu einem Transportkopf zusammengestellt, an den als Gegenstück Nutzdaten angehängt werden. Die Nutzdaten beinhalten den nächsten Teil von Daten (d. h. PES-Kopfdaten, ISO-Kopfdaten und/oder Präsentationseinheiten) aus dem (den) gegenwärtigen PES-Paket(en). Die Ausgabe des Paketierers 70 ist eine Serie isochroner Datentransportpakete 22, die jeweils einen Transportkopf und eine Nutzlast beinhalten und die als Teil der Nutzlast Informationen bezüglich PES-Köpfen und isochronen Datenköpfen umfassen können.
  • Die isochronen Datentransportpakete vom Paketierer 70 können mit komprimierten Audiopaketen und Videopaketen, die über Datenstation 76 bzw. 78 in einen Multiplexer 74 eingegeben werden, gemultiplext werden. Die Audio- und Videopakete werden gemäß der MPEG-2-Systemspezifikation bereitgestellt, wie auf dem Stand der Technik wohl bekannt ist. Der Multiplexer 74 stellt die Transportpakete zu einem Transportpaketstrom 20 zusammen (wie in 1 gezeigt). Der Transportpaketstrom wird in einem herkömmlichen Modulator 80 moduliert und über einen herkömmlichen Sender 82 über Satellit, Kabel oder einen anderen bekannten Übertragungskanal übertragen.
  • 4 stellt einen Empfänger („Decodierer") für den Übertragungsmultiplex dar, der vom Codierer aus 3 ausgegeben wird. Der Übertragungsmultiplex wird über die Datenstation 90 in einen Empfänger 92 eingegeben und in einem herkömmlichen Demodulator 94 demoduliert. Ein Demultiplexer 96 gewinnt die Audiopakete, Videopakete und isochronen Datenpakete aus dem demodulierten Transportdatenstrom zurück. Die isochronen Datenpakete werden in einen Kopfprozessor 98 eingegeben, der einen herkömmlichen Mikroprozessor beinhalten kann, der dazu programmiert ist, den PES-Kopf und den ISO-Kopf aus dem isochronen Datenpaketstrom zurückzugewinnen. Der PTS wird in einer PTS-Herausnahmestufe 102 aus dem PES-Kopf herausgenommen. Die PTS-Erweiterung wird durch eine PTS-Erweiterungs-Herausnahmestufe 104 aus dem ISO-Kopf herausgenommen. Der PTS und die PTS-Erweiterung werden in einem Kombinator 106 kombiniert, um die isochronen Daten-PTS bereitzustellen, die es ermöglichen, die hochratigen, isochronen Daten zeitlich genau zu präsentieren. Ein PTS-Decodierer 108 nimmt die Zeitinformationen aus den erweiterten, isochronen Daten-PTS heraus, die von dem Kombinator 106 ausgegeben werden. Diese Zeitinformationen werden in einen isochronen Datenextraktor 110 eingegeben, der auch die isochronen Datenpakete aus dem Demultiplexer 96 empfängt. System-Zeitinformationen aus dem Kopfprozessor 98 ermöglichen es den Herausnahmestufen 102, 104, dem PTS-Decodierer 108 und dem isochronen Datenextraktor 110, die jeder Stufe präsentierten Daten richtig zu lokalisieren und zu verarbeiten. Der Isodaten-Extraktor 110 reagiert auf die PTS aus dem PTS-Decodierer 108, um die individuellen isochronen Daten-Präsentationseinheiten (die zurückgewonnenen „Isodaten") zur geeigneten Zeit zu präsentieren. Die präsentierten Isodaten werden zur Verwendung bei der Bereitstellung eines gewünschten Dienstes, der auf den in den Daten verkörperten Informationen basiert, von dem Isodaten-Extraktor 110 ausgegeben.
  • Der Decodierer aus 4 umfasst auch einen DDS-Taktgeber 100, der verwendet wird, um eine Vielzahl von Referenztaktraten bereitzustellen, die vom Kopfprozessor und/oder anderen Komponenten des Decodierers verwendet werden. Die vom Kopfprozessor 98 ausgegebene Systemzeitsteuerung basiert auf einer oder mehreren Referenztaktraten, die von dem DDS-Taktgeber bereitgestellt werden. Diese Referenztaktraten basieren auf einer Systemtaktfrequenz, zum Beispiel der gemäß der MPEG-2-Systemspezifikation dargelegten Systemtaktfrequenz von 27 MHz. Um PCR zu verarbeiten und dabei die Systemtaktfrequenz zur Verwendung durch die DDS zu erzeugen, umfasst der Decodierer einen PCR-Syntaxanalysator 97, der die PCR-Werte aus den isochronen Datentransportpaketen herausnimmt. Die herausgenommenen PCR-Werte werden verwendet, um eine Phasenregelschleife 99, die den Systemtakt (z. B. 27 MHz) erzeugt, fest einzukoppeln. Der Systemtakt wird in den DDS-Taktgeber 100 zur Verwendung beim Erzeugen der oben beschriebenen Referenztaktraten eingegeben.
  • Um den Decodierer zu vereinfachen, ist ein Takt-„Inkrement" in dem isochronen Datenkopf bereitgestellt, um das Verhältnis der isochronen Datenrate zur Systemtaktfrequenz anzugeben. Dieses Inkrement wird vom Kopfprozessor 98 zurückgewonnen und in den DDS-Taktgeber 100 eingegeben, der das Inkrement dazu verwendet, ein Taktsignal mit der isochronen Datenrate zur Verwendung bei der Präsentation der isochronen Daten bereitzustellen.
  • Die Bereitstellung eines Taktinkrements in dem isochronen Datenkopf umgeht die Notwendigkeit, dass der Decodierer dieses Inkrement selbst ausrechnen müsste. In herkömmlichen Systemen, die einen direkten, digitalen Synthesetakt verwenden, empfängt der Decodierer einen benötigten Taktfrequenzanzeiger mit den Daten, die zurückzugewinnen sind. Der Taktfrequenzanzeiger schreibt die tatsächliche Taktfrequenz vor, die durch den DDS-Taktgeber zu synthetisieren ist. Da der DDS-Taktgeber einen bestehenden Systemtakt skaliert, um verschiedene feste Taktfrequenzen zu produzieren, müssen herkömmliche Decodierer zunächst das Verhältnis der gewünschten Taktfrequenz zur Systemtaktfrequenz ermitteln, wovon dann die gewünschte Taktfrequenz abzuleiten ist. Die Verarbeitungs-Hardware, die notwendig ist, um diese Funktion auszuführen, führt beim Decodierer zu höheren Kosten und größerer Komplexität.
  • Bei digitalen Fernsehdecodierern müssen die Kosten so niedrig wie möglich gehalten werden, da für jedes der potentiell Millionen von Fernsehgeräten im Bereich ein separater Decodierer erforderlich ist. Durch Versehen des Decodierers mit einem Inkrement, das von dem DDS-Taktgeber direkt benutzt werden kann, um die gewünschte Taktfrequenz zu erzeugen, werden die Kosten und die Komplexität des Empfängers verringert. Bei dem System der vorliegenden Erfindung wird die Berechnung des Inkrements, das zum Bereitstellen der gewünschten Frequenz nötig ist, zentral am Codierer ausgeführt, der die Millionen von Decodierern im Bereich bedient. Daher brauchen die Decodierer diese Berechnung nicht auszuführen.
  • 5 stellt den Kombinator 106, PTS-Decodierer 108 und Isodaten-Extraktor 110 aus 4 detaillierter dar. Isodaten-Pakete, die in einem eintreffenden Datenstrom an ihren PID erkannt werden, werden über eine Datenstation 112 in einen Kopfprozessor 98 und einen Kopfabstreifer 150 eingegeben. Der Kopfabstreifer 150 ist ein Teil des Isodaten-Extraktors 110 und streift die Transport-, PES- und Isodaten-Köpfe von den empfangenen Paketen ab, so dass nur die Präsentationseinheiten (PU) als Ausgabe an ein FIFO-Register 152 bereitgestellt werden. Das FIFO 152 puffert die PU gemäß der Erfindung, so dass richtige Synchronisation und Fehlerkorrektur erzielt werden können. Das FIFO kann umgesetzt werden, indem eine Serie von FIFOs verwendet wird, wie etwa ein Vor-DRAM-FIFO, ein DRAM-FIFO und ein Nach-DRAM-FIFO. In einer derartigen Umsetzung werden Verweise auf eine Ablese aus dem Isodaten-FIFO hierin auf das letzte verwendete FIFO verweisen, z. B. ein Nach-DRAM-FIFO. Ein Lesezeiger 154 und ein Schreibzeiger 156 sind bereitgestellt, um das Schreiben von Daten auf und das Lesen von Daten aus dem FIFO 152 zu steuern. Der Schreibzeiger 156 ist über Datenstation 182 mit einem FIFO-Takt synchronisiert. Eine detaillierte Beschreibung der Pufferarbeitsweise ist unten in Verbindung mit der Beschreibung von 6 bereitgestellt.
  • Die Präsentationseinheiten aus dem FIFO 152 werden als Ausgabe für eine Präsentationseinheits-Synchronisationsschaltung 158 bereitgestellt. Diese Schaltung synchronisiert die Präsentationseinheits-Daten mit dem Systemzeittakt (STC) 162. Ein Datentakt 160, der mit der festen Rate läuft, mit der die Isodaten schließlich ausgegeben werden, ist an die Präsentationseinheits-Synchronisationsschaltung 158 und an einen Präsentationseinheitszähler 164 gekoppelt. Diese Anordnung wird verwendet, um sicherzustellen, dass die Präsentation von Isodaten aus dem FIFO mit dem ersten Bit einer Präsentationseinheit beginnt. Die aus dem FIFO präsentierten Daten werden in einen Füllbit-Multiplexer (MUX) 166 eingegeben, der dazu verwendet wird, wenn nötig Füllbits bereitzustellen, um Fehler zu korrigieren, die im Eingabedatenstrom auftreten. Die Ausgabe des Füllbit-Multiplexers 166 beinhaltet die zurückgewonnenen Isodaten, die anstelle von fehlerhaften oder fehlenden Daten Füllbits umfassen können.
  • Die Präsentationseinheits-Synchronisationsschaltung 158 empfängt auch notwendige Zeiger-Werte und die korrekte Präsentationszeit vom PTS-Decodierer 108. In 5 sind die Funktionen des PTS-Decodierers 108 mit den Funktionen des Kombinators 106 zusammengefasst. Wie oben in Verbindung mit 4 bemerkt, stellt der Kombinator 106 die isochronen Daten-PTS bereit, die es ermöglichen, die hochratigen isochronen Daten zeitlich genau zu präsentieren.
  • Die Schaltungen 106 und 108 beinhalten einen PES-Längenzähler 170 und eine PES-Längenvergleichs-Schaltung, um zu ermitteln, ob die Länge jedes empfangenen PES-Pakets mit der für das Paket in dem entsprechenden PES-Kopf bezeichneten Länge übereinstimmt. Der von dem PES-Kopf herausgenommene PES-Längenwert wird von dem Kopfprozessor 98 an die PES-Längenvergleichs-Schaltung 172 weitergeleitet. Der PES-Längenzähler 170 empfängt den FIFO-Takt über Datenstation 184 und ermittelt die Länge jedes empfangenen PES, indem er die darin enthaltenen Byte zählt, ein Byte pro FIFO-Taktzyklus. Der PES-Längenzähler 170 empfängt Informationen vom Kopfprozessor 98, die den Anfang jedes neuen PES-Pakets bezeichnen, und liefert dann seinerseits über die Leitung 175 die für jedes PES-Paket gezählte Länge an die PES-Längenvergleichs-Schaltung 172. Falls die gezählte Länge nicht mit der in dem PES-Kopf angezeigten PES-Länge übereinstimmt, wird ein PES-Längen-Fehlermerker erzeugt. Andere Fehlermerker, die von dem Kopfprozessor 98 erzeugt werden, umfassen einen Fehlermerker für ein verschlüsseltes Paket und einen Diskontinuitätsmerker. Ein isochroner Daten-Mikroprozessor (nicht gezeigt) empfängt die verschiedenen Fehlermerker und stellt Steuerungssignale für eine Reaktion auf die Fehlerkonditionen bereit. Diese Fehlermerker werden unten detaillierter diskutiert.
  • Die Funktion, den PTS und die PTS-Erweiterung zu kombinieren, wird von einem PTS-Zeigerverwalter 174 bereitgestellt. PTS und PTS-Erweiterungen werden in gewissen Isodaten-Köpfen getragen, die durch den Kopfprozessor 98 erkannt werden, der diese Werte an den Zeigerverwalter weitergibt. Der Zeigerverwalter speichert die PTS- und PTS-Erweiterungswerte in neue bzw. alte Zeiger-Register 176, 178. Der kombinierte älteste Wert wird an einen Präsentationszeit-Rechner 180 zur Verwendung beim Berechnen des Zeitpunkts ausgegeben, zu dem die Präsentation von Isodaten-Präsentationseinheiten aus dem Isodaten-Extraktor 110 begonnen werden soll. Der Schreibzeiger 156 hält den Zeigerverwalter über die zuletzt geschriebene FIFO-Adresse auf dem Laufenden, so dass der Zeigerverwalter den FIFO-Adressenwert jedes PTS-Zeigers liefern kann.
  • Ein PTS-Verschiebungswert wird dem Präsentationszeit-Rechner 180 über eine Datenstation 186 bereitgestellt. Dieser Verschiebungswert stellt jede beliebige Zeitverzögerung bereit, die notwendig ist, um korrigierbare Transport-Zeitablauffehler zu absorbieren. Insbesondere ermöglicht es diese Verschiebung dem FIFO, ausreichend Daten zu sammeln, um einen kontinuierlichen Datenstrom auszugeben, trotz des in der MPEG-Vorgabe erlaubten STC-Fehlers und des Übergangsverhaltens eines Decodierers bei STC-Abtastschleifen, und ermöglicht es dem FIFO, eine Datenmenge anzusammeln, die nötig ist, um den Verlust eines Pakets ohne Unterlauf zu überstehen.
  • Es soll nun das Zustandsdiagramm von 6 betrachtet werden, in dem das Verarbeiten von Isodaten bei 120 beginnt, wenn das System rückgestellt wird. Der Isodaten-Ausgabemodus hat drei Zustände, und die Isodaten-PID wird bei der Rückstellung auf ungültig gesetzt. Dann beginnt eine Anlaufsequenz, während der die Isodaten-PID auf die PID der Isodaten-Dienstkomponente programmiert wird, bevor die Isodaten-PID. auf gültig gesetzt wird. Wenn an die Isodaten-PID geschrieben wird, wird das Isodaten-FIFO 152 geräumt und beide PTS-Zeiger 176 und 178 werden auf null gesetzt. Das FIFO kann geräumt werden, indem die Lese- und Schreibzeiger 154, 156 einfach auf dieselbe Adresse gesetzt sowie alle Vor- und Nach-FIFOs auf null gesetzt werden. Ein PTS-Zeiger kann auf null gesetzt werden, indem sein Im-Einsatz-Merker einfach rückgestellt wird. Wenn die Isodaten-PID auf gültig gesetzt ist, wird der Isodaten-Ausgabemodus auf muted_clock_and_data (gedämpfter_Takt_und_Daten) gesetzt und die Erfassung beginnt. Falls die Isodaten-PID in den ungültigen Zustand zurückgeht, wird der Isodaten-Ausgabemodus auf muted_clock_and_data gesetzt (falls er sich nicht schon in diesem Zustand befindet) und die Anlaufsequenz wird wiederaufgenommen. Falls der Isodaten-Ausgabemodus auf muted_data (gedämpfte_Daten) gesetzt ist, wird das Verarbeiten der Isodaten wie normal fortgesetzt, und eine Rückkehr zum Anlaufzustand findet nicht unbedingt statt.
  • Der Erfassungszustand beginnt bei 124, indem Isodaten-Transportpakete auf der Isodaten-PID empfangen werden und auf ein Paket mit seinem gesetzten payload_unit_start_indicator (Nutzlast_Einheits_Start_Anzeiger) gewartet wird (was anzeigt, dass ein PES mit dem ersten Byte der Nutzlast des Pakets beginnt). Der Isodaten-Kopf wird analysiert, um einen data_rate_flag zu finden, der gesetzt ist, und um den Datentakt-Inkrementwert, falls vorhanden, zu finden und aufzuzeichnen. Wenn der data_rate_flag gesetzt ist, wird der Inkrementwert in einem Register gespeichert und der System-Mikroprozessor wird unterbrochen, um anzuzeigen, dass der Inkrementwert auf der Isodaten-PID empfangen worden ist. Dieser Vorgang, bei dem in jedem Isodaten-Kopf nach dem Inkrementwert gesucht wird, setzt sich fort, bis der Inkrementwert empfangen worden ist.
  • Die Verarbeitung geht dann zum Aufbauwartezustand 126 weiter. An diesem Punkt, sobald sich der Inkrementwert im Register befindet, wartet die Verarbeitung, bis ein Registermerker gesetzt ist, womit angedeutet wird, dass mit der Isodaten-Erfassung fortgefahren werden soll. Die Erfassung wird dann fortgesetzt, nachdem der Mikroprozessor verifiziert hat, dass eine PCR empfangen worden ist (z. B. auf der Isodaten-PCR-PID), einen notwendigen Datenmodulus und Inkrementregister programmiert hat, sowie das data_PTS_offset-Register (Daten_PTS_Verschiebungs-Register) programmiert hat. Dann findet der Übergang in den PTS-Bezugszustand 128 statt.
  • Im PTS-Erfassungszustand wird der Isodaten-Ausgabemodus auf muted_clock_and_data gesetzt. Dann wird der Empfang von Isodaten-Transportpaketen wieder aufgenommen, und eine Suche nach einem PES-Kopf, der einen PTS enthält, beginnt. In diesem Zustand werden keine Isodaten-Präsentationseinheiten an das FIFO geschrieben.
  • Um die Fehlererkennung zu unterstützen, wird jedes auf der Isodaten-PID empfangene Nutzbyte zum Vergleich mit der PES-Länge, die in jedem PES-Kopf angezeigt ist, gezählt. Somit wird die PES-Länge jeweils im PES-Zähler 170 gespeichert, wenn der Anfang eines PES empfangen wird. Dieser Zähler wird bei der Analyse jedes PES-Byte um eins dekrementiert. Wenn ein PTS empfangen wird, wird der PTS-Wert in einem der zwei PTS-Zeiger-Register 176, 178 gespeichert. Dann wird mit der Analyse des Isodaten-Kopfes (der in demselben Paket vorhanden sein muss) fortgefahren, und das pts_ext8 wird dann wiedergewonnen und mit dem PTS, der im vorherigen Schritt in das PTS-Zeiger-Register geschrieben wurde, gespeichert. Die Verarbeitung fährt dann fort, indem alle Präsentationseinheiten in diesem Paket in das FIFO 152 geschrieben werden und indem auch die FIFO-Adresse, an der die erste Präsentationseinheit gespeichert ist, gespeichert wird. Diese FIFO-Adresse wird mit dem PTS und pts_ext8 gespeichert, die während der obigen Schritte in das PTS-Zeiger-Register geschrieben wurden, und dann wird dieses spezielle PTS-Zeiger-Register als „im-Einsatz" gekennzeichnet.
  • Sobald ein PTS mit der entsprechenden Isodaten-Präsentationseinheit empfangen worden ist, wird der Präsentationseinheits-Synchronisierer 158 anfangen, auf die PTS-Synchronisation zu warten, wie bei 130 dargestellt. Dies besteht darin, den Isodaten-Ausgabemodus auf muted_clock_and_data zu halten, bis der STC 162 gleich dem Wert von PTS + pts_ext8 + data_PTS_offset ist, der vom Präsentationszeit-Rechner 180 geliefert wird. Wenn dieser Fall auftritt, wird der Präsentationseinheitszähler 164 (der ein 4-Bit-Zähler ist, der durch den Isodaten-Datentakt 160 inkrementiert wird) auf den Wert 810 (10002) gesetzt. Dies bereitet den Präsentationseinheits-Synchronisierer darauf vor, mit der Ausgabe des ersten Bit der Präsentationseinheit zu beginnen, wenn der Präsentationseinheitszähler 010 (00002) erreicht. Dieser Vorgang, den Präsentationseinheitszähler auf 810 zu setzen, wird nur ausgeführt, wenn der Übergang in den Erfassungszustand stattgefunden hat, seit der Übergang in den PTS_Sync-Zustand (PTS_Synchronisations-Zustand) zuletzt stattgefunden hatte. Wenn der Präsentationseinheitszähler 010 erreicht, wird der Isodaten-Ausgabemodus auf ungedämpft gesetzt und die Präsentation der Isodaten von dem FIFO 152 beginnt, wobei mit dem ersten Bit der Präsentationseinheit am Anfang des FIFO angefangen wird. Die Präsentation setzt sich damit fort, dass das FIFO ein Isodaten-Bit pro Isodaten-Takt ausgibt.
  • Falls zu irgendeiner Zeit, während auf die PTS-Synchronisation gewartet wird, STC größer als PTS + pts_ext8 + data_PTS-offset ist, wird die Verarbeitung unterbrochen, das FIFO geräumt, werden die PTS-Zeiger auf null gesetzt und der Erfassungszustand 124 wieder aufgenommen. Während auf die PTS-Synchronisation (STC = PTS + pts_ext8 + data_PTS_offset) gewartet wird, setzt sich der Empfang und die Verarbeitung der Pakete fort. Die Präsentationseinheiten, aber nicht der Isodaten-Kopf jedes Pakets, werden in das FIFO abgelegt. Außerdem wird, wenn ein PTS empfangen wird, während dieser Zustand herrscht, der PTS-Wert zusammen mit dem pts_ext8 und der zugehörigen FIFO-Adresse in einem zweiten PTS-Zeiger-Register gespeichert. Falls beim Empfang eines PTS beide PTS-Zeiger-Register belegt sind, überschreibt der neue PTS-Zeiger den zuletzt geschriebenen PTS-Zeiger (neuester PTS-Zeiger).
  • Wenn die Ausgabe der Isodaten begonnen wird, fängt die Verfolgung an, wie bei 132 angedeutet. In diesem Zustand werden Daten weiter mit der Rate des Isodaten-Taktes 160 von dem FIFO 152 präsentiert. Außerdem werden Isodaten-Transportpakete weiter verarbeitet, wobei jede Präsentationseinheit in das FIFO geschrieben wird und die PTS-Zeiger gespeichert werden. Falls das Isodaten-FIFO voll vorgefunden wird, wenn eine Präsentationseinheit gespeichert werden muss (FIFO-Überlauf), wird der Vorgang unterbrochen, das FIFO geräumt, die PTS-Zeiger werden auf null gesetzt und es wird zum PTS-Erfassungszustand 128 zurückgekehrt, nachdem der Isodaten-Ausgabemodus auf muted_data gesetzt worden ist. Falls das Isodaten-FIFO leer vorgefunden wird, wenn eine Präsentationseinheit ausgegeben werden muss (FIFO-Unterlauf), wird die Verarbeitung unterbrochen, das FIFO geräumt, die PTS-Zeiger werden auf null gesetzt und es wird zum PTS-Erfassungszustand 128 zurückgekehrt, nachdem der Isodaten-Ausgabemodus auf muted_data gesetzt worden ist.
  • Ein von jedem Isodaten-Transportpaket umfasstes Feld ist ein Feld, das zwei transport_scrambling-Steuerbits (Transport_Verwürflungs-Steuerbits) enthält, die anzeigen, ob die Daten im Transportpaket verschlüsselt sind. Wenn ein Isodaten-Transportpaket empfangen wird, bei dem die transport_scrambling_control-Bits (Transport_Verwürflungs_Steuer-Bits) auf irgendetwas anderes als not_scrambled (nicht_verwürfelt) gesetzt sind, wird dieser Zustand genauso wie der Empfang eines Isodaten-Transportpakets behandelt, bei dem der transport_error_indicator (Transport_Fehler_Anzeiger) gesetzt ist.
  • Transportpakete enthalten auch einen Kontinuitätszähler. Wenn ein Isodaten-Transportpaket empfangen wird, bei dem der continuity_counter (Kontinuitäts_Zähler) nicht gleich dem continuity_counter-Wert des zuletzt empfangenen Pakets plus einem Modulo 16 ist (Paket-Diskontinuitätsfehler), werden die folgenden Schritte unternommen:
    • 1. Falls die Diskontinuität anzeigt, dass ein redundantes Paket empfangen worden ist, wird das redundante Paket verworfen.
    • 2. Falls die Diskontinuität anzeigt, dass zwei oder mehr Pakete verlorengegangen sind, werden die PTS-Zeiger auf null gesetzt, der Isodaten-Ausgabemodus wird auf gedämpfte Daten gesetzt und es wird zum PTS-Erfassungszustand 128 zurückgekehrt.
    • 3. Falls die Diskontinuität anzeigt, dass ein Paket verlorengegangen ist, dann:
    • A. Falls der PES-Zähler anzeigt, dass noch 184 oder mehr Byte für den gegenwärtigen PES zu empfangen sind, wird der PES-Zähler um 184 dekrementiert und der FIFO-Schreibzeiger wird um 184 Byteadressen (92 Wörter) vorwärts bewegt, um effektiv 184 Byte in das FIFO einzufügen, um die Nutzlast des verlorenen Pakets zu kompensieren. Es sollte beachtet werden, dass es möglich ist, dass das FIFO überläuft, wenn die Anzahl der mit einem fehlenden Paket verlorenen Byte kleiner als die Anzahl der in das FIFO eingefügten Byte ist.
    • B. Falls der PES-Zähler anzeigt, dass noch genau null Byte für den gegenwärtigen PES zu empfangen sind, wird der PES-Zähler auf den Wert der vorherigen PES_packet_length (PES_Paket_Länge) gesetzt, der PES-Zähler um 178 dekrementiert und der FIFO-Schreibzeiger um 164 Byteadressen vorwärts bewegt. Es ist möglich, dass das FIFO überläuft, wenn die Anzahl der mit einem fehlenden Paket verlorenen Byte kleiner als die Anzahl der in das FIFO eingefügten Byte ist.
    • C. Falls der PES-Zähler anzeigt, dass noch N (zwischen einschließlich einem und 183) Byte für den gegenwärtigen PES zu empfangen sind, wird der PES-Zähler um N dekrementiert und der FIFO-Schreibzeiger wird um N Byteadressen vorwärts bewegt, um effektiv N Byte in das FIFO einzufügen, um die Nutzlast des verlorenen Pakets zu kompensieren. Es ist möglich, dass das FIFO überläuft, wenn die Anzahl der mit einem fehlenden Paket verlorenen Byte kleiner als die Anzahl der in das FIFO eingefügten Byte ist.
  • Wenn PES-Daten analysiert werden, wird der Wert des PES-Zählers überwacht. Falls ein PES-Byte analysiert wird, wenn der PES-Zähler gleich null ist (bevor der Zähler dekrementiert wird, um das gegenwärtige PES-Byte zu berücksichtigen) und dieses Byte nicht das erste Byte eines neuen PES ist, dann sind wegen des Verlusts von einem oder mehreren früheren Transportpaketen zu viele Byte an das FIFO geschrieben worden. Wenn das auftritt, wird der Vorgang das Schreiben von Isodaten-Präsentationseinheiten an das FIFO, beginnend mit dem gegenwärtigen Byte, anhalten und zum PTS-Erfassungszustand zurückkehren, nachdem das FIFO geräumt und die PTS-Zeiger auf null gesetzt worden sind.
  • Nachdem jede Präsentationseinheit vom FIFO entfernt worden ist, erkennt der Vorgang, wann der FIFO-Lesezeiger gleich der DRAM-Verschiebeadresse des ältesten PTS-Zeigers ist. Wenn das auftritt, wird der Zeitablauf auf folgende Weise verifiziert:
    Wenn der STC weniger als PTS + pts_ext8 + data_PTS offset des entsprechenden PTS-Zeigers ist, was beim Verlust von Isodaten der Fall sein wird, werden Füllbits (z. B. Nullen) statt Isodaten ausgegeben, bis STC = PTS + pts_ext8 + data_PTS offset ist. Zu dieser Zeit werden Füllbits statt Isodaten weiter ausgegeben, bis der Präsentationseinheitszähler gleich 010 (00002) ist. Wenn das auftritt, wird das Lesen von Isodaten-Präsentationseinheiten aus dem FIFO wieder aufgenommen und diese Daten werden als Isodaten präsentiert. Falls der STC größer oder gleich PTS + pts_ext8 + data_PTS_offset des entsprechenden PTS-Zeigers ist, wird die normale Isodaten-Verarbeitung fortgesetzt.
  • Während der Isodaten-Verarbeitung wird der Zeitablauf auf folgende Weise überwacht:
    Wenn der FIFO-Lesezeiger während des Zeitintervalls, in dem der Präsentationseinheits-Zähler nach STC = PTS + pts_ext8 + data_PTS offset eines PTS-Zeiger zum ersten Mal gleich null ist, nicht gleich der FIFO-Adresse des entsprechenden PTS-Zeigers ist, wird die Verarbeitung unterbrochen (FIFO-Spätausgabefehler) und der Übergang in den Erfassungszustand 124 findet erneut statt.
  • In einer bevorzugten Umsetzung des oben beschriebenen Vorgangs werden die folgenden Vorgaben verwendet:
    data_PTS_offset (Daten_PTS_Verschiebung) -- Ein 13-Bit-Wert, der die Anzahl der PTS-Takte darstellt, die jedem PTS-Wert und pts_ext8-Wert hinzuaddiert wird, um die bei Isodaten angewandte Zeitverzögerung zu steuern. Dieser Wert hat Einheiten von 11,1 Mikrosekunden und ermöglicht es Isodaten, um bis zu 90,9 Millisekunden verzögert zu werden.
  • PTS-Zeiger -- Jeder PTS-Zeiger umfasst die folgenden Felder, die es ermöglichen, auf eine spezielle Präsentationseinheit im FIFO zu zeigen und den Zeitpunkt, zu dem sie zu präsentieren ist, mit einer Auflösung von 74 Nanosekunden zu speichern.
    • • PTS -- Ein 16-Bit-Feld mit Einheiten von 11,1 Mikrosekunden, das die 16 niedrigstwertigen Bits des PTS der entsprechenden Präsentationseinheit speichert. 16 Bit ermöglichen es Isodaten, bis zu 727,4 Millisekunden im FIFO zu verbleiben.
    • • PTS_Ext8 -- Ein 8-Bit-Feld mit Einheiten von 74 Nanosekunden, das die oberen 8 Bit der 9-Bit-pcr_extension speichert, die in Generic Coding of Moving Pictures and Associated Audio, Internationale Normenorganisation, ISO/IEC 13818-1, Systems International Standard, November 1994, für MPEG vorgeschrieben ist. Dieses Feld entspricht dem Zeitstempel der Präsentationseinheit und erweitert die zeitliche Auflösung von Isodaten-Zeitstempeln über die normalen, für MPEG vorgeschriebenen 11,1 Mikrosekunden hinaus auf 74 Nanosekunden.
    • • DRAM-Verschiebeadresse -- Eine 12-Bit-DRAM-Wort-Verschiebeadresse mit Bezug auf die Isodaten-Grundadresse, die auf das DRAM-Wort des FIFO zeigt, bei dem die entsprechende Präsentationseinheit gespeichert ist. 12 Bit ermöglichen es dem FIFO, einen Umfang von bis zu 4096 Wörtern zu haben.
    • • Im-Einsatz-Merker -- Ein Ein-Bit-Merker, der es ermöglicht, den Zustand eines PTS-Zeigers zu ermitteln. Wenn er gesetzt ist, zeigt dieser Merker an, dass dieser PTS-Zeiger im Einsatz ist, da er eine gültige Gruppe von Werten enthält. Bei jedem Zeiger wird dieser Merker nach einer Rückstellung des Isodaten-Vorgangs auf null gesetzt.
  • Aufrechterhaltung des PTS-Zeigers
  • Die zwei PTS-Zeiger-Register 176, 178 werden auf die folgende Weise aufrechterhalten:
    • I. Nach einer Rückstellung werden alle Im-Einsatz-Merker der PTS-Zeiger-Register rückgestellt (auf nicht im Einsatz).
    • II. Bei Empfang eines PTS-Wertes wird der PTS-Wert in dem PES-Kopf im PTS-Feld des ALTEN PTS-Zeiger-Registers gespeichert.
    • III. Das pts_ext8-Feld wird dann aus dem Isodaten-Kopf analysiert und in dem pts_ext8-Feld des ALTEN PTS-Zeiger-Registers gespeichert.
    • IV. Nachdem ein neuer PTS-Wert in einem PTS-Zeiger-Register gespeichert wurde, wird mit der Isodaten-Verarbeitung fortgefahren. Wenn die nächste Präsentationseinheit empfangen und korrekt in das FIFO geschrieben ist, wird die DRAM-Verschiebeadresse, die der FIFO-Adresse entspricht, welche das erste Byte der Präsentationseinheit hält, im DRAM-Verschiebeadressenfeld des Zeigers gespeichert. Die nächste Präsentationseinheit wird empfangen und korrekt in das FIFO geschrieben, wenn keine Daten zwischen Empfang des PTS-Wertes und Empfang der ersten Präsentationseinheit desselben PES_packet (PES_Paket) aus irgendeinem Grund verlorengegangen sind. Wenn das erzielt ist, ist der PTS-Zeiger gültig und wird als im-Einsatz gekennzeichnet, indem der Im-Einsatz-Merker desselben PTS-Zeiger-Registers gesetzt wird, und wird bei nachfolgendem Verarbeiten als neuester PTS-Zeiger betrachtet.
    • V. Wenn ein PTS-Zeiger aufgezeichnet wird und keines der PTS-Zeiger-Register im Einsatz ist, wird der Zeiger im ALTEN PTS-Zeiger-Register aufgezeichnet.
    • VI. Sollte das ALTE PTS-Zeiger-Register im Einsatz sein, wenn ein neuer Zeiger bereit ist, aufgezeichnet zu werden, wird der neue Zeiger im NEUEN PTS-Zeiger-Register aufgezeichnet.
    • VII. Wenn beide PTS-Zeiger-Register im Einsatz sind, wird der neue Zeiger aufgezeichnet, indem der NEUE PTS-Zeiger überschrieben wird.
    • VIII. Die PTS-Zeiger werden eingesetzt, wie es in der vorhergehenden Beschreibung des Verfolgzustandes 132 vorgeschrieben ist.
    • IX. Wenn der NEUE PTS-Zeiger wie im Verfolgzustand vorgeschrieben verwendet worden ist, wird er zum ALTEN PTS-Zeiger transferiert und der NEUE PTS-Zeiger wird als nicht verwendet gekennzeichnet, indem sein Im-Einsatz-Merker auf null gesetzt wird, so dass das NEUE Zeiger-Register dazu verwendet wird, den nächsten PTS-Zeiger zu speichern.
    • X. Wenn ein Transportpaket mit gesetztem discontinuity_indicator-Bit (Diskontinuitäts_Anzeiger-Bit) seines Anpassungsfeldes auf der Isodaten-PID empfangen wird, wird der Im-Einsatz-Merker aller PTS-Zeiger-Register auf null gesetzt und keine PTS-Zeiger werden mehr gespeichert, bis der nächste PCR-Wert empfangen wird (z. B. auf der Isodaten-PCR-PID).
  • Um zur Fehlererkennung beizutragen, wird jedes empfangene Nutzbyte auf der Isodaten-PID zum Vergleich mit der PES_packet_length, die wie von MPEG definiert in jedem PES-Kopf angezeigt ist, gezählt. Somit wird, wenn der Anfang eines jeden PES_packet empfangen wird, die PES_packet_length im PES-Längenzähler 170 gespeichert. Dieser Zähler wird bei der Analyse jedes PES-Byte um eins dekrementiert. Weiterhin wird dieser Zähler verwendet und aufrechterhalten, wie es für den Verfolgzustand 132 vorgeschrieben ist.
  • Zusätzlich zu dem PES-Längenzähler hält das bevorzugte System den zuvor erwähnten Präsentationseinheitszähler 164 aufrecht. Der Präsentationseinheitszähler ist ein 4-Bit-Zähler, der durch den Isodaten-Ausgabetakt inkrementiert wird. Dieser Zähler wird bei der Ausgabe der ersten Isodaten-Präsentationseinheit aus dem FIFO auf 810 (10002) gesetzt, wie für den PTS-Synchronisationszustand 130 beschrieben. Darauffolgende Übergänge in den PTS-Synchronisationszustand werden diesen Zähler weder setzen noch rückstellen, es sei denn, dass der Übergang in den Erfassungszustand 124 seit dem letzten Übergang in den PTS-Synchronisationszustand stattgefunden hat.
  • Vier Isodaten-Ausgabemodi sind wie folgt umgesetzt:
    • 1. Dreizustand – in diesem Modus befinden sich sowohl der Isodaten-Takt als auch die Datenausgaben im Dreizustand;
    • 2. Muted_clock_and_data – in diesem Modus sind sowohl der Isodaten-Takt als auch die Datenausgaben niedrig (z. B. null);
    • 3. Muted_data – in diesem Modus ist nur die Isodaten-Ausgabe niedrig, wogegen der Isodaten-Takt aktiv ist;
    • 4. Unmuted (ungedämpft) – in diesem Modus sind weder die Isodaten – noch die Takt-Ausgaben gedämpft (nicht aktiv).
  • Ein eindeutiger Fehlermerker wird für jede Fehlerkondition gesetzt, die rückgestellt wird, nachdem der Merker gelesen worden ist. Jede Fehlerkondition, die den Isodaten-Vorgang unterbricht, ist maskierbar. Tabelle 1 führt die verschiedenen, auf die Isodaten-Verarbeitung bezogenen Fehlerkonditionen und die Reaktion des Systems auf den Fehler auf. Das Folgende definiert den Inhalt der Tabelle:
    Name – Ein Name, der jeder Fehlerkondition für Verweiszwecke an anderer Stelle darin zugeschrieben wird.
    Definition – Eine Definition der Konditionen, die anzeigen, dass der entsprechende Fehler aufgetreten ist.
  • Int
    • ja – Zeigt an, dass die Isodaten-Verarbeitung zu unterbrechen ist, wenn dieser Fehler auftritt.
    • nein – Zeigt an, dass die Isodaten-Verarbeitung nicht unterbrochen wird, wenn dieser Fehler auftritt.
  • Zustand prüfen und nächster Zustand
    • > „Zustand" – Zeigt an, dass dieser Fehler erkannt wird, wenn der gegenwärtige Isodaten-Verarbeitungszustand höher ist als „Zustand". Die folgende Liste definiere die Hierarchie der Isodaten-Verarbeitungszustände: 1. Rückstellen Unterstes 2. Anlaufen 3. Erfassung 4. Setup_Wait (Aufbau_Warten) 5. PTS_Acquire (PTS_Erfassen) 6. PTS_Sync 7. Verfolgen Höchstes
    • ≥ „Zustand" – Zeigt an, dass dieser Fehler erkannt werden wird, wenn der Isodaten-Verarbeitungszustand gleich oder höher ist als „Zustand".
    • Anlaufen, Erfassung, setup_wait, pts_acquire, pts_sync oder Verfolgen – Zeigt an, dass dieser Fehler in diesem Zustand erkannt wird oder dass Isodaten-Verarbeitung bis zu diesem Zustand fortgeführt wird, nachdem die zugehörigen Aktionen ausgeführt worden sind.
    • derselbe – Zeigt an, dass die Isodaten-Verarbeitung in demselben Zustand verbleibt, nachdem die zugehörigen Aktionen ausgeführt worden sind.
    • alles – Zeigt an, dass dieser Fehler erkannt wird, wenn er in einem beliebigen Verarbeitungszustand auftritt.
  • FIFO-Aktion
    • Räumen – Zeigt an, dass das FIFO geräumt wird, indem die FIFO- Lese- und Schreibzeiger der DRAM-Grundadresse des FIFO gleichgesetzt werden.
    • keine – Zeigt an, dass keine Änderung der normalen FIFO-Verwaltung auftritt.
  • Zeiger-Aktion
    • Auf-null-Setzen – Zeigt an, dass die PTS-Zeiger in den vorgeschriebenen Zustand zurückgeführt werden, als ob der Vorgang rückgestellt worden wäre.
    • keine – Zeigt an, dass keine Änderung der normalen Zeiger-Verwaltung auftritt.
    • siehe andere Aktionen – Zeigt an, dass andere Aktionen einen Zeiger anzeigen können, der zu setzen oder rückzustellen ist, ansonsten wird es wie keine behandelt.
  • Ausgabemodus – Gibt den Ausgabemodus an, in den der Prozessor übergeht.
  • Andere Aktionen – Gibt jegliche zusätzlichen Aktionen an, die infolge des Fehlers benötigt werden.
  • Figure 00550001
  • Figure 00560001
  • Figure 00570001
  • Figure 00580001
  • Figure 00590001
  • Eine Registergruppe wird aufrechterhalten, um den Zustand des Isodaten-Vorgangs zu steuern und zu verfolgen. Die Registergruppe ist in Tabelle 2 spezifiziert.
  • Tabelle 2: Isodaten-Register
    Figure 00600001
  • Es versteht sich jetzt, dass die vorliegende Erfindung ein Verfahren und ein Gerät zum Erkennen und Korrigieren von Fehlern bereitstellt, wenn Informationsdaten wie etwa isochrone Daten in einem MPEG-2-artigen Datenstrom übermittelt werden. Die isochronen Daten folgen auf einen PES-Kopf im Nutzlastteil eines paketierten Elementarstroms. Die PES-Nutzlast beginnt mit einem isochronen Datenkopf, auf den isochrone Daten-Präsentationseinheiten folgen. Isodaten-Transportpakete werden überwacht, um Isodaten-Präsentationszeitstempel (PTS) zu lokalisieren, und die Präsentation von Isodaten von einem Puffer ist mit einem Systemzeittakt (STC) synchronisiert, der von den PTS abgeleitete Zeitinformationen verwendet. Diskontinuitätsfehler zwischen den Isodaten-Paketen werden identifiziert, und wenn möglich, wird ein Schreibzeiger des Puffers um eine angemessene Anzahl von Bits vorwärts bewegt, um die Diskontinuität zu kompensieren. Die Synchronisation der Präsentation mit Bezug auf den STC wird während des Fehlerkorrekturvorgangs aufrechterhalten. Eine Präsentationseinheitszählung und eine PES-Zählung werden aufrechterhalten, um verlorene Daten zu erkennen. Ausgabe-Zeitablauf wird verifiziert, indem eine PTS-Erweiterung und eine PTS-Verschiebung verwendet werden. Ein Paar PTS-Zeiger wird verwendet, um korrekten Datenausgabe-Zeitablauf zu verifizieren. Zusätzliche Fehlererkennungs- und Fehlerkorrektur-Techniken sind auch offenbart.
  • Obwohl die Erfindung in Verbindung mit einer bevorzugten Ausführungsform beschrieben worden ist, versteht es sich, dass zahlreiche Anpassungen und Änderungen daran vorgenommen werden können, ohne den Bereich der in den Ansprüchen dargelegten Erfindung zu verlassen.

Claims (22)

  1. Ein Verfahren zum Verwalten von Fehlern in isochronen Daten („Isodaten"), die in Bündeln von einem paketierten Datenstrom (20) empfangen werden, der in Isodaten-Transportpaketen (22a, 22b, ... 22g) fester Länge Isodaten-Präsentationseinheiten (18) trägt, wobei jedes der Transportpakete (22a, 22b, ... 22g) eine Paketkennung (PID) umfasst und wobei mindestens einige der Pakete einen Präsentationszeitstempel (PTS) (52) enthalten, der anzeigt, zu welchem Zeitpunkt die Präsentation fester Rate von Isodaten-Präsentationseinheiten (18) von einem Puffer (152), in dem sie beim Empfangen vorübergehend gespeichert wurden, begonnen werden soll, wobei das Verfahren folgende Schritte beinhaltet: Überwachen des Datenstroms (20), um die Isodaten-Transportpakete (22a, 22b, ... 22g) identifizierenden PID zu erkennen; Überwachen der durch die PID identifizierten Isodaten-Transportpakete (22a, 22b, ... 22g), um die Isodaten-PTS (52) zu lokalisieren; Synchronisieren der Präsentation der Präsentationseinheiten (18) von dem Puffer (152) mit einem Systemzeittakt (STC) (162), wobei Zeitinformationen verwendet werden, die von den lokalisierten Isodaten-PTS (52) abgeleitet werden; Identifizieren eines Fehlers in einem der Isodaten-Transportpakete (22a, 22b, ... 22g) und, wenn ein Fehler identifiziert wird, Vorwärtsbewegen eines Schreibzeigers (156) des Puffers (152) um eine angemessene Anzahl von Bits, um den Fehler zu umgehen, während die Synchronisation der Präsentation mit Bezug auf den STC (162) aufrechterhalten wird.
  2. Verfahren gemäß Anspruch 1, wobei der Schritt des Identifizierens eines Fehlers Folgendes beinhaltet: Identifizieren von Diskontinuitätsfehlern zwischen aufeinander folgenden der Isodaten-Transportpakete (22a, 22b, ... 22g) und, wenn eine Diskontinuität von nicht mehr als einem Paket identifiziert wird, Vorwärtsbewegen des Schreibzeigers (156) des Puffers (152) um eine angemessene Anzahl von Bits, um den Diskontinuitätsfehler zu kompensieren, während die Synchronisation der Präsentation mit Bezug auf den STC (162) aufrechterhalten wird.
  3. Verfahren gemäß Anspruch 1, wobei ein erster und zweiter PTS-Zeiger (176, 178) bereitgestellt sind, so dass jeder einen unterschiedlichen PTS-Wert und eine Adresse des Puffers (152) aufrechterhält, die identifiziert, wo eine Präsentationseinheit (18), die durch den PTS-Wert bezeichnet wird, gespeichert ist, wobei die Synchronisation der Präsentation durch folgende weitere Schritte aufrechterhalten wird: Ersetzen des PTS-Werts und der Adresse für einen der PTS-Zeiger durch einen neuen PTS-Wert und eine neue Adresse, nachdem die in der Adresse, die dem ersetzten Wert zugehörig ist, gespeicherten Daten von dem Puffer (152) präsentiert wurden; wenn die neue Adresse erreicht ist, Anhalten der Präsentation von Daten von dem Puffer (152), wenn der STC (162) einer von dem neuen PTS-Wert abgeleiteten Präsentationszeit nicht gleich ist; und wenn die Präsentation angehalten wurde, Wiederaufnehmen der Präsentation von Daten von dem Puffer (152), wenn der STC (162) die von dem neuen PTS-Wert abgeleitete Präsentationszeit erreicht.
  4. Verfahren gemäß Anspruch 3, wobei neue. PTS-Werte im Verlauf der Zeit von den Isodaten-Transportpaketen (22a, 22b, ... 22g) empfangen werden, wobei das Verfahren folgende weitere Schritte beinhaltet: Ermitteln, ob beide der PTS-Zeiger (176, 178) PTS-Werte enthalten, die noch nicht verwendet wurden, um Daten von dem Puffer (152) zu präsentieren, wenn ein neuer PTS-Wert empfangen wird; und wenn ja, Ersetzen des PTS-Werts und der zugehörigen Adresse in dem zuletzt aktualisierten PTS-Zeiger durch den neuen PTS-Wert und die neue Adresse, wodurch der älteste nicht verwendete PTS-Wert und die Adresse zur Verwendung beim Synchronisieren der Präsentation der Präsentationseinheiten von dem Puffer (152) aufrechterhalten werden.
  5. Verfahren gemäß Anspruch 1, wobei ein PTS-Zeiger bereitgestellt ist, um einen gegenwärtigen PTS-Wert zusammen mit einer Adresse des Puffers (152), die identifiziert, wo eine Präsentationseinheit (18), die durch den gegenwärtigen PTS-Wert bezeichnet wird, gespeichert ist, aufrechtzuerhalten, wobei die Synchronisation der Präsentation durch die folgenden weiteren Schritte aufrechterhalten wird: Ersetzen des PTS-Werts in dem PTS-Zeiger durch einen neuen gegenwärtigen PTS-Wert, nachdem bei der Adresse gespeicherte Daten von dem Puffer (152) präsentiert wurden; Ersetzen der Adresse in dem PTS-Zeiger durch eine neue Adresse, die einer Präsentationseinheit (18), die durch den neuen gegenwärtigen PTS-Wert bezeichnet wird, entspricht; wenn die neue Adresse erreicht ist, Anhalten der Präsentation von Daten von dem Puffer (152), wenn der STC (162) einer von dem neuen gegenwärtigen PTS-Wert abgeleiteten Präsentationszeit nicht gleich ist; und wenn die Präsentation angehalten wurde, Wiederaufnehmen der Präsentation von Daten von dem Puffer (152), wenn der STC (162) die von dem neuen gegenwärtigen PTS-Wert abgeleitete Präsentationszeit erreicht.
  6. Verfahren gemäß Anspruch 5, wobei die Präsentationseinheiten (18), die von dem paketierten Datenstrom (20) getragen werden, von Paketen (12) des paketierten Elementarstroms (PES) zugeführt werden, die die Präsentationseinheiten (18) zusammen mit Informationen tragen, die die Länge jedes PES-Pakets (12) anzeigen, wobei das Verfahren die folgenden weiteren Schritte beinhaltet: Ermitteln, ob sich eine Menge von tatsächlich für ein gegebenes PES-Paket (12) empfangener Präsentationseinheitsdaten von einer Menge von Daten, die empfangen werden sollten, wie durch die PES-Paketlängeninformationen angezeigt, unterscheidet; und Anzeigen eines Fehlers, wenn die verglichenen Mengen von Daten nicht übereinstimmen.
  7. Verfahren gemäß Anspruch 6, das die folgenden weiteren Schritte beinhaltet: Auf-null-Setzen des PTS-Zeigers und vorübergehendes Blockieren der Präsentation von Daten von dem Puffer (152) in dem Fall, dass zusätzliche Präsentationseinheitsdaten in der Abwesenheit eines neuen PES-Paketanzeigers weiter ankommen, nachdem die PES-Paketlängeninformationen anzeigen, dass alle Daten für das gegebene PES-Paket (12) bereitgestellt wurden; und Wiederaufnehmen der Präsentation von Daten von dem Puffer (152) auf der Basis eines neuen PTS-Werts, der in dem PTS-Zeiger bereitgestellt ist, nachdem der PTS-Zeiger auf null gesetzt wurde.
  8. Verfahren gemäß Anspruch 6, wobei der erste und zweite PTS-Zeiger (176, 178) bereitgestellt sind, so dass jeder einen unterschiedlichen PTS-Wert und eine Adresse des Puffers (152) aufrechterhält, die identifiziert, wo eine Präsentationseinheit (18), die durch den PTS-Wert bezeichnet wird, gespeichert ist, wenn neue PTS-Werte im Verlauf der Zeit von den Isodaten-Transportpaketen (22a, 22b, ... 22g) empfangen werden, wobei das Verfahren die folgenden weiteren Schritte beinhaltet: Ermitteln, ob beide der PTS-Zeiger (176, 178) PTS-Werte enthalten, die noch nicht verwendet wurden, um Daten von dem Puffer (152) zu präsentieren, wenn ein neuer PTS-Wert empfangen wird, und wenn ja, Ersetzen des PTS-Werts und der zugehörigen Adresse in dem zuletzt aktualisierten PTS-Zeiger durch den neuen PTS-Wert und die neue Adresse, wodurch der älteste nicht verwendete PTS-Wert und die Adresse zur Verwendung beim Synchronisieren der Präsentation der Präsentationseinheiten (18) von dem Puffer (152) aufrechterhalten werden; Auf-null-Setzen beider PTS-Zeiger (176, 178) und vorübergehendes Blockieren der Präsentation von Daten von dem Puffer (152) in dem Fall, dass zusätzliche Präsentationseinheitsdaten in der Abwesenheit eines neuen PES-Paketanzeigers weiter ankommen, nachdem die PES-Paketlängeninformationen anzeigen, dass alle Daten für das gegebene PES-Paket (12) bereitgestellt wurden; und Wiederaufnehmen der Präsentation von Daten von dem Puffer (152) auf der Basis eines neuen PTS-Werts, der in einem der PTS-Zeiger bereitgestellt ist, nachdem die PTS-Zeiger (176, 178) auf null gesetzt wurden.
  9. Verfahren gemäß einem der vorhergehenden Ansprüche, wobei: die Isodaten-Präsentationseinheiten (18), die in den Isodaten-Transportpaketen (22a, 22b, ... 22g) fester Länge getragen werden, von Isodaten-Paketen (12) des paketierten Elementarstroms (PES) erhalten werden, und die angemessene Anzahl von Bits zum Vorwärtsbewegen des Schreibzeigers (156) als Reaktion auf eine Zählung von PES-Nutzbyte, die aus den Isodaten-Transportpaketen (22a, 22b, ... 22g) wiedergewonnen werden, ermittelt wird.
  10. Verfahren gemäß Anspruch 9, wobei die Isodaten-Transportpakete (22a, 22b, ... 22g) fester Länge jeweils 188 Byte beinhalten, und: wenn die Zählung anzeigt, dass mindestens noch 184 Byte für das gegenwärtige PES-Paket (12) zu empfangen sind, wird die Zählung um 184 dekrementiert und der Schreibzeiger (156) um 184 Byteadressen vorwärts bewegt; wenn die Zählung anzeigt, dass keine Byte mehr für das gegenwärtige PES-Paket (12) zu empfangen sind, wird die Zählung auf den Wert einer vorherigen PES-Paketlänge eingestellt und dann um 178 dekrementiert, und der Schreibzeiger (156) wird um 164 Byteadressen vorwärts bewegt; und wenn die Zählung anzeigt, dass N Byte, wobei 1 ≤ N ≤ 183, noch für das gegenwärtige PES-Paket zu empfangen sind, wird die Zählung um N dekrementiert und der Schreibzeiger (156) um N Byteadressen vorwärts bewegt.
  11. Verfahren gemäß Anspruch 1, wobei der Schritt des Identifizierens eines Fehlers Folgendes beinhaltet: Überwachen der durch die PID identifizierten Isodaten-Transportpakete (22a, 22b, ... 22g), um zu ermitteln, ob irgendwelche von ihnen als verschlüsselt bezeichnet sind, nachdem jegliche Verschlüsselungen entfernt worden sein sollten; und wenn nur ein Einzelpaket als verschlüsselt bezeichnet ist, nachdem alle Verschlüsselungen entfernt worden sein sollten, Vorwärtsbewegen des Schreibzeiger (156) des Puffers (152) um eine angemessene Anzahl von Bits, um das Einzelpaket zu ignorieren, während die Synchronisation der Präsentation mit Bezug auf den STC (162) aufrechterhalten wird.
  12. Ein Decodierer zum Empfangen und Verwalten von Fehlern in isochronen Daten („Isodaten"), die von einem paketierten Datenstrom (20), der Isodaten-Präsentationseinheiten (18) in Isodaten-Transportpaketen (22a, 22b, ... 22g) fester Länge trägt, in Bündeln empfangen werden, wobei jedes der Transportpakete (22a, 22b, ... 22g) eine Paketkennung (PID) umfasst, und wobei mindestens einige der Pakete einen Präsentationszeitstempel (PTS) (52) enthalten, der anzeigt, zu welchem Zeitpunkt die Präsentation fester Rate von Isodaten-Präsentationseinheiten (18) von einem Puffer (152) aus angefangen werden soll, in dem sie beim Empfangen vorübergehend gespeichert werden, wobei der Decodierer Folgendes beinhaltet: Mittel (96) zum Überwachen des Datenstroms, um PID zu erkennen, welche die Isodaten-Transportpakete (22a, 22b, ... 22g) identifizieren; Mittel (98, 102) zum Überwachen der durch die PID identifizierten Isodaten-Transportpakete (22a, 22b, ... 22g), um die Isodaten-PTS (52) zu lokalisieren; Mittel (158) zum Synchronisieren der Präsentation der Präsentationseinheiten (18) von dem Puffer (152) mit einem Systemzeittakt (STC) (162), wobei Zeitinformationen verwendet werden, die von den lokalisierten Isodaten-PTS (52) abgeleitet werden; Mittel (98, 170, 172) zum Identifizieren eines Fehlers in einem der Isodaten-Transportpakete (22a, 22b, ... 22g) und, wenn ein Fehler identifiziert wird, Vorwärtsbewegen eines Schreibzeigers (156) des Puffers (152) um eine angemessene Anzahl von Bits, um den Fehler zu umgehen, während die Synchronisation der Präsentation mit Bezug auf den STC (162) aufrechterhalten wird.
  13. Decodierer gemäß Anspruch 12, wobei die Mittel zum Identifizieren eines Fehlers Folgendes beinhalten: Mittel (98) zum Identifizieren von Diskontinuitätsfehlern zwischen aufeinander folgenden der Isodaten-Transportpakete (22a, 22b, ... 22g) und, wenn eine Diskontinuität von nicht mehr als einem Paket identifiziert wird, Vorwärtsbewegen des Schreibzeigers (156) des Puffers (152) um eine angemessene Anzahl von Bits, um die Diskontinuität zu kompensieren, während die Synchronisation der Präsentation mit Bezug auf den STC (162) aufrechterhalten wird.
  14. Decodierer gemäß Anspruch 12, wobei der erste und zweite PTS-Zeiger (176, 178) bereitgestellt sind, so dass jeder einen unterschiedlichen PTS-Wert und eine Adresse des Puffers (152) aufrechterhält, die identifiziert, wo eine Präsentationseinheit (18), die durch den PTS-Wert bezeichnet wird, gespeichert ist, wobei die Synchronisation der Präsentation durch Mittel aufrechterhalten wird zum: Ersetzen des PTS-Werts und der Adresse für einen der PTS-Zeiger (176, 178) durch einen neuen PTS-Wert und eine neue Adresse, nachdem die in der Adresse, die dem ersetzten Wert zugehörig ist, gespeicherten Daten von dem Puffer (152) präsentiert wurden; wenn die neue Adresse erreicht ist, Anhalten der Präsentation von Daten von dem Puffer (152), wenn der STC (162) einer von dem neuen PTS-Wert abgeleiteten Präsentationszeit nicht gleich ist; und Wiederaufnehmen der Präsentation von Daten von dem Puffer (152), wenn der STC (162) die von dem neuen PTS-Wert abgeleitete Präsentationszeit erreicht, wenn die Präsentation angehalten wurde.
  15. Decodierer gemäß Anspruch 14, wobei neue PTS-Werte im Verlauf der Zeit von den Isodaten-Transportpaketen empfangen werden, wobei der Decodierer weiter Folgendes beinhaltet: Mittel (156, 174) zum Ermitteln, ob beide der PTS-Zeiger (176, 178) PTS-Werte enthalten, die noch nicht verwendet wurden, um Daten von dem Puffer (152) zu präsentieren, wenn ein neuer PTS-Wert empfangen wird; und Mittel (174), die auf die Ermittlungsmittel reagieren, wenn keiner der PTS-Werte in den Zeigern (176, 178) verwendet wurde, wenn ein neuer PTS-Wert empfangen wird, zum Ersetzen des PTS-Werts und der zugehörigen Adresse in dem zuletzt aktualisierten PTS-Zeiger durch den neuen PTS-Wert und die neue Adresse, wodurch der älteste nicht verwendete PTS-Wert und die Adresse zur Verwendung beim Synchronisieren der Präsentation der Präsentationseinheiten von dem Puffer (152) aufrechterhalten werden.
  16. Decodierer gemäß Anspruch 12, wobei ein PTS-Zeiger bereitgestellt ist, um einen gegenwärtigen PTS-Wert zusammen mit einer Adresse des Puffers (152), die identifiziert, wo eine Präsentationseinheit (18), die durch den gegenwärtigen PTS-Wert bezeichnet wird, gespeichert ist, aufrechtzuerhalten, wobei die Synchronisation der Präsentation durch Mittel aufrechterhalten wird zum: Ersetzen des PTS-Werts in dem PTS-Zeiger durch einen neuen gegenwärtigen PTS-Wert, nachdem bei der Adresse gespeicherte Daten von dem Puffer (152) präsentiert wurden; Ersetzen der Adresse in dem PTS-Zeiger durch eine neue Adresse, die einer Präsentationseinheit (18), die durch den neuen gegenwärtigen PTS-Wert bezeichnet wird, entspricht; Anhalten der Präsentation von Daten von dem Puffer (152), wenn der STC (162) einer von dem neuen gegenwärtigen PTS-Wert abgeleiteten Präsentationszeit nicht gleich ist, wenn die neue Adresse erreicht ist; und Wiederaufnehmen der Präsentation von Daten von dem Puffer (152), wenn der STC (162) die von dem neuen gegenwärtigen PTS-Wert abgeleitete Präsentationszeit erreicht, wenn die Präsentation angehalten wurde.
  17. Decodierer gemäß einem der Ansprüche 12 bis 16, wobei die Präsentationseinheiten (18), die von dem paketierten Datenstrom (20) getragen werden, von den Paketen (12) des paketierten Elementarstroms (PES) zugeführt werden, die die Präsentationseinheiten (18) zusammen mit Informationen tragen, die die Länge jedes PES-Pakets (12) anzeigen, wobei der Decodierer weiter Folgendes beinhaltet: Mittel (170, 172) zum Ermitteln, ob sich eine Menge von tatsächlich für ein gegebenes PES-Paket (12) empfangenen Präsentationseinheitsdaten von einer Menge von Daten, die empfangen werden sollten, wie durch die PES-Paketlängeninformationen angezeigt, unterscheidet; und Mittel (172) die auf die Ermittlungsmittel reagieren, zum Anzeigen eines Fehlers, wenn die verglichenen Mengen von Daten nicht übereinstimmen.
  18. Decodierer gemäß Anspruch 16 oder 17, der ferner Folgendes beinhaltet: Mittel (174) zum Auf-null-Setzen des PTS-Zeigers (176, 178) und vorübergehendes Blockieren der Präsentation von Daten von dem Puffer (152) in dem Fall, dass zusätzliche Präsentationseinheitsdaten in der Abwesenheit eines neuen PES-Paketanzeigers weiter ankommen, nachdem die PES-Paketlängeninformationen anzeigen, dass alle Daten für das gegebene PES-Paket (12) bereitgestellt wurden; und Mittel (174) zum Wiederaufnehmen der Präsentation von Daten von dem Puffer (152), auf der Basis eines neuen PTS-Werts, der in dem PTS-Zeiger (176, 178) bereitgestellt ist, nachdem der PTS-Zeiger (176, 178) auf null gesetzt wurde.
  19. Decodierer gemäß einem der Ansprüche 12 bis 17, wobei der erste und zweite PTS-Zeiger (176, 178) bereitgestellt sind, so dass jeder einen unterschiedlichen PTS-Wert und eine Adresse des Puffers (152) aufrechterhält, die identifiziert, wo eine Präsentationseinheit (18), die durch den PTS-Wert bezeichnet wird, gespeichert ist, wenn neue PTS-Werte im Verlauf der Zeit von den Isodaten- Transportpaketen (22a, 22b, ... 22g) empfangen werden, wobei der Decodierer weiter Mittel beinhaltet zum: Ermitteln, ob beide der PTS-Zeiger (176, 178) PTS-Werte enthalten, die noch nicht verwendet wurden, um Daten von dem Puffer (152) zu präsentieren, wenn ein neuer PTS-Wert empfangen wird, und wenn ja, Ersetzen des PTS-Werts und der zugehörigen Adresse in dem zuletzt aktualisierten PTS-Zeiger (176, 178) durch den neuen PTS-Wert und die neue Adresse, wodurch der älteste nicht verwendete PTS-Wert und die Adresse zur Verwendung beim Synchronisieren der Präsentation der Präsentationseinheiten (18) von dem Puffer (152) aufrechterhalten werden; Auf-null-Setzen beider PTS-Zeiger (176, 178) und vorübergehendes Blockieren der Präsentation von Daten von dem Puffer (152) in dem Fall, dass zusätzliche Präsentationseinheitsdaten in der Abwesenheit eines neuen PES-Paketanzeigers weiter ankommen, nachdem die PES-Paketlängeninformationen anzeigen, dass alle Daten für das gegebene PES-Paket (12) bereitgestellt wurden; und Wiederaufnehmen der Präsentation von Daten von dem Puffer (152), auf der Basis eines neuen PTS-Werts, der in einem der PTS-Zeiger bereitgestellt ist, nachdem die PTS-Zeiger (176, 178) auf null gesetzt wurden.
  20. Decodierer gemäß einem der Ansprüche 12 bis 19, wobei: die Isodaten-Präsentationseinheiten (18), die in den Isodaten-Transportpaketen (22a, 22b, ... 22g) fester Länge getragen werden, von Isodaten-Paketen (12) des paketierten Elementarstroms (PES) erhalten werden, und ein Zähler (170) eine Zählung von PES-Nutzbyte, die aus den Isodaten-Transportpaketen (22a, 22b, ... 22g) wiedergewonnen werden, bereitstellt, wobei die angemessene Anzahl von Bits zum Vorwärtsbewegen des Schreibzeigers (156) als Reaktion auf die Zählung ermittelt wird.
  21. Decodierer gemäß Anspruch 20, wobei jedes der Isodaten-Transportpakete fester Länge 188 Byte beinhaltet, und: wenn die Zählung anzeigt, dass mindestens noch 184 Byte für das gegenwärtige PES-Paket (12) zu empfangen sind, wird die Zählung um 184 dekrementiert und der Schreibzeiger (156) um 184 Byteadressen vorwärts bewegt; wenn die Zählung anzeigt, dass keine Byte mehr für das gegenwärtige PES-Paket (12) zu empfangen sind, wird die Zählung auf den Wert einer vorherigen PES-Paketlänge eingestellt und dann um 178 dekrementiert, und der Schreibzeiger (156) wird um 164 Byteadressen vorwärts bewegt; und wenn die Zählung anzeigt, dass N Byte, wobei 1 ≤ N ≤ 183, für das gegenwärtige PES-Paket (12) zu empfangen sind, wird die Zählung um N dekrementiert und der Schreibzeiger (156) um N Byteadressen vorwärts bewegt.
  22. Decodierer gemäß Anspruch 12, wobei die Mittel zum Identifizieren eines Fehlers Folgendes beinhalten: Mittel (98) zum Ermitteln, ob irgendwelche der durch die PID identifizierten Isodaten-Transportpakete (22a, 22b, ... 22g) als verschlüsselt identifiziert wurden, nachdem jegliche Verschlüsselungen entfernt worden sein sollten; und Mittel, die auf die Ermittlungsmittel (98) reagieren, wenn nur ein Einzelpaket als verschlüsselt bezeichnet ist, nachdem jegliche Verschlüsselungen entfernt worden sein sollten, wobei ein Schreibzeiger (156) des Puffers (152) um eine angemessene Anzahl von Bits vorwärts bewegt wird, um das Einzelpaket zu ignorieren, während die Synchronisation der Präsentation mit Bezug auf den STC (162) aufrechterhalten wird.
DE69732927T 1996-05-10 1997-05-09 Fehlererkennung und -beseitigung für hohenrate isochronen Daten in einen MPEG-2 Datenstrom Expired - Lifetime DE69732927T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US1746796P 1996-05-10 1996-05-10
US17467 1996-07-11
US678108 1996-07-11
US08/678,108 US5742623A (en) 1995-08-04 1996-07-11 Error detection and recovery for high rate isochronous data in MPEG-2 data streams

Publications (2)

Publication Number Publication Date
DE69732927D1 DE69732927D1 (de) 2005-05-04
DE69732927T2 true DE69732927T2 (de) 2006-04-13

Family

ID=26689905

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69732927T Expired - Lifetime DE69732927T2 (de) 1996-05-10 1997-05-09 Fehlererkennung und -beseitigung für hohenrate isochronen Daten in einen MPEG-2 Datenstrom
DE69717710T Expired - Lifetime DE69717710T2 (de) 1996-05-10 1997-05-09 Zeitfehlerbeseitigung bei isochroner Paketdatenübertragung

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE69717710T Expired - Lifetime DE69717710T2 (de) 1996-05-10 1997-05-09 Zeitfehlerbeseitigung bei isochroner Paketdatenübertragung

Country Status (5)

Country Link
EP (1) EP0806874B1 (de)
JP (1) JPH10136355A (de)
KR (2) KR100449183B1 (de)
CA (1) CA2204828C (de)
DE (2) DE69732927T2 (de)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3526225B2 (ja) 1998-11-04 2004-05-10 シャープ株式会社 デジタル放送受信装置
US7508874B2 (en) * 2002-01-29 2009-03-24 Broadcom Corporation Error concealment for MPEG decoding with personal video recording functionality
JP2006303703A (ja) * 2005-04-18 2006-11-02 Mitsubishi Electric Corp ネットワーク中継装置
FR2926691A1 (fr) * 2008-06-30 2009-07-24 Thomson Licensing Sas Procede de diffusion de donnees et emetteur dans un reseau sfn
JP5710130B2 (ja) * 2009-02-13 2015-04-30 Necパーソナルコンピュータ株式会社 再生装置、制御方法及びプログラム
CN112653924A (zh) * 2020-12-15 2021-04-13 上海安路信息科技有限公司 Hdmi接收方法及装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4852127A (en) * 1985-03-22 1989-07-25 American Telephone And Telegraph Company, At&T Bell Laboratories Universal protocol data receiver
FR2648972B1 (fr) * 1989-06-27 1994-08-26 Thomson Csf Dispositif de synchronisation pour un decodeur de donnees codees par un code a longueur variable
US5287351A (en) * 1990-11-27 1994-02-15 Scientific-Atlanta, Inc. Method and apparatus for minimizing error propagation in correlative digital and communication system
TW241350B (de) * 1991-11-07 1995-02-21 Rca Thomson Licensing Corp
US5289276A (en) * 1992-06-19 1994-02-22 General Electric Company Method and apparatus for conveying compressed video data over a noisy communication channel
DE69328626T2 (de) * 1992-10-21 2001-02-08 Pumpkin House Inc Fotokopierer mit kodierungsfunktion
US5450425A (en) * 1993-11-19 1995-09-12 Multi-Tech Systems, Inc. Protocol for communication of a data packet
JP3197766B2 (ja) * 1994-02-17 2001-08-13 三洋電機株式会社 Mpegオーディオデコーダ、mpegビデオデコーダおよびmpegシステムデコーダ
CA2146472C (en) * 1994-04-22 2007-10-09 Kevin Elliott Bridgewater Packet video signal inverse transport processor with memory address circuitry
AU8009894A (en) * 1994-08-29 1996-03-22 Futuretel, Inc. Measuring and regulating synchronization of merged video and audio data
US5517250A (en) * 1995-02-28 1996-05-14 General Instrument Corporation Of Delaware Acquisition of desired data from a packetized data stream and synchronization thereto

Also Published As

Publication number Publication date
MX9703396A (es) 1997-11-29
EP0806874A2 (de) 1997-11-12
EP0806874B1 (de) 2002-12-11
CA2204828A1 (en) 1997-11-10
EP0806874A3 (de) 2000-09-20
CA2204828C (en) 2004-11-23
DE69717710T2 (de) 2003-09-18
JPH10136355A (ja) 1998-05-22
KR970076172A (ko) 1997-12-12
KR100449183B1 (ko) 2004-12-03
DE69732927D1 (de) 2005-05-04
DE69717710D1 (de) 2003-01-23
KR20070058153A (ko) 2007-06-08

Similar Documents

Publication Publication Date Title
DE69736031T2 (de) Transportdekodierer für MPEG-2
US6275507B1 (en) Transport demultiplexor for an MPEG-2 compliant data stream
US6356567B2 (en) Embedded clock recovery and difference filtering for an MPEG-2 compliant transport stream
US6115422A (en) Protocol and procedure for time base change in an MPEG-2 compliant datastream
DE69731865T2 (de) Verfahren zur Verbindung von komprimierten paketierten digitalen Videoströmen
DE69534750T2 (de) Umwandlungssystem für MPEG-Informationssignale
DE69812994T2 (de) Verfahren und vorrichtung für nicht-sequentiellen zugang zu einem laufenden videoprogramm
DE69333982T2 (de) Verfahren zum Anordnen komprimierter Videodaten zur Übertragung über einen verrauschten Kanal
US6026506A (en) Concealing errors in transport stream data
DE69732041T2 (de) Verfahren und vorrichtung zur analyse von bitströmen
DE69434075T2 (de) Synchronisierungseinrichtung für ein komprimiertes Videosignal
US6181706B1 (en) Common buffer for multiple streams and control registers in an MPEG-2 compliant transport register
DE69628513T2 (de) Vorrichtung und Verfahren zur Bereitstellung eines interaktiven Programmführers für Veranstaltungen in einem Informationsnetzwerk
DE69837726T2 (de) Verfahren und Vorrichtung zum Realisieren einer nahtlosen Wiedergabe von kontinuierlichen Medien-Zuführungen
DE19811292B4 (de) MPEG-II-System mit PES-Decodierer
DE69633475T2 (de) Aufnahme gewünschter Daten aus einem Strom paketierter Daten und Synchronisierung davon
DE60102831T2 (de) System und verfahren zur verarbeitung von mpeg-stroemen fuer die einfuegung von dateiindex
DE69830752T2 (de) Verfahren und Anlage zur Aufnahme vielfachprotokoll-komprimierter Ton- und Videodaten
DE4322356B4 (de) Einrichtung zum Steuern der Rücksetzung in einem Videosignalcodierer
DE69825526T2 (de) Korrektur der vorgegebenen Zeit
DE69925254T2 (de) Verfahren und vorichtung zur mediendatenübertragung
DE60106286T2 (de) Zeitbasisreferenzdatumregeneration für mpeg-transportströme
DE69929989T2 (de) Videokomponentanbindungsverfahren für zwei digitale bildtonprogramme mit duplikation von halbbildern
DE602004000879T2 (de) Bildwiedergabegerät
US8306170B2 (en) Digital audio/video clock recovery algorithm

Legal Events

Date Code Title Description
8364 No opposition during term of opposition