DE69726042T2 - Abwärtsabtastung über schnell-DCT-Domänen und inverser Bewegungsausgleich - Google Patents

Abwärtsabtastung über schnell-DCT-Domänen und inverser Bewegungsausgleich Download PDF

Info

Publication number
DE69726042T2
DE69726042T2 DE69726042T DE69726042T DE69726042T2 DE 69726042 T2 DE69726042 T2 DE 69726042T2 DE 69726042 T DE69726042 T DE 69726042T DE 69726042 T DE69726042 T DE 69726042T DE 69726042 T2 DE69726042 T2 DE 69726042T2
Authority
DE
Germany
Prior art keywords
matrices
dct
matrix
downsampling
compressed
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
DE69726042T
Other languages
English (en)
Other versions
DE69726042D1 (de
Inventor
Neri Merhav
Vasudev Bhaskaran
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of DE69726042D1 publication Critical patent/DE69726042D1/de
Application granted granted Critical
Publication of DE69726042T2 publication Critical patent/DE69726042T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4084Transform-based scaling, e.g. FFT domain scaling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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

Description

  • Hintergrund der Erfindung
  • Gebiet der Erfindung
  • Die Erfindung bezieht sich auf Datenkomprimierung. Insbesondere bezieht sich die Erfindung auf das Durchführen solcher Operationen, wie z. B. Abwärtsabtasten (Downsampling) und Kompensation einer inversen Bewegung, direkt auf komprimierten Domaindarstellungen.
  • Beschreibung des Stands der Technik
  • Viele Bild- und Videoverarbeitungsanwendungen erfordern eine Echtzeitmanipulation von digitalen Bild- oder Videodaten zum Implementieren von Zusammensetzungen und Spezialeffekten, z.B. Abwärtsabtasten (Heranzoomen oder Wegzoomen), Modifizieren von Kontrast und Helligkeit, Übersetzen, Filtern, Maskieren, Drehung und Kompensation einer inversen Bewegung. Eine Echtzeitmanipulation der Bild- und Videodaten kann problematisch sein, da die Daten in vielen Fällen nur in komprimierter Form verfügbar sind. Typischerweise wurden die Bild- und Videodaten gemäß einem der Komprimierungsstandards komprimiert, wie z. B. JPEG, MPEG-1, MPEG-2, H.261 oder H.263 (hierin nachfolgend gemeinsam als „Komprimierungsstandard" oder Äquivalent bezeichnet).
  • Der herkömmliche Lösungsansatz zum Handhaben komprimierter Domaindaten ist es, die Daten zunächst zu dekomprimieren, um eine räumliche Domaindarstellung zu erhalten, und dann die gewünschten Bild- oder Videomanipulationstechniken für die gewünschte Zusammensetzung oder den gewünschten Spezialeffekt anzulegen, und dann die manipulierten Daten zu komprimieren, so daß der resultierende Bitstrom mit dem Komprimierungsstandard übereinstimmt.
  • 1 ist ein Flußdiagramm des herkömmlichen Lösungsansatzes für die Manipulation von Bilddaten. Anfangs wird ein Bild auf einer Platte 112 gespeichert. Das Bild wird in einem komprimierten Format gespeichert, unter Verwendung eines einer Vielzahl von Industriestandardkomprimierungsschemata, um die Menge an Speicherplatz zu reduzieren, die erforderlich ist, um das Bild zu speichern. Viele dieser Komprimierungsschemata verwenden die sogenannte diskrete Kosinustransformation (DCT), um die ursprünglichen Bilddaten von der räumlichen Domain zu der komprimierten Domain umzuwandeln. Die 8 × 8-2D-DCT-Transformation wandelt einen Block {x(n,m)} in der räumlichen Domain in eine entsprechende Matrix von Frequenzkomponenten {X(k,l)} gemäß der folgenden Gleichung um:
    Figure 00020001
    wobei c(0) = 1/√2 und c(k) = 1 für k > 0.
  • Der herkömmliche Lösungsansatz funktioniert nicht auf den komprimierten Daten. Statt dessen werden die Bilddaten im Schritt 114 von der komprimierten Domain zurück zu der räumlichen Domain umgewandelt. Falls das Komprimierungsschema die DCT verwendet, verwendet das Dekomprimierungsschema die inverse DCT-Transformation, die durch die folgende Gleichung gegeben wird:
  • Figure 00020002
  • Sobald die Daten zu der räumlichen Domain zurückgewandelt sind, können im Schritt 116 herkömmliche Bildmanipulations techniken verwendet werden, um ein gewünschtes Bild zu erzeugen. Für eine Kompensation einer inversen Bewegung zieht Schritt 116 das Verwenden herkömmlicher Techniken für eine Kompensation einer inversen Bewegung nach sieh. Die verarbeiteten Daten werden dann im Schritt 118 erneut komprimiert, unter Verwendung des gleichen Komprimierungsschemas, und wieder auf die Platte 120 gespeichert. Obwohl die Platten 112 und 120 getrennt gezeigt sind, können dieselben in der Tat ein und dieselbe sein.
  • Der herkömmliche Lösungsansatz ist mühsam, aufgrund (1) der hohen Rechnungskomplexität der Dekomprimierungs- und Komprimierungsaufgaben, und (2) der großen Menge an räumlichen Domaindaten, die manipuliert werden müssen. Somit sind viele herkömmliche Lösungsansätze bei vielen praktischen Anwendungen nicht durchführbar.
  • Aus diesem Grund gab es in den vergangenen Jahren große Bemühungen, schnelle Algorithmen zu entwickeln, die diese Aufgaben direkt in der komprimierten Domain durchführen und dadurch den Bedarf an Dekomprimierung vermeiden. Siehe beispielsweise S. F. Chang und D. G. Messerschmitt, Manipulation and Compositing of MC-DCT Compressed Video, IEEE Journal on Selected Areas of Communications, Bd. 13, Nr. 1, S. 1–11, 1994; S. F. Chang und D. G. Messerschmitt, A New Approach to Decoding and Compositing Motion-Compensated DCT Based Images, Proc. ICASSP '93, Minneapolis, April 1993; W. Kou, T. Fjalbrant, A Direct Computation of DCT Coefficients for a Signal Block Taken from Two Adjacent Blocks, IEEE Trans. Signal Proc, Bd. SP-39, S. 1.692–1.695, Juli 1991; J. B. Lee, B. G. Lee, Transform Domain Filtering Based on Pipelining Structure, IEEE Trans. Signal Proc, Bd. SP-40, S. 2.061–2.064, August 1992.
  • Eine Videokonferenz liefert ein geeignetes Beispiel für Bildmanipulation. Man betrachte eine Videokonferenzsitzung mit mehreren Parteien, bei der jede Partei alle anderen Parteien in getrennten Fenstern auf dem Bildschirm der Workstation der Partei sehen kann. Es ist wünschenswert, daß jeder User die Flexibilität hat, die Fenster neu zu dimensionieren, die Fenster von einer Position auf dem Bildschirm zu einer anderen zu bewegen, usw. Aufgrund den begrenzten Berechungsfähigkeiten innerhalb einer Workstation kann es möglich sein, daß nur ein Videostrom effizient handhabbar ist. Bei diesem Szenario ist es nach wie vor möglich, eine Mehrparteienvideokonferenz durchzuführen, indem die Videoströme von allen Parteien zunächst an einen Netzwerkserver gesendet werden. Der Server setzt die Ströme aller Parteien in einen einzigen Strom zusammen.
  • Der herkömmliche Lösungsansatz erfordert, daß alle komprimierten Videoströme zunächst an dem Server dekomprimiert werden, dann wird die gewünschte Änderung in eine geeignete arithmetische Operation auf den dekomprimierten Videoströmen mit der geeigneten Zusammensetzung in einen einzigen Strom übersetzt, und schließlich wird der zusammengesetzte Strom erneut komprimiert und an den Benutzer gesendet. Es ist anzumerken, daß die Videoströme, die in den Server eingegeben werden, und der zusammengesetzte Strom, der durch den Server ausgegeben wird, eventuell einem Komprimierungsstandard entsprechen müssen. In standardgemäßen Umgebungen liegt ein großer Teil der Berechnungslast in dem Server bei der Berechnung der inversen diskreten Kosinustransformation (IDCT) während dem Dekomprimierungsprozeß und der Berechnung der DCT während dem Komprimierungsprozeß. Weil ein großer Teil der Berechnungslast in der DCT- und der IDCT-Operation liegt, wäre es vorteilhaft, den zusammengesetzten Strom direkt in der DCT-Domain zu erzeugen. Es ist daher wünschenswert, einen Server zu haben, bei dem die IDCT, die Stromzusammensetzung und die DCT-Funktionen effizient kombiniert werden können, um den gewünschten standardgemäßen einzelnen zusammengesetzten Strom zu ergeben. Ein solcher Server würde den Vorteil haben, daß er weniger komplex ist als ein Server, der die traditionelle Bildstromzusammensetzung implementiert. Ein zusätzlicher Vorteil eines solchen Servers wäre, daß diese
  • Weise der Stromzusammensetzung Benutzerworkstations keine schwere Last auferlegen würde, weil die Benutzerworkstation nun nur einen einzigen zusammengesetzten Strom handhaben muß und daher nur einen einzigen Dekomprimierungsprozeß durchführen muß. Ein zusätzlicher Vorteil ist, daß die Kommunikation zwischen dem Server und der Workstation des Benutzers keine sehr hohen Kommunikationsbandbreitenressourcen erfordert.
  • Eine weitere Anwendung, die von Bildmanipulationen in der komprimierten Domain profitiert, ist ein Bildkiosk und die Lieferung von Bildern von dem Bildkiosk nach Hause. Wenn sich ein Benutzer über ein Netzwerk mit dem Bildkiosk verbindet, möchte der Benutzer typischerweise vor dem Erhalten des gewünschten Bildes durch einen Katalog von Bildern blättern, die von dem Kiosk geliefert werden können. Für die Zwecke des Bilddurchsuchens kann es angemessen sein, dem Benutzer eine abwärts abgetastete (downsampled) Version des Bildes in komprimierter Form zu liefern, z. B. falls das Originalbild von der Größe 640 mal 480 ist und in dem Bildkiosk gemäß dem JPEG-Komprimierungsformat gespeichert ist, kann es ausreichen, dem Benutzer ein JPEG-komprimiertes Bild zu liefern, das das entsprechende um zwei abwärts abgetastete Bild mit der Größe 320 mal 240 ist. Das Problem, das auftritt, wenn ein komprimiertes Bild abwärts abgetastet wird, das den DCT-Domain-basierten Komprimierungsstandards entspricht, ist, daß es, um ein weiteres komprimiertes Bild zu erhalten, notwendig ist, vier komprimierte Datenblöcke zu nehmen und einen einzigen komprimierten Datenblock zu erzeugen, d. h. um eine Auflösung um ½ zu erreichen, ist es notwendig, einen Satz von komprimierten Datenblöcken sowohl in der horizontalen (X-) als auch in der vertikalen (Y-) Richtung zu reduzieren (zwei komprimierte Datenblöcke x zwei komprimierte Datenblöcke = vier komprimierte Datenblöcke). Gleichartig dazu, wenn um drei abwärts abgetastet wird, ist es notwendig, neun komprimierte Datenblöcke zu kombinieren, d. h. jeweils drei komprimierte Datenblöcke in der X- und der Y-Richtung, um einen skalierten komprimierten Datenblock zu erzeugen.
  • Für die oben erörterten Standards, die sich auf DCT-Verarbeitung verlassen, ist man auf eine 8 × 8-DCT-Blockgeometrie beschränkt, so daß die abwärts abgetastete Ausgabe auch eine 8 × 8-DCT-Blockgeometrie sein muß, so daß der komprimierte Bitstrom durch jeden allgemeinen Dekompressor decodiert werden kann, der in der Lage ist, einen JPEG-, MPEG-1-, MPEG-2-, H.261- oder H.263-komprimierten Bitstrom handzuhaben. Es ist anzumerken, daß es bekannte Verfahren für Bildabwärtsabtastung, bei einer 8 × 8-DCT-Blockgeometrie gibt, einfach durch Durchführen einer 4 × 4-IDCT, um ein um zwei abwärts abgetastetes Bild zu erreichen. Dieser Lösungsansatz behält nicht das ursprüngliche 8 × 8-DCT-Format bei, obwohl die meiste Industriestandardhardware und Software, beispielsweise für die JPEG-, MPEG-1-, MPEG-2-, H.261- und H.263-Standards erfordert, daß die Daten in dem Standard-8 × 8-DCT-Format beibehalten werden. Obwohl ein solcher Lösungsansatz die Fähigkeit bietet, Daten direkt in der komprimierten Domain zu verarbeiten, ohne die Daten zurück zu einer unkomprimierten Form umzuwandeln, erzeugen diese Algorithmen, die zum Abwärtsabtasten direkt auf komprimierten Domaindarstellungen entwikkelt wurden, Datenausgaben, die nicht den Industriestandardhardware- und Softwarekonfigurationen entsprechen.
  • Ein zweites Problem, insbesondere bezüglich der DCT-basierten Datenkomprimierungsschemata, bezieht sich auf das Konzept der Kompensation einer inversen Bewegung. Ein Video stellt man sich am Besten als eine Sequenz von Bildern vor. Bezüglich komprimierten Videos wird das erste Bild typischerweise als ein Ankerbild angesehen, das mit einem Komprimierungsschema verarbeitet wird, wie es z. B. durch den MPEG-Standard definiert ist. Das zweite Bild in der Sequenz nutzt die Tatsache aus, daß es bei einem Video eine starke Korrelation zwischen aufeinanderfolgenden Bildern gibt, und daher werden keine vollständigen Informationen für das zweite Bild benötigt. Statt dessen sendet das Komprimierungsschema Informationen, die dem Unterschied zwischen den beiden Bildern entsprechen. Der Prozeß des Berechnens der Differenz ist als Bewegungskompensation bekannt, und das Differenzbild wird typischerweise als ein Vorhersagebild oder ein bewegungskompensiertes Bild bezeichnet. Solch ein Schema erreicht eine beträchtliche Datenkomprimierung, weil es alle Informationen entfernt, die im Verlauf der Zeit redundant sind.
  • Das Problem mit solchen Schemata tritt beispielsweise auf, wenn ein Videoeditor verwendet wird. Falls das Ankerbild entfernt wird, verlieren alle nachfolgenden Bilder ihren Zusammenhang, weil sie alle von dem Ankerbild abhängig waren. Daher ist es derzeit nicht praktisch, Videobearbeitung außerhalb der Reihenfolge durchzuführen, d. h. in der komprimierten Domain. Es ist daher notwendig, den komprimierten Strom zu nehmen, wo die Abhängigkeiten zwischen jedem Bild in dem Bitstrom enthalten sind, und dann diese Abhängigkeit zwischen den Bildern zu entfernen. Dieser Prozeß ist als Kompensation einer inversen Bewegung bekannt. Eine Möglichkeit zum Entfernen dieser Abhängigkeit ist es, den Bitstrom vollständig zu dekomprimieren, was jedes der Bilder ergibt, eines nach dem anderen, so daß dieselben als Bilder betrachtet werden können. Das heißt, jedes der Bilder wird zu seinem ursprünglichen Zustand zurückgebracht. Die Bilder können nun bearbeitet werden und müssen dann für Speicherung oder Übertragung eventuell erneut komprimiert werden. Leider ist der Prozeß der Dekomprimierung gefolgt von der gewünschten Bearbeitungsfunktion und der Wiederkomprimierung ein sehr aufwendiger Vorgang.
  • Somit wäre es vorteilhaft, anstatt dem Durchführen von Bild- und Videoverarbeitung, wie z. B. Abwärtsabtasten und/oder Kompensation einer inversen Bewegung in der nichtkomprimierten Domain, eine solche Verarbeitung in der komprimierten Domain durchzuführen, durch direktes Manipulieren der DCT-Domaindarstellung der Daten.
  • Zusammenfassung der Erfindung
  • Die Erfindung ist in den Ansprüchen 1 und 6 dargelegt.
  • Die Erfindung liefert Schemata, die Abwärtsabtasten und eine Kompensation einer inversen Bewegung auf komprimierten Domaindarstellungen durchführen. Durch direktes Manipulieren der komprimierten Domaindarstellungen statt der räumlichen Domaindarstellung reduzieren die hierin offenbarten Techniken die Berechnungskomplexität. Da die Erfindung Techniken liefert, die das Verarbeiten in der komprimierten Domain durchführen, gibt es ferner keinen Qualitätsverlust, der anderweitig auftreten würde, falls das Bild unter Verwendung eines verlustbehafteten Algorithmus, wie z. B. MPEG oder JPEG, dekomprimiert und dann neu komprimiert würde.
  • In dem Fall des Abwärtsabtastens wurde ein Verfahren entwickelt, bei dem der komprimierte Strom in der komprimierten (DCT-) Domain ohne ausdrückliche Dekomprimierung und räumliches Domainabwärtsabtasten verarbeitet wird, so daß der resultierende komprimierte Strom einem abwärts skalierten Bild entspricht. Das hierin offenbarte Verfahren stellt sicher, daß der resultierende komprimierte Strom der Standardsyntax von 8 × 8-DCT-Matrizen entspricht. Für typische Datensätze führt dieser Lösungsansatz des Abwärtsabtastens in der komprimierten Domain zu Berechnungseinsparungen von etwa 80% im Vergleich zu herkömmlichen räumlichen Domainverfahren zum Abwärtsabtasten, bei denen die Daten zuerst in der räumlichen Domain dekomprimiert und dann abwärts abgetastet werden, und dann für eine Speicherung oder eine Übertragung neu komprimiert werden.
  • In dem Fall einer Kompensation einer inversen Bewegung ist ein Verfahren offenbart zum Umwandeln eines bewegungskompensierten komprimierten Videos in eine Sequenz von DCT-Domainblöcken, die den räumlichen Domainblöcken in dem aktuellen Bild allein entsprechen, d. h. jedes Bild ist als eine Sequenz von DCT-Blöcken dargestellt, die nicht von Daten in anderen Rahmen abhängen. Durch Durchführen einer Kompensation einer inversen Bewegung direkt in der komprimierten Domain liegt die Reduktion bei der Berechnungskomplexität bei etwa 68% im Vergleich zu herkömmlichen räumlichen Domainverfahren für eine Kompensation einer inversen Bewegung von komprimierten Daten.
  • Die Funktionen des Abwärtsabtastens und der Kompensation einer inversen Bewegung können in einer Vielzahl von Anwendungen verwendet werden, wie z. B. bei einem Mehrpunkt-Videokonferenzsystem und bei der Videobearbeitung.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Flußdiagramm eines herkömmlichen Verfahrens zum Filtern von Bilddaten in der räumlichen Domain.
  • 2 ist ein Systemdiagramm für einen allgemeinen Bild/Videoeditor gemäß der Erfindung.
  • 3 ist ein schematisches Blockdiagramm eines Systems zum Durchführen von Bild- und Videoverarbeitung in der komprimierten Domain gemäß der Erfindung.
  • 4 ist ein schematisches Blockdiagramm der Abwärtsabtasteinheit der vorliegenden Erfindung.
  • 5 ist ein Blockdiagramm einer Matrixarithmetikhardware zum Durchführen von DCT-basiertem Abwärtsabtasten um einen Faktor von 2 gemäß einem bevorzugten Ausführungsbeispiel der Erfindung.
  • 6 ist ein schematisches Blockdiagramm einer inversen Kompensationseinheit der vorliegenden Erfindung.
  • 7 ist ein Blockdiagramm einer Matrixarithmetikhardware zum Durchführen einer DCT-basierten Kompensation einer inversen Bewegung gemäß der vorliegenden Erfindung.
  • Detaillierte Beschreibung der Erfindung
  • Ein Aspekt der Erfindung reduziert die Zeit, die erforderlich ist, um solche Bildverarbeitungsoperationen durchzuführen, wie z. B. Abwärtsabtasten um Faktoren, wie z. B. 2, 3 und 4, im Vergleich zu herkömmlichen Lösungsansätzen. Wie er hierin verwendet wird, bedeutet der Begriff „Abwärtsabtasten um einen Faktor k", daß, falls die Eingabebildauflösung M × N Pixel ist, die resultierende Räumliche-Domain-Bildauflösung nach dem Abwärtsabtasten (M/k) × (N/k) ist. Weil die Abwärtsabtastungstransformation linear ist, ist der Gesamteffekt in der DCT-Domain ebenfalls linear, und somit kann die Basisoperation als Multiplikation mit einer festen Matrix dargestellt werden. Eine schnelle Multiplikation mit dieser Matrix ist möglich, falls dieselbe in ein Produkt von schwach besetzten Matrizen faktorisiert werden kann, deren Einträge überwiegend 0, 1 und –1 sind.
  • Die Erfindung liefert ein Schema, das Bildverarbeitung in der komprimierten Domain effizient durchführt, durch Ausnutzen der Faktorisierungen der DCT- und IDCT-Operationsmatrizen, die der schnellen 8-Punkt-DCT/IDCT entsprechen (siehe W. B. Pennebaker, J. L. Mitchell, JPEG still Image Data Compression Standard, Van Nostrand Reinhold, S. 50–63, 1993).
  • Die resultierenden Schemata zum Abwärtsabtasten sparen etwa 37% der Berechnungen für einen Abwärtsabtastfaktor von 2, 39% für einen Abwärtsabtastfaktor von 3 und 50% für einen Abwärtsabtastfaktor von 4. Wie er hierin verwendet wird, entspricht der Begriff „Berechnung" den Grundarithmetikope rationen eines Mikroprozessors, die entweder Verschieben, Addieren, Verschieben und Addieren, um Eins Verschieben und Hinzufügen (SH1ADD), um Zwei Verschieben und Addieren (SH2ADD) und um Drei Verschieben und Addieren (SH3ADD) sind. Diese Einsparungen sind Schätzungen im schlechtesten Fall, weil keine Annahmen bezüglich der schwachen Besetzung in der DCT-Domain gemacht wurden. Typischerweise sind in einem relativ großen Prozentsatz der DCT-Blöcke alle der DCT-Koeffizienten Null, außer dem oberen linken 4 × 4-Quadranten, der den niedrigen Frequenzen sowohl in der vertikalen als auch der horizontalen Richtung entspricht. Falls diese Tatsache berücksichtigt wird, können Berechnungsreduktionen etwa 80% erreichen.
  • Ein weiterer Vorteil des hierin offenbarten Schemas ist, daß es im Vergleich zu herkömmlichen Lösungsansätzen die Genauigkeit der Berechnung verbessert. Es wurde herausgefunden, daß der Verbesserungsgrad bei der Präzision zwischen 1,5–3 dB schwankt. Weil die Erfindung eine Technik liefert, die eine Bildverarbeitung in der komprimierten Domain durchführt, gibt es somit keinen Verlust der Bildqualität, der andernfalls auftreten würde, falls das Bild unter Verwendung eines verlustbehafteten Algorithmus, wie z. B. MPEG oder JPEG, dekomprimiert und dann neu komprimiert würde, wo jeder Komprimierungs-/Dekomprimierungsschritt absichtlich und unwiderruflich einen Abschnitt des Bildes löscht, um einen hohen Komprimierungsgrad zu bewirken.
  • Ein weiteres Ausführungsbeispiel der Erfindung liefert ein Schema, das einen schnellen Algorithmus umfaßt, zum Aufheben der Bewegungskompensationsoperation in der DCT-Domain (siehe S. F. Chang und D. G. Messerschmitt, Manipulation and Compositing of MC-DCT Compressed Video, IEEE Journal on Selected Areas of Communications, Bd. 13, Nr. 1, S. 1–11, 1994; und S. F. Chang und D. G. Messerschmitt, A New Approach to Decoding and Compositing Motion-Compensated DCT Based Images, Proc. ICASSP '93, Minneapolis, April 1993).
  • Der hierin beschriebene Algorithmus empfängt als Eingabe DCT-Blöcke eines bewegungskompensierten komprimierten Videos und liefert DCT-Blöcke der entsprechenden Blöcke der räumlichen Domain des aktuellen Bildes allein, ohne Bezugnahme auf vergangene und zukünftige Bilder. Der Vorgang der Kompensation einer inversen Bewegung ermöglicht eine Videozusammensetzung in der DCT-komprimierten Domain und ermöglicht auch andere Videoverarbeitungsfunktionen, wie z. B. Abwärtsabtasten, Überlappen, Übersetzen und Filtern.
  • Ein Aspekt der Erfindung entwickelt und verbessert ferner das Schema, das durch Chang und Messerschmitt, eben da für eine Kombination einer inversen Bewegung vorgeschlagen wurde. Obwohl bei einem solchen Schema Berechnungen nur eingespart werden, falls die DCT-Blöcke ausreichend schwach besetzt sind, und nur falls ein großer Bruchteil der Referenzblöcke mit den Grenzen zwischen den ursprünglichen Blöcken ausgerichtet ist, zumindest in einer Richtung, reduziert das hierin offenbarte Schema die Berechnungskomplexität um 47% im Vergleich zu herkömmlichen Lösungsansätzen, selbst ohne irgendwelche vorherigen Annahmen über die schwache Besetzung oder perfekte Ausrichtung. Falls außerdem angenommen wird, daß DCT-Blöcke schwach besetzt sind, in dem Sinn, daß nur die oberen linken 4 × 4-Unterblöcke nicht Null sind, wie es typischerweise der Fall ist, dann ist die Berechnungskomplexität um 68% reduziert.
  • Beim Abwärtsabtasten (Downsampling) einer komprimierten Domain ist ein Schlüsselaspekt der Erfindung der folgende: Bei vier DCT-Domain 8 × 8 großen Blöcken ist es das Ziel, die vier Blöcke abwärts zu skalieren, um einen einzigen 8 × 8-DCT-Block zu erreichen. Die hierin offenbarte Erfindung verwendet die Frequenzdomaindarstellung der Räumliche-Domain-Operation und nimmt diese Darstellung in den DCT-Matrixfaktorisierungsprozeß auf.
  • Bei einer Kompensation einer inversen Bewegung einer komprimierten Domain ist es ein Schlüsselaspekt der Erfindung, daß, wenn die DCT die Differenz zwischen den Blöcken von zwei Bildern und die DCT des Blocks in einem der Bilder gegeben ist, die DCT des entsprechenden Blocks in dem zweiten Bild abgeleitet werden muß. Aufgrund der Tatsache, daß die Blöcke in den beiden Bildern nicht geordnet sind, ist diese Berechnung nicht trivial.
  • Für Bild- und Videodaten, die mit dem JPEG-, MPEG- oder P × 64-Komprimierungsverfahren komprimiert sind, liefert die Erfindung eine Technik, die die Bild- oder Videodaten mit weniger Operationen abwärts abtasten kann, als benötigt werden, falls die Abwärtsabtastfunktion in der räumlichen Domain implementiert wäre. Für eine Kompensation einer inversen Bewegung führt das hierin beschriebene Verfahren zu wesentlichen Berechnungsersparnissen im Vergleich zu äquivalenten Räumliche-Domain-Verfahren. Die hierin offenbarten Verfahren zum Abwärtsabtasten und zur Kompensation einer inversen Bewegung sind gut geeignet für effiziente Videobearbeitungssysteme und skalierbare Mehrpunkt-Videokonferenzsysteme.
  • Bild/Videoeditor
  • Bevor die Einzelheiten der Bildabwärtsabtastung und der Kompensation einer inversen Bewegung gemäß der Erfindung näher dargestellt werden, wird ein vorgeschlagenes System, in dem sich die eine oder beide dieser Funktionen befinden, in 2 gezeigt. Das System umfaßt eine Platte, auf der ein vorverarbeitetes Bild 126 in einer Datei 124 gespeichert ist. Das Bild 126 wird durch eine Komprimierungsmaschine 128 gemäß einem der DCT-basierten Komprimierungsschemata komprimiert (z. B. JPEG, MPEG, H.261 oder H.263). Das Bild könnte beispielsweise durch einen Photoverarbeitungsladen erzeugt werden. Das komprimierte Bild wird dann in einer Datei 124 gespeichert, um es dem Besitzer der Photographie zu ermöglichen, die Photographie unter Verwendung eines Bild/Videoeditors 130 zu bearbeiten. Der Bild/Videoeditor 130 umfaßt eine Bildabwärtsabtasten- oder eine Kompensation-einer-inversen-Bewegung-Funktion gemäß der Erfindung, die auf den komprimierten Bilddaten arbeitet, die in der Datei 124 gespeichert sind, um verarbeitete Bilddaten zu erzeugen, die ebenfalls in der DCT-Domain sind, die nach dem Verarbeiten in einer anderen Datei 129 gespeichert werden. Bei einem alternativen Ausführungsbeispiel befinden sich sowohl die Abwärtsabtastfunktion als auch die Funktion der Kompensation einer inversen Bewegung in dem Bild/Videoeditor 130. Der Bild/Videoeditor 130 kann eine Mehrzahl von vordefinierten Abwärtsabtastfunktionen gemäß der Erfindung umfassen, die es dem Benutzer erlauben, zu spezifizieren, welche eine oder mehrere dieser Abwärtsabtastfunktionen gewünscht werden. Obwohl die Datei 129 auf einer getrennten Platte von der Datei 124 gezeigt ist, müssen diese Platten nur logisch getrennt sein. In der Tat können beide Dateien 124 und 129 auf der gleichen physikalischen Platte gespeichert sein.
  • Sobald das komprimierte Bild durch den Bild/Videoeditor 130 bearbeitet wurde, kann der Photoverarbeitungsladen dann das bearbeitete Bild mit der Dekomprimierungsmaschine 132 dekomprimieren, um ein bearbeitetes Bild 134 zu erzeugen, das dann durch den Photoverarbeitungsladen verarbeitet werden kann und an den Besitzer geschickt werden kann.
  • 3 ist ein schematisches Blockdiagramm eines Systems 100 zum Durchführen von Bild- und Videoverarbeitung in der komprimierten Domain gemäß der Erfindung. Das Bildverarbeitungssystem 100 umfaßt ein Plattenlaufwerk 111, einen Speicher 15 und einen Bild/Videoeditor 130. Der Bild/Videoeditor 130 kann ein Spezialcomputer oder Universalcomputer sein, der programmiert ist, um die Bild/Videoeditorfunktionen der vorliegenden Erfindung zu liefern.
  • Der Bild/Videoeditor 130 enthält einen Huffman-Decodierer 12 zum teihweisen Decodieren komprimierter Bilder. Bei dem Beispiel von 3 wird eine komprimierte Bilddatei 124 auf dem Plattenlaufwerk 111 als ein komprimierter Bitstrom 11 in den Huffman-Decodierer 12 eingegeben. Der komprimierte Bitstrom 11 ist gemäß einem bekannten DCT-basierten Komprimierungsschema komprimiert, wie z. B. MPEG, JPEG, H.261 oder H.263. Der Huffman-Decodierer 12 schreibt ein teilweise decodiertes Bild 128 auf den Speicher 15, das nachfolgend an den Bild/Videoeditor 130 geliefert wird.
  • Der Bild/Videoeditor 130 enthält einen Dequantisierer 14, der mit dem Speicher 15 verbunden ist, um teilweise decodierte Bilder 128 zu empfangen. Der Dequantisierer 14 enthält eine Funktionalität, um 8 × 8-Blöcke in der DCT-Domain zu erzeugen. Diese 8 × 8-DCT-Blöcke sind nun zugänglich für DCT-Verarbeitungsverfahren, wie z. B. DCT-Domain-Abwärtsabtasten, das nachfolgend in Verbindung mit 3, 4 und 5 erörtert wird, und eine DCT-Domainkompensation einer inversen Bewegung, die nachfolgend in Verbindung 3, 6 und 7 erörtert wird.
  • Der Kern des Bild/Videoeditors 100 ist aus der Abwärtsabtasteinheit 10 und der Kompensation-einer-inversen-Bewegung-Einheit 30 gebildet. Verschiedene alternative Ausführungsbeispiele sind möglich, die entweder die Abwärtsabtasteinheit 10 oder die Kompensation-einer-inversen-Bewegung-Einheit 30 oder beide enthalten (wie es in 3 gezeigt ist). Sowohl die Abwärtsabtasteinheit 10 als auch die Kompensation-einer-inversen-Bewegung-Einheit 30 sind mit dem Dequantisierer 14 verbunden, um dequantisierte Bildmatrizen zu erhalten.
  • Die Ausgabe von dem Abwärtsabtaster 10 ist ein abwärts abgetastetes Bild 23, und für das Kompensation-einerinversen-Bewegung-Modul 30 ein Kompensation-einer-inversen-Bewegung-Rahmen 43. Diese jeweiligen Ausgaben werden ferner durch einen Quantisierer 26 und durch einen Huffman-Codierer 24 verarbeitet. Der Huffman-Codierer 24 kehrt die teilweise Decodierung um; die durch den Huffman-Decodierer 12 durchgeführt wurde. Schließlich wird das neu codierte Bild zurück zu seinem Ursprung übertragen, z. B. als verarbeitete komprimierte Bilddatei 129 auf dem Plattenlaufwerk 111.
  • Abwärtsabtasten der komprimierten Domain
  • 4 ist ein schematisches Blockdiagramm der Abwärtsabtasteinheit 10 zum Durchführen von Abwärtsabtasten in der komprimierten Domain gemäß der Erfindung. Wie es oben erörtert wird, erhält der Dequantisierer 14 ein teilweise decodiertes Bild 128 von dem Speicher 15 und extrahiert von demselben eine Reihe von 8 × 8-DCT-Blöcken 22, die dann an die Abwärtsabtasteinheit 10 geliefert werden.
  • Wie es nachfolgend näher erörtert wird, werden die 8 × 8-DCT-Blöcke X1, X2, ... von dem Speicher mit einer Bestimmungseinrichtung 16 verarbeitet, um einen Wert X zu berechnen, auf der Basis eines Abwärtsabtastfaktors der Abwärtsabtasteinrichtung 17, die jeden gewünschten Abwärtsabtastfaktor liefern kann, wie z. B. ein Abwärtsabtasten um einen Faktor zwei 18, bei dem vier 8 × 8-DCT-Blöcke kombiniert werden, um einen einzigen 8 × 8-DCT-Block zu erzielen, Abwärtsabtasten um einen Faktor drei 19, bei dem neun 8 × 8-DCT-Blöcke kombiniert werden, um einen einzigen 8 × 8-DCT-Block zu erzielen, Abwärtsabtasten um einen Faktor vier 10, bei dem 16 8 × 8-DCT-Blöcke kombiniert werden, um einen einzigen 8 × 8-DCT-Block zu ergeben, oder einen anderen Abwärtsabtastfaktor 21. Das abwärts abgetastete Bild X 23 wird dann für eine weitere Verarbeitung oder Anzeige/Reproduktion, je nach Wunsch, ausgegeben. Beispielsweise, wie es in 3 gezeigt ist, kann das Bild 23 an einen Huffman-Codierer 24 geliefert werden, um eine komprimierte Bitstromausgabe 25 zu erzeugen, die schließlich als komprimierte Bilddatei 129 auf einem Plattenlaufwerk 111 gespeichert wird.
  • Das hierin beschriebene Schema kombiniert einzigartig zumindest vier DCT-Blöcke, um Abwärtsabtasten in der komprimierten Domain zu erreichen, während es gleichzeitig einen Ausgabe-DCT-Block liefert, der die gleiche Größe aufweist wie jeder der ursprünglichen Blöcke, d. h. vier oder mehr 8 × 8-DCT-Blöcke werden kombiniert, um einen einzigen 8 × 8-DCT-Block zu erzeugen, der der Mittelwert der vier oder mehr Blöcke ist.
  • Die 8 × 8-2D-DCT transformiert einen Block {x(n, m)}7n,m=0 in der räumlichen Domain in eine Matrix von Frequenzkomponenten {x(k, l)}7k,l=0 gemäß der folgenden Gleichung:
    Figure 00170001
    wobei
    Figure 00170002
    und c(k) = 1 für k > 0. Die inverse Transformation ist gegeben durch:
  • Figure 00170003
  • In einer Matrixform, lasse x = {x(n, m)}7n,m=0 und X = {X(k, l)}7k,l=0
  • Definiere die 8-Punkt-DCT-Matrix S = {s(k, n)}7k,n=0 wobei
  • Figure 00180001
  • Dann X = S × St (4)wobei das hochgestellte Zeichen t eine Matrixtransposition bezeichnet. Gleichartig dazu bezeichnet das hochgestellte Zeichen –t die Transformation der Inversen. Dann x = S–1XS–t = StXS (5)wo die zweite Gleichheit aus der Einheitlichkeit von S folgt.
  • Nun nehme man an, daß es vier benachbarte 8 × 8-Räumliche-Domain-Datenblöcke x1, x2, x3 und x4 gibt, die zusammen ein 16 × 16-Quadrat bilden, wobei x1 Nordwest entspricht, x2 Nordost, x3 Südwest und x4 Südost. Eine Abwärtsabtastung (Dezimierung) um einen Faktor von 2 in jeder Dimension bedeutet, daß jede nichtüberlappende Gruppe von vier Pixeln, die einen kleinen 2 × 2-Block bildet, durch ein Pixel ersetzt wird, dessen Intensität der Mittelwert der vier ursprünglichen Pixel ist. Als Folge werden die ursprüngli chen Blöcke x1, ..., x4 ersetzt durch einen einzigen 8 × 8-Ausgabeblock x, der der Abwärtsabtastung von x1 ... x4 entspricht. Unsere Aufgabe ist es, X, die DCT von x direkt von den gegebenen DCT der ursprünglichen Blöcke x1, x2, x3 und x4 effizient zu berechnen.
  • Die Probleme des Abwärtsabtastens um einen Faktor von 3 und 4 sind gleichartig dazu definiert, wobei die Anzahl von Eingabeblöcken 9 bzw. 16 ist, und die Blöcke x1, x2, ... in einer Rasterabtastreihenfolge indexiert sind. Gleichartig dazu wird, wie in dem Fall eines Faktors von 2, jede nichtüberlappende Gruppe von 3 × 3-Pixeln für den Fall des Abwärtsabtastens um 3 und 4 × 4-Pixel für den Fall des Abwärtsabtastens um 4 durch den Mittelwert derselben ersetzt, und die Ausgabe ist ein DCT-Block, der immer mit X bezeichnet wird.
  • Der Einfachheit halber wird zunächst der eindimensionale Fall und Abwärtsabtasten um 2 betrachtet. Der zweidimensionale Fall ist eine wiederholte Anwendung für jede Zeile und dann für jede Spalte jedes Blocks. In diesem Fall sind zwei achtdimensionale Vektoren X1 und X2 von DCT-Koeffizienten gegeben, die benachbarten Zeitdomainvektoren der Länge 8 entsprechen, x1 = S–1X1 und x2 = S–1X2, und es ist notwendig, X zu berechnen, die DCT des achtdimensionalen Vektors x, wobei jede Komponente desselben der Mittelwert der beiden geeigneten benachbarten Komponenten in x1 oder x2 ist.
  • Es ist praktisch, die Abwärtsabtastfunktion in einer Matrixform wie folgt zu beschreiben.
    Figure 00190001
    wobei
  • Figure 00200001
  • Man betrachte als nächstes effiziente Faktorisierungen der Matrizen U1 = SQ1S–1 und U2 = SQ2S–1. Zu diesem Zweck wird eine Faktorisierung von S verwendet, die dem schnellsten existierenden Algorithmus für 8-Punkt-DCT entspricht. Siehe W. B. Pennebaker, J. L. Mitchel, JPEG Still Image Data Compression Standard, Van Nostrand Reinhold, S. 50–63, 1993). Gemäß dieser Faktorisierung wird S wie folgt dargestellt: S = DPB1B2MA1A2A3 (8)
    wobei D eine diagonale Matrix ist, gegeben durch:D = diag{0,3536, 0,2549, 0,2706, 0,3007, 0,3536, 0,4500, 0,6533, 1,2814} (9a)P ist eine Permutationsmatrix, gegeben durch:
    Figure 00210001
    und die verbleibenden Matrizen sind wie folgt definiert:
  • Figure 00210002
  • Figure 00220001
  • Somit ergibt sich für i = 1, 2: Ui = SQiS–1 = DPB1B2MA1A2A3Q1A3 –1A2 –1A1 –1M–1B2 –1B1 –1P–1D–1 (10)
  • Der hierin offenbarte Abwärtsabtastalgorithmus basiert auf der Beobachtung, daß die Produkte Fi = MA1A2A3Q1A3 –1A2 –1A1 –1M–1 i = 1, 2 (11)relativ schwach besetzte Matrizen sind, und die meisten der entsprechenden Elemente sind gleich, manchmal mit einem unterschiedlichen Vorzeichen. Dies bedeutet, daß die Summe derselben F+ = F1 + F2 und die Differenz derselben F = F1 – F2 noch schwacher besetzt sind. Diese Matrizen sind wie folgt gegeben:
  • Figure 00230001
  • Schließlich kann unter Verwendung der Gleichung 10 und 11 die Gleichung 7 geschrieben werden als:
  • Figure 00240001
  • Nachfolgend wird die Anzahl von Grundarithmetikoperationen auf einem Mikroprozessor gezählt, die benötigt wird, um die am weitesten rechts gelegene Seite der Gleichung 12 zu implementieren, und dieselbe mit dem Lösungsansatz der räumlichen Domain zu vergleichen. Wie es oben erklärt wurde, entspricht hier der Begriff Operation der elementaren arithmetischen Berechnung eines typischen Mikroprozessors, die entweder Verschieben, Addieren oder Verschieben und Addieren, um Eins Verschieben und addieren (SH1ADD), um Zwei Verschieben und addieren (SH2ADD) und um Drei Verschieben und addieren (SH3ADD) ist. Beispielsweise wird die Berechnung z = 1,375x + 1,125y wie folgt implementiert: Zunächst berechne u = x + 0,5x (SH1ADD), dann v = x + 0,25u (SH2ADD), danach w = v + y (ADD) und schließlich z = w + 0,125y (SH3ADD). Somit werden insgesamt vier Grundoperationen benötigt.
  • Wenn die Operationen gezählt werden, wird die Tatsache genutzt, daß Multiplikationen mit D und D–1 ignoriert werden können, weil diese in dem Dequantisierer 14 bzw. dem Quantisierer 26 absorbiert werden können. Die Matrizen P und P–1 bewirken nur Änderungen bei der Reihenfolge der Komponenten, daher können dieselben ebenfalls ignoriert werden.
  • Somit sind die folgenden Operationen übrig, wobei die Anzahl von Additionen/Subtraktionen und die Anzahl von nichttrivialen Multiplikationen in Klammer gezeigt sind:
  • Erzeugen von X1 + X2 und X1 – X2: 16 Operationen (16 Additionen).
  • Zwei Multiplikationen mit B1 –1: 8 Operationen (8 Additionen).
  • Zwei Multiplikationen mit B2 –1: 8 Operationen (8 Additionen).
  • Multiplikation mit F+: 23 Operationen (5 Multiplikationen + 5 Additionen). Multiplikation mit F: 28 Operationen (6 Multiplikationen + 4 Additionen).
  • Addieren der Produkte: 8 Operationen (8 Additionen).
  • Multiplikation mit B2: 4 Operationen (4 Additionen).
  • Multiplikation mit B1: 4 Operationen (4 Additionen).
  • Gesamt: 115 Operationen (11 Multiplikationen + 57 Additionen).
  • In dem Räumliche-Domain-Lösungsansatz sind andererseits die folgenden Operationen erforderlich: Zwei IDCT: 114 Operationen (10 Multiplikationen + 60 Additionen).
  • Abwärtsabtasten in der Zeitdomain: 8 Operationen (8 Additionen).
  • DCT: 42 Operationen (5 Multiplikationen + 30 Additionen).
  • Gesamt: 161 Operationen (15 Multiplikationen + 98 Additionen).
  • Es stellt sich heraus, wie es ersichtlich ist, daß das hierin offenbarte Schema etwa 30% der Operationen in dem eindimensionalen Fall einspart. In dem zweidimensionalen Fall ist es möglich, sogar noch stärkere Reduktionen der Komplexität zu erhalten.
  • Es sollte angemerkt werden, daß als ein Nebenprodukt des hierin offenbarten Schemas eine arithmetische Genauigkeit gewonnen wird. Weil bei dem direkten Lösungsansatz jede einzelne der Matrizen an der rechten Seite der Gleichung 11 eine nach der anderen multipliziert wird, akkumulieren sich die Abrundungsfehler im Zusammenhang mit begrenzten Wortlängendarstellungen der Elemente dieser Matrizen in jedem Schritt. Andererseits ist es bei dem hierin offenbarten Schema möglich, Fi ein für alle mal auf jeden Präzisionsgrad vorzuberechnen, und dann jedes Element dieser Matrizen zu der erlaubten Präzision abzurunden. Das letztere weist eine bessere Präzision auf, wie es nachfolgend näher erörtert wird.
  • Man betrachte nun den zweidimensionalen Fall. Eine 2-D-DCT kann als eine zeilenweise DCT-Operation durchgeführt werden. Eine zeilenweise DCT-Operation implementiert das Nehmen der 1-D-DCT jeder Zeile des Räumliche-Domain-Bildblocks. Eine spaltenweise DCT-Operation implementiert das Nehmen der 1-D-DCT jeder Spalte des Blocks, die sich von der zeilenweisen DCT-Operation ergibt. Daher kann die hierin offenbarte Erfindung ohne weiteres auch auf den zweidimensionalen Fall angewendet werden. Die folgende Erörterung beschreibt die Berechnungsschemata zum Abwärtsabtasten um einen Faktor von 2, 3 und 4 näher.
  • Abwärtsabtasten um 2
  • Die zweidimensionale Erweiterung der Gleichung 6 ist:
  • Figure 00270001
  • Es ist anzumerken, daß x der um 2 abwärts abgetastete 8 × 8-Block für die Region ist, die durch die 8 × 8-Blöcke x1, x2, x3 und x4 bedeckt ist.
  • Die entsprechende DCT-Domainerweiterung der Gleichung 12 ist:
  • Figure 00270002
  • Daher berechnet die vorliegende Erfindung X effizient durch direktes Manipulieren der Daten in der DCT-Domain. Der Räumliche-Domain-Lösungsansatz erfordert das explizite Durchführen der IDCT, um x1, x2, x3 und x4 zu berechnen, und dann x zu berechnen unter Verwendung der Gleichung 13 und nachfolgend Nehmen von DCT von x, um X zu bekommen.
  • Erneut ist es wünschenswert, die rechte Seite der Gleichung 14 bezüglich U+ = U1 + U2 = DPB1B2F+B2 –1B1 –1P–1D–1 zu beschreiben und U = U1 – U2 = DPB1B2FB2 –1B1 –1P–1D–1.
  • Zu diesem Zweck definiere X+++ = X1 + X2 + X3 + X4, (15) X+–– = X1 + X2 – X3 – X4, (16) X–+– = X1 – X2 + X3 – X4, (17)und X––+ = X1 –X2 – X3 + X4, (18)
  • Es ist anzumerken, daß zum Erzeugen aller vorhergehenden linearen Kombinationen nur 8 (und nicht 12) Additionen/Subtraktionen pro Frequenzkomponente erforderlich sind: Berechne zuerst X1 ± X2 und X3 ± X4 und dann (X1 + X2) ± (X3 + X4) und (X1 – X2) ± (X3 – X4). Nun kann die Gleichung 14 neu geschrieben werden als:
  • Figure 00280001
  • Falls die Anzahl der Operationen im Zusammenhang mit der Implementierung der am weitesten rechts gelegenen Seite der Gleichung 19a gezählt werden, ist die Gesamtzahl 2.824 Operationen. Der Räumliche-Domain-Lösungsansatz erfordert andererseits 4.512 Operationen. Dies bedeutet, daß unter Verwendung des hierin offenbarten erfindungsgemäßen Schemas 37,4% der Operationen gespart werden.
  • Zusätzliche Einsparungen bei Berechnungen können gemacht werden durch Ausnutzen der Tatsache, daß bei typischen Bildern die meisten der DCT-Blöcke X1 nur wenige Nicht- Null-Koeffizienten aufweisen, die normalerweise die Niedrigfrequenzkoeffizienten sind.
  • Ein Lösungsansatz zum Implementieren dieser zusätzlichen Berechnungseinsparungen ist es, einen Mechanismus zu verwenden, der in zwei Schritten arbeitet. Bei dem ersten Schritt werden DCT-Blöcke als Tiefpaß oder Nichttiefpaß klassifiziert, wobei die Ersteren als Blöcke definiert sind, wo nur der obere linke 4 × 4-Unterblock nicht Null ist. Der zweite Schritt verwendet entweder das oben beschriebene Berechnungsschema für Nichttiefpaßblöcke oder ein schnelleres Schema, das die Tiefpaßannahme für die Vorberechnung der obigen Matrixmultiplikationen verwendet. Es stellt sich heraus, daß die Reduktion bei den Berechnungen etwa 80 ist, falls X1, ... X4 alle Tiefpaßblöcke sind. Dieser gleiche Lösungsansatz kann auf Abwärtsabtastungen um 3 und um 4 angewendet werden, die nachfolgend beschrieben werden.
  • 5 ist ein Schaltbild, das die Abwärtsabtastung um einen Faktor von 2 durch die Abwärtsabtasteinrichtung 17 von 4 darstellt. Tatsächlich ist die Schaltungsanordnung von 5 eine praktische Anwendung der Gleichung 19a auf dem Gebiet der digitalen Bildverarbeitung.
  • Die Matrizen X1, X2, X3 und X4 werden von der Bestimmungseinrichtung 16 erhalten und in ein Matrixadditionsnetzwerk 401 eingegeben, um X+++, X–+–, X+–– und X––+ zu erzeugen. Das Matrixadditionsnetzwerk 401 implementiert die Gleichungen (15), (16), (17) und 18. X+++ wird multipliziert mit F+ durch die Multiplizierer 403, 405, 407 bzw. 409. Gleichartig dazu werden X–+–, X+–– und X––+ jeweils mit P–1, B–1 und B2 –1 multipliziert, durch die jeweiligen Matrixmultiplizierer 401 bis 427. Das Ergebnis von dem Matrixmultiplizierer 415 wird ferner durch den Matrixmultiplizierer 429 mit F+ multipliziert, und die Ergebnisse von den Multiplizierern 421 und 427 werden durch die Matrixmultiplizierer 431 bzw. 433 mit F multipliziert.
  • Diese verschiedenen Produkte, die durch das Matrixadditionsnetzwerk 401 und die Matrixmultiplizierer 403 bis 433 erzeugt werden, werden durch die Matrixaddierer 435 und 437 addiert. Die Terme, die durch die Matrixaddierer 435 addiert werden, sind die Quantitäten X+++P–1B1 –1B2 –1F+ und X+––P–1B1 –1B2 –1F. Die Terme, die durch den Matrixaddierer 437 addiert werden, sind die Quantitäten X–+–P–1B1 –1B2 –1F+ und X––+P–1B1 –1B2 –1F .
  • Jede der Summen, die durch die Matrixaddierer 435 und 437 erzeugt werden, wird durch die Matrixmultiplizierer 435-449 multipliziert mit den Matrizen P–t, B1 –t, B2 –t. Das Produkt, das durch den Matrixmultiplizierer 443 erzeugt wird, wird dann durch den Matrixmultiplizierer 451 mit der Matrix F+ multipliziert, und das Produkt, das durch den Matrixmultiplizierer 449 erzeugt wird, wird dann durch den Matrixmultiplizierer 453 mit der Matrix F+ multipliziert. Die resultierenden Produkte von den Matrixmultiplizierern 449 und 451 werden dann durch den Matrixaddierer 455 addiert. Die resultierende Summe ist:
  • Figure 00300001
  • Der Dequantisierer 14 und der Quantisierer 26 umfassen die Berechnungen, die die Matrizen D, D–1, Dt und Dt–1 der Gleichung 19 umfassen. Daher werden bei der Abwärtsabtasteinrichtung 17 keine Matrixmultiplizierer zum Multiplizieren dieser Matrizen benötigt.
  • Die Summe von der Gleichung (19b) wird dann mit den verbleibenden Matrizen der Gleichung (19a) multipliziert, nämlich den Matrizen B2, B t / 2, B1, B t / 1, P und Pt, durch die jeweiligen Matrixmultiplizierer 457 bis 467. Schließlich wird das resultierende Produkt mit dem Abwärtsabtastfaktor 1/16 durch den Multiplizierer 469 multipliziert.
  • Abwärtsabtasten um 4
  • Ein Lösungsansatz zum Abwärtsabtasten um 4 ist zweimal um 2 abwärts abzutasten. Es stellt sich jedoch heraus, daß durch Verwenden der gleichen Verfahren ein effizienteres Schema zum Abwärtsabtasten direkt um 4 entwickelt werden kann. Abwärtsabtasten um 4 umfaßt die folgenden Abwärtsabtastmatrizen:
    wobei
  • Figure 00310001
  • Figure 00320001
  • Nachfolgend, definiere: H1 = MA1A2A3Q3A3 –1A2 –1A1 –1M–1 (21) H2 = MA1A2A3Q4A3 –1A2 –1A1 –1M–1 (22) H3 = MA1A2A3Q5A3 –1A2 –1A1 –1M–1 (23) H4 = MA1A2A3Q6A3 –1A2 –1A1 –1M–1 (24) und H+++ = H1 + H2 + H3 + H4 (25) H––+ = H1 – H2 – H3 + H4 (26) H–+– = H1 – H2 + H3 – H4 (27) H+–– = H1 + H2 – H3 – H4 (28)
  • Definiere außerdem die folgenden linearen Kombinationen auf den Eingabedaten: X+++1 = Xi + Xi+4 + Xi+8 + Xi+12 (29) X+1 = Xi – Xi+4 – Xi+8 + Xi+12 (30) X+1 = Xi – Xi+4 + Xi+8 – Xi+12 (31) X+1 = Xi + Xi+4 – Xi+8 – Xi+12 (32)wobei i = 1, 2, 3, 4, X++++++ = X+++1 + X+++2 + X+++3 + X+++4 (33) X++++ = X+++1 – X+++2 – X+++3 + X+++4 (34) XX++++ = X+++1 – X+++2 + X+++3 – X+++4 (35) XX++++ = X+++1 + X+++2 – X+++3 – X+++4 (36) und ähnliche Definitionen für die hochgestellten Zeichen +– –, –+– und ––+. Um alle diese Kombinationen zu erzeugen, sind 64 Additionen/Subtraktionen pro Frequenzkomponente erforderlich. Nun, ähnlich wie in Gleichung 19a:
  • Figure 00340001
  • Die Anzahl von Operationen beim Implementieren dieser Formel ist 8.224 Operationen im Vergleich zu 16.224 Operationen in dem Räumliche-Domain-Lösungsansatz.
  • Die Gleichung 37 kann unter Verwendung von Hardwarematrix-Multiplizieren und -Addierern auf ähnliche Weise implementiert werden, wie es oben in Verbindung mit 4 beschrieben ist.
  • Abwärtsabtasten um 3
  • Abwärtsabtasten um einen Faktor von 3 ist problematischer und weniger elegant als die Faktoren von 2 und 4, weil einige der 3 × 3-Blöcke, die gemittelt werden sollen, nicht vollständig innerhalb einem 8 × 8-DCT-Block liegen. In diesem Fall gibt es drei Typen von Abwärtsabtastmatrizen:
  • Figure 00350001
  • Gleichartig wie in den Fällen eines Faktors von 2 und 4, definiere: T1 = MAlA2A3Q7A3 –1A2 –1A1 –1M–1 (39) T2 = MAlA2A3Q8A3 –1A2 –1A1 –1M–1 (40) T3 = MAlA2A3Q9A3 –1A2 –1A1 –1M–1 (41)
  • Das Berechnungsschema basiert auf der Tatsache, daß die Matrizen T = T1 + T2 + T3, (42) T+ = T1 + T3, (43) T = (T1 – T3)/2 (44)relativ schwach besetzt sind, und auf der Identität:
  • Figure 00360001
  • Falls die Gleichung 38 zu der DTC-Domain transformiert wird und die festen Matrizen bezüglich T, T+ und T ausgedrückt werden, wird unter Verwendung von Gleichung 45 nach einigen algebraischen Manipulationen die folgende Berechnungsformel erhalten:
    Figure 00370001
    X1 = X5 (47)
    Figure 00370002
    X3 = X4 – X6 (49)
    Figure 00370003
    Figure 00370004
    X7 = X2 – X8 (53)
    Figure 00370005
    X9 = X1 – X7 – X3 + X9 (55)
  • Die Transformation von {X1, ..., X9} zu {X 11, ..., X 99} kann in 18 Operationen pro Frequenzkomponente durchgeführt werden. Die Gesamtzahl von Operationen, die der Implementierung von Gleichung 46 zugeordnet sind, beträgt 5.728 Operationen. Andererseits beträgt die Anzahl von Operationen im Zusammenhang mit dem Räumliche-Domain-Lösungsansatz 9.392 Operationen, d. h. die Reduktion bei der Anzahl von Berechnungen beträgt etwa 39%.
  • Bei einem Ausführungsbeispiel wird das Verfahren des Abwärtsabtastens um 3, das oben beschrieben wurde, unter Verwendung von Matrixmultiplizierern und Matrixaddierern implementiert, auf ähnliche Weise, wie es oben in Verbindung mit 4 für den Fall des Abwärtsabtastens um 2 beschrieben wurde.
  • Das hierin offenbarte Berechnungsschema liefert eine bessere Rechengenauigkeit als der Standardlösungsansatz. Um diese Tatsache zu demonstrieren, haben die Erfinder beide Schemata für den Fall des Abwärtsabtastens um 2 getestet, wobei jedes Element in jeder der oben definierten festen Matrizen durch 8 Bits dargestellt ist.
  • Bei dem ersten Experiment wurden die Elemente von x1, ..., x4 als statistisch unabhängige Zufallsganzzahlen gewählt, die einheitlich in dem Satz {0, 1, ..., 255} verteilt sind. Zunächst berechne man x und dann X direkt von x1, ..., x4 für eine Referenz. Dann berechne man die DCTs X1, ..., X4, wo alle DCT-Koeffizienten quantisiert und dann dequantisiert werden, gemäß einer gegebenen Quantisierungsmatrix Δ. Von X1, ..., X4 berechne man X unter Verwendung sowohl des Standardlösungsansatzes als auch dem hierin offenbarten Schema und vergleiche die Ergebnisse mit der Referenzversion, wo die Genauigkeit bei jedem Lösungsansatz gemessen wird bezüglich der Quadratsumme von Fehlern (MSE) in der DCT-Domain, und somit auch in der räumlichen Domain. Für den Fall, wo Δ eine Nur-Eins-Matrix ist, ist der MSE des hierin offenbarten Schemas etwa 3 dB besser als der des Standardlösungsansatzes. Für den Fall, wo Δ die empfohlene Quantisierungsmatrix von JPEG für Luminanz ist (siehe W. B. Pennebaker, J. L. Mitchell, JPEG still Image Data Compression Standard, Van Nostrand Reinhold, 1993), übertrifft das hierin offenbarte Schema den Standardlösungsansatz um 1,2 dB. Diese Ergebnisse sind angemessen, denn wenn sich die Schrittgrößen des Quantisierers erhöhen, neigen Quantisierungsfehler im Zusammenhang mit den DCT-Koeffizienten dazu, Abrundungsfehler im Zusammenhang mit ungenauen Berechnungen zu dominieren.
  • Das zweite Experiment ist ähnlich, aber die Testdaten basieren auf einem echten Bild anstatt auf Zufallsdaten. Für den Fall, wo Δ eine Nur-Eins-Matrix ist, ergibt der Standardlösungsansatz SNR von 46,08 dB, während das hierin offenbarte Schema 49,24 dB ergibt, was erneut eine Verbesserung um 3 dB ist. Für den Fall, wo Δ der JPE-Vorgabequantisierer ist, sind die Zahlen 36,63 dB bzw. 36,84 dB. Hier ist der Verbesserungsgrad geringer als in dem Fall von Zufallsdaten, weil die meisten DCT-Koeffizienten bei beiden Techniken auf Null gerundet werden.
  • Kompensation einer inversen Bewegung
  • 6 ist ein schematisches Blockdiagramm einer alternativen Ansicht der Kompensation-einer-inversen-Bewegung-Einheit 30 zum Durchführen einer Kompensation einer inversen Bewegung in der komprimierten Domain des Bild/Videoeditors 130 gemäß der Erfindung. Wie es in 3 gezeigt ist, kann der Bild/Videoeditor 130 eine Abwärtsabtasteinheit 10 enthalten. Wie es oben in Verbindung mit 3 erörtert wurde, wird ein komprimierter Bitstrom 128 von der Platte 124 teilweise durch einen Huffman-Decodierer 12 decodiert. Der Bitstrom wird gemäß einem beliebigen bekannten DCT-basierten Videokomprimierungsschema, wie z. B. MPEG oder H.261, komprimiert. Der teilweise dekomprimierte Bitstrom 128 wird durch den Dequantisierer 14 dequantisiert.
  • Der Dequantisierer 14 ist mit der Kompensation-einerinversen-Bewegung-Einheit 30 verbunden. Ein Bildabrufmodul 41 der Kompensation-einer-inversen-Bewegung-Einheit 30 extrahiert von dem dequantisierten und teilweise dekomprimierten Bitstrom die Daten X1, X2, ... in Form eines DCT-8 × 8-Blocks, der dem vorliegenden Bild (zu einem Zeitpunkt T) entspricht, und zu einem Bewegungsvektor h, w, der der Differenz zwischen einem Ankerbild (zu einem Zeitpunkt T-1) und dem vorliegenden Bild (T) entspricht. Die DCT-Block- und Bewegungsvektor-Informationen werden dann an eine Verarbeitungseinheit 40 geliefert, die in der Tat die Berechnung der Gleichung 59 ausführt (nachfolgend erörtert).
  • Wie es nachfolgend näher erörtert ist, wird der 8 × 8-DCT-Block verarbeitet, um eine gewünschte Region innerhalb des Ankerbilds T-1 zu finden, so daß bis zu vier 8 × 8-DCT-Blöcke kombiniert werden, um einen einzigen 8 × 8-DCT-Block zu ergeben. Ein Modul 36 in dem Prozessor ruft h, w von dem Speicher 15 ab, während ein anderes Modul 41 die vier 8 × 8-DCT-Blöcke X1, X2, X3, X4 abruft, die das Bild (T-1) umfassen. Ein weiteres Modul 37 verwendet h und w, um die erforderlichen J-, K-Matrizen abzurufen und dadurch einen Satz von festen Matrizen vorzuberechnen, während ein anderes Modul 38 einen 8 × 8-DCT-Block von dem Speicher abruft, der dem aktuellen Bild (T) entspricht. Sobald die richtige Region des Ankerbilds (T-1) gefunden ist, werden die vier 8 × 8-DCT-Blöcke, die die notwendigen Informationen erfassen, um das Ankerbild (T-1) herzustellen, durch eine Verarbeitungseinheit 40 zum Ausführen der Berechnung einer Kompensation einer inversen Bewegung (z. B. Gleichung 59 nachfolgend) zu einem einzigen 8 × 8-DCT-Block umgewandelt, und der so bestimmte Block wird mit einem 8 × 8-DCT-Block, der die Differenz zwischen dem Ankerbild T-1 und dem aktuellen Bild T darstellt, durch einen Addierer 39 in dem Prozessor kombiniert, um ein unabhängiges Bild zu erzeugen. Der inversbewegungskompensierte DCT-Block 33 wird dann an den Quantisierer 26 und nachfolgend an den Huffman-Codierer 24 ausgegeben, um eine Ausgabe 25 zu erzeugen, die auf dem Plattenlaufwerk 111 gespeichert werden kann, wie es in 3 gezeigt ist.
  • Eine Bewegungskompensation der komprimierten Videoeinrichtung, bedeutet das Vorhersagen jedes 8 × 8-Räumliche-Domain-Blocks x des aktuellen Bildes, durch einen entsprechenden Referenzblock x ^ von einem vorhergehenden Bild und Codieren des resultierenden Vorhersagefehlerblocks e = x – x ^ durch Verwenden der DCT (siehe obige Gleichungen 1 bis 5). Bei einigen der Bilder (z. B. B-Bilder) werden Blöcke sowohl von vergangenen als auch zukünftigen Referenzblöcken geschätzt. Siehe Coding of Moving and Associated Audio. Committee Draft of Standard ISO111172, ISO/MPEG 90/176, Dezember 1990; Video Codec for Audio Visual Services at p × 64 Kbits/s, CCITT Recommendation H.261, 1990; und D. le Gall, MPEG: A Video Compression Standard for Multimedia Applications, Commun. of the ACM, Bd. 34, Nr. 4, S. 47-58, April 1991. Der Einfachheit halber nehme man an, daß nur die vergangenen verwendet werden (z. B. P-Bilder) und die Erweiterung unkompliziert ist.
  • Es kann sein, daß der beste passende Referenzblock x ^ nicht mit den ursprünglichen 8 × 8-Blöcken des Referenzbildes ausgerichtet ist. Allgemein kann der Referenzblock vier benachbarte Räumliche-Domain-Blöcke schneiden, die hierin nachfolgend mit x1, x2, x3 und x4 bezeichnet werden, die zusammen ein 16 × 16-Quadrat bilden, wobei x1 Nordwest entspricht, x2 Nordost, x3 Südwest und x4 Südost.
  • Das Ziel ist es, die DCT X des aktuellen Blocks x = xx ^ + e von der aktuellen DCT E des Vorhersagefehlers e zu berechnen, und jeweils die DCTs X1,..., X4 von x1, ..., x4. Da x = X = X ^ + E, X ^ die DCT von x ^ ist, bleibt das Hauptproblem die Berechnung von X ^ direkt von X1,..., X4.
  • Man lasse die Schnittstelle des Referenzblocks x ^ mit x1 ein h x w-Rechteck bilden (d. h. mit h Zeilen und w Spalten), wobei 1 ≤ h ≤ 8 und 1 ≤ w ≤ 8. Dies bedeutet, daß die Schnittstellen von x ^ mit x2, x3 und x4 Rechtecke mit Größen h × (8 – w), (8 – h) × w bzw. (8 – h) × (8 – w) sind.
  • Nach Chang und Messerschmitt, ebenda, ist es ohne weiteres ersichtlich, daß x ^ als eine Superposition von geeignet mit Fenstern versehenen und verschobenen Versionen von x1, ..., x4 sein kann, d. h.
    Figure 00420001
    wobei ci,j, i = 1, ..., 4, j = 1, 2 schwach besetzte 8 × 8-Matrizen von Nullen und Einsen sind, die Fenster- und Schiebeoperationen entsprechend durchführen. Die Grundidee hinter der Arbeit von Chang und Messerschmitt, ebenda, ist es, die Verteilungseigenschaft der Matrixmultiplikation bezüglich der DCT zu verwenden. Genauer gesagt, da StS = I, kann die Gleichung 56 neu geschrieben werden als:
  • Figure 00420002
  • Nachfolgend erhält man durch Vormultiplizieren beider Seiten der Gleichung 57 mit S und Nachmultiplizieren mit St:
    Figure 00420003

    wobei Cij die DCT von cij ist. Chang und Messerschmitt, ebenda, schlugen vor, die festen Matrizen Cij für jede mögliche Kombination von w und h vorzuberechnen, und X ^ unter Verwendung der Gleichung 58 direkt in der DCT-Domain zu berechnen. Obwohl die meisten der Matrizen Cij nicht schwach besetzt sind, können Berechnungen nach wie vor auf der Basis der typischen schwachen Besetzung von {Xi} eingespart werden, und aufgrund der Tatsache, daß der Referenzblock in einer Richtung ausgerichtet sein kann, d. h. entweder w = 8 oder h = 8, was bedeutet, daß die rechte Seite der Gleichung 58 nur zwei Terme enthält; oder in beiden Richtungen w = h = 8, in diesem Fall ist xx ^ = = x1 und somit werden überhaupt keine Berechnungen benötigt.
  • Die Berechnung von X ^ wird hier noch effizienter durchgeführt, durch Verwenden von zwei Haupttatsachen. Zunächst sind einige der Matrizen cij für jedes gegebene w und h gleich zueinander. Genauer geagt,
    Figure 00430001
    wobei Ih und Iw Identitätsmatrizen der Dimension h × h bzw. w × w sind. Gleichartig dazu C31 – C41 = L8–h und c22 = c42 = U8–w
  • Die zweite Beobachtung, die dazu beiträgt, Berechnungen einzusparen, ist, daß es statt dem vollen Vorberechnen von Cij effizienter ist, diese Matrizen in relativ schwach besetzte Matrizen faktorisiert zu lassen. Insbesondere verwendet das Schema hierin auch die oben beschriebene Faktorisierung von S (siehe Gleichungen 8 und 9).
  • Die beste Möglichkeit zum Verwenden der beiden oben erwähnten Beobachtungen ist die folgende:
  • Zunächst werden die festen Matrizen vorberechnet: Ji Δ Ui(MA1A2A3)t i = 1, 2, ..., 8und Ki Δ Li(MA1A2A3)t, i = 1, 2, ..., 8.
  • Diese Matrizen sind sehr strukturiert und daher kann eine Vormultiplizierung mit Ki oder Ji sehr effizient implementiert werden. Nachfolgend berechne X ^ durch Verwenden des Ausdrucks:
    Figure 00440001
    die ohne weiteres von der Gleichung 57 erhalten werden kann, oder durch die Dualform desselben:
    Figure 00440002
    abhängig davon, welcher dieser Ausdrücke weniger Berechnungen für die gegebenen w und h erfordert.
  • 7 ist ein Blockdiagramm einer Matrixarithmetikhardware zum Durchführen einer DCT-basierten Kompensation einer inversen Bewegung gemäß der vorliegenden Erfindung. Wie es oben erörtert wurde, ruft ein Modul 41 die Matrizen X1, X2, X3 und: X4 ab. Ein weiteres Modul 36 ruft den Bewegungsvektor h, w von dem Speicher 15 ab. Die Bewegungsvektoren werden verwendet, um die geeigneten Matrizen Ji und Ki von dem Speicher 15 zu erhalten.
  • Die Matrizen X1 werden jeweils durch die Matrixmultiplizierer 703, 705, 707, 709 mit den Matrizen P, B1, B2 und der Matrix J t / w multipliziert; X2 werden jeweils durch die Matrixmultiplizierer 703', 705', 707', 709' mit den Matrizen P, B1, B2 und der Matrix J t / w multipliziert; X3 werden jeweils durch die Matrixmultiplizierer 703'', 705'', 707'', 709'' mit den Matrizen P, B1, B2 und der Matrix K t / 8w multipliziert; und X4 werden jeweils durch die Matrixmultiplizierer 703''', 705''', 707''', 709''' mit den Matrizen P, B1, B2 und die Matrix K t / 8w multipliziert. Das Ergebnis dieser Matrixmultiplikationsquantitäten entspricht:
    X1PB1B2J t / w,
    X2PB1B2K t / 8w,
    X3PB1B2J t / w, und
    X4PB1B2K t / 8w.
  • X1PB1B2 und X2PB1B2 werden dann durch den Addierer 711 addiert, und X3PB1B2 und X4PB1B2 werden dann durch den Addierer 711' addiert. Die Ergebnisse von 711 und 711' werden dann durch die Matrixmultiplizierer 713, 715, 717 bzw. 713', 715', 717' mit den Matrizen PtB t / 1B t / 2 multipliziert. Die Ausgabe von dem Matrixmultiplizierer 717 wird dann durch den Matrixmultiplizierer 719 mit der Matrix Jh multipliziert, und die Ausgabe von dem Matrixmultiplizierer 717' wird durch den Matrixmultiplizierer 719' mit K8–h multipliziert. Die Ausgabematrizen von den Matrixmultiplizierern 719 und 719.' werden dann durch den Matrixaddierer 721 addiert, um die Ausgabe DCT X ^ zu erzeugen. X ^ wird schließlich, durch den Matrixaddierer 723, zu E addiert, um das gewünschte Ergebnis X zu erzeugen.
  • Bei einem Ausführungsbeispiel wird die Verarbeitungseinheit 40 unter Verwendung von Hardwarematrixmultiplizierern und -addierern realisiert. Bei einem alternativen Ausführungsbeispiel werden die Matrixmanipulationen, die in 6 dargestellt sind, in Software implementiert und auf einem Universalcomputer ausgeführt. Andere Alternativen umfassen programmierbare Logikvorrichtungen und Firmware.
  • Nachfolgend wird demonstriert, wie eine schnelle Multiplikation durch Ji und Ki implementiert werden kann. Als ein Beispiel betrachte man J6. Die anderen Matrizen werden auf ähnliche Weise gehandhabt.
  • Die Matrix J6 ist diefolgende:
    Figure 00460001
    wobei a = 0,7071, b = 0,9239 und c = 0,3827. Um u = J6v zu berechnen, wobei u = (u1, ..., u8)t und v = (v1, ..., v8)t, berechne gemäß den folgenden Schritten: y1 = v1 + v2 (61) y2 = v1 – v2 (62) y3 = av3 (63) y4 = av6 (64) y5 = y1 – y3 (65) y6 = y5 – v4 (66) y7 = y3 – y4 (67) y8 = y + y4 (68) y9 = (b + c) (v5 + v7) (69) y10 = cv5 (70) y11 = bv7 (71) y12 = y9 – y10 – y11 (72) y13 = y10 – y11 (73) u1 = y2 – y7 + y12 (74) u2 = y6 + y12 (75) u3 = y6 – y12 (76) u4 = y2 – y8 – y12 (77) u5 = y2 + y7 + y13 (78) u6 = y1 + y3 + v4 + y13 – v8 (79) u7 = 0 (80) u8 = 0 (81)
  • Diese Implementierung erfordert 5 Multiplikationen und 22 Additionen.
  • Durch Entwickeln ähnlicher Implementierungsschemata der Matrixmuhtiplikation für alle Matrizen J1, ..., J8 ist ersichtlich, daß die Anzahl {Ni} der Operationen, die erforderlich sind, um mit {Ji} zu multiplizieren, 1 ≤ i ≤ 8, gegeben sind durch N1 = 18, N2 = 24, N3 = 38, N4 = 39, N5 = 40, N6 = 43, N7 = 44 und N8 = 46. Da die Matrix Ki eine ähnliche Struktur wie diejenige von Ji für jede 1 ≤ i ≤ 8 hat, kostet eine Multiplikation mit Ki ebenfalls Ni Operationen.
  • Erneut, wenn die Operationen in der Implementierung von Gleichung 59 oder 60 gezählt werden, können Multiplikationen mit D und D–1 ignoriert werden, weil diese in dem MPEG-Quantisierer bzw. Dequantisierer absorbiert werden können. Die Matrizen P und P–1 bewirken nur Änderungen in der Reihenfolge der Komponenten, daher können dieselben ebenfalls ignoriert werden.
  • Daher wird für einen allgemeinen Positionsreferenzblock, d. h. 1 ≤ w ≤ 7, 1 ≤ h ≤ 7, das folgende erhalten:
    • 1. Sechs Multiplikationen mit B1 oder B t / 1: 6 × 32 = 192 Operationen.
    • 2. Sechs Multiplikationen mit B2 oder B t / 2: 6 × 32 = 192 Operationen.
    • 3. Zwei Multiplikationen mit Jw und K8–w und eine mit Jh und K8–h, oder umgekehrt: 8 × (Nh + N8–h + Nw + N8–w + min {Nh + N8–h, Nw + N8–w }) Operationen.
    • 4. Eine 2D-DCT: 42 × 16 = 672 Operationen.
  • Gesamt: 1.056 + 8 × (Nh + N8–h + Nw + N8_w + min {Nh + N8–h, Nw + N8–w}) Operationen.
  • Es ist anzumerken, daß Additionen der Produkte in Gleichung 59 und 60 nicht gezählt werden, weil die unterschiedlichen Summanden auf getrennten Teilsätzen von Indizes von Matrixelementen nicht Null sind. Wenn der Referenzblock nur in der vertikalen Richtung ausgerichtet ist, d. h. h = 8 und 1 ≤ w ≤ 7, dann K8–h = K0 = L0 (MA1A2A3)t = 0 und daher enthalten die Gleichungen 59 und 60 nur zwei Terme. Da ferner Jh, = J8 = U8 (MA1A2A3)t = 0, degeneriert die Gleichung 66 zu: X ^ = (X1DPB1B2Jt w + X2DPB1B2Jt 8w )St (82)was die folgenden Schritte erfordert:
    • 1. Zwei Multiplikationen mit B1: 2 × 32 = 64 Operationen.
    • 2. Zwei Multiplikationen mit B2: 2 × 32 = 64 Operationen.
    • 3. Eine Multiplikation mit Jw und eine mit K8–w: 8 (Nw + N8–w) Operationen.
    • 4. Eine Multiplikation mit St: 8 × 42 = 336 Operationen.
  • Gesamt: 464 + 8 (Nw + N8–w) Operationen.
  • Gleichartig dazu ist für den horizontal ausgerichteten Fall, wo w = 8 und 1 ≤ h ≤ 7 ist, die Anzahl der Berechnungen 464 + 8 (Nh + N8–h), Wie es vorher erwähnt wurde, wenn w = h = 8, sind überhaupt keine Berechnungen erforderlich, da X ^ = X1 und somit bereits gegeben ist.
  • Durch Verwenden der obigen Ausdrücke ist ersichtlich, daß die Anzahl von Berechnungen für die Werte im schlechtesten Fall von h und w 2.928 Operationen beträgt, und die durchschnittliche Anzahl, unter Annahme einer einheitlichen Verteilung auf den Paaren {(w, h): 1 ≤ w ≤ 8, 1 ≤ h ≤ 8}, 2.300,5 beträgt. Andererseits erfordert der Brute-Force- Lösungsansatz zum Durchführen von IDCT zu X1, ..., X4 das Schneiden des geeigneten Referenzblocks in der räumlichen Domain und das Zurücktransformieren desselben eine Gesamtzahl von 4.320 Operationen. Dies bedeutet, daß die Reduktion bei der Rechenkomplexität im Vergleich zu dem Brute-Force-Verfahren 32% für den schlechtesten Fall und 46,8 für den Durchschnitt ist.
  • Bisher wurde nicht angenommen, daß die Eingabe-DCT-Matrizen schwach besetzt sind. Typischerweise hat ein wesentlicher Prozentsatz der DCT-Blöcke nur wenige Nicht-Null-Elemente, normalerweise diejenigen, die niedrigen räumlichen Frequenzen in beiden Richtungen entsprechen. Der Einfachheit halber ist ein DCT-Block als schwach besetzt angesehen, wenn der obere linke 4 × 4-Quadrant, der niedrigen Frequenzen entspricht, nicht Null ist.
  • Die Implementierung einer Multiplikation mit Ji und Ki, 1 ≤ i ≤ 8, wenn X1, ..., X4 als schwach besetzt in dem obigen Sinn angesehen werden, reduziert die Anzahl von Berechnungen auf 672 + 8·(N w ' + N 8w ' + N h ' + N 8h ')für 1 ≤ w ≤ 7 und 1 ≤ h ≤ 7, 336 + 4·(N w ' + N 8h ')für h = 8 und 1 ≤ w ≤ 7, 336 + 4·(N h + N 8h )für w = 8 und 1 ≤ h ≤ 7, und null, wenn w = h = 8, wobei: N 1 = 15, N 2 = 20, N 3 = 26, N 4 = 33, N 5 = 36, N 6 =40, N 7 = 41 und N 8 = 42.
  • Dies bedeutet, daß es 1.728 Berechnungen in dem schlechtesten Fall gibt und 1.397,2 Berechnungen im Durchschnitt, was Reduktionen von 60% bzw. 68% im Vergleich zu dem Brute-Force-Lösungsansatz entspricht.
  • Zum Vergleich mit früheren Ergebnissen haben Chang und Messerschmitt, ebenda, Berechnungsersparnisse nur gezeigt, falls die DCT-Matrizen schwach genug besetzt sind, und falls ein großer Prozentsatz der Referenzblöcke zumindest in einer Richtung ausgerichtet ist. Genauer geagt führten diese Autoren drei Parameter ein: den Kehrwert des Bruchteils der Nicht-Null-Koeffizienten β, den Bruchteil α1 der Referenzblöcke, die in einer Richtung ausgerichtet sind, und den Bruchteil α2 von vollständig unausgerichteten Referenzblöcken.
  • Man betrachte zunächst die Situation im schlechtesten Fall bezüglich der Blockausrichtung, d. h. α1 = 0 und α2 = 1. Die obige Definition der schwachen Besetzung entspricht β = 4. Chang u. a. liefern genaue Formeln für die Anzahl der Multiplikationen und Additionen, die ihrem Lösungsansatz bezüglich α1, α2, β und der Blockgröße N (N = 8 bei MPEG) zugeordnet sind. Gemäß dieser Formel sind 16 Multiplikationen pro Pixel und 19 Additionen pro Pixel erforderlich. Zum Vergleich mit allgemeinen Mikroprozessoroperationen nehme man an, daß im Durchschnitt jede Multiplikation bis zu vier Verschiebungen (SHIFTs) und drei Addierungen (ADDs) erfordert, und daß Verschiebungen und Addierungen gleichzeitig durchgeführt werden können. Dies bedeutet, daß eine vorsichtige Schätzung der Gesamtzahl von Operationen pro Block {16 × 3 + 19) × 64 = 4.288 Operationen ist, die viel größer ist als 1.728 Operationen (siehe oben) bei dem hierin offenbarten Schema unter den gleichen Umständen.
  • Als weiterer Vergleichspunkt ist anzumerken, daß eine einheitliche Verteilung über w und h hierin α1 = 14/64 = 0,219 und α2 = 49/64 = 0,766 entspricht, was pessimistischer ist als die obere Kurve in 5 von Chang u. a. ebenda, wobei α1 = 0, 2 und α2 = 0,1. Trotzdem macht es das hierin offenbarte Schema möglich, für β = 1 die Berechnungen um einen Faktor von 4.302/2.300,5 = 1,87 zu beschleunigen, im Vergleich zu 0,6 bei Chang u. a., ebenda, und für β = 4 ist die Beschleunigung 4.320/1.397,2 = 3,13 im Vergleich zu etwa 2,0 bei Chang u. a., ebenda. Falls ferner angenommen wird, daß α1 = 0,2 und α2 = 0,1, dann ist es möglich, Beschleunigungsfaktoren von 9,06 für β = 1 und etwa 15 für β = 4 zu erhalten, was eine Verbesserung um eine Größenordnung im Vergleich zu Chang u. a., ebenda bedeutet.
  • Obwohl die Erfindung hierin mit Bezugnahme auf das bevorzugte Ausführungsbeispiel beschrieben ist, wird ein Fachmann auf diesem Gebiet ohne weiteres erkennen, daß andere Anwendungen für die hierin aufgeführten eingesetzt werden können, ohne von dem Schutzbereich der vorliegenden Erfindung abzuweichen. Folglich soll die Erfindung nur durch die nachfolgenden Ansprüche begrenzt sein.

Claims (11)

  1. Ein Verfahren zum Abwärtsabtasten von Bildinformationen in der komprimierten Domain, wobei solche Informationen gemäß einem Komprimierungsschema auf der Basis einer diskreten Cosinus-Transformation (DCT) komprimiert wurden, wobei das Verfahren folgende Schritte aufweist: Huffman-Decodieren eines komprimierten Bitstroms, um eine Mehrzahl von N × N-DCT-basierten Datenblöcken zu extrahieren; Verarbeiten von n der Datenblöcke gemäß von zumindest einer Abtastmatrix, die einer Faktorisierung unterzogen ist, um einen einzelnen N × N-DCT-basierten Datenblock zu extrahieren, wobei n durch einen gewünschten Abwärtsabtastfaktor bestimmt wird und wobei der einzelne Datenblock ein bestimmter Durchschnitt der n Datenblöcke ist.
  2. Verfahren gemäß Anspruch 1, bei dem der Verarbeitungsschritt ferner folgenden Schritt aufweist: Bestimmen von X, einer DCT eines N × N-Vektors x, aus zumindest zwei N-dimensionalen Vektoren X1 und X2, wobei X eine Mehrzahl von Komponenten aufweist, wobei jede derselben ein Durchschnitt von verwandten Komponenten bei x1 und x2 ist, wobei x1 = S–1X1 und wobei x2 = S–1X2, und wobei S eine N-Punkt-DCT-Matrix ist.
  3. Das Verfahren gemäß Anspruch 2, bei dem der Bestimmungsschritt ferner folgende Schritte aufweist Durchführen einer eindimensionalen Dezimierung um einen Faktor von 2 gemäß der Beziehung:
    Figure 00540001
    wobei Q1 und Q2 N × N-DCT-basierte Matrizen sind; wobei die Matrizen U1 = SQ1S–1 und U2 = SQ2S–1; wobei eine Faktorisierung S wie folgt dargestellt wird: S – DPB1B2MA1A2A3 wobei D eine feste Diagonalmatrix ist, wobei P eine feste Permutationsmatrix ist, wobei B1B2MA1A2A3 N × N feste Matrizen sind; und wobei die Produkte: Fi = MA1A2A3QiA3 –1A2 –1A1 –1M–1 i = 1,2schwach besetzte Matrizen sind, wobei die Matrix eine Summe F+ = F1 + F2 und eine Differenz F = F1 – F2 aufweist.
  4. Das Verfahren gemäß Anspruch 2, bei dem der Bestimmungsschritt ferner folgende Schritte aufweist: Abwärtsabtasten um einen Faktor, der aus dem Satz zwei, drei und vier ausgewählt ist; und Abwärtsabtasten um einen Faktor von zwei gemäß der Beziehung:
    Figure 00550001
    Abwärtsabtasten um einen Faktor von 4 gemäß der Beziehung:
    Figure 00550002
    und Abwärtsabtasten um einen Faktor von 3 gemäß der Beziehung:
    Figure 00560001
    wobei Q1 und Q2 N × N-DCT-basierte Matrizen sind; wobei die Matrizen U1 = SQ1S–1 und U2 = SQ2S–1 sind; wobei eine Faktorisierung S wie folgt dargestellt wird: S = DPB1B2MA1A2A3,wobei D eine feste Diagonalmatrix ist, wobei P eine feste Permutationsmatrix ist, wobei B1B2MA1A2A3 N × N feste Matrizen sind; und wobei die Produkte: Fi = MA1A2A3QiA3 –1A2 –1A1 –1M–1 i = 1,2schwach besetzte Matrizen sind, wobei die Matrix eine Summe F+ = F1 + F2 und eine Differenz F = F1 – F2 aufweist; und wobei die Matrizen: T = T1 + T2 + T3, T+ = T1 + T3, T = (T1 – T3)/2relativ schwach besetzt sind, und wobei:
    Figure 00570001
    wobei D eine feste Diagonalmatrix ist, wobei P eine feste Permutationsmatrix ist; und wobei B1B2MA1A2A3 N × N feste Matrizen sind.
  5. Das Verfahren gemäß Anspruch 4, bei dem: X 1 = X 5
    Figure 00570002
    X3 = X4 – X6;
    Figure 00570003
    X7 = X2 – X8;
    Figure 00580001
    X9 = X1 – X7 – X3 + X9.
  6. Eine Vorrichtung (13) zum Abwärtsabtasten von Bildinformationen in der komprimierten Domain, wobei solche Informationen gemäß einem Komprimierungsschema auf der Basis einer diskreten Cosinus-Transformation (DCT) komprimiert wurden, wobei die Vorrichtung folgende Merkmale aufweist: einen Huffman-Decoder (12) zum Decodieren eines komprimierten Bitstroms (11), um eine Mehrzahl von N × N-DCT-basierten Datenblöcken zu extrahieren; einen Prozessor (17) zum Verarbeiten von n der Datenblöcke gemäß von zumindest einer Abtastmatrix, die einer Faktorisierung unterzogen wird, um einen einzelnen N × N-DCT-basierten Datenblock zu erzeugen, wobei n durch einen gewünschten Abwärtsabtastfaktor (18, 19, 20, 21) bestimmt wird, und wobei der einzelne Datenblock ein bestimmter Durchschnitt der n Datenblöcke ist.
  7. Die Vorrichtung gemäß Anspruch 6, die ferner folgende Merkmale aufweist: eine Einrichtung zum Bestimmen von X, einer DCT eines N × N-Vektors x, aus zumindest zwei N-dimensionalen Vektoren X1 und X2, wobei X eine Mehrzahl von Komponenten aufweist, wobei jede derselben ein Durchschnitt von verwandten Komponenten bei x1 und x2 ist, wobei xi = S–1X1, und wobei x2 = S–1X2, und wobei S eine N-Punkt-DCT-Matrix ist.
  8. Die Vorrichtung gemäß Anspruch 7, wobei die Einrichtung zum Bestimmung ferner folgende Merkmale aufweist: eine Einrichtung zum Durchführen einer eindimensionalen Dezimierung um einen Faktor von 2 gemäß der Beziehung:
    Figure 00590001
    wobei Q1 und Q2 N × N-DCT-basierte Matrizen sind; wobei die Matrizen U1 = SQ1S–1 und U2 = SQ2S–1 sind; wobei eine Faktorisierung S wie folgt dargestellt wird: S = DPB1B2MA2A3.wobei D eine Diagonalmatrix ist, wobei P eine Permutationsmatrix ist, wobei B1B2MA1A2A3 N × N Matrizen sind; und wobei die Produkte: Fi = MA1A2A3QiA3 –1A2 –1A1 –1M–1 i = 1,2 schwach besetzte Matrizen sind, wobei die Matrix eine Summe F+ = F1 + F2 und eine Differenz F = F1 – F2 aufweist.
  9. Die Vorrichtung gemäß Anspruch 7, bei der die Einrichtung zum Bestimmen ferner folgende Merkmale aufweist: eine Einrichtung zum Abwärtsabtasten um einen Faktor von zwei gemäß der Beziehung:
    Figure 00600001
    wobei Q1 und Q2 N × N-DCT-basierte Matrizen sind; wobei die Matrizen U1 = SQ1S–1 und U2 = SQ2S–1 sind; wobei eine Faktorisierung S wie folgt dargestellt wird: S = DPB1B2MA1A2A3,wobei D eine feste Diagonalmatrix ist, wobei P eine feste Permutationsmatrix ist, wobei B1B2MA1A2A3 N × N feste Matrizen sind; und wobei die Produkte: F1 = MA1A2A3QiA3 –1A2 –1A1 –1M–1 i = 1,2 schwach besetzte Matrizen sind, wobei die Matrix eine Summe F+ = F1 + F2 und eine Differenz F = F1 – F2 aufweist.
  10. Die Vorrichtung gemäß Anspruch 7, bei der die Einrichtung zum Bestimmen ferner folgende Merkmale aufweist: eine Einrichtung zum Abwärtsabtasten um einen Faktor von vier gemäß der Beziehung:
    Figure 00610001
    wobei Q1 und Q2 N × N-DCT-basierte Matrizen sind; wobei die Matrizen U1 = SQ1S–1 und U2 = SQ2S–1 sind; wobei eine Faktorisierung S wie folgt dargestellt wird: S = DPB1B2MA1A2A3,wobei D eine feste Diagonalmatrix ist, wobei P eine feste Permutationsmatrix ist, wobei B1B2MA1A2A3 N × N feste Matrizen sind; und wobei die Produkte: F1 = MA1A2A3QiA3 –1A2 –1A1 –1M–1 i = 1,2schwach besetzte Matrizen sind, wobei die Matrix eine Summe F+ = F1 + F2 und eine Differenz F = F1 – F2 aufweist.
  11. Die Vorrichtung gemäß Anspruch 7, bei der die Einrichtung zum Bestimmen ferner folgende Merkmale aufweist: eine Einrichtung zum Abwärtsabtasten um einen Faktor von drei gemäß der Beziehung:
    Figure 00620001
    basierend auf der Tatsache, daß die Matrizen: T = T1 + T2 + T3, T+ = T1 + T3, T = (T1 – T3)/2relativ schwach besetzt sind, und auf der Identität:
    Figure 00630001
    wobei D eine feste Diagonalmatrix ist, wobei P eine feste Permutationsmatrix ist; wobei B1B2MA1A2A3 N × N feste Matrizen sind; und wobei: X1 = X5;
    Figure 00630002
    X3 = X4 – X6;
    Figure 00630003
    X7 = X2 – X8;
    Figure 00640001
    X9 = X1 – X7 – X3 + X9.
DE69726042T 1996-03-06 1997-03-06 Abwärtsabtastung über schnell-DCT-Domänen und inverser Bewegungsausgleich Expired - Lifetime DE69726042T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US611922 1996-03-06
US08/611,922 US5708732A (en) 1996-03-06 1996-03-06 Fast DCT domain downsampling and inverse motion compensation

Publications (2)

Publication Number Publication Date
DE69726042D1 DE69726042D1 (de) 2003-12-18
DE69726042T2 true DE69726042T2 (de) 2004-06-03

Family

ID=24450949

Family Applications (2)

Application Number Title Priority Date Filing Date
DE69726042T Expired - Lifetime DE69726042T2 (de) 1996-03-06 1997-03-06 Abwärtsabtastung über schnell-DCT-Domänen und inverser Bewegungsausgleich
DE69722060T Expired - Lifetime DE69722060T2 (de) 1996-03-06 1997-03-06 Inverser Bewegungsausgleich von schneller DCT

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE69722060T Expired - Lifetime DE69722060T2 (de) 1996-03-06 1997-03-06 Inverser Bewegungsausgleich von schneller DCT

Country Status (4)

Country Link
US (1) US5708732A (de)
EP (2) EP0794674B1 (de)
JP (2) JP4006047B2 (de)
DE (2) DE69726042T2 (de)

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100192270B1 (ko) * 1996-02-03 1999-06-15 구자홍 에이치디티브이 비데오 디코더 회로
JP3575508B2 (ja) * 1996-03-04 2004-10-13 Kddi株式会社 符号化動画像再生装置
US5832135A (en) * 1996-03-06 1998-11-03 Hewlett-Packard Company Fast method and apparatus for filtering compressed images in the DCT domain
EP0817498B1 (de) * 1996-06-28 2001-08-22 STMicroelectronics S.r.l. MPEG-2 Dekodierung mit reduziertem RAM Bedürfnis durch ADPCM Rekomprimierung vor der Speicherung von dekomprimierten MPEG-2 Daten, wahlweise nach einem Unterabtastungsalgorithmus
JP3263807B2 (ja) * 1996-09-09 2002-03-11 ソニー株式会社 画像符号化装置および画像符号化方法
US6859495B1 (en) 1996-10-31 2005-02-22 Mitsubishi Electric Research Laboratories, Inc. Digital video format converter and method therefor
US6144698A (en) * 1996-10-31 2000-11-07 Mitsubishi Electric Information Technology Center America, Inc. (Ita) Digital video decoder and method of decoding a digital video signal
US6028635A (en) 1996-12-03 2000-02-22 Stmicroelectronics, Inc. Reducing the memory required for decompression by storing compressed information using DCT based techniques
US6108027A (en) * 1996-12-17 2000-08-22 Netergy Networks, Inc. Progressive still frame mode
US6115070A (en) * 1997-06-12 2000-09-05 International Business Machines Corporation System and method for DCT domain inverse motion compensation using shared information
US6067384A (en) * 1997-09-11 2000-05-23 Canon Kabushiki Kaisha Fast scaling of JPEG images
CN1290338C (zh) * 1997-11-14 2006-12-13 索尼电子有限公司 数字视频图象的1/4尺寸实时解码
US6157740A (en) * 1997-11-17 2000-12-05 International Business Machines Corporation Compression/decompression engine for enhanced memory storage in MPEG decoder
US6061400A (en) * 1997-11-20 2000-05-09 Hitachi America Ltd. Methods and apparatus for detecting scene conditions likely to cause prediction errors in reduced resolution video decoders and for using the detected information
US5956026A (en) * 1997-12-19 1999-09-21 Sharp Laboratories Of America, Inc. Method for hierarchical summarization and browsing of digital video
US6104441A (en) * 1998-04-29 2000-08-15 Hewlett Packard Company System for editing compressed image sequences
US6134571A (en) * 1998-04-29 2000-10-17 Hewlett-Packard Company Implicit DST-based filter operating in the DCT domain
US6222944B1 (en) * 1998-05-07 2001-04-24 Sarnoff Corporation Down-sampling MPEG image decoder
WO1999066449A1 (en) * 1998-06-19 1999-12-23 Equator Technologies, Inc. Decoding an encoded image having a first resolution directly into a decoded image having a second resolution
US6445828B1 (en) * 1998-09-28 2002-09-03 Thomson Licensing S.A. Transform domain resizing of an image compressed with field encoded blocks
US6452969B1 (en) * 1998-09-28 2002-09-17 Thomson Licensing S.A. Transform domain inverse motion compensation having fractional pel accuracy
WO2000019725A1 (en) * 1998-09-29 2000-04-06 Sarnoff Corporation Block motion video coding and decoding
US6188728B1 (en) * 1998-09-29 2001-02-13 Sarnoff Corporation Block motion video coding and decoding
US6249549B1 (en) * 1998-10-09 2001-06-19 Matsushita Electric Industrial Co., Ltd. Down conversion system using a pre-decimation filter
US6487249B2 (en) * 1998-10-09 2002-11-26 Matsushita Electric Industrial Co., Ltd. Efficient down conversion system for 2:1 decimation
US6192157B1 (en) 1998-10-27 2001-02-20 Hewlett-Packard Company Modifications of postscript adaptive data compression (ADC) for 3 plane, 8 bit color images, JPEG lossy compression, and variable Q factors
FI107108B (fi) * 1998-11-05 2001-05-31 Nokia Mobile Phones Ltd Virheen ilmaiseminen alhaisen bittinopeuden videolähetyksessä
KR100312421B1 (ko) 1998-11-25 2001-12-12 오길록 영상시스템에서의압축동영상변환장치및그방법
US6658167B1 (en) 1999-01-31 2003-12-02 Hewlett-Packard Development Company, L.P. On the fly server for modifying data characteristics for client-server network applications
US6633673B1 (en) 1999-06-17 2003-10-14 Hewlett-Packard Development Company, L.P. Fast fade operation on MPEG video or other compressed data
US6490323B1 (en) 1999-06-17 2002-12-03 Hewlett-Packard Company Fast compressed domain processing using orthogonality
US7542068B2 (en) * 2000-01-13 2009-06-02 Polycom, Inc. Method and system for controlling multimedia video communication
US6300973B1 (en) 2000-01-13 2001-10-09 Meir Feder Method and system for multimedia communication control
US7146053B1 (en) 2000-05-10 2006-12-05 International Business Machines Corporation Reordering of compressed data
US6941019B1 (en) 2000-05-10 2005-09-06 International Business Machines Corporation Reentry into compressed data
US6970179B1 (en) 2000-05-12 2005-11-29 International Business Machines Corporation Method and apparatus for the scaling up of data
US7062098B1 (en) * 2000-05-12 2006-06-13 International Business Machines Corporation Method and apparatus for the scaling down of data
US6807310B1 (en) * 2000-05-23 2004-10-19 The Board Of Trustees Of The University Of Illinois Transformation of image parts in different domains to obtain resultant image size different from initial image size
US6647061B1 (en) * 2000-06-09 2003-11-11 General Instrument Corporation Video size conversion and transcoding from MPEG-2 to MPEG-4
US7471834B2 (en) * 2000-07-24 2008-12-30 Vmark, Inc. Rapid production of reduced-size images from compressed video streams
US6934334B2 (en) * 2000-10-02 2005-08-23 Kabushiki Kaisha Toshiba Method of transcoding encoded video data and apparatus which transcodes encoded video data
KR100407691B1 (ko) * 2000-12-21 2003-12-01 한국전자통신연구원 계층탐색을 이용한 움직임 추정장치 및 방법
US20020122491A1 (en) * 2001-01-03 2002-09-05 Marta Karczewicz Video decoder architecture and method for using same
US6901422B1 (en) 2001-03-21 2005-05-31 Apple Computer, Inc. Matrix multiplication in a vector processing system
EP1246469A3 (de) * 2001-03-27 2005-04-13 Koninklijke Philips Electronics N.V. Verfahren zur gleichzeitigen Abwärts-Videoformatumwandlung und Videodekodierung
JP3971135B2 (ja) * 2001-07-11 2007-09-05 株式会社テクノマセマティカル Dct行列分解方法及びdct装置
JP2003116104A (ja) * 2001-10-02 2003-04-18 Sony Corp 情報処理装置及び情報処理方法
US20030202603A1 (en) * 2002-04-12 2003-10-30 William Chen Method and apparatus for fast inverse motion compensation using factorization and integer approximation
US7469012B2 (en) * 2002-05-14 2008-12-23 Broadcom Corporation System and method for transcoding entropy-coded bitstreams
US7050656B2 (en) * 2002-12-11 2006-05-23 Seiko Epson Corporation Image scaling in the compressed domain
US7221708B1 (en) * 2002-12-16 2007-05-22 Emblaze V Con Ltd Apparatus and method for motion compensation
WO2005079054A1 (ja) * 2004-02-17 2005-08-25 Toa Corporation 画像圧縮装置
US7773815B2 (en) * 2004-07-14 2010-08-10 Hewlett-Packard Development Company, L.P. System and method for compressing compressed data
US20060072659A1 (en) * 2004-10-01 2006-04-06 Samsung Electronics Co., Ltd. Method for transmitting moving picutres in mobile communication terminal
EP1741389A1 (de) * 2005-07-06 2007-01-10 Agfa-Gevaert Verfahren zur Unterdrückung des Einflusses der Variabilität der physikalischen Eigenschaft auf die Leistung der Bildqualität eines digitalen Bildaufnahmesytem
US7831785B2 (en) * 2007-04-30 2010-11-09 Hewlett-Packard Development Company, L.P. Data collection management system and method
US8780988B2 (en) * 2008-02-28 2014-07-15 Vixs Systems, Inc. Hierarchical video analysis-based real-time perceptual video coding
KR100948413B1 (ko) 2008-03-05 2010-03-19 경희대학교 산학협력단 정수 dct 변환 영역에서 영상 블록의 업/다운 샘플링방법 및 그 장치
DE102010010736A1 (de) * 2010-03-09 2011-09-15 Arnold & Richter Cine Technik Gmbh & Co. Betriebs Kg Verfahren zur Kompression von Bilddaten
KR20130095179A (ko) 2010-04-07 2013-08-27 리니어 알제브라 테크놀로지스 리미티드 메모리 용량의 감소가 이루어지며 프로세싱 요건들이 핸드헬드 및 모바일 애플리케이션들에 적합하게 이루어지는 브로드캐스트 비디오 복호기
WO2012016354A1 (en) 2010-08-04 2012-02-09 Nxp B.V. Video player
EP2616991A4 (de) 2010-09-17 2014-03-12 Icvt Ltd Verkleinerung eines verschlüsselten bildes
US10277915B2 (en) * 2011-11-07 2019-04-30 Qualcomm Incorporated Signaling quantization matrices for video coding
US9544587B2 (en) 2012-05-14 2017-01-10 Google Technology Holdings LLC Scalable video coding with enhanced base layer
US9819075B2 (en) 2014-05-05 2017-11-14 Nxp B.V. Body communication antenna
US9819395B2 (en) 2014-05-05 2017-11-14 Nxp B.V. Apparatus and method for wireless body communication
US9812788B2 (en) 2014-11-24 2017-11-07 Nxp B.V. Electromagnetic field induction for inter-body and transverse body communication
US10015604B2 (en) 2014-05-05 2018-07-03 Nxp B.V. Electromagnetic induction field communication
US10009069B2 (en) 2014-05-05 2018-06-26 Nxp B.V. Wireless power delivery and data link
US10014578B2 (en) 2014-05-05 2018-07-03 Nxp B.V. Body antenna system
US9819097B2 (en) 2015-08-26 2017-11-14 Nxp B.V. Antenna system
US10320086B2 (en) 2016-05-04 2019-06-11 Nxp B.V. Near-field electromagnetic induction (NFEMI) antenna
CN115147501B (zh) * 2022-09-05 2022-12-02 深圳市明源云科技有限公司 图片解压方法、装置、终端设备以及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04211575A (ja) * 1990-04-27 1992-08-03 Ricoh Co Ltd 直交変換演算装置
US5168375A (en) * 1991-09-18 1992-12-01 Polaroid Corporation Image reconstruction by use of discrete cosine and related transforms
JP3104334B2 (ja) * 1991-10-17 2000-10-30 ソニー株式会社 画像符号化装置
JP2871316B2 (ja) * 1992-07-10 1999-03-17 日本ビクター株式会社 動画像符号化装置
JP3381855B2 (ja) * 1992-12-28 2003-03-04 ソニー株式会社 画像信号符号化方法および画像信号符号化装置、並びに画像信号復号化方法および画像信号復号化装置
JPH06225213A (ja) * 1993-01-26 1994-08-12 Fuji Film Micro Device Kk 画像処理方法と装置
JP3244399B2 (ja) * 1994-03-25 2002-01-07 三洋電機株式会社 圧縮動画像符号信号の情報量変換回路、及び方法
US5623312A (en) * 1994-12-22 1997-04-22 Lucent Technologies Inc. Compressed-domain bit rate reduction system
JPH08191444A (ja) * 1995-01-09 1996-07-23 Matsushita Electric Ind Co Ltd ビデオ信号復号化装置

Also Published As

Publication number Publication date
EP0798927B1 (de) 2003-11-12
US5708732A (en) 1998-01-13
EP0798927A2 (de) 1997-10-01
DE69722060D1 (de) 2003-06-26
JP4006047B2 (ja) 2007-11-14
DE69726042D1 (de) 2003-12-18
EP0794674B1 (de) 2003-05-21
EP0794674A3 (de) 1998-04-22
EP0798927A3 (de) 1998-04-22
JP2007282266A (ja) 2007-10-25
JPH09331532A (ja) 1997-12-22
DE69722060T2 (de) 2004-03-18
EP0794674A2 (de) 1997-09-10
JP4996347B2 (ja) 2012-08-08

Similar Documents

Publication Publication Date Title
DE69726042T2 (de) Abwärtsabtastung über schnell-DCT-Domänen und inverser Bewegungsausgleich
DE69723550T2 (de) Kodierung und dekodierung von grafischen symbolen
DE19819198B4 (de) Reversible DCT für verlustfreie/verlustbehaftete Kompression
DE69924102T2 (de) Skalierung komprimierter bilder
EP0817496B1 (de) Verfahren und Anordnung zur Reduktion von Blockartefakten in codierten Bildern
DE60308255T2 (de) 2D-Transformationen zur Bild- und Videokodierung
DE69907798T2 (de) Umwandlungen von komprimierten Bildern
DE69913990T2 (de) System zum editieren komprimierter bildsequenzen
DE69932429T2 (de) Verfahren und gerät für die inverse quantisierung von mpeg-4 video
EP2222086A1 (de) Verfahren und Vorrichtung zur Vermeidung von Rundungsfehlern nach Durchführung einer inversen diskreten orthogonalen Transformation
DE69909364T2 (de) Vorrichtung und Methode zur Änderung der Grösse eines komprimiertes Bildes
DE69915843T2 (de) Teilbandkodierung/-dekodierung
DE102005051723A1 (de) Vorrichtung und Verfahren zur Bildverarbeitung
EP0956703B1 (de) Verfahren und anordnung zur codierung und decodierung eines digitalisierten bildes
Chang New algorithms for processing images in the transform-compressed domain
DE3545106C2 (de)
EP0929975B1 (de) Verfahren und anordnung zur vektorquantisierung und zur inversen vektorquantisierung eines digitalisierten bildes
DE69909880T2 (de) Dekodierung eines komprimierten digitalen Bildsignals
DE19641157A1 (de) Verfahren zur Überprüfung der Konvergenz bei der fraktalen Bildcodierung
EP0241745B1 (de) Verfahren zur Datenreduktion digitaler Bildsignale durch Vektorquantisierung von durch orthonormale Transformation mittels einer symmetrischen fastzyklischen Hadamard-Matrix gewonnenen Koeffizienten
DE102006049232B4 (de) Verfahren und Vorrichtung zur Vermeidung von Fehlern beim Runden von Werten nach Durchführung einer inversen diskreten Kosinus-Transformation
EP0981909B1 (de) Verfahren und vorrichtung zur codierung und decodierung eines digitalisierten bildes
EP1121809B1 (de) Verfahren und anordnung zur codierung eines digitalisierten bildes, verfahren und anordnung zur decodierung eines digitalisierten bildes
DE10301572B4 (de) Verfahren zum Komprimieren einer Folge von Bildern
WO1997042767A1 (de) Verfahren zur quantisierung und verfahren zur inversen quantisierung von transformationscodierungskoeffizienten eines videodatenstroms

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE