DE69633475T2 - Aufnahme gewünschter Daten aus einem Strom paketierter Daten und Synchronisierung davon - Google Patents

Aufnahme gewünschter Daten aus einem Strom paketierter Daten und Synchronisierung davon Download PDF

Info

Publication number
DE69633475T2
DE69633475T2 DE69633475T DE69633475T DE69633475T2 DE 69633475 T2 DE69633475 T2 DE 69633475T2 DE 69633475 T DE69633475 T DE 69633475T DE 69633475 T DE69633475 T DE 69633475T DE 69633475 T2 DE69633475 T2 DE 69633475T2
Authority
DE
Germany
Prior art keywords
video
image
information
header
pes
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 - Fee Related
Application number
DE69633475T
Other languages
English (en)
Other versions
DE69633475D1 (de
Inventor
Chris Calabasas Hoogenboom
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
Application filed by Arris Technology Inc, General Instrument Corp filed Critical Arris Technology Inc
Application granted granted Critical
Publication of DE69633475D1 publication Critical patent/DE69633475D1/de
Publication of DE69633475T2 publication Critical patent/DE69633475T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Description

  • Die vorliegende Erfindung bezieht sich auf einen Videodekompressionsprozessor, und insbesondere auf ein effizientes Modell zum Erfassen erwünschter Daten, wie etwa zu decodierender Videodaten, aus einem paketierten Datenstrom.
  • Digitale Übertragung von Fernsehsignalen kann Video- und Audiodienstleistungen liefern, die eine viel höhere Qualität als analoge Techniken aufweisen. Digitale Übertragungsmodelle insbesondere für Signale von Vorteil, die über ein Kabelfernsehnetz oder über Satelliten zu angeschlossenen Kabelfernsehunternehmen und/oder direkt zu Heimsatellitenfernsehempfängern rundgesendet werden. Es wird erwartet, dass digitale Fernsehsender- und -empfängersysteme existierende analoge Systeme genauso ersetzen werden, wie in der Audioindustrie digitale CDs analoge Schallplattenaufzeichnungen ersetzt haben.
  • Bei jedem digitalen Fernsehsystem muss eine wesentliche Menge digitaler Daten übertragen werden. Bei einem digitalen Fernsehsystem empfängt ein Teilnehmer den digitalen Datenstrom über einen Empfänger/Entwürfler, der dem Teilnehmer Video, Audio und Daten liefert. Um das verfügbare Funkfrequenzspektrum am effizientesten zu nutzen, ist es vorteilhaft, die digitalen Fernsehsignale zu komprimieren, um die Datenmenge, die übertragen werden muss, zu minimieren.
  • Der Videoteil eines Fernsehsignals umfasst eine Sequenz von Video- „Einzelbildern", die zusammen ein sich bewegendes Bild bereitstellen. Bei digitalen Fernsehsystemen ist jede Zeile eines Videoeinzelbildes durch eine Sequenz digitaler Datenbits definiert, die als „Pixel" bezeichnet werden. Zum Definieren jedes Videoeinzelbildes eines Fernsehsignals ist eine große Datenmenge erforderlich. Zum Beispiel sind 7,4 Megabit an Daten erforderlich, um ein Videoeinzelbild mit NTSC (National Television System Committee)-Auflösung bereitzustellen. Dabei wird angenommen, dass eine Anzeige aus 640 Pixeln mal 480 Zeilen mit acht Bits an Intensitätswert für jede der Primärfarben Rot, Grün und Blau verwendet wird. Um bei PAL (phase alternation line = zeilenweiser Phasenwechsel)-Auflösung ein Videoeinzelbild bereitzustellen, sind 9,7 Megabits an Daten erforderlich. In diesem Fall wird eine Anzeige aus 704 Pixeln mal 576 Zeilen mit acht Bits an Intensitätswert für jede der Primärfarben Rot, Grün und Blau verwendet. Um diese Informationsmenge zu verwalten, müssen die Daten komprimiert werden.
  • Videokompressionstechniken ermöglichen die effiziente Übertragung digitaler Videosignale über herkömmliche Kommunikationskanäle. Derartige Techniken verwenden Kompressionsalgorithmen, die die Korrelation zwischen benachbarten Pixeln nutzen, um eine effizientere Darstellung der wichtigen Informationen in einem Videosignal abzuleiten. Die leistungsfähigsten Kompressionssysteme nutzen nicht nur die räumliche Korrelation, sondern können auch Ähnlichkeiten zwischen benachbarten Einzelbildern benutzen, um die Daten weiter zu verdichten. Bei derartigen Systemen wird üblicherweise eine Differenzcodierung verwendet, um nur die Differenz zwischen einem tatsächlichen Einzelbild und einer Prädiktion des tatsächlichen Einzelbildes zu übertragen. Die Prädiktion basiert auf aus einem vorausgegangenen Einzelbild derselben Videosequenz abgeleiteten Informationen.
  • Beispiele von Videokompressionssystemen, die Bewegungskompensation verwenden, finden sich bei Krause et al., U.S. Patente 5,057,916; 5,068,724; 5,091,782; 5,093,720 und 5,235,419. Im Allgemeinen nutzen derartige Bewegungskompensationssysteme einen Block zuordnenden Bewegungsabschätzalgorithmus aus. In diesem Fall wird ein Bewegungsvektor für jeden Block in einem aktuellen Einzelbild eines Abbildes bestimmt, indem in einem vorausgegangenen Einzelbild ein Block identifiziert wird, der dem jeweiligen aktuellen Block am ehesten ähnelt. Das ganze aktuelle Einzelbild kann dann bei einem Decodierer rekonstruiert werden, indem die Differenz zwischen den entsprechenden Blockpaaren, zusammen mit den Bewegungsvektoren, die zum Identifizieren der entsprechenden Paare benötigt werden, gesendet wird. Die Menge übertragener Daten wird oftmals weiter reduziert, indem sowohl die versetzten Blockdifferenzen als auch die Bewegungsvektorsignale komprimiert werden. Block zuordnende Bewegungsschätzalgorithmen sind besonders effektiv, wenn sie mit auf Blöcken basierenden räumlichen Kompressionstechniken, wie etwa der diskreten Cosinus-Transformation (DCT), kombiniert werden.
  • Ein Weg zur Übertragung der komprimierten Videodaten an einen Empfänger ist in der Form von Paketen, die in einem paketierten Datenstrom enthalten sind. Typischerweise werden die die komprimierten Videodaten tragenden Pakete mit anderen Paketen, welche z. B. entsprechende Audiodaten und Steuerinformationen tragen, die zur Rekonstruktion eines Fernsehsignals notwendig sind, gemultiplext. Eine Norm zum Transport digitaler Fernsehsignale auf diese Weise ist die MPEG-2-Norm, deren Einzelheiten in dem Dokument AVC-491, 1. Version, April 1993, veröffentlicht vom Telecommunications Standardization Sector, Study Group 15, Experts Group 4ATM-Video Coding der International Organisation for Standardization, ISO-IEC/JTC1/SC29/VUG11 mit dem Titel „Coded Representation of Picture and Audio Information", gefunden werden können. Weitere Einzelheiten der Videosyntax und -semantik für MPEG-2-Video können in dem Dokument ISO/IEC 13818-2 Internationale Norm, 1995, der International Organisation for Standardization mit dem Titel „Generic Coding of Moving Pictures and Associated Audio Information: Video" gefunden werden. Ebenfalls von Interesse ist das Dokument MC68VDP/D, ein vorläufiges Datenblatt mit dem Titel „MPEG-2/DCII Video Decompression Processor", ©Motorola Microprocessor and Memory Technologies Group, 1994, das einen Videodekompressionsprozessor, der die MPEG-2- und die DigiCipher® II-Norm verwendet, beschreibt.
  • Bei dem MPEG-2-System (und dem ähnlichem DigiCipher® II-System, gesetzlich geschützt für General Instrument Corporation, dem Zessionar hiervon) ist ein Transportstrom oder Transportmultiplex aus einem angrenzenden Satz von Paketen fester Länge zusammengesetzt. Jedes Paket ist insgesamt 188 Bytes lang, wobei die ersten vier dieser Bytes als Paketkopf definiert sind. Der Nutzlastteil jedes Pakets beträgt somit normalerweise 184 Bytes. Es kann jedoch ein Anpassungsfeld mit variabler Länge bereitgestellt sein, um den Anfangsblock bei Bedarf zu erweitern. Wenn ein Anpassungsfeld vorhanden ist, ist der Nutzlastteil des Pakets entsprechend kürzer.
  • Verschiedene Zeitsteuerungs- und Identifizierungsinformationen sind in unterschiedlichen Teilen des Transportstroms bereitgestellt. Diese umfassen eine Paketkennung (PID), die in dem Transportanfangsblock jedes Transportpakets zu finden ist, um eine Bezugsnummer zum Kennzeichnen der Transportpakete, die eine spezifische Dienstleistungskomponente tragen, bereitzustellen. Diese Nummer ist in einer Dienstleistungsbestimmung oder einer „Dienstleistungsübersicht" eingeschlossen, die vom Empfänger verwendet wird, um diejenigen Transportpakete, die zum Rekonstruieren eines Fernsehprogrammsignals erforderlich sind, zu identifizieren. Die PID kann auch für verschiedene Dienstetrennungs- und Remultiplexfunktionen mit Verweisen versehen sein. In dem Fall von Video-, Audio- oder isochronen Daten stellt der Strom von mit einer einzelnen PID markierten Paketen einen Elementarstrom einer einzelnen Video-, Audio- bzw. isochronen Datendienstleistung dar.
  • Von dem Transportstrom getragene Zeitsteuerungsinformation umfasst eine Programmtaktreferenz (PCR = Program Clock Reference), die einen Abtastwert der Systemtakt (STC)-Zeitbasis, die der Dienstleistung zu Grunde liegt und aus den PIDs, auf die in der Dienstleistungsübersicht verwiesen wird, zusammengestellt ist, wirksam darstellt. Auf die das Paket mit der PCR tragende PID ist ebenfalls in der Dienstleistungsübersicht verwiesen. Die Video-, Audio- und isochronen Datenkomponenten einer Dienstleistung sind durch eine festgelegte Beziehung mit dem Systemtakt synchronisiert. Die PCR dient zum Definieren der Transportrate, in dem Sinn, dass zwischen zwei aufeinander folgenden PCRs in einer PID die Transportrate konstant ist und nominal gleich dem Systemtakt multipliziert mit dem Verhältnis der Gesamtzahl von Transportbits zwischen den PCRs, geteilt durch den Unterschied der PCRs in Einheiten von Systemtaktzählern.
  • Die von dem Transportstrom getragene Zeitsteuerungsinformation umfasst auch Zeitstempel für den Beginn des Decodierens und der Präsentation von Daten für die Anzeige. Der Präsentationszeitstempel (PTS = Presentation Time Stamp) wird zur Erfassung von Dienstleistungskomponenten und auch zur Beurteilung dessen, ob Zeitsteuerung und Puffersteuerung am Decodierer richtig funktionieren, verwendet. Der Decodiererzeitstempel (DTS = Decoder Time Stamp) wird verwendet, um anzugeben, wann der Decodierer mit dem Decodieren der ersten Zugriffseinheit (z. B. eines Videoeinzelbildes) anfangen sollte, die an einer Stelle in der Nutzlast eines Pakets des paketierten Elementarstroms (PES = Packetized Elementary Stream), dessen Anfangsblock den DTS umfasst, anfängt. Ein paketierter Elementarstrom ist ein Datenstrom, der aus PES-Paketen zusammengestellt ist, die Ende-an-Ende liegen, eine variable Länge aufweisen und typischerweise weit länger als ein Transportpaket fester Länge sind. Somit ist ein PES-Paket typischerweise aus Daten von einer Vielzahl von Transportpaketen mit einer einzelnen PID zusammengestellt.
  • Der DTS wird von einem Videodekompressionsprozessor benötigt, um den Beginn der Videodecodierung richtig zu takten. Da der DTS in einem PES-Anfangsblock verpackt ist, ist es für einen Videodekompressionsprozessor am Empfänger schwierig und kompliziert gewesen, den DTS zu der gleichen Zeit, in der er die zugehörigen, zu analysierenden Videodaten empfängt, zu erhalten. Vor dem Analysieren werden die Videodaten aus einem Videospeicher abgerufen, der die Daten nach ihrem Abruf aus dem Transportstrom vorläufig speichert. Die Videodaten werden nicht zum Decodieren durch den Videodekompressionsprozessor bereit sein, bevor nach der Verwerfung des PES-Anfangsblocks, der die notwendige DTS enthält, nicht einige Zeit verstrichen ist.
  • EP-A-0 618 728 offenbart ein Verfahren zur Synchronisierung von Audio-/Videoinformationen, gemäß dem ein komprimiertes Videosignal und ein komprimiertes Audiosignal von einem Decodiersystem, das die ankommenden Pakete in einen Audiobitstrom und einen Videobitstrom demultiplext, die Zeitstempel von den Paketköpfen nimmt und sie gerade vor der assoziierten Zugriffseinheit in jedem Elementarstrom einfügt, decodiert werden.
  • Es ist das Ziel der vorliegenden Erfindung, ein verbessertes Verfahren zur Videodekompression bereitzustellen.
  • Dieses Ziel wird durch ein Verfahren gemäß Anspruch 1 erreicht.
  • Weitere vorteilhafte Ausführungsformen sind Gegenstand der Ansprüche 2 bis 7.
  • Es ist ein Vorteil der vorliegenden Erfindung, ein Verfahren zum Bereitstellen des DTS für den Videodekompressionsprozessor bei Bedarf bereitzustellen, ohne dass es notwendig ist, wieder auf den PES-Anfangsblock, der den DTS ursprünglich trug, zuzugreifen und ohne den Rest des PES-Anfangsblocks als Zusatz zu tragen.
  • Ein weiterer Vorteil liegt darin, ein Verfahren zum Erkennen eines Empfangs von zwei Zeitstempeln ohne einen vollen Satz von dazwischenkommenden, zu dekomprimierenden Videodaten bereitzustellen, um die schnelle Erholung des Decodierers zu ermöglichen, falls Bildinformation verloren gegangen ist.
  • Noch ein weiterer Vorteil liegt darin, ein Verfahren bereitzustellen, das sicherstellt, dass keine Daten verloren gehen, wenn ein Speicherabbild zum Speichern der aus dem Transportstrom abgerufenen Videodaten initialisiert wird.
  • Es ist ebenfalls ein Vorteil, ein Verfahren bereitzustellen, das das Auftreten eines fehlenden Bildanfangsblocks in Bilddaten, die von dem Transportstrom getragen werden, erkennt und sich von solch fehlenden Informationen erholt.
  • Verfahren zum selektiven Decodieren und Anzeigen von Festbildern aus einem Transportstrom sind ebenfalls von Vorteil.
  • Die Bereitstellung von Verfahren zum Stummschalten einer Videoausgabe eines Prozessors, wenn ein neues Abbild nicht umgehend zur Verfügung steht, oder zum Anzeigen eines vorherigen Bildes, bis ein neues Abbild zur Verfügung steht, ist ebenfalls vorteilhaft.
  • Die vorliegende Erfindung stellt Verfahren zur Lokalisierung und zum Erfassen von Videodaten aus einem Transportstrom und zum Erkennen, Maskieren und Sich-Erholen von Fehlern in dem erfassten Strom bereit. Die Verfahren der vorliegenden Erfindung weisen die zuvor erwähnten und andere Vorteile auf.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung ist ein Verfahren zum Erfassen von Videodaten für eine gewünschte Dienstleistung aus einem paketierten Datenstrom bereitgestellt. Der Datenstrom umfasst Transportpakete, die unterschiedliche Komponenten der Dienstleistung, wie etwa eine Videokomponente, eine Audiokomponente und eine Steuerkomponente, tragen. Die von einem besonderen Transportpaket getragene Komponente ist durch eine Paketkennung (PID) für diese Komponente gekennzeichnet. Eine der Komponenten umfasst eine Programmtaktreferenz (PCR), die Zeitsteuerungsinformation für die gewünschte Dienstleistung bereitstellt. Das Verfahren beinhaltet den Schritt des Erkennens der PCR für die gewünschte Dienstleistung aus der Komponente, die die PCR in dem Datenstrom trägt. Die aufgegriffenen PCRs werden verwendet, um einen Decodiererzeitaktgeber, der der Codiererzeitsteuerung entspricht, zu erfassen und zu lokalisieren. Die PIDs der Transportpakete werden dann überwacht, um diejenigen Pakete, die eine Videokomponente der gewünschten Dienstleistung tragen, aufzugreifen. Anfangsblockinformation aus den aufgegriffenen Transportpaketen wird verarbeitet, um Pakete des paketierten Elementarstroms (PES), die einen PES-Anfangsblock und Bildinformation aufweisen, aufzugreifen. Zeitstempel-Information wird aus dem PES-Anfangsblock von mindestens einem der PES-Pakete erhalten. Die Zeitstempel-Information wird gepuffert und dann an die assoziierte Bildinformation zur Speicherung in einem Speicher angehängt. Auf diese Weise kann die Bildinformation unter Verwendung der Zeitstempel-Information, die daran angehängt ist, aus dem Speicher gelesen und decodiert werden, ohne wieder auf den PES-Anfangsblock für die Zeitstempel-Information zugreifen zu müssen.
  • Die Bildinformation umfasst typischerweise einen Bildanfangsblock an den Grenzen zwischen aufeinander folgenden Videoabbildern, die decodiert werden sollen. Die von dem PES-Anfangsblock erhaltene Zeitstempel-Information kann in den nächsten Bildanfangsblock, der dem PES-Anfangsblock in dem paketierten Datenstrom folgt, eingefügt werden. Genauer gesagt kann die Zeitstempel-Information nach einem Bildstartcode, der in dem nächsten Bildanfangsblock enthalten ist, eingefügt werden.
  • Zeitstempel-Information kann für jedes folgende, zu decodierende Videoabbild bereitgestellt werden. In diesem Fall werden die PES-Pakete überwacht, um jeden Empfang von zwei PES-Anfangsblöcken, die Zeitstempel ohne einen dazwischenkommenden Bildstartcode aufweisen, eine Bedingung, die das Auftreten eines Fehlers anzeigt, zu erkennen. Falls der Empfang von zwei derartigen PES Anfangsblöcken ohne einen dazwischenkommenden Bildstartcode erkannt wird, wird der zweite der Zeitstempel nach dem nächsten Bildstartcode eingefügt, während der erste der zwei Zeitstempel ignoriert wird. Ein Steuerbit ist mit dem zweiten Zeitstempelfeld von dem Decodierer assoziiert (z. B. daran angehängt), um den nachfolgenden Verarbeitungssektionen anzugeben, dass ein Fehler aufgetreten ist.
  • Zusätzlich zum Verarbeiten der Zeitstempel-Information auf eine effiziente Weise kann die Erfassung die Neukonfiguration eines Speichers erfordern. In einer Implementierung, in der die Bildinformation Pixeldaten und einen Videosequenzanfangsblock umfasst, der Informationen darüber, wie die Pixeldaten zu decodieren sind, bereitstellt, kann der Speicher, der die Bildinformation speichert, bei Erfassung mit einem besonderen Mapping als Antwort auf Informationen aus dem Sequenzanfangsblock neu konfiguriert werden. Während der Zeit, in der der Speicher neu konfiguriert wird, werden Anforderungen von Zugriff auf in dem Speicher gespeicherte Daten zurückgewiesen, um sicherzustellen, dass während der Speicherabbildungsinitialisierung keine Daten verloren gehen.
  • Die Erfassung, Auswahl und Anzeige von gewünschten Standbildern wird auch unterstützt. Genauer gesagt kann, wenn die Bildinformation an den Grenzen zwischen aufeinander folgenden Videoabbildern Bildanfangsblöcke umfasst, jeder Bildanfangsblock eine Bezugsnummer für das folgende Videoabbild umfassen. Spezifische Videoabbilder können dann zum Decodieren ausgewählt werden, indem auf die dazu zugehörige Bezugsnummer Bezug genommen wird. Das ausgewählte Abbild wird dann decodiert und als ein Festbild angezeigt, bis ein anderes Abbild mit derselben Bezugsnummer ausgewählt, empfangen und angezeigt wird.
  • Die von dem Transportstrom getragene Bildinformation kann einen Sequenzendcode umfassen, der das Ende eines Videoabbilds, das von einem Videoprozessor für die Anzeige decodiert werden soll, angibt. Der Sequenzendcode wird erkannt und es wird bestimmt, ob ein nachfolgendes Videoabbild im Anschluss an den Sequenzendcode aktuell zum Decodieren und zur Anzeige zur Verfügung steht. Wenn kein nachfolgendes Videoabbild zur Verfügung steht, wird eine Videoausgabe des Videoprozessors stumm geschaltet, bis ein neues Videoabbild zur Verfügung steht. Alternativ dazu kann die Ausgabe des Videoprozessors mit dem letzten verarbeiteten Videoabbild versehen werden, bis ein neues Videoabbild zur Verfügung steht.
  • Um sich von verlorenen Bildanfangsblöcken zu erholen, wird die aus dem Transportstrom empfangene Bildinformation überwacht, um das Auftreten eines fehlenden Bildanfangsblocks zu erkennen. Bei einer derartigen Erkennung wird die Anzeige des zuletzt angezeigten Vollformats von Bildinformation, das noch in dem Speicher enthalten ist, wiederholt, bis ein neues Vollformat von Videodaten, die nach einem nachfolgenden Bildanfangsblock empfangen wurden, zur Anzeige zur Verfügung steht.
  • Obwohl sie nicht durch einen Fehler verursacht worden sind, werden übersprungene Bilder (d. h. Bilder, die am Codierer übersprungen werden), auf eine ähnliche Weise gehandhabt. Um sich von übersprungenen Bildern zu erholen, kann der Speicher überwacht werden, um zu erkennen, ob die Daten für ein volles Videoeinzelbild in dem Speicher vorliegen, wenn die Decodierung dieses Einzelbilds beginnen soll. Wird erkannt, dass kein volles Videoeinzelbild vorliegt, so wird die Anzeige des zuletzt angezeigten Vollformats von decodierter Bildinformation, die noch in dem Speicher enthalten ist, wiederholt.
  • Eine Erholung von veralteter Zeitstempel-Information ist ebenfalls bereitgestellt. Im Besonderen fährt der Decodierer fort, die ankommenden Einzelbilder eines nach dem anderen zu decodieren, nachdem der Decodiervorgang als Antwort auf einen gültigen DTS gestartet wurde. Zwischen DTSs werden die Einzelbilder zu Zeiten decodiert, die von den vergangenen Decodierzeiten impliziert werden. Wenn ein neuer DTS empfangen wird, wird die von diesem DTS vorgesehene Zeit mit dem Wert des Decodiererzeittaktgebers zur Decodierzeit verglichen. Wenn die von dem DTS vorgesehene Zeit dem Wert des Decodiererzeittaktgebers voraus geht (d. h. die DTS-Zeit ist schon vorbei), wird angenommen, dass die Synchronisierung verrutscht ist und dass der Videodekompressionsprozessor (VDP) in dem Decodiervorgang zurückliegt. Somit wird die der Zeitstempel-Information zugehörige Bildinformation verworfen, und der VDP decodiert dieses Bild nicht.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockschaltbild eines Videodekompressionsprozessors der Art, die die Verfahren der vorliegenden Erfindung benutzen kann;
  • 2a bis 2c sind schematische Illustrationen, die zeigen, wie PES-Pakete variabler Länge zu Transportpaketen fester Länge umorganisiert werden, um beim Bereitstellen eines Transportmultiplexes zur Übertragung verwendet zu werden; und
  • 3 ist eine schematische Illustration, die zeigt, wie die empfangenen Transportpakete an einem Decodierer verarbeitet werden, um Bildinformation und Zeitstempel-Information zur Speicherung in dem dynamischen Direktzugriffsspeicher (DRAM) aus 1 aufzugreifen.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • 1 ist ein Blockschaltbild eines Videodekompressionsprozessors, der einen Speicherverwalter 30 inkorporiert, welcher einen externen DRAM 22 zum Speichern und Abrufen von Videodaten, die zum Rekonstruieren eines Fernsehprogramms an einem Empfänger notwendig sind, ansteuert. Der allgemein mit 20 bezeichnete Prozessor ist ein zeitverschachtelt arbeitender Prozessor, der so ausgelegt ist, dass er sowohl die Transportschicht (d. h. Steuer- und andere Nicht-Video-Informationen) als auch die Videoschicht des über den Anschluss 10, der manchmal als die „Transportpaketschnittstelle" des Videoprozessors bezeichnet wird, eingegebenen komprimierten Bitstroms decodiert.
  • Am Anschluss 14 ist eine Benutzerprozessorschnittstelle zum Steuern des Videodatenprozessors über eine M-Bus-Steuerung 50 bereitgestellt, die in dem Prozessor 20 verschiedene Register konfiguriert. Der M-Bus ist ein zweidrahtiger bidirektionaler serieller Bus, der ein einfaches und effizientes Mittel zum Datenaustausch zwischen Vorrichtungen bereitstellt und vollständig mit dem I2C-Busstandard kompatibel ist.
  • Eine Schnittstelle zu dem DRAM 22 ist über die Adressleitungen 24 und Datenleitungen 26 bereitgestellt. Bei dem in 1 illustrierten Beispiel weist der DRAM 22 einen Neun-Bit-Adressenport und einen Zweiunddreißig-Bit-Datenport auf.
  • Eine Videoausgabeschnittstelle 38 ist für das dekomprimierte rekonstruierte Video bereitgestellt, das beispielsweise als standardmäßiges Acht-Bit-, Siebenundzwanzig-MHz-, gemultiplextes Luminanz (Y)- und Chrominanz (Cr, Cb)-Signal nach CCIR-656 (CCIR = International Radio Consultive Committee) ausgegeben werden kann.
  • Eine Testschnittstelle kann über einen Anschluss 62 zu einer herkömmlichen JTAG (Joint Test Action Group)-Steuerung 60 bereitgestellt werden. JTAG ist eine standardisierte Boundary-Scan-Methodik zum Testen auf Platinenebene, um Fehler in Gehäuse- und Platinenverbindungen sowie inneren Schaltungen zu erfassen.
  • Über den Anschluss 12 empfängt der Videodekompressionsprozessor 20 ein Taktsignal. Der Taktgeber liefert Zeitsteuerungsinformation, die z. B. verwendet wird, um einen Transportsyntaxanalysator 32 zu befähigen, aus Transportpaketen, die in einem über den Anschluss 10 eingegebenen paketierten Datenstrom enthalten sind, Zeitsteuerungsinformation und Videoinformation aufzugreifen. Eine Erfassungs- und Fehlerverwaltungsschaltung 34 benutzt eine Programmtaktreferenz (PCR) und einen Decodierzeitstempel (DTS), die von einem Videosyntaxanalysator 40 erkannt werden, um den Start der Bilddecodierung zu synchronisieren. Diese Schaltung stellt die vertikale Synchronisierung ein und liefert eine globale Synchronisierung für alle Videodecodier- und -anzeigefunktionen.
  • Die Videoschicht wird in einem von dem Speicherverwalter 30 in dem externen DRAM 22 konfigurierten Eingabepuffer (FIFO) gepuffert. Der Videosyntaxanalysator 40 empfängt die von dem DRAM-FIFO ausgegebenen komprimierten Videodaten über den Speicherverwalter 30 und trennt die Bewegungsvektorinformationen von den die Videoinformationen beschreibenden Koeffizienten. Die Koeffizienten werden von einem Huffman-Decodierer 52, einen Umkehr-Quantisierer 54 und einen IDCT-Prozessor 56 (IDCT = inverse diskrete Cosinus-Transformierung) verarbeitet.
  • Bewegungsvektoren werden aufgegriffen und dazu verwendet, vorher decodierte Videoeinzelbilder, die zum Rekonstruieren eines aktuellen Videoeinzelbildes erforderlich sind, anzusteuern. Insbesondere decodiert ein Bewegungsvektordecodierer 42 die von dem Videosyntaxanalysator 40 empfangenen Bewegungsvektoren und leitet sie zu einem Prädiktionsadressengenerator 44 weiter. Der Prädiktionsadressengenerator stellt die Adresseninformation bereit, die notwendig ist, um über den Speicherverwalter 30 die notwendigen Ankereinzelbilddaten (d. h. Innenbild (I = intraframe)-Daten oder Prädiktions (P)-Einzelbilddaten) abzurufen, damit ein Prädiktionsrechner 46 ein Prädiktionsignal bereitstellen kann, das zur Rekonstruktion eines aktuellen Einzelbildblock notwendig ist. Ein Differenzdecodierer 48 kombiniert die Prädiktionsdaten mit den decodierten Koeffizientendaten, um dekomprimierte Videodaten bereitzustellen. Die dekomprimierten Daten werden über den Speicherverwalter 30 in angemessenen Puffern des DRAM 22 gespeichert. Es versteht sich, dass die von dem Bewegunsvektordecodierer 42, dem Prädiktionsadressengenerator 44, dem Prädiktionsrechner 46, dem Differenzdecodierer 48, dem Huffman- Decodierer 52, dem Umkehr-Quantisierer 54 und dem IDCT 56 ausgeführten Videodekompressionsvorgänge im Allgemeinen herkömmlich sind und vom Fachmann gut verstanden werden.
  • Der Speicherverwalter 30 teilt alle Aktivität auf den externen DRAM-Adress- und Datenbussen 24, 26 ein und steuert den DRAM 22 effizient an. Der Speicherverwalter stellt sicher, dass allen Datenübertragungsanforderungen des Eingabe-FIFO-Teils des DRAM 22, des Videosyntaxanalysators 40 und der Videorekonstruktionsschaltung 36 (sowie des Prädiktionsrechners 46 und des Differenzdecodierers 48) genügt wird. Die Videorekonstruktionsschaltung 36 baut ein aktuelles Bild und fügt Untertitel für Hörbehinderte, ein Prüfzeilentestsignal (VITS = vertical interval test signal) und/oder Prüfmusterdaten zur Ausgabe auf der Videoausgabeleitung 38 ein. Der Decodiervorgang für ein komprimiertes Einzelbild von Videodaten wird synchronisiert, indem die von dem Decodiererzeittaktgeber spezifizierte Zeit mit einem Decodierzeitstempel (DTS) verglichen wird, der angibt, wann das Videoeinzelbild decodiert werden soll. Der Anzeigevorgang für das dekomprimierte Einzelbild wird synchronisiert, indem die von dem Decodiererzeittaktgeber spezifizierte Zeit mit einem Präsentationszeitstempel (PTS) verglichen wird, der angibt, wann das Videoeinzelbild zur Anzeige präsentiert werden soll.
  • Der Speicherverwalter stellt auch je nach Decodiermodus, der beispielsweise NTSC oder PAL mit bidirektionalen Prädiktions-Einzelbildern (B-Bildern) oder ohne sie sein kann, eine variable Größe für den FIFO-Teil des DRAM 22 bereit. Die Videopuffersteuerung stellt sicher, dass der durch den DRAM 22 bereitgestellte FIFO nicht überläuft oder unterläuft. Die Puffersteuerung ist eine Funktion der Systemzeitsteuerungsparameter einschließlich PCR und DTS.
  • Der DRAM 22 ist als externer Speicher veranschaulicht und kann durch eine Vielzahl von DRAM-Chips bereitgestellt werden, wie etwa zwei Vier-Mbit (Megabit, d. h. 220 Bits)-DRAMs für eine acht-Mbit-Implementierung oder vier Vier-Mbit-DRAMs für eine Sechzehn-Mbit-Implementierung. Es versteht sich, dass der DRAM 22 in zukünftigen Implementierungen und mit Fortschritten bei der Speichertechnologie als ein interner Speicher innerhalb des Videodekompressionsprozessors bereitgestellt werden kann. Der DRAM wird so abgebildet, dass er verschiedene Decodier- und Ausgabevideopuffer sowie einen Umlauf-FIFO-Puffer für den komprimierten eingegebenen Videobitstrom bereitstellt. Der DRAM kann auch verwendet werden, um einen Prüfmusterpuffer, einen VITS-Puffer und einen Umordnungspuffer für die Anzeige der Untertitel für Hörbehinderte bereitzustellen sowie um verschiedene Bildstrukturdaten zu speichern, die zur richtigen Anzeige der decodierten Videoeinzelbilder erforderlich sind. Der DRAM kann über den Speicherverwalter 30 neu initialisiert werden, um nach Bedarf verschiedene Speicherabbilder bereitzustellen, wenn Variablen modifiziert werden, wie etwa PAL- oder NTSC-Video, acht- oder sechzehn-Mbit-Speicherkonfiguration, und ob B-Bilder vorliegen.
  • Wie oben angegeben, teilt der Speicherverwalter 30 alle Aktivität auf den externen DRAM-Bussen ein, einschließlich der Datenübertragungsanforderungen des Eingabe-FIFO, des Videoanalysators und der Videorekonstruktionsschaltung. Der Speicherverwalter führt auch die erforderliche DRAM-Auffrischung auf herkömmliche Weise aus. So kann beispielsweise die gleiche Zeile in jedem von zwei oder vier externen DRAMs simultan aufgefrischt werden.
  • Wird ein paketierter Bitstrom, der komprimierte Videodaten enthält, in Anschluss 10 des Videodekompressionsprozessors 20 eingegeben, werden von den komprimierten Daten dargestellte Videoeinzelbilder jeweils einzeln rekonstruiert. Anfänglich muss ein Vollformat an Videodaten empfangen und im DRAM 22 gespeichert werden. Informationen für nachfolgende Videoeinzelbilder können aus einem Teilsatz des vollen Videoeinzelbildes bestehen, der, wenn er zu den Prädiktionsdaten vom vorherigen Videoeinzelbild (in DRAM 22 gespeichert) hinzugefügt wird, in der Rekonstruktion eines Vollformats resultiert.
  • 2a veranschaulicht einen Teil eines paketierten Elementarstroms, der aufeinander folgende PES-Pakete trägt, von denen jedes einen Anfangsblock (PES-HDR) 72 und eine PES-Nutzlast 74 aufweist. Die PES-Pakete 70 sind von variabler Länge.
  • PES-Pakete weisen typischerweise eine Länge von mehreren tausend Bytes auf. Sie müssen auf eine solche Weise ausgerichtet werden, dass, wenn sie zu Transportpaketnutzlasten aufgeteilt werden, sich das erste Byte jedes PES-Anfangsblocks in der Position der ersten Nutzlast eines Transportpakets befindet. Für jedes Transportpaket, das den ausgerichteten PES-Anfangsblock trägt, wird ein „Startanzeiger der Nutzlasteinheit" in dem Transportanfangsblock für das Transportpaket eingestellt. In dem MPEG-2- und dem DigiCipher® II-System wird das PES-Format für alle inhärent synchronen Dienstleistungskomponenten verwendet. Insbesondere werden Video-, Audio- und isochrone Datenkomponenten als paketierte Elementarströme getragen, und die PES-Anfangsblöcke 72 tragen verschiedene Informationen, die zum Definieren der Nutzlast notwendig sind, einschließlich eines Präfixes für den Paketstartcode, einer Stromkennung und einer Länge des PES-Pakets. Der Anfangsblock kann auch einen Präsentationszeitstempel (PTS) oder sowohl einen PTS als auch einen Decodierzeitstempel (DTS) enthalten. Trägt der Anfangsblock nur einen PTS, so wird daraus gefolgert, dass der DTS gleich dem PTS ist. Der PTS ist ein Feld, das den Wert angibt, den entsprechende Bytes der Decodierersystemtaktreferenz aufweisen sollten, wenn die erste Präsentationseinheit (d. h. Videoeinzelbild, Audiosynchroneinzelbild, Zugriffseinheit für isochrone Daten), deren Zugriffseinheit an einer Stelle in der Nutzlast dieses PES-Pakets anfängt, präsentiert wird. Für Video fängt eine Zugriffseinheit an, wenn das erste Byte des Bildstartcodes in der Nutzlast des PES-Pakets vorliegt. Für Audio fängt eine Zugriffseinheit an, wenn das erste Byte des Audiosynchronwortes in der Nutzlast dieses PES-Pakets vorliegt. Für isochrone Daten fängt eine Zugriffseinheit mit dem ersten Byte der PES-Paketnutzlast an. Das PTS-Feld wird zur Erfassung von Dienstleistungskomponenten und auch zur Beurteilung dessen, ob Zeitsteuerung und Puffersteuerung am Decodierer richtig funktionieren, verwendet.
  • Der DTS ist ein Feld, das den Wert angibt, den entsprechende Bits der rekonstruierten Decodiererzeittaktgeberreferenz aufweisen sollten, wenn der Decodierer anfängt, die erste Zugriffseinheit, welche an einer Stelle in der Nutzlast dieses PES-Pakets anfängt, zu decodieren. Der PTS und DTS unterscheiden sich nur für Video, und nur in dem Fall, dass das I-Bild und die P-Bilder mit B-Bildern übertragen werden.
  • Die PES-Nutzlast enthält die Informationsdaten, deren Übertragung an einen Empfänger erwünscht ist. So umfassen die Nutzlasten zusammen zum Beispiel alle Video- oder Audioinformationen, die der Empfänger zum Decodieren und Rekonstruieren eines digitalen Fernsehsignals benötigt.
  • Um den Anforderungen von Robustheit und Einfachheit zu genügen, wird ein Ansatz mit einer festen Paketlänge gegenüber PES-Paketen mit variabler Länge bevorzugt. Wie in 2b veranschaulicht, wird der paketierte Elementarstrom, der die PES-Pakete 70 enthält, somit zu einem Strom von Transportpaketen 80 mit fester Länge formatiert. Die in 2b veranschaulichten Transportpakete beziehen sich alle auf die gleiche Dienstleistungskomponente, wie etwa die Videokomponente einer digitalen Fernsehübertragung. Bei der MPEG-2- und der DigiCipher® II-Ausführungsform ist jedes Paket insgesamt 188 Bytes lang, wobei die ersten vier Bytes einen Transportpaketkopf (XPT HDR) 82 beinhalten. Der Nutzlastteil 84 jedes Pakets 80 beträgt somit normalerweise 184 Bytes. Jedoch liegt ein Anpassungsfeldmechanismus vor, wie durch Transportpaket 80' veranschaulicht, um den Anfangsblock bei Bedarf zu erweitern. Das Anpassungsfeld 86 stellt zusätzliche Informationen bereit, die nicht für jedes Transportpaket erforderlich sind. Das Anpassungsfeld (ADPT FIELD) 86 erweitert den regulären Transportanfangsblock 82 auf Kosten der Nutzlast 84, die weniger als 184 Bytes beträgt, wann immer die Anpassung bereitgestellt wird. Das Anpassungsfeld 86 ist von variabler Länge, je nach der Information, die es enthält. Typischerweise unterstützt das Anpassungsfeld zusätzliche Informationen zur Zeitbasiserholung und für andere Funktionen, und es stellt auch einen Mechanismus zum Auffüllen der Nutzlast bereit, wenn diese nicht die vollen 184 Bytes in Anspruch nimmt. Ein derartiges Auffüllen kann zum Beispiel verwendet werden, um das Video-PES-Paket variabler Länge in eine feste Anzahl von Transportpaketen zu passen.
  • Wie in 2b angegeben, umfasst der Transportanfangsblock jedes Transportpakets die PID, die die besondere Dienstleistungskomponente, welche von dem Transportpaket getragen wird, kennzeichnet. Die PCR wird von einem Anpassungsfeld getragen, um Zeitsteuerungsinformation für eine gewünschte Dienstleistung bereitzustellen. Die PCRs für die gewünschte Dienstleistung werden aus den Anpassungsfeldern an einem Empfänger erkannt. Transportpakete einer spezifischen PID werden dann überwacht, um eine besondere Komponente der verarbeiteten Dienstleistung aufzugreifen. Da der Videodekompressionsprozessor aus 1 Videoinformation verarbeitet, überwacht er die Transportpakete, um alle diejenigen aufzufinden, deren PID die verarbeitete Videokomponente angibt. Das Verarbeiten der Videokomponente wird unten im Zusammenhang mit 3 detaillierter erläutert.
  • Transportpakete von verschiedenen Dienstleistungskomponenten werden zu einem Transportmultiplex 90 gemultiplext, wie in 2c veranschaulicht. Der Transportmultiplex trägt untereinander verteilte Pakete von jeder der verschiedenen Komponenten (z. B. Video, Audio und Steuerung), die zum Rekonstruieren einer Dienstleistung an dem Empfänger notwendig sind. Bei dem in 2c gezeigten Transportmultiplex zur Veranschaulichung folgen Videotransportpaketen 80 (A1, A2, A3 ...) Audiotransportpakete 92 (B1, B2, B3 ...), denen wiederum Pakete 94 anderer Komponenten (C1, C2, C3 ...) folgen, welche von dem Transportpaketstrom getragene andere Dienstleistungen oder Daten sein können.
  • 3 veranschaulicht die Verarbeitung von Videotransportpaketen durch einen Videodekompressionsprozessor, wie etwa dem in 1 veranschaulichten. Eine Vielzahl von Transportpaketen 80 werden von dem Transportsyntaxanalysator 32 empfangen, der die notwendige Nutzlastinformation von aufeinander folgenden Transportpaketen entnimmt, um eine PES-Nutzlast 74 zu rekonstruieren. Die Information in den Transportanfangsblöcken 82 wird verwendet, um die Nutzlastinformation 84 zu identifizieren, und ermöglicht die Rekonstruktion der PES-Nutzlastdaten 74 sowie des PES-Anfangsblocks 72. Wie oben angegeben, sind die PES-Pakete so ausgerichtet, dass, wenn sie zu Transportnutzlasten aufgeteilt werden, sich das erste Byte jedes PES-Anfangsblocks in der Position der ersten Nutzlast eines Transportpakets befindet. Beim Erkennen eines Startanzeigers der Nutzlasteinheit in dem Transportanfangsblock weiß der Transportsyntaxanalysator, dass der erste Teil der Nutzlast in dem Transportpaket den PES-Anfangsblock enthält.
  • Eines der in dem PES-Anfangsblock 72 enthaltenen (oder von einem PTS in dem PES-Anfangsblock gefolgerten) Objekte ist der Decodierzeitstempel (DTS) 104, der von dem Videosyntaxanalysator 40 erfordert wird, um die Bilddaten richtig zu decodieren. Gemäß der vorliegenden Erfindung wird der DTS somit von dem PES-Anfangsblock 72 extrahiert und im Anschluss an den Bildanfangsblock 100 in die Videoinformation (Bilddaten) 102, welche in dem FIFO-Teil des DRAM 22 gespeichert sind, neu eingefügt. Die Einfügung des DTS in die im DRAM 22 gespeicherte Videoinformation befähigt den Dekompressionsprozessor, die Videoinformationen zu verarbeiten, ohne den DTS von einer Quelle außerhalb des DRAM abrufen zu müssen. Es sei angemerkt, dass der PTS auch im DRAM 22 gespeichert wird, wenn er sich vom DTS unterscheidet.
  • Ein besonderes Merkmal der vorliegenden Erfindung ist es, dass in dem speziellen Fall, in dem ein DTS erkannt wird und dann ein zweiter DTS erkannt wird, ohne dass der vorherige in den DRAM 22 geschrieben wurde, ein einzigartiger Code bereitgestellt wird, um den Videosyntaxanalysator 40 zu benachrichtigen, dass diese Situation aufgetreten ist. Insbesondere wird der Videosyntaxanalysator darüber benachrichtigt, dass ein Paket mit einem Bildanfangsblock verloren gegangen ist, aber dass der zweite empfangene DTS wahrscheinlich für das nächste Bild korrekt ist. Der Analysator, der den verlorenen Bildanfangsblock erkennt, würde andernfalls den dem nächsten Bild zugehörigen DTS wegwerfen. Beim Empfang des die Situation kennzeichnenden einzigartigen Codes weiß der Videosyntaxanalysator 40 jedoch, dass der aktuelle DTS den vorherigen, ungenutzten DTS überschrieben hat, und es wird angenommen, dass der aktuelle DTS gültig ist.
  • Während die Videokomponente des Transportstroms wie zuvor beschrieben erfasst wird, fordert der Videosyntaxanalysator 40 weiterhin fortlaufend Daten von dem Speicherverwalter 30 an. Da die Geschwindigkeit, mit der Daten von der Paketschnittstelle geschrieben werden, viel langsamer ist als die Geschwindigkeit, mit der sie analysiert werden können, wird der FIFO im DRAM 22 fast sofort, nachdem die Paketschnittstelle ein Wort darauf geschrieben hat, geleert. Der Syntaxanalysator analysiert dann die Daten nach den Informationen, die er in einem Sequenzanfangsblock benötigt, um ein Speicherabbild im DRAM 22 zu initialisieren. Der Sequenzanfangsblock ist Teil der in der PES-Nutzlast getragenen Videosyntax und gibt an, dass eine neue Sequenz von Videoinformationen (Bildern) folgt. Der Sequenzanfangsblock kennzeichnet Parameter des Bildes oder der verwendeten Videocodierung (z. B. horizontale Größe, vertikale Größe, Abtastlängenverhältnis, Einzelbildrate, Bitrate und Innenbild-/Nichtinnenbild-Quantisierung usw.), so dass der DRAM 22 richtig abgebildet werden kann, um die Daten für die Dekompression des komprimierten Videos zu speichern. Beim Erkennen einer Sequenzerweiterung, die an den Sequenzanfangsblock angehängt ist, wird das Speicherabbild initialisiert. Die Sequenzerweiterung stellt zusätzliche Informationen bereit, wie etwa, ob das Video im Zeilensprungverfahren oder auf progressive Weise gescannt worden ist. Während der Initialisierung des Speicherabbilds werden alle Anforderungen von Zugang zum DRAM 22 zurückgewiesen. Nachdem das Speicherabbild initialisiert ist, wird der Zugriff auf den DRAM freigegeben. Diese Verfahrensweise stellt sicher, dass keine in dem FIFO-Teil des DRAM 22 gespeicherten Daten verloren gehen, wenn das Speicherabbild initialisiert wird. Der Videosyntaxanalysator 40 kann dann fortfahren, nach dem ersten Bildanfangsblock mit einem gültigen DTS zu suchen, um die Dekompression der Videodaten zu beginnen.
  • In einem digitalen Kommunikationsmodell ist es zu erwarten, dass Daten gelegentlich über den Übertragungskanal verloren gehen. Wenn Videodaten an einen Videodekompressionsprozessor übermittelt werden, ist es möglich, dass ein Bildanfangsblock verloren geht. Es ist ebenfalls möglich, dass beim Verarbeiten der empfangenen Videodaten der FIFO-Teil des DRAM 22 überläuft oder unterläuft. In diesen Fällen muss eine Fehlerverwaltung ausgeübt werden, um die Wahrscheinlichkeit zu minimieren, dass wahrnehmbare Artefakte auf dem Bildschirm eines Fernsehzuschauers zu sehen sind. Übersprungene Bilder müssen ebenfalls behandelt werden. Obwohl übersprungene Bilder nicht aus durch den Übertragungskanal eingeführten Fehlern resultieren, werden sie auf dieselbe Weise wie derartige Fehler verwaltet.
  • Bei der MPEG-2- und der DigiCipher® II-Norm ist die grundlegende Videoeinheit ein Makroblock. Ein Makroblock ist eine Gruppe von 16 × 16 Pixeln. Video wird hierarchisch codiert. Eine Sequenz ist eine beliebige Videosequenz. Eine Sequenz ist aus Bildsequenzen zusammengesetzt. Eine Bildsequenz ist aus individuellen Bildern zusammengesetzt. Jedes Bild entspricht einem einzelnen Einzelbild einer Bewegtbild-Kommunikation. Ein Bild ist in mehrere Scheiben (Slices) aufgebrochen. Jede Scheibe ist wiederum aus Makroblöcken zusammengestellt. Makroblöcke sind aus sechs 8 × 8 Blöcken von Pixeln, einschließlich 16 × 16 Luminanzpixeln und zwei Blöcken von 8 × 8 Chrominanzpixeln zusammengestellt. Ein Block ist ein Begriff, der zum Beschreiben eines beliebigen 8 × 8 Blocks von Pixeln verwendet wird.
  • Um einen fehlenden Bildanfangsblock zu erkennen, überwacht der Videosyntaxanalysator 40 des in 1 veranschaulichten Dekompressionsprozessors die vertikale Position jeder Bildscheibe. Wenn slice_vertical_positionn < slice_vertical positionn–1 und kein Bildanfangsblock zwischen slice_vertical_positionn und slice_vertical_positionn–1 auftrat, wird angenommen, dass slice_vertical_positionn zu einem neuen Bild gehört und dass ein Bildanfangsblock verloren gegangen ist. Wenn der Analysator einen fehlenden Bildanfangsblock erkennt, sucht er nach dem nächsten Bildanfangsblock und erfasst ihn und ignoriert seinen DTS, falls er einen aufweist, es sei denn, dass er informiert wurde, dass der aktuelle DTS ein überschriebener DTS ist, der als gültig eingeschätzt wird. Wenn es dort keinen DTS gibt, sagt der Videosyntaxanalysator einen auf der Basis vorheriger Zeitsteuerungsinformation voraus. Wenn die Prädiktion aufgrund eines Fehlers falsch ist, verbleibt das System für eine kurze Zeit nicht synchron, bis der nächste gültige DTS eintrifft. Die Zählung der Bilder in dem FIFO-Teil des DRAM 22 verbleibt korrekt, da weder die Paketschnittstelle noch der Videosyntaxanalysator das Bild mit dem verlorenen Bildanfangsblock gezählt haben.
  • Wann immer ein Bild verloren gegangen ist, wird die Anzeige eines vorherigen Bildes wiederholt. Genauer gesagt wird das zuletzt angezeigte Vollformat, das im DRAM 22 zur Verfügung steht, wiederholt. Typischerweise ist dies das zuletzt angezeigte I- oder P-Bild. Das letzte B-Bild kann nicht wiederholt werden, solange DRAM 22 nicht groß genug ist, um ein volles B-Bild zu halten, was möglicherweise verschwenderisch und daher nicht die bevorzugte Ausführungsform ist.
  • Der Transportsyntaxanalysator 32 erkennt das Vorhandensein von vollständigen Bildern in dem FIFO-Teil von DRAM 22 durch Überwachen des Auftretens von Bildstartcodes und Sequenzendcodes. Wenn der Decodierer bei Prüfung der Anzahl von Bildern im FIFO feststellt, dass es am Start der Decodierzeit kein ganzes Bild im FIFO gibt, wird angenommen, dass am Codierer ein übersprungenes Bild aufgetreten ist.
  • Wenn ein übersprungenes Bild erkannt wird, wird der dem aktuell im FIFO befindlichen unvollständigen Bild zugehörige DTS ignoriert, dass er als ungültig definiert ist. Der Videoprozessor sagt einen DTS voraus und prüft weiterhin den Zustand des FIFO. Wenn ein ganzes Bild im FIFO vorliegt, beginnt die Decodierung. Während des Wartens auf die Ankunft eines ganzen Bildes im FIFO wird das zuletzt angezeigte Bild wiederholt.
  • Wenn ein DTS erkannt wird, der in der Vergangenheit liegt, d. h. vor der aktuellen Zeit, die von dem rekonstruierten Decodierzeittaktgeber vorgesehen ist, wird angenommen, dass die Synchronisierung etwas verrutscht ist und dass der Decodiervorgang zurückgefallen ist. Wenn dies auftritt, werden die dem „veralteten" DTS zugehörigen Bilddaten nicht decodiert und die Daten werden verworfen. Wenn das nächste Bild keinen DTS aufweist, wird es unter der Annahme decodiert, dass der Synchronisierungsrutsch weniger als ein oder gleich einem Bild betrug. Wenn das nächste Bild einen DTS aufweist, muss der DTS daraufhin überprüft werden, ob er in der Vergangenheit liegt, in welchem Fall er verworfen wird. Liegt der DTS nicht in der Vergangenheit, so wird das zugehörige Bild decodiert, wenn der DTS aktuell ist.
  • In dem Fall eines FIFO-Überlaufens werden Pakete verworfen, und das erste Objekt, das auf den FIFO nach dem Aufhören des Überlaufens geschrieben wird, wird ein Sequenzfehlercode sein. Der Decodiervorgang behandelt dieses Ereignis genau wie jeden anderen Paketfehler und wendet in einem Versuch, den Fehler zu verbergen, Videohalten auf die Daten in den verworfenen Paketen an. Ein Unterlauf wird genau wie ein übersprungenes Bild behandelt, wie oben beschrieben.
  • Festbilder werden entweder in einem hochratigen oder einem niedrigbitratigen Modus unterstützt. Der hochratige Festbildmodus wird von einem Benutzer initiiert, der z. B. über die Benutzerschnittstelle 14 einen Katalogeinkaufsbyte in dem Videoprozessor (1) einstellt.
  • Wenn der Prozessor in diesem Modus ist, decodiert und zeigt er nur diejenigen Bilder, deren Zeitreferenz mit der Zeitreferenz in einem Seitenzahlenregister übereinstimmt. Der Benutzerprozessor muss auswählen, welche Seite (d. h., Festbild) durch das Einstellen dieses Registers decodiert und angezeigt werden wird.
  • Der niedrigbitratige Festbildmodus verwendet das MPEG-2-übersprungenes-Bild-Verhalten des Videoprozessors, um eine niedrigbildratige Quelle anzuzeigen, wie bei einer Diavorführung. Jedes Mal, wenn der Videoprozessor nach der Erfassung ein ganzes Bild in seinem FIFO vorfindet, wird dieses Bild decodiert und angezeigt, bis sich das nächste ganze Bild im Puffer befindet.
  • Der Videoprozessor kann implementiert sein, um die Videoausgabe nach einem Sequenzendcode stumm zu schalten, wenn ein neues Bild nicht umgehend folgt. Das Stummschalten der Videoausgabe einer Videorekonstruktionsschaltung 36 resultiert darin, dass der Fernsehbildschirm des Benutzers schwarz wird. Als Alternative zum Stummschalten der Videoausgabe bis zum Empfang eines neuen Bildes kann das letzte Bild der Sequenz wiederholt werden, bis das nächste Bild empfangen wird. Die Alternative des Stummschaltens der Videoausgabe ist vorteilhaft, da sie die lokale Einfügung von Werbesendungen an einer Kabelfernsehkopfstelle oder dergleichen erlaubt.
  • Es versteht sich jetzt, dass die vorliegende Erfindung verbesserte Verfahren zum Lokalisieren und Erfassen von Videodaten aus einem paketierten Datenstrom und zum Erkennen, Maskieren und Sich-Erholen von Fehlern in derartigen Daten bereitstellt. Aus einem PES-Anfangsblock extrahierte Zeitsteuerungsinformation wird zusammen mit Bildinformation in einem Videospeicher gespeichert, um das Decodieren der Bildinformation zu erleichtern. Verschiedene Techniken zum Maskieren und Sich-Erholen von Übertragungsfehlern sind bereitgestellt.

Claims (7)

  1. Ein Verfahren zum Erfassen von Videodaten für eine erwünschte Dienstleistung aus einem paketierten Datenstrom, der Transportpakete (80) umfasst, die unterschiedliche Komponenten der Dienstleistung tragen, wobei die von einem besonderen Transportpaket (80) getragene Komponente mit einer Paketkennung (PID) für diese Komponente gekennzeichnet ist, und das die folgenden Schritte beinhaltet: Überwachen der PIDs der Transportpakete (80), um diejenigen, die eine Videokomponente der Dienstleistung tragen, aufzugreifen; Verarbeiten der Anfangsblockinformation aus den aufgegriffenen Transportpaketen (80), um Pakete (70) des paketierten Elementarstroms (PES = Packetized Elementary Stream), die einen PES-Anfangsblock (72) und Bildinformation (74) aufweisen, aufzugreifen, wobei die Bildinformation Bildanfangsblöcke (100) an den Grenzen zwischen aufeinander folgenden Videoabbildern, die decodiert werden sollen, umfasst; Erhalten von Zeitstempel-Information (104) aus dem PES-Anfangsblock von mindestens einem der PES-Pakete (70); und Anhängen der Zeitstempel-Information (104) an eine entsprechende Bildinformation (102) zur Speicherung in einem Speicher (22), so dass die aus dem PES-Anfangsblock (72) erhaltene Zeitstempel-Information (104) in den nächsten Bildanfangsblock (100), der dem PES-Anfangsblock (72) in dem paketierten Datenstrom folgt, und nach einem Bildstartcode, der in dem nächsten Bildanfangsblock enthalten ist, eingefügt wird; wobei die Bildinformation unter Verwendung der Zeitstempel-Information (104), die daran angehängt ist, aus dem Speicher (22) gelesen und decodiert werden kann, ohne wieder auf den PES-Anfangsblock (72) für die Zeitstempel-Information (104) zugreifen zu müssen.
  2. Verfahren gemäß Anspruch 1, das die folgenden weiteren Schritte beinhaltet: Überwachen der PES-Pakete (70), um einen Empfang von zwei PES-Paketköpfen (72), die Zeitstempel ohne einen dazwischenkommenden Bildstartcode aufweisen, zu erkennen; und in dem Fall, dass ein derartiger Empfang von zwei PES-Paketköpfen (72), die Zeitstempel ohne einen dazwischenkommenden Bildstartcode aufweisen, erkannt wird, Einfügen des Zeitstempels aus dem zweiten der zwei PES-Paketköpfe nach dem nächsten Bildstartcode, während der Zeitstempel aus dem ersten der zwei PES-Paketköpfe ignoriert wird.
  3. Verfahren gemäß Anspruch 2, das die folgenden weiteren Schritte beinhaltet: Bereitstellen eines Codes, der den Empfang von zwei PES-Paketköpfen (72), die Zeitstempel ohne einen dazwischenkommenden Bildstartcode aufweisen, anzeigt; und Verwenden des Codes, um zu verhindern, dass der Zeitstempel aus dem zweiten der zwei PES-Paketköpfe (72) als ungültig ignoriert wird.
  4. Verfahren gemäß Anspruch 1, bei dem die Bildinformation Pixeldaten und einen Videosequenzanfangsblock umfasst, der Informationen darüber, wie die Pixeldaten decodiert werden sollen, bereitstellt, wobei das Verfahren die folgenden weiteren Schritte beinhaltet: Konfigurieren des Speichers (22) mit einem besonderen Mapping als Reaktion auf Information aus dem Sequenzanfangsblock; und Zurückweisen von Anforderungen von Lese- und Schreibzugriff auf den Speicher (22) während der Konfiguration des Speichers.
  5. Verfahren gemäß Anspruch 1, das die folgenden weiteren Schritte beinhaltet: Überwachen der Bildinformation, um das Auftreten eines fehlenden Bildanfangsblocks (100) zu erkennen; und bei einer derartigen Erkennung, Wiederholen der Anzeige des zuletzt angezeigten Vollformats von Bildinformation, die noch in dem Speicher (22) enthalten ist, bis ein neues Vollformat nach einem nachfolgenden Bildanfangsblock (100) zur Anzeige zur Verfügung steht.
  6. Verfahren gemäß Anspruch 1, bei dem eine der Komponenten eine Programmtaktreferenz (PCR = Program Clock Reference) umfasst, die Zeitsteuerungsinformation für die gewünschte Dienstleistung bereitstellt, das die folgenden weiteren Schritte beinhaltet: Erkennen der PCR für die gewünschte Dienstleistung aus der Komponente (86), die die PCR in dem Datenstrom trägt; Vergleichen der Zeitstempel-Information (104) mit dem Wert eines Decodiererzeittaktgebers, der mit der PCR synchronisiert ist, um zu bestimmen, ob eine von der Zeitstempel-Information (104) dargestellte Zeit dem Wert des Decodiererzeittaktgebers vorausgeht, und falls ja, Verwerfen der der Zeitstempel-Information (104) zugehörigen Bildinformation.
  7. Verfahren gemäß Anspruch 1, wobei die Bildinformation an den Grenzen zwischen aufeinander folgenden Videoabbildern Bildanfangsblöcke (100) umfasst, jeder Bildanfangsblock (100) eine Bezugsnummer für das folgende Videoabbild umfasst und das Verfahren die folgenden weiteren Schritte beinhaltet: Freigeben spezifischer Videoabbilder, die zum Decodieren ausgewählt werden sollen, indem auf die dazu zugehörige Bezugsnummer Bezug genommen wird; und Decodieren des ausgewählten Abbildes und sein Anzeigen als ein Festbild, bis ein nachfolgendes ausgewähltes Abbild mit derselben Bezugsnummer zur Anzeige bereit ist.
DE69633475T 1995-02-28 1996-02-13 Aufnahme gewünschter Daten aus einem Strom paketierter Daten und Synchronisierung davon Expired - Fee Related DE69633475T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US392421 1995-02-28
US08/392,421 US5517250A (en) 1995-02-28 1995-02-28 Acquisition of desired data from a packetized data stream and synchronization thereto

Publications (2)

Publication Number Publication Date
DE69633475D1 DE69633475D1 (de) 2004-11-04
DE69633475T2 true DE69633475T2 (de) 2006-02-23

Family

ID=23550520

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69633475T Expired - Fee Related DE69633475T2 (de) 1995-02-28 1996-02-13 Aufnahme gewünschter Daten aus einem Strom paketierter Daten und Synchronisierung davon

Country Status (12)

Country Link
US (1) US5517250A (de)
EP (1) EP0730384B1 (de)
JP (1) JP3839089B2 (de)
KR (1) KR100365384B1 (de)
CN (1) CN1110958C (de)
AU (1) AU697213B2 (de)
BR (1) BR9600831A (de)
CA (1) CA2169348C (de)
DE (1) DE69633475T2 (de)
ES (1) ES2227567T3 (de)
NO (1) NO314480B1 (de)
TW (1) TW308775B (de)

Families Citing this family (155)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9405914D0 (en) 1994-03-24 1994-05-11 Discovision Ass Video decompression
US5842033A (en) * 1992-06-30 1998-11-24 Discovision Associates Padding apparatus for passing an arbitrary number of bits through a buffer in a pipeline system
US6047112A (en) 1992-06-30 2000-04-04 Discovision Associates Technique for initiating processing of a data stream of encoded video information
US6330665B1 (en) 1992-06-30 2001-12-11 Discovision Associates Video parser
US5740460A (en) 1994-07-29 1998-04-14 Discovision Associates Arrangement for processing packetized data
JPH08149474A (ja) * 1994-11-17 1996-06-07 Hitachi Ltd 動画像復号化装置
KR960036641A (ko) * 1995-03-21 1996-10-28 김광호 저속의 비디오비트열을 복호하는 고속용 복호화장치
JP3720412B2 (ja) * 1995-05-01 2005-11-30 キヤノン株式会社 情報処理方法及び装置
US5574505A (en) * 1995-05-16 1996-11-12 Thomson Multimedia S.A. Method and apparatus for operating a transport stream encoder to produce a stream of packets carrying data representing a plurality of component signals
US5982459A (en) * 1995-05-31 1999-11-09 8×8, Inc. Integrated multimedia communications processor and codec
US5721878A (en) * 1995-06-07 1998-02-24 International Business Machines Corporation Multimedia control system and method for controlling multimedia program presentation
US6119213A (en) * 1995-06-07 2000-09-12 Discovision Associates Method for addressing data having variable data width using a fixed number of bits for address and width defining fields
JP3184763B2 (ja) 1995-06-07 2001-07-09 インターナショナル・ビジネス・マシーンズ・コーポレ−ション マルチメディア直接アクセス記憶装置及びフォーマット方法
US5930493A (en) * 1995-06-07 1999-07-27 International Business Machines Corporation Multimedia server system and method for communicating multimedia information
US5721815A (en) * 1995-06-07 1998-02-24 International Business Machines Corporation Media-on-demand communication system and method employing direct access storage device
US5699124A (en) 1995-06-28 1997-12-16 General Instrument Corporation Of Delaware Bandwidth efficient communication of user data in digital television data stream
US5666487A (en) * 1995-06-28 1997-09-09 Bell Atlantic Network Services, Inc. Network providing signals of different formats to a user by multplexing compressed broadband data with data of a different format into MPEG encoded data stream
JPH0918870A (ja) * 1995-06-30 1997-01-17 Sony Corp タイミング検出回路及びその方法
US5742623A (en) * 1995-08-04 1998-04-21 General Instrument Corporation Of Delaware Error detection and recovery for high rate isochronous data in MPEG-2 data streams
US5959659A (en) * 1995-11-06 1999-09-28 Stellar One Corporation MPEG-2 transport stream decoder having decoupled hardware architecture
US5771239A (en) * 1995-11-17 1998-06-23 General Instrument Corporation Of Delaware Method and apparatus for modifying a transport packet stream to provide concatenated synchronization bytes at interleaver output
US5703877A (en) * 1995-11-22 1997-12-30 General Instrument Corporation Of Delaware Acquisition and error recovery of audio data carried in a packetized data stream
US6169843B1 (en) * 1995-12-01 2001-01-02 Harmonic, Inc. Recording and playback of audio-video transport streams
US5675511A (en) * 1995-12-21 1997-10-07 Intel Corporation Apparatus and method for event tagging for multiple audio, video, and data streams
US5729292A (en) * 1995-12-21 1998-03-17 Thomson Multimedia, S.A. Optimizing performance in a packet slot priority packet transport system
KR100220678B1 (ko) * 1995-12-29 1999-09-15 전주범 블록 단위 부호화 장치로부터 전송된 영상신호에서의 채널 에러 정정 방법
US5835493A (en) * 1996-01-02 1998-11-10 Divicom, Inc. MPEG transport stream remultiplexer
US6018765A (en) * 1996-01-23 2000-01-25 Storage Concepts, Inc. Multi-channel multimedia data server
US6047027A (en) * 1996-02-07 2000-04-04 Matsushita Electric Industrial Co., Ltd. Packetized data stream decoder using timing information extraction and insertion
US5768537A (en) * 1996-02-22 1998-06-16 International Business Machines Corporation Scalable MPEG2 compliant video encoder
US5818539A (en) * 1996-03-29 1998-10-06 Matsushita Electric Corporation Of America System and method for updating a system time constant (STC) counter following a discontinuity in an MPEG-2 transport data stream
CA2204828C (en) * 1996-05-10 2004-11-23 Ray Nuber Error detection and recovery for high rate isochronous data in mpeg-2 data streams
KR100203262B1 (ko) * 1996-06-11 1999-06-15 윤종용 픽춰단위 동기화를 위한 비디오디코더의 인터페이스장치
US5864557A (en) * 1996-09-25 1999-01-26 Thomson Multimedia S.A. Method and apparatus for opportunistically transferring data in a packet stream encoder
EP0841820A3 (de) * 1996-11-08 2005-11-09 Matsushita Electric Industrial Co., Ltd. Verfahren und Vorrichtung zur Kodierung, Multiplexierung und Übertragung eines Videosignales
US6018764A (en) * 1996-12-10 2000-01-25 General Instrument Corporation Mapping uniform resource locators to broadcast addresses in a television signal
US6359656B1 (en) * 1996-12-20 2002-03-19 Intel Corporation In-band synchronization of data streams with audio/video streams
CN1219265A (zh) * 1997-03-12 1999-06-09 皇家菲利浦电子有限公司 数字信息信号在记录载体上的记录
JP3554177B2 (ja) * 1997-04-23 2004-08-18 キヤノン株式会社 出力制御装置、出力制御方法、記憶媒体
JP3356203B2 (ja) * 1997-06-09 2002-12-16 日本電気株式会社 Mpeg2トランスポートストリーム分離方法と回路
US5923655A (en) * 1997-06-10 1999-07-13 E--Net, Inc. Interactive video communication over a packet data network
JPH114446A (ja) * 1997-06-12 1999-01-06 Sony Corp 情報信号デコード方法及び装置
EP1708487B1 (de) 1997-08-29 2013-05-08 Panasonic Corporation Verfahren und Vorrichtung zur Wiedergabe einer hochauflösenden optischen Videoplatte
US6078594A (en) * 1997-09-26 2000-06-20 International Business Machines Corporation Protocol and procedure for automated channel change in an MPEG-2 compliant datastream
US6181706B1 (en) 1997-09-26 2001-01-30 International Business Machines Corporation Common buffer for multiple streams and control registers in an MPEG-2 compliant transport register
US6091772A (en) * 1997-09-26 2000-07-18 International Business Machines, Corporation Black based filtering of MPEG-2 compliant table sections
US6356567B2 (en) 1997-09-26 2002-03-12 International Business Machines Corporation Embedded clock recovery and difference filtering for an MPEG-2 compliant transport stream
US6115422A (en) * 1997-09-26 2000-09-05 International Business Machines Corporation Protocol and procedure for time base change in an MPEG-2 compliant datastream
US6088357A (en) * 1997-09-26 2000-07-11 International Business Machines Corporation Auxiliary transport assist processor especially for an MPEG-2 compliant decoder
US6229801B1 (en) 1997-09-26 2001-05-08 International Business Machines Corporation Delivery of MPEG2 compliant table data
US6195403B1 (en) 1997-09-26 2001-02-27 International Business Machines Corporation Pulse generator for a voltage controlled oscillator
US6275507B1 (en) 1997-09-26 2001-08-14 International Business Machines Corporation Transport demultiplexor for an MPEG-2 compliant data stream
US6072771A (en) * 1997-09-26 2000-06-06 International Business Machines Corporation Detection of errors in table data
EP0917356A1 (de) * 1997-11-17 1999-05-19 CANAL+ Société Anonyme Paketfilterung
US6195368B1 (en) 1998-01-14 2001-02-27 Skystream Corporation Re-timing of video program bearing streams transmitted by an asynchronous communication link
US6246701B1 (en) 1998-01-14 2001-06-12 Skystream Corporation Reference time clock locking in a remultiplexer for video program bearing transport streams
US6351471B1 (en) * 1998-01-14 2002-02-26 Skystream Networks Inc. Brandwidth optimization of video program bearing transport streams
US6292490B1 (en) * 1998-01-14 2001-09-18 Skystream Corporation Receipts and dispatch timing of transport packets in a video program bearing stream remultiplexer
US6351474B1 (en) 1998-01-14 2002-02-26 Skystream Networks Inc. Network distributed remultiplexer for video program bearing transport streams
US6064676A (en) * 1998-01-14 2000-05-16 Skystream Corporation Remultipelxer cache architecture and memory organization for storing video program bearing transport packets and descriptors
US6148082A (en) * 1998-01-14 2000-11-14 Skystream Corporation Scrambling and descrambling control word control in a remultiplexer for video bearing transport streams
AU761704B2 (en) * 1998-01-14 2003-06-05 Skystream Corporation Video program bearing transport stream remultiplexer
JPH11205696A (ja) * 1998-01-20 1999-07-30 Sony Corp 映像伝送装置及び映像伝送方法
JP2978876B2 (ja) * 1998-04-20 1999-11-15 日本電気アイシーマイコンシステム株式会社 Pcmデータ出力方法および装置
FR2780186B1 (fr) * 1998-06-23 2000-08-11 St Microelectronics Sa Procede et dispositif de decodage d'une image, comprimee notamment selon les normes mpeg, en particulier une image bidirectionnelle
US6160847A (en) * 1998-06-26 2000-12-12 Lsi Logic Corporation Detection mechanism for video channel underflow in MPEG-2 video decoding
US6573942B1 (en) * 1998-08-17 2003-06-03 Sharp Laboratories Of America, Inc. Buffer system for controlled and timely delivery of MPEG-2F data services
US6304914B1 (en) * 1998-09-22 2001-10-16 Microsoft Corporation Method and apparatus for pre-compression packaging
US6434146B1 (en) * 1998-12-04 2002-08-13 Koninklijke Philips Electronics N.V. Use of sequencing information in a local header that allows proper synchronization of packets to subsidiary interfaces within the post-processing environment of an mpeg-2 packet demultiplexing architecture
WO2000046995A1 (en) * 1999-02-05 2000-08-10 Sony Corporation Encoding system, encoding method, decoding system, decoding method, multiplexing device, multiplexing method, display system and display method
US6480537B1 (en) * 1999-02-25 2002-11-12 Telcordia Technologies, Inc. Active techniques for video transmission and playback
JP4292654B2 (ja) * 1999-03-19 2009-07-08 ソニー株式会社 記録装置および方法、再生装置および方法、並びに記録媒体
US7239702B1 (en) * 1999-08-20 2007-07-03 Sony Corporation Information recording/reproducing device
US6654389B1 (en) * 1999-11-23 2003-11-25 International Business Machines Corporation System and method for searching patterns in real-time over a shared media
US6690683B1 (en) 1999-11-23 2004-02-10 International Business Machines Corporation Method and apparatus for demultiplexing a shared data channel into a multitude of separate data streams, restoring the original CBR
JP2001157204A (ja) * 1999-11-25 2001-06-08 Nec Corp 動画像復号化方法及び装置
US6778533B1 (en) 2000-01-24 2004-08-17 Ati Technologies, Inc. Method and system for accessing packetized elementary stream data
US6885680B1 (en) 2000-01-24 2005-04-26 Ati International Srl Method for synchronizing to a data stream
US7366961B1 (en) 2000-01-24 2008-04-29 Ati Technologies, Inc. Method and system for handling errors
US8284845B1 (en) * 2000-01-24 2012-10-09 Ati Technologies Ulc Method and system for handling data
US6763390B1 (en) * 2000-01-24 2004-07-13 Ati Technologies, Inc. Method and system for receiving and framing packetized data
US6988238B1 (en) 2000-01-24 2006-01-17 Ati Technologies, Inc. Method and system for handling errors and a system for receiving packet stream data
US7113546B1 (en) 2000-05-02 2006-09-26 Ati Technologies, Inc. System for handling compressed video data and method thereof
US6819715B2 (en) * 2000-07-25 2004-11-16 Matsushita Electric Industrial Co., Ltd. Image decoding method, image decoding apparatus, and data storage medium
US7095945B1 (en) * 2000-11-06 2006-08-22 Ati Technologies, Inc. System for digital time shifting and method thereof
US6629261B1 (en) * 2000-11-21 2003-09-30 At&T Wireless Services, Inc. Enhanced data link layer selective reject mechanism in noisy wireless environment
US6895520B1 (en) 2001-03-02 2005-05-17 Advanced Micro Devices, Inc. Performance and power optimization via block oriented performance measurement and control
KR100390841B1 (ko) * 2001-03-27 2003-07-10 주식회사 하이닉스반도체 피아이디 검출을 고속화하기 위한 피아이디 저장 및 비교장치 및 방법
JP3494161B2 (ja) * 2001-03-30 2004-02-03 ミノルタ株式会社 画像処理システム、管理装置、画像処理装置、管理方法、管理プログラム及び記録媒体
WO2002091202A1 (en) * 2001-05-04 2002-11-14 Globespan Virata Incorporated System and method for distributed processing of packet data containing audio information
EP1393563B1 (de) 2001-05-14 2004-12-01 SCM Microsystems GmbH Gleichzeitige digitale fernsehströme mit konditionalem zugriff
KR100470025B1 (ko) 2001-06-15 2005-02-04 엘지전자 주식회사 디지털 데이터 스트림 기록장치 및 방법과, 그에 따른기록매체
US20030035384A1 (en) * 2001-08-16 2003-02-20 Globespan Virata, Incorporated Apparatus and method for concealing the loss of audio samples
US8676025B2 (en) * 2002-03-01 2014-03-18 Broadcom Corporation Method of timebase management for MPEG decoding with personal video recording functionality
US7508874B2 (en) * 2002-01-29 2009-03-24 Broadcom Corporation Error concealment for MPEG decoding with personal video recording functionality
US7027520B2 (en) * 2001-08-30 2006-04-11 Thomson Licensing Method and apparatus for simultaneously retrieving portions of a data stream from different channels
US7215679B2 (en) * 2001-08-30 2007-05-08 Thomson Licensing Method, apparatus and data structure enabling multiple channel data stream transmission
US8880709B2 (en) * 2001-09-12 2014-11-04 Ericsson Television Inc. Method and system for scheduled streaming of best effort data
US9497452B2 (en) * 2002-01-22 2016-11-15 Broadcom Corporation System and method of transmission and reception of video using compressed differential time stamps
US20030152080A1 (en) * 2002-02-12 2003-08-14 O'brien Royal System and method for fault tolerant multimedia communication
JP2003317447A (ja) * 2002-04-23 2003-11-07 Konica Minolta Holdings Inc 画像表示用プログラム及び該プログラムが記録された情報記録媒体
US7706402B2 (en) * 2002-05-06 2010-04-27 Ikanos Communications, Inc. System and method for distributed processing of packet data containing audio information
US6842432B2 (en) * 2002-12-10 2005-01-11 Motorola, Inc. Method for allocating channel resources in a distributed control channel system
US7394969B2 (en) * 2002-12-11 2008-07-01 Eastman Kodak Company System and method to compose a slide show
US7499469B2 (en) * 2003-01-13 2009-03-03 Broadcom Corporation Method and system for generating digital video broadcast (DVB) transport stream from direct satellite system (DSS) transport stream
BRPI0407527B1 (pt) * 2003-02-18 2019-04-02 Nokia Technologies Oy Método para armazenar dados de mídia em buffer, método para decodificar o fluxo de imagem codificado em um decodificador, sistema, dispositivo de transmissão, dispositivo de recepção, sinal, módulo para recepção de fluxo de imagem codificado, processador, codificador e decodificador.
MXPA05008405A (es) * 2003-02-18 2005-10-05 Nokia Corp Metodo de descodificacion de imagen.
US7693394B2 (en) * 2003-02-26 2010-04-06 Lg Electronics Inc. Recording medium having data structure for managing reproduction of data streams recorded thereon and recording and reproducing methods and apparatuses
CN100543721C (zh) * 2003-03-06 2009-09-23 Lg电子株式会社 交互式媒体和用于管理其中附加数据的方法
US7817721B2 (en) * 2003-05-15 2010-10-19 Lsi Corporation Posting status data in digital transport stream processing
US7693222B2 (en) * 2003-08-13 2010-04-06 Ericsson Television Inc. Method and system for re-multiplexing of content-modified MPEG-2 transport streams using PCR interpolation
US20050060420A1 (en) * 2003-09-11 2005-03-17 Kovacevic Branko D. System for decoding multimedia data and method thereof
US20050201471A1 (en) * 2004-02-13 2005-09-15 Nokia Corporation Picture decoding method
US9124907B2 (en) * 2004-10-04 2015-09-01 Nokia Technologies Oy Picture buffering method
US20060136981A1 (en) * 2004-12-21 2006-06-22 Dmitrii Loukianov Transport stream demultiplexor with content indexing capability
JP4693427B2 (ja) * 2005-01-27 2011-06-01 京セラ株式会社 ディジタル放送受信装置
US8074248B2 (en) 2005-07-26 2011-12-06 Activevideo Networks, Inc. System and method for providing video content associated with a source image to a television in a communication network
KR100710393B1 (ko) * 2005-10-11 2007-04-24 엘지전자 주식회사 압축 스트림의 복호방법
US7339853B2 (en) * 2005-12-02 2008-03-04 Agilent Technologies, Inc. Time stamping events for fractions of a clock cycle
EP2074715B1 (de) * 2006-10-03 2013-04-24 ViaSat, Inc. Vorwärts-satellitenstrecke mit subkanälen
US9826197B2 (en) 2007-01-12 2017-11-21 Activevideo Networks, Inc. Providing television broadcasts over a managed network and interactive content over an unmanaged network to a client device
EP2116051A2 (de) 2007-01-12 2009-11-11 ActiveVideo Networks, Inc. Mpeg-objekte und systeme und verfahren zur verwendung von mpeg-objekten
EP3511841B1 (de) 2007-11-16 2021-07-21 DivX, LLC Chunk-header mit binären flags und korrelierten feldern variabler länge
US8165451B2 (en) 2007-11-20 2012-04-24 Echostar Technologies L.L.C. Methods and apparatus for displaying information regarding interstitials of a video stream
US8136140B2 (en) 2007-11-20 2012-03-13 Dish Network L.L.C. Methods and apparatus for generating metadata utilized to filter content from a video stream using text data
US8165450B2 (en) 2007-11-19 2012-04-24 Echostar Technologies L.L.C. Methods and apparatus for filtering content in a video stream using text data
US8606085B2 (en) * 2008-03-20 2013-12-10 Dish Network L.L.C. Method and apparatus for replacement of audio data in recorded audio/video stream
JP4327883B1 (ja) * 2008-04-28 2009-09-09 株式会社東芝 情報処理装置、情報処理方法
US8156520B2 (en) 2008-05-30 2012-04-10 EchoStar Technologies, L.L.C. Methods and apparatus for presenting substitute content in an audio/video stream using text data
US20090313674A1 (en) * 2008-06-17 2009-12-17 Ictv, Inc. PID Obfuscation
US8631145B2 (en) * 2008-10-31 2014-01-14 Sonic Ip, Inc. System and method for playing content on certified devices
US8411798B2 (en) * 2008-11-05 2013-04-02 Viasat, Inc. Reducing receiver power dissipation
US8407735B2 (en) * 2008-12-24 2013-03-26 Echostar Technologies L.L.C. Methods and apparatus for identifying segments of content in a presentation stream using signature data
US8588579B2 (en) * 2008-12-24 2013-11-19 Echostar Technologies L.L.C. Methods and apparatus for filtering and inserting content into a presentation stream using signature data
US8510771B2 (en) * 2008-12-24 2013-08-13 Echostar Technologies L.L.C. Methods and apparatus for filtering content from a presentation stream using signature data
US8437617B2 (en) * 2009-06-17 2013-05-07 Echostar Technologies L.L.C. Method and apparatus for modifying the presentation of content
JP4999915B2 (ja) * 2009-12-21 2012-08-15 パナソニック株式会社 Dtvデータ処理装置
US8934758B2 (en) 2010-02-09 2015-01-13 Echostar Global B.V. Methods and apparatus for presenting supplemental content in association with recorded content
US20110197224A1 (en) * 2010-02-09 2011-08-11 Echostar Global B.V. Methods and Apparatus For Selecting Advertisements For Output By A Television Receiver Based on Social Network Profile Data
EP2628306B1 (de) 2010-10-14 2017-11-22 ActiveVideo Networks, Inc. Streaming digitaler videoinhalte zwischen videovorrichtungen mithilfe eines kabelfernsehsystems
EP2695388B1 (de) 2011-04-07 2017-06-07 ActiveVideo Networks, Inc. Latenzreduktion in videoverteilungsnetzwerken mit adaptiver bitrate
EP2815582B1 (de) 2012-01-09 2019-09-04 ActiveVideo Networks, Inc. Wiedergabe einer interaktiven vereinfachten benutzerschnittstelle auf einem fernsehgerät
US9800945B2 (en) 2012-04-03 2017-10-24 Activevideo Networks, Inc. Class-based intelligent multiplexing over unmanaged networks
US9123084B2 (en) 2012-04-12 2015-09-01 Activevideo Networks, Inc. Graphical application integration with MPEG objects
WO2014145921A1 (en) 2013-03-15 2014-09-18 Activevideo Networks, Inc. A multiple-mode system and method for providing user selectable video content
US9219922B2 (en) 2013-06-06 2015-12-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
EP3005712A1 (de) 2013-06-06 2016-04-13 ActiveVideo Networks, Inc. Überlagerte darstellung einer benutzerschnittstelle auf quellvideoinhalten
US9294785B2 (en) 2013-06-06 2016-03-22 Activevideo Networks, Inc. System and method for exploiting scene graph information in construction of an encoded video sequence
CN105794217B (zh) 2013-12-09 2021-01-12 索尼公司 数据处理装置和数据处理方法
US9788029B2 (en) 2014-04-25 2017-10-10 Activevideo Networks, Inc. Intelligent multiplexing using class-based, multi-dimensioned decision logic for managed networks
US10361814B2 (en) * 2016-06-15 2019-07-23 Friday Harbor Llc Encoding for frameless packet transmissions
US10389764B2 (en) 2016-10-18 2019-08-20 At&T Intellectual Property I, L.P. Network data source time management for data streaming processing system
TWI718889B (zh) * 2019-01-10 2021-02-11 慧榮科技股份有限公司 改善快閃記憶體之讀取重試的方法、控制器以及相關儲存裝置
TWI690928B (zh) * 2019-01-10 2020-04-11 慧榮科技股份有限公司 改善快閃記憶體之讀取重試的方法、控制器以及相關儲存裝置
US11172269B2 (en) 2020-03-04 2021-11-09 Dish Network L.L.C. Automated commercial content shifting in a video streaming system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03141752A (ja) * 1989-10-27 1991-06-17 Hitachi Ltd 画像信号伝送方法
US5111292A (en) * 1991-02-27 1992-05-05 General Electric Company Priority selection apparatus as for a video signal processor
TW237589B (de) * 1991-02-27 1995-01-01 Gen Electric
US5289276A (en) * 1992-06-19 1994-02-22 General Electric Company Method and apparatus for conveying compressed video data over a noisy communication channel
US5497404A (en) * 1992-07-14 1996-03-05 General Instrument Corporation Transmission error recovery for digital communication systems using variable length data packets where data is stored in header locations of memory
JP3255308B2 (ja) * 1992-12-18 2002-02-12 ソニー株式会社 データ再生装置
AU672070B2 (en) * 1993-02-26 1996-09-19 Sony Corporation Synchronization of audio/video information
US5376969A (en) * 1993-11-15 1994-12-27 Rca Thomson Licensing Corporation Method and apparatus for conveying compressed video data over a noisy communication channel

Also Published As

Publication number Publication date
NO314480B1 (no) 2003-03-24
KR960033023A (ko) 1996-09-17
EP0730384B1 (de) 2004-09-29
NO960789L (no) 1996-08-29
ES2227567T3 (es) 2005-04-01
AU697213B2 (en) 1998-10-01
BR9600831A (pt) 1997-12-30
DE69633475D1 (de) 2004-11-04
CN1134646A (zh) 1996-10-30
CA2169348C (en) 2005-09-13
NO960789D0 (no) 1996-02-27
KR100365384B1 (ko) 2003-03-06
JP3839089B2 (ja) 2006-11-01
CA2169348A1 (en) 1996-08-29
US5517250A (en) 1996-05-14
CN1110958C (zh) 2003-06-04
EP0730384A3 (de) 1997-10-22
EP0730384A2 (de) 1996-09-04
JPH0937252A (ja) 1997-02-07
TW308775B (de) 1997-06-21
AU4577296A (en) 1996-09-05

Similar Documents

Publication Publication Date Title
DE69633475T2 (de) Aufnahme gewünschter Daten aus einem Strom paketierter Daten und Synchronisierung davon
DE69736031T2 (de) Transportdekodierer für MPEG-2
DE69837502T2 (de) Übertragen von VBI-Information in digitalen Fernsehdatenströmen
DE69333982T2 (de) Verfahren zum Anordnen komprimierter Videodaten zur Übertragung über einen verrauschten Kanal
DE69628985T2 (de) Empfänger mit analogen und digitalen Videobetriebsarten und Empfangsverfahren dafür
DE69535553T2 (de) Videokompression
DE69935770T2 (de) Procede de mise à jour de logiciels dans un recepteur de television utilisant des donnees enregistrees
DE69934070T2 (de) Zustandanzeige für digitales Fernsehen
DE69722556T2 (de) Synchronisierung einer stereoskopischen Videosequenz
AU688585B2 (en) Syntax parser for a video decompression processor
DE4322356B4 (de) Einrichtung zum Steuern der Rücksetzung in einem Videosignalcodierer
US6275507B1 (en) Transport demultiplexor for an MPEG-2 compliant data stream
EP0696874B1 (de) Zuordnung von Speicherkapazität in einem DRAM für einen digitalen Bilddatendekomprimierungsprozessor
CA2179322C (en) Bandwidth efficient communication of user data in digital television data stream
US6181706B1 (en) Common buffer for multiple streams and control registers in an MPEG-2 compliant transport register
DE69830752T2 (de) Verfahren und Anlage zur Aufnahme vielfachprotokoll-komprimierter Ton- und Videodaten
DE69736886T2 (de) Vorrichtung zum Empfang digitaler Fernsehsignale und Empfangs- Aufnahme- Wiedergabeanlage dafür
DE69929989T2 (de) Videokomponentanbindungsverfahren für zwei digitale bildtonprogramme mit duplikation von halbbildern
DE19860507B4 (de) Videocodierverfahren, Videodecoder und digitales Fernsehsystem unter Verwendung eines solchen Verfahrens und eines solchen Decoders
JP2001523927A (ja) パケットデータストリームをフィルタする方法
DE69924106T2 (de) Empfänger und empfangsverfahren
DE19811292A1 (de) MPEG-II-System mit PES-Decodierer
DE60028692T2 (de) Verfahren und anordnung zur übertragung und zum empfang von kodierten bildern
DE19813784A1 (de) Verfahren zum Erhöhen der Speicherkapazität für Serviceinformation in einem Empfänger für digitale TV-Sendungen
DE69732927T2 (de) Fehlererkennung und -beseitigung für hohenrate isochronen Daten in einen MPEG-2 Datenstrom

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee