DE69629442T2 - Verfahren und Einrichtung zur Kodierung digitaler Videosignale - Google Patents

Verfahren und Einrichtung zur Kodierung digitaler Videosignale Download PDF

Info

Publication number
DE69629442T2
DE69629442T2 DE1996629442 DE69629442T DE69629442T2 DE 69629442 T2 DE69629442 T2 DE 69629442T2 DE 1996629442 DE1996629442 DE 1996629442 DE 69629442 T DE69629442 T DE 69629442T DE 69629442 T2 DE69629442 T2 DE 69629442T2
Authority
DE
Germany
Prior art keywords
data
coding
level
prediction
bus
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
DE1996629442
Other languages
English (en)
Other versions
DE69629442D1 (de
Inventor
Barth Canfield
Gilles Lamouroux
Detlef Teichner
Rolf Kessler
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.)
Harman Becker Automotive Systems GmbH
Harman Becker Automotive Systems Xsys Division GmbH
Original Assignee
Harman Becker Automotive Systems GmbH
Harman Becker Automotive Systems Xsys Division GmbH
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 Harman Becker Automotive Systems GmbH, Harman Becker Automotive Systems Xsys Division GmbH filed Critical Harman Becker Automotive Systems GmbH
Publication of DE69629442D1 publication Critical patent/DE69629442D1/de
Application granted granted Critical
Publication of DE69629442T2 publication Critical patent/DE69629442T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Color Television Systems (AREA)

Description

  • Die vorliegende Erfindung betrifft ein Verfahren und eine Vorrichtung zur Videodatenkomprimierung und Bitstromcodierung.
  • Solche Verfahren und Vorrichtungen sind zum Beispiel aus den folgenden Schriften bekannt: IEEE TRANSACTIONS ON CONSUMER ELECTRONICS, Band 40, Nr. 3, 1. August 1994, Seiten 466–472, XP000471207 AKIYAMA, T. ET AL.: "MPEG2 VIDEO CODEC USING IMAGE COMPRESSION DSP" und IEEE JOURNAL OF SOLID-STATE CIRCUITS; Band 29, Nr. 12, 1. Dezember 1994, S. 1474–1481, XP000495322 MASAKI, TOYOKURA ET AL.: "A VIDEO DSP WITH A MACROBLOCK-LEVEL-PIPELINE AND A SIMD TYPE VECTOR-PIPELINE ARCHITECTURE FOR MPEG2 CODEC".
  • Aus diesen beiden Schriften sind jeweils MPEG-Codierer bekannt.
  • Allgemeiner Stand der Technik
  • ISO bzw. IEC haben einen Videobitstrom standardisiert, der Videokompessionsverfahren für Videosignale und -bilder mit Standardauflösung und auch hoher Auflösung darstellt, und zwar den sogenannten MPEG-2-Standard.
  • MPEG-2 liefert drei verschiedene Bildcodierungstypen: Einzelbilder oder Teilbilder des Typs Intra (I), Vorhergesagt (P) und bidirektional vorhergesagt oder interpoliert (B). In P- und B-Einzelbildern oder -Teilbildern können jedoch Makroblöcke immer noch im Intra-Einzelbild- bzw. Intra-Teilbild-Verfahren codiert sein, wenn die Bewegungsprädiktion keine guten Ergebnisse liefert. Es muß im Codierer mit durch die Implementierung zu bestimmenden Kriterien eine Entscheidung getroffen werden. Zusätzlich ermöglicht MPEG-2 eine auf Einzelbildern oder Teilbildern basierende DCT (diskrete Kosinustransformation), die ein Sortieren von Zeilen und eine weitere Entscheidung durch den Codierer erfordert.
  • Bei digitalen Videorundsendeanwendungen werden Decodierer gewöhnlich in einem großen Volumen benötigt, während zur Bereitstellung des Dienstes nur eine kleine Anzahl von Codierern verwendet wird. Eine typische Konfiguration wird durch den DirecTv-Satellitendienst in den USA gegeben, wobei MPEG-2-Codierer für etwa 150 gleichzeitige Programme einen die USA abdeckenden Rundsendedienst liefern. Dies erfordert relativ billige Decodierer, während Codierer umfassendere Schaltkreise enthalten und teurer sein können. Die MPEG-2-Videocodierung und -decodierung kann auf asymmetrische Weise implementiert werden, wobei Codierer ein großes Ausmaß an sehr komplexen Schaltkreisen enthalten, während Decodierer nur den zur Decodierung gültiger Bitströme absolut erforderlichen Funktionalitätsumfang enthalten müssen.
  • Zu diesem Zweck definiert MPEG die Syntax und Semantik des Bitstroms und einen sogenannten System-Target-Decodierer. Die Implementierung des Codierers wird durch den Standard nicht geregelt. Dadurch ist es möglich, für Anwendungen mit geringen Anforderungen an die Bildqualität relativ einfache Codierer und für Anforderungen hoher Qualität sehr komplexe Codierer aufzubauen.
  • Für Videorundsende- und Unterhaltungsanwendungen werden von bestehenden Videostandards Bezugswerte für die Bildqualität gesetzt. Für das Rundsenden von Live-Ereignissen ist ein Echtzeitbetrieb des Codierers unabdinglich. Um mit all den verschiedenen digitalen Videoanwendungen und ihren jeweiligen Anforderungen zurechtzukommen, hat das sogenannte MPEG-Komitee (Arbeitsgruppe 11 der ISO/IEC) eine Menge von Profilen und Ebenen definiert. Profile bestimmen eine bestimmte Teilmenge von zu dem MPEG-2-Standard gehörenden Codierungswerkzeugen. Für spezifische Codierungsverfahren und -anwendungen werden verschiedene Werkzeuge verwendet. Ebenen schränken die großen Parameterumfänge auf die Zahlen ein, die bei üblichen Anwendungen, wie zum Beispiel Videorundsendung oder Videoübertragung über Netzwerke, verwendet werden.
  • Für Videorundsendedienste hängen Videosignale mit Standardauflösung mit den Spezifikationen der ITU-R-Empfehlung 601 oder Teilmengen dieser zusammen und können durch das MPEG-2-Hauptprofil auf der Hauptebene (MP@ML) abgewickelt werden. Hochauflösende Videosignale können durch die in den höheren Ebenen von MPEG-2 (z. B. MP@HL) definierten Parametermengen abgedeckt werden.
  • Das Hauptprofil umfaßt Komprimierungsverfahren für Videosignale in sogenannten 4 : 2 : 0-Format und definiert vielfältige Bewegungskompensations- und Codierungsmodi, die für hohe Kompressionsverhältnisse notwendig sind. Die Bewegungskompensation in dem MP basiert auf der auf Einzelbildern und Teilbildern basierenden Prädiktion in Vorwärts- und Rückwärtsrichtung und umfaßt Verfeinerungen, die spezifisch auf verschachtelte Videosignale abzielen, wie zum Beispiel die Dual-Prime-Technik. Zur Codierung erlaubt das MP auf Einzelbildern und Teilbildern basierende DCT, lineare und nichtlineare Quantisierung, Standard- und Alternativ-Zickzack-Scannen und mehr.
  • Digitale Videorundsendedienste werden auf Bitraten im Bereich von sogar nur 1 Mbit/s bis herauf zu etwa 10 Mbit/s basieren. Die unverarbeiteten Datenraten von Videosignalen, die gemäß der ITU-R-Empfehlung 601 digitalisiert werden, umfassen etwa 166 Mbit/s ohne Austastintervalle, Takt und Synchronisation. Für eine typische Bitrate von 4 Mbit/s, die eine Bildqualität bereitstellt, die bestehenden NTSC- und PAL-Videostandards ähnlich ist, wird ein Kompressionsfaktor im Bereich von 40 benötigt.
  • Kompressionsfaktoren in diesem Bereich lassen sich für Videosignale, die aus Filmmaterial stammen, aufgrund ihrer nicht verschachtelten Beschaffenheit und ihrer geringen zeitlichen Wiederholungsrate von 24 Hz relativ leicht erzielen. Wesentlich schwierigere Anforderungen kommen von echten Videosignalen, die aus Videokameras stammen, insbesondere in Sequenzen mit schneller und zufälliger Bewegung. Zur adäquaten Wiedergabe solcher Bilder mit hohen Kompressionsverhältnissen sind alle durch MPEG-2 MP bereitgestellten Bewegungsprädiktions- und Codierungsalternativen obligatorisch.
  • Die Hauptfunktionsblöcke zur Codierung von MPEG-2-Videodatenströmen gemäß dem Hauptprofil MP aus digitalen Videosignalen sind in 1 gezeigt. Bei einer solchen einfachen Codiereranordnung, die in der Technik wohlbekannt ist, werden digitalisierte Videosignale in einen Bildorganisationsblock 101 eingespeist, der die zeilen- und teilbildweisen Luminanz- und Chrominanzsignale in einem Makroblock und einer Blockordnung wie für eine nachfolgende Bewegungsschätzung und Codierung verwendet umordnet. Die Umorganisation der Einzelbild- oder Teilbildsequenz solcher Videodaten erfolgt ebenfalls im Block 101. Eine Bewegungsschätzstufe 102 berechnet geeignete Makroblockkorrespondenzen zwischen aufeinanderfolgenden Bildern in Form von Bewegungsvektoren für verschiedene Prädiktionstypen, wie sie durch die Syntax und Semantik des Standards ISO/IEC 13818-2 zugelassen und unterstützt werden, d. h. Einzelbildprädiktion, Teilbildprädiktion und Dual-Prime-Prädiktion. Makroblöcke von 16*16 Pixeln werden zu einem Kombinierer 103 weitergeleitet, und Bewegungsvektorparameter oder Daten-MVD und Prädiktionsmodusbeschreibungselemente PMD werden zu einem Prädiktor 109, zu einem ersten Codierer 115 für VLC (Codierung mit variabler Länge) für die Bewegungsvektorparameter und zu einem zweiten VLC-Codierer 116 für die Prädiktionsmodi geleitet. Für vorhergesagte Makroblöcke (P- und B-Bilder) nimmt der Kombinierer 103 die Makroblöcke aus der Bewegungsschätzstufe 102 und aus dem Prädiktor 109 und berechnet Differenzsignale, die aus Pixeldifferenzen für jeden Pixel der jeweiligen Makroblöcke bestehen. Diese Differenzsignale werden einer DCT-Stufe 104 zugeführt und für jeden 8*8-Pixelblock in entsprechende Arrays von 8*8-DCT-Koeffizienten transformiert. Im Fall von nicht vorhergesagten Makroblöcken (I-Bildern) werden die Ausgangssignale aus der Stufe 102 ohne Bildung von Differenzsignalen zu der DCT-Stufe 104 weitergeleitet.
  • Die Koeffizientenarrays werden zu einer Quantisierungstufe 105 weitergeleitet, die Tabellen zum Dividieren jedes Koeffizienten gemäß einem jeweiligen Tabelleneintrag und einem Skalierungsfaktor umfassen. Die Ausgabe des Quantisierers 105 wird an eine Zickzack-Scan-Einheit 110 und an einen Invers-Quantisierer 106 weitergeleitet. Der Invers-Quantisierer führt insofern die inverse Operation des Quantisierers 105 durch, als er jeden Eingangswert mit dem jeweiligen Tabelleneintrag und Skalierungsfaktor multipliziert. Ausgangssignale des Invers-Quantisierers 106 werden zu dem Invers-DCT-Block 107 geleitet, in dem 8*8-Arrays von DCT-Koeffizienten in 8*8-Blöcke von Pixelwerten rücktransformiert werden. Diese Pixelwertblöcke werden zu einem Addierer 108 weitergeleitet und dort zu den entsprechenden Ausgangssignalen des Prädiktors 109 addiert. Die Prädiktorstufe 109 empfängt ihre Eingangssignale aus dem Addierer 108. Der Prädiktor 109 speichert die Eingangssignale makroblockweise und führt Translationsverschiebungen von Makroblöcken in dem jeweiligen Bildarray, d. h. eine Bewegungskompensation, gemäß den Bewegungsvektoren und Prädiktorwerten, die zuvor durch den Bewegungsdetektor 102 berechnet wurden, durch. Die Ausgangssignale dieser Prädiktionsprozedur werden zu dem Addierer 108 und zu dem Kombinierer 103 weitergeleitet.
  • Ausgangssignale des Quantisierers 105 in Form quantisierter DCT-Koeffizienten werden in der Einheit 110 durch Zickzack-Scannen aufgereiht und dann zu einer RLC/VLC-Einheit (Lauflängencodierung) 111 weitergeleitet, die alle notwendigen RLC/VLC-Tabellen, einschließlich Escape-Codes von ISO/IEC 13818-2, umfaßt. Die Ausgangssignale der RLC/VLC-Stufe 111 stellen komprimierte Bilddaten in einem bitsequentiellen Datenstrom dar.
  • In den VLC-Codierern 115 und 116 werden ähnliche MPEG-VLC-Transformationen für Bewegungsvektoren und Prädiktionsmodi durchgeführt. Diese transformierten Signale werden in eine MPEG-Kopferzeugungseinheit 117 eingegeben, die außerdem Steuerparameter CONPAR aus einer externen Steuerungseinrichtung, wie zum Beispiel einem PC, einfügt. Die vollständigen Kopfsignale werden zu einer Paketierungs- und Multiplexerstufe 112 geleitet, die außerdem die RLC/VLC-Daten empfängt, die dem Bildinhalt aus der RLC/VLC-Einheit 111 entsprechen. In der Stufe 112 werden alle Daten entsprechend ISO/IEC 13818-2 oder 11172-2 ausgerichtet und geordnet. Ausgangssignale der Stufe 112 werden zu einem Puffer 113, z. B. einem RAM, weitergeleitet, der alle ankommenden Daten speichert und den Füllstatus mißt. In bezog auf die eigentliche Füllung führt der Statuspuffer 113 der Ratensteuereinheit 114 ein Signal zu, die wiederum entsprechende Quantisierungsskalierungsparameter berechnet, die in der Quantisierungsstufe 105 anzuwenden sind. Das andere Ausgangssignal OUS des Puffers 113 ist der komprimierte Datenstrom des Codierers, der den Spezifikationen ISO/IEC 13818-2 oder 11172-2 oder ähnlichen Datenkomprimierungsstandards und gewünschten konstanten oder variablen Bitraten entspricht.
  • Die Chrominanz wird entsprechend codiert, wodurch die Bewegungsschätzung normalerweise nur für die Luminanz ausgeführt wird.
  • Kurzdarstellung der Erfindung
  • Eine Aufgabe der Erfindung ist die Offenlegung eines Verfahrens und einer Vorrichtung zur Codierung digitaler Videosignale unter Verwendung eines skalierbaren MPEG-2-Codierungschipsatzes mit einer minimalen Anzahl von Chips und einer optimalen Aufteilung der erforderlichen Codiererfunktionen in bezug auf die spezifischen Chips, wobei der Prädiktionsschritt in dem Bewegungsschätzchip durchgeführt wird und in einem Bitstromzusammenstellschritt ein Vielzweckspeicher verwendet wird, der keine Pixeldaten enthält.
  • Diese Aufgabe wird durch das in Anspruch 1 offengelegte Verfahren und durch die Vorrichtung gemäß Anspruch 6 gelöst.
  • Weitere Ausführungsformen der vorliegenden Erfindung werden in den abhängigen Ansprüchen beansprucht.
  • Die Erfindung betrifft die Videodatenkomprimierung und Bitstromcodierung, entsprechend insbesondere dem Standard MPEG-2 und MPEG-1 für die Codierung von beweglichen Bildern (ISO/IEC 13818-2 und 11172-2) und basiert auf einer VLSI-Architektur und kann in Verbindung mit Standard-Steuerungsschaltungen verwendet werden. Die Erfindung ist darauf abgestimmt, eine schnelle Berechnung bereitzustellen, wie sie für die Echtzeitausführung von MPEG-2-Videocodierungsalgorithmen notwendig ist.
  • Ein Echtzeit-MPEG-2-Videocodierer wurde auf der Grundlage einer Menge spezieller IC-Entwürfe entwickelt. Der Codierer komprimiert Videobilder gemäß der ITU-R-Empfehlung 601 zu Bitströmen z. B. von 1 Mbit/s auf 15 Mbit/s gemäß den Spezifikationen des MPEG-2-Videostandards Hauptprofil auf der Hauptebene (MP@ML). Es können auch andere Eingangsformate behandelt werden, darunter verschiedene HDTV-Quellenformate, die in Bitströme des Hauptprofils auf hoher Ebene umgesetzt werden können.
  • Die Hauptfunktionalität des Codierers besteht aus einer Vorverarbeitungsstufe, einer Bewegungsschätzstufe und einer Bitstromcodierungsstufe. Diese Funktionen werden durch die folgenden spezifischen ICs unterstützt: eine Vorprozessorschaltung, ein Grob- und ein Fein-Bewegungsschätz-IC und einen Bitstromcodierer. Jedes der ICs steuert einen externen Speicherraum, der z. B. mit herkömmlichen DRAM-Teilen realisiert werden kann. Der Chipsatz wird durch externe Standard-Mikrosteuerungen gesteuert und enthält Onchip-RISC-Maschinen zur flexiblen Umkonfiguration.
  • Die Implementierung des Codierers wird nicht durch den MPEG-2-Videostandard (ISO/IEC 13818-2) eingeschränkt. Mit diesem erfindungsgemäßen MPEG-2-Chipsatz sind die Komplexität und die Qualität skalierbar. Dies ermöglicht die Konstruktion relativ einfacher Codierer für Anwendungen mit geringen Anforderungen an die Bildqualität sowie sehr komplexer Codierer für Anforderungen hoher Qualität. Auf der Grundlage der erfindungsgemäßen Architektur können mehrere Prozessoren desselben Typs parallel verwendet werden, um die Verarbeitungsleistung zu erhöhen. Dies gewährleistet alle Codierungsmerkmale, die in dem MPEG-2-Hauptprofil spezifiziert sind, plus zusätzliche Funktionalität, die nicht dieser Standardisierung unterliegt.
  • Eingangssignalformate sind z. B. 576 Zeilen/Einzelbild mit 25 Einzelbildern/s oder 480 Zeilen/Einzelbild mit 29,97 Einzelbildern/s mit Luminanz Y und Chrominanz Cb, Cr im Format 4 : 2 : 2.
  • Ein MPEG-2-MP-Codierer muß nicht alle Komprimierungstechniken und die volle Auswahl der MP-Funktionalität bereitstellen, solange er einen gültigen Bitstrom liefert. Dadurch werden einige Vereinfachungen möglich.
  • Die für die MPEG-2-Codierung erforderlichen Verarbeitungsfunktionen werden in drei Haupt-ICs oder -stufen organisiert. Ein Vorprozessor enthält alle Eingangs- und Vorverarbeitungsfunktionen, wie zum Beispiel Bildformatumsetzung, die für die Datenkomprimierung erforderlich sind. Ein Bewegungsschätzer enthält alle Bewegungsschätz- und Bewegungsprädiktionsfunktionen, und ein Bitstromcodierer enthält die gesamte Bitstromerzeugung für die MPEG-2-Codierung, wie zum Beispiel DCT, Quantisierer, Invers-Quantisierer, Invers-DCT, Zickzack-Scannen und RLC/VLC-Codierung, aber keine Bewegungsprädiktion. Die vorliegende Erfindung betrifft insbesondere den Bitstromcodiererchip.
  • Im Prinzip eignet sich das erfindungsgemäße Verfahren zur Kodierung digitaler Videosignale unter Verwendung von Bewegungsschätzung und einer Codierungsschleife, die folgendes enthält: einen Transformationsschritt, einen Quantisierungsschritt, einen Invers-Quantisierungsschritt, einen Rücktransformationsschritt, einen Rekonstruktionsschritt und einen Pixel-Makroblock-Prädiktionsschritt, bei dem aus der Bewegungsschätzung abgeleitete Bewegungsinformationen für die Prädiktion verwendet werden, wobei in dem Transformationsschritt Differenzsignale zwischen Pixel-Makroblock-Daten und vorhergesagten Pixel-Makroblock-Daten und/oder Pixel-Makroblock-Daten an sich verarbeitet werden und die Ausgangssignale des Quantisierungsschritts weiterverarbeitet werden, um daraus codierte Videosignale einschließlich aus den Bewegungsinformationen abgeleiteter Informationen abzuleiten,
    wobei entweder:
    die Codierung in einer integrierten Schaltung unter Verwendung von Pipeline-Verarbeitung zur Ausführung der Schritte der Transformation, der Quantisierung, der Invers-Quantisierung, der Rücktransformation und der Rekonstruktion, aber nicht der Prädiktionsschritt ausgeführt wird,
    und wobei die weitere Verarbeitung folgendes umfaßt: einen Schritt des Zickzack-Scannens, einen Schritt des Lauflängen- und Codierens mit variabler Länge und einen Bitstromzusammenstellschritt, wofür Speichermittel verwendet werden, die als ein Datenratensteuerpuffer und als eine Zwischenspeicherung für Bitstromdaten dienen, die nicht kleiner oder gleich einem Makroblockpegel sind, die der integrierten Schaltung durch Steuermittel zugeführt werden,
    und wodurch in mindestens einer weiteren integrierten Schaltung, die mit der integrierten Schaltung verbunden ist und der Bilddatenspeichermittel zugeordnet sind, die für die Bewegungsschätzung und für den Prädiktionsschritt verwendet werden, die Bewegungsschätzung und der Prädiktionsschritt ausgeführt werden,
    oder
    die Codierung in einer integrierten Schaltung zur Ausführung der Schritte der Transformation, der Quantisierung, der Invers-Quantisierung, der Rücktransformation und der Rekonstruktion, aber nicht des Prädiktionsschritts ausgeführt wird und wobei die weitere Verarbeitung folgendes umfaßt: einen Schritt des Zickzack-Scannens, einen Schritt des Lauflängen- und Codierens mit variabler Länge und einen Bitstromzusammenstellschritt, wofür Speichermittel verwendet werden, die mindestens als ein Datenratensteuerpuffer dienen,
    wodurch der Pufferfüllstand nicht aus den in den Speichermitteln gespeicherten Daten berechnet, sondern aus einem Zählen jeweiliger Bit in dem Bitstromzusammenstellschritt abgeleitet wird und der so abgeleitete Pufferfüllstand zur Steuerung des Quantisierungsschritts und des Invers-Quantisierungsschritts verwendet wird, und wodurch in mindestens einer weiteren integrierten Schaltung, die mit der integrierten Schaltung verbunden ist und der Bilddatenspeichermittel zugewiesen sind, die für die Bewegungsschätzung und für den Prädiktionsschritt verwendet werden, die Bewegungsschätzung und der Prädiktionsschritt ausgeführt werden.
  • Vorteilhafte zusätzliche Ausführungsformen des erfindungsgemäßen Verfahrens ergeben sich aus den jeweiligen abhängigen Ansprüchen.
  • Im Prinzip eignet sich die erfindungsgemäße Vorrichtung für die Codierung digitaler Videosignale unter Verwendung von Bewegungsschätzungsmitteln und einer Codierungsschleife, die folgendes enthält: Transformationsmittel, Quantisierungsmittel, Invers-Quantisierungsmittel, Rücktransformationsmittel, Rekonstruktionsmittel und Pixel-Makroblock-Prädiktionsmittel, wobei aus der Bewegungsschätzung abgeleitete Bewegungs-informationen in den Prädiktionsmitteln verwendet werden, wobei in den Transformationsmitteln Differenzsignale zwischen Pixel-Makroblock-Daten und vorhergesagten Pixel-Makroblock-Daten und/oder Pixel-Makroblock-Daten an sich verarbeitet werden und die Ausgangssignale der Quantisierungsmittel weiterverarbeitet werden, um daraus codierte Videosignale einschließlich aus den Bewegungsinformationen abgeleiteter Informationen abzuleiten, und wobei entweder:
    die Codierung in einer integrierten Schaltung unter Verwendung von Pipeline-Verarbeitung ausgeführt wird, die die Mittel zur Transformation, zur Quantisierung, zur Invers-Quantisierung, zur Rücktransformation und zur Rekonstruktion, aber nicht die Prädiktionsmittel enthält, und wobei die weitere Verarbeitung folgendes umfaßt: Zickzack-Scan-Mittel, Mittel zur Lauflängen- und Codierung mit variabler Länge und Bitstromzusammenstellmittel, wofür Speichermittel verwendet werden, die als ein Datenratensteuerpuffer und als eine Zwischenspeicherung für Bitstromdaten dienen, die nicht kleiner oder gleich einem Makroblockpegel sind, die der integrierten Schaltung durch Steuermittel zugeführt werden,
    und wodurch in mindestens einer weiteren integrierten Schaltung, die mit der integrierten Schaltung verbunden ist und der Bilddatenspeichermittel zuwiesen sind, die für die Bewegungsschätzung und für den Prädiktionsschritt verwendet werden, die Bewegungsschätzungsmittel und die Prädiktionsmittel enthalten sind, ausgeführt wird,
    oder:
    die Codierung in einer integrierten Schaltung ausgeführt wird, die die Mittel zur Transformation, zur Quantisierung, zur Invers-Quantisierung, zur Rücktransformation und zur Rekonstruktion, aber nicht die Prädiktionsmittel enthält, und wobei die weitere Verarbeitung folgendes umfaßt: Zickzack-Scan-Mittel, Mittel zur Lauflängen- und Codierung mit variabler Länge und Bitstromzusammenstellmittel, wofür Speichermittel verwendet werden, die mindestens als ein Datenratensteuerpuffer dienen,
    wodurch der Pufferfüllstand nicht aus den in den Speichermitteln gespeicherten Daten berechnet, sondern aus einem Zählen jeweiliger Bit in den Bitstromzusammenstellmitteln abgeleitet wird und der so abgeleitete Pufferfüllstand zur Steuerung der Quantisierungsmittel und der Invers-Quantisierungsmittel verwendet wird, und wodurch in mindestens einer weiteren integrierten Schaltung, die mit der integrierten Schaltung verbunden ist und der Bilddatenspeichermittel zugewiesen sind, die für die Bewegungsschätzung und für die Prädiktionsmittel verwendet werden, die Bewegungsschätzungs- und die Prädiktionsmittel enthalten sind.
  • Vorteilhafte zusätzliche Ausführungsformen der erfindungsgemäßen Vorrichtung ergeben sich aus den jeweiligen abhängigen Ansprüchen.
  • Zeichnungen
  • Bevorzugte Ausführungsformen der Erfindung werden mit Bezug auf die beigefügten Zeichnungen beschrieben. Es zeigen:
  • 1 Prinzipfunktionsblöcke zur Codierung von MPEG-2-Videodatenströmen;
  • 2 ein Blockschaltbild des erfindungsgemäßen Chipsatzes;
  • 3 ein Beispiel für eine ausführliche Ausführungsform des erfindungsgemäßen Chipsatzes;
  • 4 eine grundlegende Ausführungsform der Erfindung;
  • 5 eine modifizierte Ausführungsform der Erfindung;
  • 6 ein Impulsdiagramm für das Verschachteln im ersten und zweiten Durchgang;
  • 7 Kernfunktionen.
  • Bevorzugte Ausführungsformen
  • Dieselbe Funktionalität wie in bezug auf 1 beschrieben kann mit einer in Verbindung mit 2 und den weiteren Figuren beschriebenen Architektur erzielt werden. Bei dieser Architektur werden die für die MPEG-2-Codierung erforderlichen Verarbeitungsfunktionen in drei Haupt-ICs oder -Stufen organisiert, denen jeweils ein Speicher zugewiesen ist.
  • Die Vorverarbeitungsstufe 201 enthält alle für die Datenkomprimierung erforderlichen Eingangs- und Vorverarbeitungsfunktionen, d. h. Block 101 von 1.
  • Die Bewegungsschätzstufe 203 enthält alle Bewegungsschätz- und Bewegungsprädiktionsfunktionen, d. h. die Schaltungen 102 und 109 von 1. Dadurch erfolgen die Bewegungsvektorerzeugung und die Bewegungsvektoranwendung auf demselben Chip, und die auf dem beigefügten Speicher 204 gespeicherten Bilddaten können für beide Funktionen verwendet werden. Die Stufe 203 kann an Luminanz- und/oder Chrominanzdaten wirken.
  • Die Bitstromcodierungsstufe 207 enthält die gesamte Bitstromerzeugung für MPEG-2-Codierung, d.h. die Schaltungen 103 bis 108 und 110 bis 117 von 1, aber keine Bewegungsprädiktionsschaltung (Schaltung 109 von 1), die einen Bilddatenspeicher, z. B. einen Einzelbildspeicher, auf diesem Chip erfordern würde.
  • Jede dieser Hauptverarbeitungsstufen besitzt eine Schnittstelle zu einem externen Speicher 202, 204 und 208 sowie eine Schnittstelle zu einer Steuerung 209, die alle programmierbaren Optionen des Codierers gewährleistet. Das heißt, daß in Verbindung mit der oben erwähnten Aufteilung der Blöcke von 1 in die Stufen 203 und 207 der Inhalt des Speichers 204 (zum Beispiel Pixeldaten von mindestens einem Teilbild, falls nur ein Bezugsbild gespeichert wird, Pixeldaten zweier Teilbilder, falls ein Bezugsbild und ein vorhergesagtes Bild gespeichert wird, Pixeldaten dreier Teilbilder falls ein Bezugsbild und zwei vorhergesagte Bilder für eine bidirektionale Prädiktion von B-Bildern gespeichert werden) nicht in den Speicher 208 kopiert werden muß. Dadurch kann der Speicher 208 wesentlich kleiner und billiger sein. Die Stufen 201, 203 und 207 können festverdrahtete Funktionalität sowie programmierbare Schaltungen enthalten, wie zum Beispiel Mikrosteuerungs- oder Mikrocomputerkerne, die mit jeweiliger Software arbeiten. Ein weiterer Vorteil ist der folgende: Die Bewegungsschätzstufe 203 bewirkt eine Verzögerung von mehreren Bildern (vom I- zum nächsten I- oder P- zum nächsten P- oder I- zum nächsten P- oder P- zum nächsten I-Bild). Da die Ausgangsdaten der Stufe 203 und die Bilddaten auf dem Bus A im wesentlichen gleichzeitig in der Stufe 207 benötigt werden, müßte der Speicher 208 normalerweise eine Korrektur in Bezug auf die verschiedenen Zeitpunkte der Eingangsdaten vornehmen. Da die Stufe 201 für bestimmte Operationen jedoch einen großen Speicher, z. B. einen Mehrfachbildspeicher, benötigt, wird dieser Speicher auch zum Ausgleich der oben beschriebenen Zeitverzögerung verwendet. Das Ergebnis ist, daß die Eingangsdaten für die Stufe 207 im wesentlichen zum richtigen Zeitpunkt ankommen, und der Speicher 208 kann eine niedrige Kapazität aufweisen. Dadurch können die Bilddaten auf dem Bus A eine Verzögerung von mehreren Bildern in Bezug auf die entsprechenden Bilddaten auf dem Bus B aufweisen.
  • Aufgrund dieser Aufteilung von Funktionen, die ein Aspekt der Erfindung ist, kann jede der Stufen 201, 203 und 207 in einem VLSI-Chip realisiert werden, da alle Stufen gerade so viele Verarbeitungselemente enthalten, wie auf einzelnen integrierten Schaltungen des aktuellen Stands der Technik der VLSI-Technologie, d. h. der HCMOS4-Technologie mit 0,8 μ und 2 Schichten, implementiert werden können. Die Speicher 202, 204 und 208 können aus Standardspeicherbausteinen bestehen, wie zum Beispiel 4-Mbit-DRAMs, SDRAMs oder anderen praktikablen Speichern.
  • Am Eingang der Vorverarbeitungsstufe 201 können standardmäßige digitale Videosignale DVS im YCbCr-Format im Zusammenhang mit der ITU-R-Empfehlung 601 verwendet werden, zusammen mit Standard-Videosynchronisationssignalen SCLK, einschließlich z. B. eines 13,5-MHz-Takts, während die Schnittstellen zwischen den Stufen 201 und 203 und zwischen den Stufen 203 und 207 mit interner Synchronisation arbeiten. Zum Beispiel werden die Eingangssynchronisierungssignale, die mit Zeilen und Teilbildern zusammenhängen, durch Makroblock- und andere Sync-Signale ersetzt, die mit MPEG-Ebenen zusammenhängen. Die Codiererausgangsschnittstelle bei Stufe 207 liefert an ihrem Ausgang CVBS einen komprimierten MPEG-2-Videobitstrom, wie zum Beispiel den paketierten elementaren Bitstrom (PES), der in ISO 13818 beschrieben wird, zusammen mit geeigneten Synchronisationssignalen. Dieser Bitstrom kann unter Verwendung des Datenanforderungseingangs DREQ ausgelesen werden. Die Vorverarbeitungsstufe 201 ist über einen ersten Bus A mit der Bewegungsschätzstufe 203 und über einen zweiten Bus B mit der Bitstromcodierungsstufe 207 für Codierungskomplexitätsvoranalysezwecke verbunden.
  • Die Voranalyse ermöglicht eine zusätzliche Art der Ratensteuerung in jedem Makroblock durch Einstellen der relevanten Codierungsparameter, wie zum Beispiel der Inter-/Intra- und der Teilbild-/Einzelbild-Entscheidung. Vorzugsweise transferiert der Bus A keine Luminanzdaten, während dies beim Bus B der Fall ist. Die Schnittstellen der Stufen 201, 203 und 207 der Steuerung 209 sind über einen bidirektionalen dritten Bus C verbunden und können Standard-Daten-, Adresse- und Synchronisationsdefinitionen verwenden, so wie sie Standard-Steuerungseinrichtungen betreffen, wie zum Beispiel Schaltungen von Motorola oder Texas Instruments, z. B. TMS320C30. Die Steuerung 209 besitzt wiederum über den Bus SYSSV eine Schnittstelle zu der Gesamtsystemsteuerung oder einem Benutzerschnittstellencomputer, woher sie Parameter für die Codierereinrichtung, die Modusauswahl usw. erhält. Über den Bus SYSSV können außerdem Codiererstatusinformationen, wie zum Beispiel Fehlercodes, übermittelt werden.
  • Genauer gesagt enthält die Stufe 201 alle Vorverarbeitungs- und Datenumordnungsfunktionen, die auch den Inhalt von Block 101 in 1 bilden. Zu diesen Funktionen kann eine Horizontal- und Vertikalfilterung und -dezimierung zur Umsetzung aus dem ursprünglichen Bildformat in das Codierungsformat, z. B. von 720 auf 544 Pixel pro aktiver Zeile, gehören. Beispielsweise kann eine Umsetzung aus der sogenannten 4 : 2 : 2-YCbCr-Organisation, eine entsprechende Filterung und Dezimierung der Chrominanzsignale, um das 4 : 2 : 0-Codierungsformat zu erzielen, Teil der Verarbeitungsfunktionen in der Stufe 201 sein. Eine andere wichtige Aufgabe der Schaltung in der Stufe 201 ist die Beseitigung von Horizontal- und Vertikal-Austastintervallen und die Umordnung von Videodaten von sequenziellem Scannen von Teilbildern und Zeilen zu der entsprechenden makroblockbezogenen Scan-Reihenfolge, die für die MPEG-2-Codierung hilfreich ist. Die Stufe 201 liefert verschiedene Arten von Makroblockdaten, wie zum Beispiel Luminanz- und YCbCr-Daten, mit ihrem entsprechenden Zeitsteuerungsverhalten für die nachfolgenden Verarbeitungsblöcke des Gesamtcodierers. Andere Verarbeitungsoptionen, wie zum Beispiel Rauschverminderung und die Erkennung redundanter Teilbilder im Fall von Spielfilmbildsequenzen, können Teil der Funktionalität in der Stufe 201 sein. Diese Vorverarbeitungsstufe in der Videocodierungsarchitektur ist außerdem für das Erkennen von Synchronisationssignalen an ihrem SCLK-Eingang und für das Erzeugen von Synchronisationssignalen für die jeweiligen Makroblock-Ausgangssignale und für den Rest der Codiererschaltungen verantwortlich.
  • Die Bewegungsschätzstufe 203 enthält die gesamte für die MPEG-2-Codierung erforderliche Bewegungsschätzverarbeitung, vgl. Block 102 in 1, und enthält außerdem Bewegungsprädiktionsfunktionalität, wie für den Prädiktor 109 in 1 beschrieben. Die Stufe 207 enthält die anderen in 1 aufgelisteten Verarbeitungselemente, insbesondere die Funktionen der DCT und ihrer Umkehrung, der Quantisierung und der Invers-Quantisierung, der Lauflängen- und Codierung mit variabler Länge, die Kopfzusammenstellung und die Paketisierung. Die Stufe 207 codiert Luminanz- und Chrominanzdaten.
  • Diese spezifische Aufteilung von Funktionen ist geeignet und vorteilhaft, z. B. weil sich die schnelle Verarbeitung der Bewegungsschätzung und der Bewegungsprädiktion und die gemeinsame Benutzung von Bewegungsvektoren auf demselben Chip befinden.
  • Eine andere spezifische Aufteilung von Funktionen betrifft die Bitstromerzeugungs- und -ratensteuerfunktionen, die in den Blöcken 111, 112, 113, und 114 in 1 enthalten sind. Diese Funktionen können in speziellen Hardwareschaltungen in der Stufe 207 implementiert werden, wenn sie die schnelle Verarbeitung für Blöcke, Makroblöcke und die Slice-Ebene betrifft. Alle MPEG-Videobitstromoperationen und -ratensteuerfunktionen über dem Slice-Level (die weniger Betriebsgeschwindigkeit erfordern) können auf einer Standardsteuerung wie in der Stufe 209 implementiert werden.
  • In einer ausführlicheren bildlichen Darstellung zeigt 3 eine weitere Ausführungsform der Erfindung. Die Stufen 301 und 307 entsprechen den Stufen 201 bzw. 207. Die Realisierung der Stufe 203 erfolgt nun auf alternative Weise. Die Funktionalität der Stufe 203 wird wieder in eine Grob-Bewegungsschätzstufe 303 und eine Fein-Bewegungsschätzstufe 305 aufgeteilt. Diese hierarchische Bewegungsschätzung hängt mit aufwendigeren Bewegungsschätztechniken zusammen, wobei zur Implementierung von Bewegungsvektorsuchprozeduren mehr Verarbeitungsleistung notwendig ist.
  • Die Stufen 303 und 305 wirken vorzugsweise nur an Luminanz-, können aber auch an Chrominanzdaten wirken. Außerdem ist es möglich, daß die Stufe 303 nur an Luminanzsignalen wirkt, während die Stufe 305 Fein-Bewegungsvektoren für Luminanz- und Chrominanzsignale berechnet.
  • Wenn die Stufe 303 aus einem Chip besteht, kann für eine Einzelbildsuche ein Einzelbildvektorsuchbereich von ±64 Pixeln horizontal und ±32 Pixeln vertikal erzielt werden. Die Stufe 305 kann eine Full-Pel-Suche durchführen, aber auch Bewegungsvektoren mit 1/2-Pel-Genauigkeit berechnen. Im Fall der Full-Pel-Suche beträgt der Suchbereich zum Beispiel ±3 Pixel horizontal und ±8 Pixel vertikal im Einzelbildmodus.
  • Beide Stufen 303 und 305 sind durch einen Bus D verbunden, der Grob-Bewegungsvektordaten transferiert, und sie besitzen ihre eigenen Standardspeicherschnittstellen 304 und 306, wie in bezug auf 2 beschrieben. Die Steuerung 309 entspricht der Steuerung 209 und ist außerdem über den bidirektionalen Bus C mit der Stufe 303 und der Stufe 305 verbunden.
  • Bei dieser Architektur empfängt die Grob-Bewegungsschätzstufe 303 ihre Eingangssignale über den Bus A aus der Vorverarbeitungsstufe 301. Derselbe Bus ist für Codierungskomplexitätsvoranalysezwecke mit der Bitstromcodierungsstufe 307 verbunden. Die Vorverarbeitungsstufe 301 liefert auf dem Bus B ein weiteres Signal direkt an die Fein-Bewegungsschätzstufe 305. Vorzugsweise transferiert der Bus A keine Luminanzdaten, während dies bei Bus B der Fall ist.
  • Vorteilhafterweise werden auf den Bussen A sind B Videobilddaten in einer spezifischen Reihenfolge geführt, die mit der MPEG-2-Makroblockorganisation zusammenhängt, zusammen mit spezifischen Synchronisationssignalen. Die YCbCr-Daten auf dem Bus B können im Vergleich zu den entsprechenden Daten auf dem Bus A um ein Einzelbild verzögert werden.
  • Auf dem Bus D werden Daten aus Anfangsbewegungsvektoren, die in der Grob-Bewegungsschätzstufe 303 berechnet wurden, zu der Fein-Bewegungsschätzstufe 305 geführt, die die Endbewegungsvektoren berechnet.
  • Der Bus C führt die Standardsteuerungsschnittstellensignale. Auf dem Bus E werden Makroblockdaten (d. h. Eingangssignale des Kombinierers 103) von der Stufe 305 zu der Stufe 307 geführt. Dies sind die entsprechenden auf dem Bus B geführten Daten, aber entsprechend der Verarbeitungszeit in der Stufe 305 verzögert.
  • Der Bus F transferiert ebenfalls Makroblockdaten (d. h. die Ausgangssignale des Prädiktors 109) von der Stufe 305 zu der Stufe 307. Diese Makroblockdaten betreffen die Fein-Bewegungsvektoren und Prädiktionsmodi (d. h. Eingangssignale der Blöcke 115 und 116), die in der Stufe 305 berechnet und auf dem Bus G zu der Stufe 307 weitergeleitet werden.
  • Der Bus H führt rekonstruierte Makroblöcke (d. h.
  • Ausgangssignale des Addierers 108) von der Stufe 307, die für die MPEG-2-Prädiktionsschleife erforderlich sind, zurück zu der Stufe 305. Alle Makroblockdaten auf den Bussen E, F und H werden von spezifischen Synchronisationssignalen begleitet.
  • Die Probleme mit der Datenschnittstelle und dem damit zusammenhängenden Speicher für den Prädiktionsprozeß bei der MPEG-2-Videocodierung werden in der Erfindung auf vorteilhafte Weise gelöst. Mit der in 3 abgebildeten Busstruktur ist es möglich, alle Bewegungsschätz- und Makroblockprädiktionsaufgaben auf die Stufen 303 und 305 begrenzt zu halten. Folglich werden alle damit zusammenhängenden Speicheranforderungen durch die mit den Bewegungsschätzschaltungen 303 und 305 verbundenen Speicher 304 und 306 abgedeckt. Die bei MPEG-2, MPEG-1 und anderen Videocodierungstechniken verwendete Prädiktionsschleife wird geschlossen, indem die (von der Schaltung 108 in 1 ausgegebenen) rekonstruierten Bilddaten, die in der Stufe 307 enthalten sind, zu dem Prädiktionsprozeß in der Fein-Bewegungsschätzstufe 305 zurückgeführt werden. Die verbleibenden Speicheranforderungen der Stufe 307 betreffen nur den Bitstromcodierungsprozeß. Ein anderer Vorteil dieser Art von Schnittstelle zwischen Bewegungsschätzung und Bitstromerzeugung ist die Möglichkeit, Bewegungsvektoren an rekonstruierten Daten zu berechnen, die nach der Invers-Quantisierung verfügbar sind. Dadurch verbessert sich die Codierungsqualität in der Hinsicht, daß die Decodierungsfehler in einem Decodierer bereits im Codierer berücksichtigt werden können. Wie in 2 bewirkt die Grob-Bewegungsschätzstufe 303 eine Verzögerung von mehreren Bildern (vom I- zum nächsten I- oder P- zum nächsten P- oder I- zum nächsten P oder P- zum nächsten I-Bild). Da die Ausgangsdaten der nachfolgenden Fein-Bewegungsschätzstufe 305 und die Bilddaten auf dem Bus A in der Stufe 307 im wesentlichen zur selben Zeit benötigt werden, müßte der Speicher 308 normalerweise die verschiedenen Zeitpunkte der Eingangsdaten einstellen. Da die Stufe 301 für bestimmte Operationen jedoch einen großen Speicher benötigt, z. B. einen Mehrfachbildspeicher, wird dieser Speicher auch zur Kompensation der oben beschriebenen Zeitverzögerung verwendet. Das Ergebnis ist, daß die Eingangsdaten für die Stufe 307 im wesentlichen zu der richtigen Zeit ankommen und der Speicher 308 eine niedrige Kapazität aufweisen kann. Dadurch können die Bilddaten auf dem Bus A eine Verzögerung von mehreren Bildern in bezug auf die entsprechenden Bilddaten auf dem Bus B aufweisen.
  • Obwohl die Fein-Bewegungsschätzstufe 305 intern eine kurze Verzögerung (die Stufe 305 verarbeitet in einer Pipeline-Struktur acht Makroblöcke und transferiert diese zusammen mit Bewegungsinformationen) in den Ausgangsdaten in bezug auf die Daten auf dem Bus A einführt, ist es vorteilhafter, eine jeweilige kleine Speicherkapazität für die Stufe 307 aufzuwenden, aber einen dritten Bus aus der Stufe 301 für die Stufe 307 zu sparen. Da der Codierer mit hoher Geschwindigkeit arbeitet, wäre ein paralleler Bus erforderlich, der zusätzliche Anschlüsse für die Chips und zusätzlichen Raum auf der die Chips tragenden Leiterplatte verbrauchen würde.
  • Wie bereits erwähnt erfordert die MPEG-Videocomprimierung eine Prädiktionsschleife, die DCT und ihre Umkehrung enthält sowie eine Quantisierungsstufe und ihre inverse Funktion. In dieser Schleife werden mehrere Entscheidungen benötigt, die die Einstellung von Codierungsprozeduren auf den tatsächlichen Bildinhalt ermöglichen. Die vorliegende Erfindung betrifft insbesondere die Implementierung der Bitstromcodiererfunktionalität und schlägt vor, daß die Prädiktionsschleife über externe Schaltkreise geschlossen wird, wozu alle Mittel zur Bewegungskompensation und Auswahl der besten Prädiktion gehören.
  • Die Architektur des Bitstromcodierers ist in 4 dargestellt. Vorteilhafterweise werden die zu codierenden YCbCr-Pixeldaten auf dem Bus A_e zusammen mit den jeweiligen YCbCr-Pixeldaten, die zu dem besten Prädiktor gehören (Bus_f), d. h. vorhergesagter Pixelblock bzw. Makroblock, empfangen. Beide Daten, die in die Schaltung auf den Bussen A_e und B_f angegeben werden, können in Makroblock-Scan-Reihenfolge organisiert werden. Folglich werden die YCbCr-Daten für den rekonstruierten Weg auf dem Bus D h durch Kombination der Eingangsdaten aus dem Bus B_f (vorhergesagte Makroblöcke) mit den Daten auf dem Bus FF (rekonstruierte Makroblöcke) erzeugt, die aus der Invers-DCT- und der Quantisierungsstufe kommen. Vorteilhafterweise ermöglicht die Architektur von 4 Pipeline-Verarbeitung.
  • Bei der Ausführungsform von 4 enthält der Block 410 alle Mittel zum Ordnen von Makroblockdaten auf Teilbild- und Einzelbildscanweise (genannt „Teilbild-/Einzelbild-"Entscheidung, siehe Kapitel 6.1.3 „Makroblock" von ISO/IEC 13818-2) und zum Auswählen der ursprünglichen Daten auf dem Bus A_e oder der Pixelwertdifferenzen zwischen den ursprünglichen Daten und den vorhergesagten Pixelblockdaten auf dem Bus B_f zur Codierung. Diese Art von Auswahl wird als „Inter-/Intra-"Entscheidung bezeichnet, siehe ISO/IEC 13818-2 I- oder P-Bilder. Zum Treffen solcher Entscheidungen wird ein Blockschwierigkeitswert durch Berechnen z. B. einer Summe von Zeilenpaardifferenzsignalen für jeden Makroblock berechnet. Der Block 410 kann außerdem Mittel zum Coring enthalten, die zur Rauschverminderung in den Prädiktionsschleifen verwendet werden können. Drei verschiedene Beispiele für eine solche in der Schleife angeordnete Coring-Funktion sind in 7 abgebildet: fette Linie, fette und gestrichelte Linie und fette und gepunktete Linie. IP ist die Eingangssignalamplitude und OP die Ausgangssignalamplitude. Die ursprüngliche Daten-/Differenzdatenausgabe des Blocks 410 wird über den Bus EE dem Block 420 zugeführt, und die vorhergesagten Pixelblockdaten werden über die Verbindung I zu dem Block 411 transferiert. Block 420 enthält die DCT-Funktion (vgl. Block 104). DCT-Daten auf dem Bus GG werden der Quantisierungsstufe 430 zugeführt, die die verschiedenen Quantisierungsfunktionen von MPEG-2 implementiert (vgl. Block 105). Bei dieser spezifischen Architektur können lineare oder nichtlineare Quantisierungsfaktoren über den bidirektionalen Bus C durch die Steuerungsschaltung 409 und über einen zusätzlichen Bus Q aus der Stufe 432 bereitgestellt werden.
  • Die Ausgangsdaten aus der Quantisierungsstufe 430 kommen über die Verbindung L in den Scanner 412 (vgl. Block 110) sowie in die Invers-Quantisierungsstufe 431 (vgl. Block 106), die über den Bus C dieselben Steuerfunktionen wie die Quantisierungsstufe 430 empfängt. Die Ausgabe der Stufe 431 wird über den Bus HH dem Block 421 (vgl. Block 107) zugeführt, der die Invers-DCT durchführt. Die Ausgabe des Blocks 421 wird über den Bus FF dem Block 411 zugeführt, der die jeweilige inverse Makroblock-Anordnung durchführt und die vorhergesagten Pixelblockdaten auf der Verbindung I mit den rekonstruierten Pixelblockdaten auf dem Bus FF kombiniert.
  • Der Scanner 412 enthält Zickzack- und alternierende Scan-Funktionen, wie in MPEG-2 spezifiziert. Er liefert das Ausgangssignal U, dessen Pipeline-Daten zu den in der Einheit 422 (vgl. Block 111, 115, 116) enthaltenen Stufen der Lauflänge- und Codierung mit variabler Länge weitergeleitet werden. Die Einheit 422 nimmt außerdem die Bewegungsvektordaten MVD und PMD an, die aus externen Schaltkreisen über den seriellen Bus M_g bereitgestellt werden.
  • Die Busse A_e, B_f, D h, M_g und C entsprechen den Bussen E, F, H, G bzw. C von 3.
  • Vorteilhafte Funktionalitätsmerkmale sind in der Zusammenstellstufe 432 enthalten, die den komprimierten Videobitstrom zusammenstellt. Die Stufe 432 wird über den bidirektionalen Bus Z durch die Steuerung 409 gesteuert und empfängt die komprimierten Videodaten in Form von VLC-Codewörtern zusammen mit den VLC-Codewörtern für die Bewegungsvektordaten aus dem Block 422. Aus der lokalen Steuerung 409 empfängt sie außerdem alle für die vollständige MPEG-2-Bitstromsyntax benötigten relevanten Informationen. Die Steuerung 409 selbst erhält alle Bitstrominformationen, die zu Syntaxelementen bis herauf zu dem Slice-Level gehören, aus den Verarbeitungsblöcken 410, 420 und 430 über den Bus C. Dies betrifft hauptsächlich Makroblockcodierungsentscheidungen, wie zum Beispiel „Teilbild/Einzelbild", „Inter/Intra" und andere. Die Steuerung 409 ist ebenfalls in der Lage, diese Codierungsentscheidungen in den Blöcken 410, 420, 430, 411, 421, 431, 412 und 422 sowie Parameter für die Coring-Funktion im Block 410 über den Bus C zu beinflussen.
  • Vorteilhafterweise können diese Codierungsentscheidungen und die Parameter für das Coring dem Block 410 auch direkt aus externen Schaltkreisen über den Bus K zugeführt werden, der z. B. aus zwei seriellen Bussen bestehen kann, wobei einer für die Coring-Steuerung und der andere für die Intra/Inter- und die Teilbild/Einzelbild-Anordnungsentscheidung dienen.
  • Alle Bitstrominformationen, die mit Syntaxelementen über dem Slice-Level zusammenhängen, zum Beispiel Bildgrößeninformationen, Bitrateninformationen, Benutzerdaten usw., können extern erzeugt werden, zum Beispiel durch die Systemaufsicht, und werden über den Bus SYSSV zu der Steuerung 409 gesendet. Die Steuerung leitet diese Informationen zu der Zusammenstellstufe 432 weiter, von der aus sie entweder sofort in den Bitstrom eingefügt werden oder vorübergehend über den Bus P in dem externen Speicher 308 gespeichert werden. Der Speicher 308 kann aus Standard-DRAM-, SDRAM- oder anderen geeigneten Speicherbausteinen bestehen. Er wird für die Zwischenspeicherung der Bitstromdaten verwendet und dient außerdem als Bitstrompuffer für Ratensteuerungszwecke.
  • Vorteilhafterweise werden die Funktionen der Bitstromzusammenstellung, der Puffer- und Ratensteuerung in einer einzigen Verarbeitungseinheit (Zusammenstellstufe 432) organisiert, die als ein Multiplexer für verschiedene Syntaxelemente dient und gleichzeitig die Anzahl von für den Bitstrom erzeugten Bit verfolgt. Als Ergebnis dieses Verfolgungsprozesses werden Quantisierungswerte erzeugt, die zu der Quantisierungsstufe 430 und über den Bus Q zu der Invers-Quantisierungsstufe 431 zurückgekoppelt werden.
  • Vorteilhafterweise ist keine direkte Pufferfüllstandsbestimmung unter Verwendung des Inhalts des Speichers 308 selbst erforderlich, um Quantisierungsfaktorinformationen für den Bus Q zu erzeugen. Statt dessen wird in der Zusammenstellstufe 432 die Anzahl von Bit in internen Akkumulatormitteln gezählt, ohne den Speicher 308 und die Busse P, X und Y zu verwenden. Diese Anzahl von Bit kann z. B. pro Bild oder pro vorbestimmter Anzahl von Makroblöcken gezählt werden. Diese vorbestimmte Anzahl kann über den Bus Z geladen werden.
  • Die Zusammenstellstufe 432 erzeugt außerdem Speichersteuerdaten, die über den Bus X einer Adressensteuerung 450 für den externen Speicher 308 zugeführt werden. Speicheradressendaten werden auf dem Bus Y ausgegeben. Alle Ratensteuerfunktionen werden durch die Zusammenstellstufe 432 in Zusammenarbeit mit der lokalen Steuerung 409 ausgeführt, die den Gesamtcodierungsprozeß überwacht und alle vorherigen Verarbeitungsblöcke in dem Bitstromerzeugungsprozeß erforderlichenfalls in eine bestimmte Betriebsart führen kann. Auf der Grundlage von Nachrichten aus der Stufe 432 kann die Steuerung 409 außerdem Informationen über den Bus SYSSV an die Gesamtsystemaufsicht zurückkoppeln. Dieses Merkmal kann zum Beispiel verwendet werden, wenn mehrere Videocodierer dieses Typs auf der Grundlage variabler Bitraten zusammenarbeiten. In diesem Fall müssen lokale Bitrateninformationen für eine globale Rateneinstellung regelmäßig einer Überwachungsschaltung zur Verfügung gestellt werden. Die lokalen Codierer empfangen wiederum ihre jeweiligen Rateneinstellungen über den Bus SYSSV von der Aufsicht.
  • Die Zusammenstellstufe 432 erzeugt den vollständigen Bitstrom mit aus dem externen Speicher 308 gelesenen, zuvor komprimierten Daten und mit lokal erzeugten und aus der Steuerung 409 empfangenen Köpfen und anderen Syntaxinformationen höherer Ebene. Sie leitet den vollständigen Bitstrom, der bereit zur Codierausgabe ist, über die Verbindung R zu der Einheit 440 weiter, die als ein komprimierter Datenport dient. Die Einheit 440 kann den Bitstrom auf serielle oder parallele (byteweise) Weise als kontinuierlichen Strom oder in einem Daten-Burst-Modus auf dem Bus CVBS bereitstellen. Sie kann außerdem ein Daten-Gültig-Signal erzeugen, wenn sie Burst-Daten erzeugt. In einem Anforderungsmodus mit einer (nicht abgebildeten) nachfolgenden Verarbeitungsstufe kann die Einheit 440 ein Datenanforderungssignal DREQ annehmen, das sie in ein internes Anforderungssignal J für die Stufe 432 verwandelt. Die Stufe 432 kann dann angemessene Auslesezeiten für die komprimierten Daten aus dem externen Speicher bestimmen.
  • Vorteilhafterweise wird die Bewegungsschätzung und Bewegungsprädiktion in dem Fein-Bewegungsschätzer 305 ausgeführt, wodurch der Speicher 308 keine rekonstruierten oder vorhergesagten Bilddaten speichern muß. Solche Daten werden gespeichert und/oder sind bereits in dem Speicher 306 vorhanden, der solche Daten für Bewegungsschätzzwecke speichern muß. Deshalb kann der Speicher 308 eine kleinere Kapazität aufweisen, und der Bus B kann entweder mit einer niedrigeren Taktrate arbeiten oder nur mit einer kleineren Anzahl paralleler Leitungen gebaut sein. Ein weiterer Bus z. B. zwischen der Zusammenstellstufe 432 und den Blöcken 410/411 ist nicht erforderlich. Solche Betrachtungen sind bei der Codierung von HDTV-Signalen sogar noch wichtiger.
  • Bei einer modifizierten Konfiguration gemäß 5 kann der Bitstromcodierer auch zur Voranalyse der zu codierenden Bilder verwendet werden. Zu diesem Zweck wird der Block 410 modifiziert, so daß er einen Multiplexer enthält, der zwischen Makroblockeingangsdaten A1_e und A2_e auswählt. Die Eingabe A2_e kann die YCbCr-Daten darstellen, die zuletzt zu codieren sind, während die Eingabe A1_e aus den Y- oder YCbCr-Daten desselben Signals, aber von einem vorherigen Zeitpunkt, besteht. In diesem Fall ist es möglich, in den Blöcken 410, 420, 430, 412, 422 und 432 dieselben Verarbeitungselemente zur Codierung der Daten aus der Eingabe A1_e und zur Berechnung oder Zählung der Anzahl von sich aus diesem Codierungsprozeß in jeweiligen Mitteln ergebenden Bit (wie in der Stufe 432) zu berechnen oder zu zählen. Der Zählwert kann in der Steuerung 409 gespeichert werden und folglich zur Einstellung der Codierungsentscheidungen und der Quantisierereinstellungen für den realen Codierungsdurchgang der A2_e-Eingangsdaten verwendet werden. Dieses Verfahren wird manchmal als „Codierung im ersten Durchgang und zweiten Durchgang" bezeichnet.
  • Die vorliegende Erfindung deckt die spezielle Implementierung in der hier beschriebenen Architektur ab. Die Zeitverzögerung zwischen den A1_e- und A2_e- Daten muß ausreichen, um die Codierung des ersten Durchgangs abzuschließen, bevor die Codierung des zweiten Durchgangs beginnt. Abhängig von der Anwendung kann diese Zeitverzögerung aus einem oder mehreren Einzelbildern bestehen und muß in den Schaltkreisen, die die A1_e- und die A2_e-Daten liefern, implementiert werden.
  • Die vorliegende Erfindung betrifft außerdem eine Implementierung, die eine Verarbeitung der Schritte der Codierung des ersten und des zweiten Durchgangs in dem für die Erzeugung des vollständigen Bitstroms gegebenen Zeitrahmen ermöglicht. Ein geeignetes Multiplex- oder Verschachtelungsverfahren basiert auf einem Makroblockintervall, wie in 6 dargestellt, wobei TMB ein Makroblockintervall, A1P der Verarbeitungszeitraum für den ersten Durchgang und A2P der Verarbeitungszeitraum für den zweiten Durchgang für den jeweiligen Makroblock ist. Die Erfindung ist jedoch nicht auf diese spezifischen Parameter beschränkt. Es ist auch möglich, daß zwei Chips mit den jeweiligen Funktionen wie 4 in Parallelverbindung wirken, und zwar einer für die Codierung des ersten Durchgangs und der andere für die Codierung des zweiten Durchgangs, wodurch beide durch die Steuerung 409 gesteuert werden.
  • Alle Zwischenchip-Datenübermittlungen können synchrone Datentransfers mit einer Systemtaktfrequenz von z. B. 27 MHz sein. Die grundlegenden Funktionen, wie in 1 und 4 gezeigt, soweit es MPEG-1 betrifft, können mit Schaltkreisen wie denen auf dem STi3230-Chip von SGS-Thomson ausgeführt werden. Bewegungsschätz- und Bewegungsschätzsteuerungsschaltkreise sind an sich aus den Chips STi3220 und STi3223 von SGS-Thomson bekannt. Die DCT und Invers-DCT können unter Verwendung von Schaltkreisen wie denen auf den Chips IMSA121, STV3208 und STV3200 von SGS-Thomson ausgeführt werden.
  • Das Gesamtsystem wird in einer anderen eigenen europäischen Patentanmeldung EP95119207 ausführlicher beschrieben. Die Vorverarbeitungsstufe 201, 301 wird ausführlicher in einer weiteren eigenen europäischen Patentanmeldung EP95119202 beschrieben.
  • Die Grob-Bewegungsschätzstufe 303 wird ausführlicher in einer anderen eigenen Patentanmeldung (FR 9110158) beschrieben.
  • Die Fein-Bewegungsschätzstufe 305 wird ausführlicher in einer weiteren eigenen europäischen Patentanmeldung EP95402787 beschrieben.
  • Die Erfindung kann zum Beispiel für digitale Videorundsendungen, zum Aufzeichnen und Wiedergeben digitaler Videosignale auf Compaktdiscs, für interaktive Videodienste sowie für die Programmbeiträge, für ENG/SNG, für Videoserver, zum nichtlinearen Editieren und so weiter auf der Grundlage des MPEG-2-Standards sowie des MPEG-1-Standards verwendet werden.

Claims (8)

  1. Verfahren zur Codierung digitaler Videosignale (INS, DVS) unter Verwendung von Bewegungsschätzung (102; 203; 303, 305) und einer Codierungsschleife, die folgendes enthält: einen Transformationsschritt (104; 420), einen Quantisierungsschritt (105; 430), einen Invers-Quantisierungsschritt (106; 431), einen Rücktransformationsschritt (107; 421), einen Rekonstruktionsschritt (108; 411) und einen Pixel-Makroblock-Prädiktionsschritt (109), bei dem aus der Bewegungsschätzung abgeleitete Bewegungsinformationen (MVD, PMD) für die Prädiktion verwendet werden, wobei in dem Transformationsschritt Differenzsignale (103) zwischen Pixel-Makroblock-Daten und vorhergesagten Pixel-Makroblock-Daten und/oder Pixel-Makroblock-Daten an sich verarbeitet werden und die Ausgangssignale des Quantisierungsschritts weiterverarbeitet werden (110 bis 114; 412, 422, 432, 440, 450, 308), um daraus codierte Videosignale (OUS; CVBS) einschließlich aus den Bewegungsinformationen abgeleiteter Informationen (MVD, PMD) abzuleiten, dadurch gekennzeichnet, daß die Codierung in einer integrierten Schaltung (207; 307) unter Verwendung von Pipeline-Verarbeitung zur Ausführung der Schritte der Transformation, der Quantisierung, der Invers-Quantisierung, der Rücktransformation und der Rekonstruktion, aber nicht des Prädiktionsschritts ausgeführt wird, und wobei die weitere Verarbeitung folgendes umfaßt: einen Schritt des Zickzack-Scannens (110; 412), einen Schritt des Lauflängen- und Codierens mit variabler Länge (111, 115, 116; 422) und einen Bitstromzusammenstellschritt (432), wofür Speichermittel (308) verwendet werden, die als ein Datenratensteuerpuffer (113) und als eine Zwischenspeicherung für Bitstromdaten (CVBS) dienen, die nicht kleiner oder gleich einem Makroblockpegel sind, die der integrierten Schaltung (207; 307) durch Steuermittel (209; 309; 409) zugeführt werden, und wodurch in mindestens einer weiteren integrierten Schaltung (203; 303, 305), die mit der integrierten Schaltung (207; 307) verbunden ist und der Bilddatenspeichermittel (204; 304, 306) zugeordnet sind, die für die Bewegungsschätzung und für den Prädiktionsschritt verwendet werden, die Bewegungsschätzung (102; 203; 303, 305) und der Prädiktionsschritt (109) ausgeführt werden; und wodurch die Bewegungsschätzung an rekonstruierten Daten ausgeführt wird, mit einer Grob-Schätzstufe (303) und einer Fein-Schätzstufe (305), wodurch die Grob-Schätzstufe (303) mit einer Bitstromcodierungsstufe (307) durch mehrere Busse, nämlich einen Bus (E), der in Makroblockorganisation organisierte Videobilddaten führt, einen Bus (F), der Fein-Bewegungsvektoren und Prädiktionsmodi, die in der Fein-Schätzstufe (305) berechnet werden, betreffende Makroblockdaten führt, und einen Bus (H), der rekonstruierte Makroblöcke aus der Bitstromcodierungsstufe (307) zurück zu der Fein-Schätzstufe (305) führt, verbunden wird.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß ein Pufferfüllstand nicht aus den in den Speichermitteln (308) gespeicherten Daten berechnet, sondern aus einem Zählen jeweiliger Bit in dem Bitstromzusammenstellschritt (432) abgeleitet wird und der so abgeleitete Pufferfüllstand zur Steuerung des Quantisierungsschritts (105; 430) und des Invers-Quantisierungsschritts (106; 431) verwendet wird.
  3. Verfahren nach Anspruch 1 oder 2, wobei die zu codierenden digitalen Videosignale (INS, DVS) MPEG-1- oder MPEG-2-Signale sind.
  4. Verfahren nach Anspruch 3, wobei bei dem Zusammenstellschritt (432) unter Verwendung eines bzw. der Steuermittel (209; 309; 409), die mit der integrierten Schaltung (207; 307) verbunden sind, Videobitstromoperationen und Ratensteuerfunktionen implementiert werden.
  5. Verfahren nach einem der Ansprüche 1 bis 4, wobei zum Zweck der Bestimmung von Codierungsalternativen ein zusätzlicher Voranalyseschritt ausgeführt wird, bei dem Pixel-Makroblockdaten (A1_e) aus einem vorherigen Zeitpunkt zuerst den Transformationsschritt (104; 420), den Quantisierungsschritt (105; 430), den Invers-Quantisierungsschritt (106; 431), den Rücktransformationsschritt (107; 421) und den Rekonstruktionsschritt (108; 411) passieren, bevor die zu codierenden aktuellen Pixel-Makroblockdaten (A2_e) den Transformationsschritt, den Quantisierungsschritt, den Invers-Quantisierungsschritt, den Rücktransformationsschritt und den Rekonstruktionsschritt passieren.
  6. Vorrichtung zur Codierung digitaler Videosignale (INS, DVS) unter Verwendung von Bewegungsschätzungsmitteln (102; 203; 303, 305) und einer Codierungsschleife, die folgendes enthält: Transformationsmittel (104; 420), Quantisierungsmittel (105; 430), Invers- Quantisierungsmittel (106; 431), Rücktransformationsmittel (107; 421), Rekonstruktionsmittel (108; 411) und Pixel-Makroblock-Prädiktionsmittel (109), wobei aus der Bewegungsschätzung abgeleitete Bewegungsinformationen (MVD, PMD) in dem Prädiktionsmittel verwendet werden, wobei in den Transformationsmitteln Differenzsignale (103) zwischen Pixel-Makroblock-Daten und vorhergesagten Pixel-Makroblock-Daten und/oder Pixel-Makroblock-Daten an sich verarbeitet werden und die Ausgangssignale des Quantisierungsschritts weiterverarbeitet werden (110 bis 114; 412, 422, 432, 440, 450, 308), um daraus codierte Videosignale (OUS; CVBS) einschließlich aus den Bewegungsinformationen abgeleiteter Informationen (MVD, PMD) abzuleiten, dadurch gekennzeichnet, daß die Codierung in einer integrierten Schaltung (207; 307) unter Verwendung von Pipeline-Verarbeitung ausgeführt wird, die die Mittel zur Transformation, zur Quantisierung, zur Invers-Quantisierung, zur Rücktransformation und zur Rekonstruktion, aber nicht die Prädiktionsmittel enthält, und wobei die weitere Verarbeitung folgendes umfaßt: Zickzack-Scan-Mittel (110, 412), Mittel zur Lauflängencodierung und Codierung mit variabler Länge (111, 115, 116; 422) und Bitstromzusammenstellmittel (432), wofür Speichermittel (308) verwendet werden, die als ein Datenratensteuerpuffer (113) und als eine Zwischenspeicherung für Bitstromdaten (CVBS) dienen, die nicht kleiner oder gleich einem Makroblockpegel sind und der integrierten Schaltung (207; 307) durch Steuermittel (209; 309; 409) zugeführt werden, und wodurch in mindestens einer weiteren integrierten Schaltung (203; 303, 305), die mit der integrierten Schaltung (207; 307) verbunden ist und der Bilddatenspeichermittel (204; 304, 306) zugeordnet sind, die für die Bewegungsschätzung und für den Prädiktionsschritt verwendet werden, die Bewegungsschätzungsmittel (102; 203; 303, 305) und die Prädiktionsmittel (109) enthalten sind und wodurch die Bewegungsschätzung dafür bereitgestellt wird, an rekonstruierten Daten ausgeführt zu werden, mit einer Grob-Schätzstufe (303) und einer Fein-Schätzstufe (305), wodurch die Grob-Schätzstufe (303) mit einer Bitstromcodierungsstufe (307) durch mehrere Busse, nämlich einen Bus (E), der in Makroblockorganisation organisierte Videobilddaten führt, einen Bus (F), der Fein-Bewegungsvektoren und Prädiktionsmodi, die in der Fein-Schätzstufe (305) berechnet werden, betreffende Makroblockdaten führt, und einen Bus (H), der rekonstruierte Makroblöcke aus der Bitstromcodierungsstufe (307) zurück zu der Fein-Schätzstufe (305) führt, verbunden wird.
  7. Vorrichtung nach Anspruch 6, wobei die zu codierenden digitalen Videosignale (INS, DVS) MPEG-1- oder MPEG-2-Signale sind.
  8. Vorrichtung nach Anspruch 7, wobei in dem Zusammenstellmittel (432) unter Verwendung eines bzw. der Steuermittel (209; 309; 409), die mit der integrierten Schaltung (207; 307) verbunden sind, Videobitstromoperationen und Ratensteuerfunktionen über dem Slice-Pegel implementiert werden.
DE1996629442 1995-12-06 1996-11-27 Verfahren und Einrichtung zur Kodierung digitaler Videosignale Expired - Lifetime DE69629442T2 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP95402786 1995-12-06
EP95402786 1995-12-06
EP96104299 1996-03-19
EP96104299 1996-03-19

Publications (2)

Publication Number Publication Date
DE69629442D1 DE69629442D1 (de) 2003-09-18
DE69629442T2 true DE69629442T2 (de) 2004-06-09

Family

ID=26140598

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1996629442 Expired - Lifetime DE69629442T2 (de) 1995-12-06 1996-11-27 Verfahren und Einrichtung zur Kodierung digitaler Videosignale

Country Status (4)

Country Link
EP (1) EP0777387B1 (de)
JP (1) JPH09182087A (de)
CN (1) CN1158058A (de)
DE (1) DE69629442T2 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100636110B1 (ko) 1999-10-29 2006-10-18 삼성전자주식회사 엠펙-4 송수신용 시그널링을 지원하는 단말기
KR20020001062A (ko) * 2000-06-24 2002-01-09 박종섭 응용분야에 적응적인 엠펙 영상압축 부호화기
KR100353851B1 (ko) * 2000-07-07 2002-09-28 한국전자통신연구원 파문 스캔 장치 및 그 방법과 그를 이용한 영상코딩/디코딩 장치 및 그 방법
US6876704B2 (en) * 2001-05-16 2005-04-05 Qualcomm, Incorporated Apparatus and method for encoding and computing a discrete cosine transform using a butterfly processor
KR100906473B1 (ko) * 2002-07-18 2009-07-08 삼성전자주식회사 개선된 움직임 벡터 부호화 및 복호화 방법과 그 장치
CN100372382C (zh) * 2003-03-24 2008-02-27 华为技术有限公司 一种视频图象编码方法
KR101082233B1 (ko) 2004-01-20 2011-11-09 파나소닉 주식회사 화상 부호화 방법, 화상 복호화 방법, 화상 부호화 장치,화상 복호화 장치 및 그 프로그램
WO2006034603A1 (en) * 2004-09-28 2006-04-06 Huawei Technologies Co., Ltd Video image encoding method
KR101955142B1 (ko) * 2011-01-14 2019-03-06 지이 비디오 컴프레션, 엘엘씨 엔트로피 인코딩 및 디코딩 방식
US9721319B2 (en) * 2011-10-14 2017-08-01 Mastercard International Incorporated Tap and wireless payment methods and devices
CN103823989B (zh) * 2014-03-07 2016-06-22 中国科学院合肥物质科学研究院 一种儿童精细运动量化评估方法
CN113645468A (zh) * 2021-08-19 2021-11-12 广东博华超高清创新中心有限公司 动态视觉传感器滤波加速控制方法、系统、设备及应用

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2894067B2 (ja) * 1992-02-26 1999-05-24 日本電気株式会社 動画像符号化制御方法および動画像符号化装置

Also Published As

Publication number Publication date
EP0777387B1 (de) 2003-08-13
EP0777387A3 (de) 1997-07-16
DE69629442D1 (de) 2003-09-18
CN1158058A (zh) 1997-08-27
JPH09182087A (ja) 1997-07-11
EP0777387A2 (de) 1997-06-04

Similar Documents

Publication Publication Date Title
DE69535553T2 (de) Videokompression
DE69722556T2 (de) Synchronisierung einer stereoskopischen Videosequenz
DE69827548T2 (de) Anordnung zur Vorverarbeitung für MPEG-2-Kodierung
DE69735402T2 (de) System und Methode zur Bewegungskompensation mit Hilfe eines Schrägziegelspeicherformats für verbesserte Effizienz
DE69738264T2 (de) Videokodierungs- und Videodekodierungsvorrichtung
DE10190285B4 (de) Verfahren und System zur Verarbeitung von komprimierten Videosignalen
DE69830802T2 (de) Zuweisung von rechenleistung in einem informationsstrom-dekoder
DE19521973C2 (de) Bilddecodiervorrichtung
DE69333298T2 (de) Codierung und Codierung von digitalen Videosignalen
DE69824486T2 (de) Kodier- und Dekodierverfahren für Videosignal mit Zwischenbild mit Konvertierung periodisch ausgewählter Videohalbbilder zu Videobildern mit progressiver Abtastung
DE69632231T2 (de) Kodierung und Dekodierung von Bewegtbildern
DE69728801T2 (de) Verfahren und Vorrichtung zum Verändern der Auflösung durch direkte DCT Koeffizenten-Umsetzung
DE69628985T2 (de) Empfänger mit analogen und digitalen Videobetriebsarten und Empfangsverfahren dafür
DE60027495T2 (de) Video-codierverfahren und video-codiervorrichtung
DE4233543B4 (de) Vorrichtung zur Steuerung der Quantisierung von Videodaten
DE4228220B4 (de) Vorrichtung zur hierarchischen Unterteilung von Videosignalen
DE69633815T2 (de) Vorrichtung zur Codierung und Decodierung eines digitalen Bildsignales
DE19826313A1 (de) Vorrichtung und Verfahren zum Ändern der Vollbildfrequenz
EP0687111A2 (de) Verfahren zur Codierung/Decodierung eines Datenstroms
DE102007049351A1 (de) Verfahren und Vorrichtung zum Erstellen eines kodierten Ausgangsvideostroms aus mindestens zwei kodierten Eingangsvideoströmen, sowie Verwendung der Vorrichtung und kodierter Eingangsvideostrom
DE69629442T2 (de) Verfahren und Einrichtung zur Kodierung digitaler Videosignale
EP0279053A1 (de) Verfahren zum Übertragen und zum Wiedergeben von Fernsehbildsequenzen
DE19860507A1 (de) Videocodierverfahren, Videodecoder und digitales Fernsehsystem unter Verwendung eines solchen Verfahrens und eines solchen Decoders
DE69433537T2 (de) Vorrichtung zur Dekodierung von Bewegtbilddaten
DE4408522A1 (de) Vorrichtung und Verfahren zur Bilddatenverarbeitung, die zur Verarbeitung von Bilddaten mit hoher Geschwindigkeit in der Lage sind

Legal Events

Date Code Title Description
8364 No opposition during term of opposition