DE69724208T2 - Verfahren und Vorrichtung zur Leistungsverbesserung einer Vektorquantisierung - Google Patents

Verfahren und Vorrichtung zur Leistungsverbesserung einer Vektorquantisierung Download PDF

Info

Publication number
DE69724208T2
DE69724208T2 DE69724208T DE69724208T DE69724208T2 DE 69724208 T2 DE69724208 T2 DE 69724208T2 DE 69724208 T DE69724208 T DE 69724208T DE 69724208 T DE69724208 T DE 69724208T DE 69724208 T2 DE69724208 T2 DE 69724208T2
Authority
DE
Germany
Prior art keywords
vector
codebook
vectors
input vector
bits
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
DE69724208T
Other languages
English (en)
Other versions
DE69724208D1 (de
Inventor
John Warren Hartung
Jonathan David Morganville Rosenberg
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.)
Nokia of America Corp
Original Assignee
Lucent Technologies Inc
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 Lucent Technologies Inc filed Critical Lucent Technologies Inc
Publication of DE69724208D1 publication Critical patent/DE69724208D1/de
Application granted granted Critical
Publication of DE69724208T2 publication Critical patent/DE69724208T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/008Vector quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation

Landscapes

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

Description

  • Diese Erfindung betrifft Verfahren zum Codieren eines Videosignals und Codierer zum Komprimieren eines Videosignals.
  • Gegenwärtige Videosysteme verwenden viele verschiedene Videokomprimierungstechniken bei der Übertragung von Videodaten. Diese Techniken enthalten die Verwendung von Video-Codebüchern, Entropiecodierern und Quantisierern.
  • Ein Quantisierer ist eine Vorrichtung, die ein Signal, das eine große Anzahl von Werten darstellen kann, durch ein Signal ersetzt, das eine geringere Anzahl von Werten darstellen kann. Es gibt zwei grundlegende Arten von Quantisierern, die bei der Übertragung von Daten zwischen einer Quelleneinheit und einer Zieleinheit verwendet werden: skalare Quantisierer und Vektor-Quantisierer. Skalare Quantisierer bearbeiten Signale mit einem einzigen Freiheitsgrad. Eine Art von skalarem Quantisierer ist ein Analog/Digital-Wandler. Ein Analog/Digital-Wandler nimmt ein kontinuierlich variierendes oder analoges Signal, das eine Spannung aufweist, die einen von mehreren verschiedenen Werten annehmen kann, und wandelt dieses Signal in ein digitales Signal mit nur einer begrenzten Anzahl von Werten um. Zum Beispiel kann ein Vier-Bit-Analog/Digital-Wandler den Wert eines analogen Signals durch ein digitales Signal darstellen, das nur einen von sechzehn verschiedenen Werten haben kann.
  • Vektor-Quantisierer bearbeiten andererseits Signale mit mehreren Freiheitsgraden. Eine Art von Vektor-Quantisierer ist ein Video-Codec, der für eine Videobildkomprimierung sorgt. Es kann behauptet werden, dass ein Vektor-Quantisierer im Wesentlichen ein Bild in zahlreiche kleine Elemente, sogenannte Pixel, unterteilt. Zum Beispiel kann ein Bild eines Autos in ein 600 × 600 Pixelgitter geteilt werden, wobei jedes Pixel im We sentlichen ein Punkt in dem Bild des Autos ist. Von einer Gruppe dieser Pixel kann behauptet werden, dass sie einen Vektor oder ein Teilbild des Autobildes formt. Das heißt, von jeder N × N-Teilfläche von Pixeln des Bildes wird behauptet, dass sie einen Bildvektor bildet. Somit kann ein Bild durch eine Gruppe von Bildvektoren dargestellt werden, wobei die Anzahl von Bildvektoren, die zur Darstellung des gesamten Bildes notwendig ist, von der Größe jedes Bildvektors abhängig ist.
  • Ein Codebuch ist ein Speicher, der einen bestimmten Satz von Vektoren speichert, welche die am häufigsten vorgefundenen Vektoren in einem Bild darstellen. Zum Beispiel kann ein Codebuch einen Vektor mit einer N × N-Teilfläche von schwarzen Pixeln, einer N × N-Teilfläche von weißen Pixeln und/oder einer N × N-Teilfläche, in der eine Hälfte der Pixel weiß und die andere Hälfte schwarz sind, enthalten. Jedem Codebuch-Vektor wird ein einzigartiger Identifizierungscode oder eine Adresse in dem Speicher, in dem er enthalten ist, zugeordnet. Zum Beispiel kann der vollständig weißen N × N-Teilfläche von Pixeln oder dem Codebuch-Vektor ein ID-Code oder eine Adresse #01 zugeordnet werden, während dem vollständig schwarzen Codebuch-Vektor ein ID-Code oder eine Adresse #02 zugeordnet werden kann. Der Schlüssel ist, dass das Videokomprimierungssystem ein Codebuch mit einer ausreichenden Vielzahl an Vektoren hat, so dass wenigstens ein Codebuch-Vektor mit jedem der vielen Vektoren eng übereinstimmt, die in dem Bild auftreten können.
  • Wenn daher ein Vollbild quantisiert wird, unterteilt ein Vektor-Quantisierer das Vollbild in eine Reihe von Bildvektoren. Für jeden Bildvektor identifiziert der Vektor-Quantisierer einen eng übereinstimmenden Codebuch-Vektor und erzeugt ein neues Signal, das aus dem Identifizierungscode oder der Adresse des am engsten übereinstimmenden Codebuch-Vektors besteht, der in dem Codebuch für jeden Bildvektor gefunden wird.
  • Die Entropiecodierung ist eine Technik einer verlustlosen Datenkomprimierung, welche die statistischen Eigenschaften einer Datenquelle nutzt, um eine kompakte Datendarstellung zu erreichen. Daher verwendet ein Entropiecodierer ein Verfahren zur Verringerung der Informationsbit, die übertragen werden müssen, unter Nutzung einer gewissen Eigenschaft der Datenquelle und/oder der Daten, die von dieser Quelle kommen. Wenn zum Beispiel eine Quelle häufig denselben Bildvektor sendet, setzt die Entropiecodierung (auch als variable Längencodierung (VLC) bekannt) die Eingangsdaten, die häufig ein Format unveränderlicher Länge aufweisen, in Codes variabler Längen um. Das grundlegende Konzept hinter VLC ist die Darstellung häufigerer Daten durch kürzere Codes und weniger häufiger Daten durch längere Codes, wodurch die durchschnittliche Codelänge kürzer als eine Darstellung unveränderlicher Länge wird.
  • Die Lauflängencodierung ist eine weitere Technik zur Darstellung von Videodaten. Sie ist zur Darstellung einer Sequenz von Werten zweckdienlich, wenn viele der Werte Null sind und Werte ungleich Null unter diesen verteilt sind. In der Lauflängencodierung wird die Sequenz durch Senden von Zahlenpaaren übertragen. Die erste stellt die Zahl aufeinander folgender Nullen vor einem Wert ungleich Null dar, und die zweite stellt den Wert ungleich Null dar. Betrachten wir zum Beispiel die Sequenz 000030000002001. Eine solche Sequenz könnte durch Senden der Paare (4,3), (6,2), (2,1) übertragen werden. Solche Sequenzen treten auf, wenn die Bildvektoren skalar quantisiert sind und viele Komponenten nachfolgend durch 0 dargestellt sind. Viele Videocodierer verwenden sowohl die Lauflängencodierung als auch die Entropiecodierung, indem eine variable Längen-(Entropie-)Codierung an den Paaren angewandt wird, die von dem Lauflängencodierer erzeugt werden.
  • In heutigen Videosystemen, die ein Codebuch zur Komprimierung der Videodaten verwenden, sendet das System entweder den Codebuch-Index (d. h., die Codebuch-Adresse des Bildvektors, der mit dem tatsächlichen Videoblock am engsten übereinstimmt) oder eine skalare quantisierte Version des tatsächlichen Videoblocks, abhängig davon, welche weniger Bit benötigt. Dadurch kann die Regenerierung des Vollbildes beim Decodierer durch eine Vorrichtung ausgeführt werden, die ein Kopie des Codebuchs hat, das beim Codierer verwendet wird. Eine solche Vorrichtung regeneriert das Bild durch Ersetzen jeder Codebuch-Adresse durch ihren entsprechenden Codebuch-Vektor. Da die Codebuch-Einträge nicht exakt mit den Originalbildvektoren übereinstimmen, unterscheidet sich jedoch das regenerierte Bild von dem Originalbild durch einen gewissen Restwert oder eine Verzerrung.
  • Dem Fachmann ist bekannt, dass die gesamte Systemverzerrung durch Erhöhen der Anzahl von Codebuch-Einträgen verringert werden kann. Es ist jedoch auch bekannt, dass die Erhöhung der Anzahl von Codebuch-Einträgen die Anzahl von Rechenschritten erhöht, die notwendig sind, um einen Codebuch-Vektor mit dem tatsächlichen Videodatenblock, der gesendet wird, in Übereinstimmung zu bringen. Es ist auch bekannt, dass die Erhöhung der Anzahl von Einträgen die Anzahl von Bit erhöht, die zum Adressieren des Codebuchs notwendig sind, wodurch die Rate erhöht wird. Daher sind gegenwärtige Systeme durch die Größe des Codebuchs begrenzt, das zum Komprimieren von Videodaten verwendet werden kann, wodurch Videosystemkonstrukteure gezwungen sind, die Bildqualität der Geschwindigkeit zu opfern.
  • EP-A-0679033 beschreibt eine Vektorquantisierungscodierungsvorrichtung, die ein Codebuch zur Aufzeichnung repräsentativer Vektoren umfasst und die auch Mittel zum Wählen eines repräsentativen Codebuch-Vektors mit der geringsten Verzerrung und zum Generieren von Indexdaten für den gewählten Vektor umfasst. Der Eingangsvektor und der gewählte Vektor werden zum Generieren eines Differenzvektors verwendet, der zum Ändern des gewählten Vektors verwendet wird, um die Norm des Differenzvektors entweder vor oder nach dem Decodierungsprozess zu verringern.
  • Gemäß einem Aspekt dieser Erfindung wird ein Verfahren nach Anspruch 1 bereitgestellt.
  • Gemäß einem anderen Aspekt dieser Erfindung wird ein Codierer nach Anspruch 5 bereitgestellt.
  • Die vorliegende Erfindung betrifft ein Hochgeschwindigkeitsverfahren und eine Vorrichtung zum Komprimieren von Daten, ohne die Qualität der Datenrekonstruktion zu verringern. Um dies zu erreichen, drückt die vorliegende Erfindung jeden Eingangsvektor oder Block von Originaldaten als eine Kombination aus einem Codebuch-Index und einem Fehlerdifferenzial aus oder als eine komprimierte Version des Originaldatenblocks, abhängig davon, welche weniger Bit benötigt.
  • In einer Ausführungsform wird ein Satz von Codebuch-Vektoren erzeugt und in einem Codebuch gespeichert, wobei die Codebuch-Vektoren durch einen einzigartigen Identifizierungscode abrufbar und identifizierbar sind. Die Originaldaten sind als ein Satz von Eingangsvektoren organisiert. Für jeden Eingangsvektor wird ein Codebuch-Vektor, der mit dem Eingangsvektor eng übereinstimmt, gewählt, und ein Fehlerdifferenzial oder ein Abstand zwischen dem gewählten, eng übereinstimmenden Codebuch-Vektor und dem Eingangsvektor wird berechnet. Danach wird jeder Eingangsvektor entweder als eine Kombination aus dem Identifizierungscode des eng übereinstimmenden Codebuch-Vektors und dem berechneten Fehlerdifferenzial, oder als eine komprimierte Version der Originaldaten ausgedrückt, abhängig von der Anzahl von Bit, die notwendig sind, um jede auszudrücken.
  • In einer anderen Ausführungsform wird die Flexibilität, Videodaten in einem komprimierten Format oder als eine Kombination aus einem Codebuch-Index plus einem Fehlerdifferenzial zwischen den Originaldaten und dem übereinstimmenden Codebuch-Vektor auszudrücken, durch ein Videosystem bereitgestellt, das ein Codebuch, einen skalaren Quantisierer und einen Entropiecodierer verwendet. In jeder Ausführungsform stellt die Vorrichtung und das Verfahren der vorliegenden Erfindung ein flexibles Mittel zum Komprimieren von Daten bereit, so dass erhöhte Kompressionsraten in gegenwärtigen Systemen erreicht werden können, ohne auf Qualität zu verzichten. Somit überwindet die vorliegende Erfindung in hohem Maße die Einschränkungen nach dem Stand der Technik.
  • In verschiedenen Ausführungsformen können die Eingangsvektoren, die komprimiert sind, als Alternative Blöcke der Originalbilddaten oder Datenblöcke umfassen, die auf verschiedene Weisen vorverarbeitet sind. Zum Beispiel können die Eingangsvektoren Blöcke umfassen, die aus der räumlichen Domäne z. B. in eine Frequenz-Domäne transformiert wurden, die unter Verwendung einer herkömmlichen Transformation, wie der allgemein bekannten Discrete Cosine Transformation (DCT) erzeugt wurden. Wenn das Eingangssignal ein Videosignal umfasst, können die Eingangsvektoren ferner "intercodierte" Blockdaten umfassen (d. h., Daten, welche die Differenz zwischen einem aktuellen Bilddatenblock und einem entsprechenden vorhergehenden Bilddatenblock darstellen), die durch herkömmliche Bewegungsvorhersagetechniken ("Motion Prediction Techniques") "bewegungskompensiert" sein können oder nicht, im Gegensatz zu "intracodierten" Blockdaten (d. h., Daten, die nur den aktuellen Bildblock darstellen). Es ist zu beachten, dass jede dieser Techniken dem Fachmann vertraut ist.
  • Diese und andere Merkmale der Erfindung sind in der folgenden ausführlichen Beschreibung der Ausführungs formen der Erfindung in Zusammenhang mit den Zeichnungen ausführlicher beschrieben. Der Schutzumfang der Erfindung ist jedoch nur durch die beiliegenden Ansprüche begrenzt.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Ausführungsbeispiel eines flexiblen Datenverdichters, der für eine erhöhte Komprimierung sorgt, ohne im Wesentlichen die Systemqualität zu verringern, und die vorliegende Erfindung verkörpert.
  • 2 ist ein Flussdiagramm einer Ausführungsform eines Verfahrens der Erfindung zur Breitstellung der dynamischen Optimierung der Datenkomprimierung.
  • Ausführliche Beschreibung von Ausführungsbeispielen der Erfindung
  • Unter Bezugnahme nun auf 1 ist eine Ausführungsform eines flexiblen Datenverdichters dargestellt, der in der Folge als Verdichter 10 bezeichnet wird. Wie dargestellt, hat der Verdichter 10 ein Codebuch 11 mit einem Eingang 12, der an einen skalaren Quantisierer 19 und einen Addierer 13 gekoppelt ist, und einem Ausgang 14, der an den Addierer 13 und einen Schalter 15 gekoppelt ist. Der skalare Quantisierer 19 ist an einen Lauflängencodierer 6 gekoppelt, der seinerseits an einen Entropiecodierer 16 gekoppelt ist. Der Addierer 13 ist an einen skalaren Quantisierer 17 gekoppelt, der seinerseits an einen Lauflängencodierer 5 gekoppelt ist. Der Lauflängencodierer 5 ist an einen Entropiecodierer 18 gekoppelt. Die Entropiecodierer 16 und 18 sind an den Schalter 15 gekoppelt. Wie zuvor beschrieben, hat das Codebuch 11 einen bestimmten Satz von Codebuch-Vektoren, von welchen jeder an einer einzigartigen Adresse oder einem Index in dem Codebuch gespeichert ist.
  • In Betrieb drückt der Verdichter 10 einen bestimmten Block von Originaldaten oder einen Eingangsvektor in einer von zwei Formen aus, abhängig von dem Pfad des Eingangsvektors durch den Verdichter 10. Das heißt, abhängig davon, ob die Eingangsdaten durch den Pfad 30 oder 31 ausgedrückt werden, wie in 1 dargestellt, nimmt der Eingangsvektor eine von zwei komprimierten Formen an: (1) eine komprimierte Version des Eingangsvektors oder (2) eine Kombination aus einem Codebuch-Index und einem Rest oder Fehlerdifferenzialvektor.
  • Bei der Bewegung durch den Pfad 30 wird der Eingangsvektor in das Codebuch 11 durch einen Eingangsport 12 eingegeben. Ein Datenvektor, der mit dem Eingangsvektor eng übereinstimmt, wird in dem Codebuch 11 identifiziert, und der identifizierte, eng übereinstimmende Datenvektor wird gemeinsam mit seiner einzigartigen Codebuch-Adresse ausgelesen. Die ausgelesene Codebuch-Adresse wird durch eine Leitung 21 an den Schalter 15 ausgegeben und der entsprechende übereinstimmende Codebuch-Vektor wird durch eine Leitung 22 an den Addierer 13 ausgegeben. Der Originaldatenvektor wird auch um das Codebuch 11 zu dem Addierer 13 geleitet, in dem eine Differenz zwischen dem Originaldatenvektor und dem übereinstimmenden Datenvektor zur Bestimmung eines Fehlerdifferenzialvektors berechnet wird. Der Fehlerdifferenzialvektor oder der Rest wird vom Addierer 13 an den skalaren Quantisierer 17 ausgegeben, der den quantisierten Rest an den Lauflängencodierer 5 ausgibt, der seinerseits den komprimierten codierten Rest an den Entropiecodierer 18 ausgibt. Der Entropiecodierer 18 gibt seinerseits den komprimierten codierten Rest an den Schalter 15 aus. Infolgedessen leitet der Pfad 30 einen komprimierten codierten Rest und den Codebuch-Index an den Schalter 15 zur Darstellung an einem Ziel (nicht dargestellt).
  • Bei der Bewegung durch den Pfad 31 wird der Eingangsvektor zu dem skalaren Quantisierer 19, dem Lauflängen codierer 6 und dem Entropiecodierer 16 gesendet, der eine komprimierte codierte Version des Eingangsvektors an den Schalter 15 ausgibt. Der Schalter 15 ist seinerseits betätigbar, um eine Wahl zu treffen, ob der Eingangsvektor als eine Kombination aus dem komprimierten codierten Rest und dem Codebuch-Index, wie zuvor beschrieben, oder als die komprimierte codierte Version des Eingangsvektors, wie zuvor beschrieben, ausgedrückt wird. In einer Ausführungsform kann die Wahl von der Anzahl von Bit abhängen, die notwendig ist, um die Kombination aus komprimiertem codierten Rest und Codebuch-Index zu senden, im Vergleich zu der Anzahl von Bit, die zum Senden nur der komprimierten Version des Eingangsvektors notwendig ist, die über den Pfad 31 bereitgestellt wird. Infolgedessen stellt der Verdichter 10 ein flexibles Mittel zur dynamischen Optimierung der Komprimierungsgeschwindigkeit und -effizienz ohne Beeinträchtigung der Datenqualität bereit.
  • Unter Bezugnahme nun auf 2 ist eine Ausführungsform eines Verfahrens zur Bereitstellung der dynamischen Optimierung einer Datenkomprimierung dargestellt, die in der Folge als Datenkomprimierungsmethode 40 bezeichnet wird. Wie dargestellt, erstellt die Datenkomprimierungsmethode 40 einen Satz von Codebuch-Vektoren, Schritt 41, wobei jeder Codebuch-Vektor durch einen einzigartigen Identifizierungscode identifiziert ist. Dann werden in Schritt 42 die Originaldaten oder Eingangsdaten als ein Satz von Eingangsvektoren organisiert. Die Eingangsvektoren werden dann in einem Codebuch nach einem eng übereinstimmenden Codebuch-Vektor durchsucht, Schritt 43. Dann wird in Schritt 44 der übereinstimmende Codebuch-Vektor von dem Eingangsvektor subtrahiert, um einen Fehlerdifferenzialvektor oder Restvektor zwischen den beiden zu bestimmen. Der Restvektor, der einzigartige Identifizierungscode, der für den übereinstimmenden Codebuch-Vektor identifiziert wurde, und der Eingangsvektor werden alle in Schritt 45 zu einem Schalter 15 gesendet.
  • Der Schalter gibt dann in Schritt 46 entweder eine Kombination aus dem einzigartigen Identifizierungscode und dem Restvektor oder eine komprimierte Version des Eingangsvektors aus, abhängig von der Anzahl von Bit, die zum Senden jedes einzelnen notwendig ist. Insbesondere gibt der Schalter den Eingangsvektor als eine komprimierte Version des Eingangsvektors aus, wenn dies effizienter ist, d. h., weniger Bit benötigt, als der Ausdruck des Eingangsvektors als eine Kombination aus dem Identifizierungsindex und dem Restvektor. Somit wird ein Mittel zur Optimierung der Komprimierungseffizienz ohne Verringerung der Systemqualität bereitgestellt.
  • In einer anderen Ausführungsform stellen die Vorrichtung und das Verfahren der vorliegenden Erfindung eine flexible Datenkomprimierung für Videodaten in einem Videokommunikationssystem bereit. Die vorangehende Beschreibung enthält jedoch Ausführungsbeispiele und Verfahren zur Ausführung der vorliegenden Erfindung. Verweise auf spezifische Beispiele und Ausführungsformen in der Beschreibung sollten in keiner Weise als Einschränkung der vorliegenden Erfindung verstanden werden und dienen nur dem Zweck der Beschreibung der allgemeinen Prinzipien der vorliegenden Erfindung. Für den Durchschnittsfachmann ist offensichtlich, dass die vorliegende Erfindung durch andere Ausführungsformen ausgeführt werden kann.

Claims (14)

  1. Verfahren zum Codieren eines Videosignals, umfassend einen Satz von Eingangsvektoren mit Verwendung eines Satzes von Codebuch-Vektoren, wobei jeder Codebuch-Vektor durch einen einzigartigen Identifizierungscode identifiziert ist, wobei das Verfahren folgende Schritte umfasst: a. Wählen eines Codebuch-Vektors aus dem Satz von Codebuch-Vektoren, der mit einem bestimmten der Eingangsvektoren eng übereinstimmt; b. Berechnen einer Differenz zwischen dem bestimmten Eingangsvektor und dem gewählten, eng übereinstimmenden Codebuch-Vektor; und c. Bestimmen einer ersten Anzahl von Bit, in welchen der Eingangsvektor als Signal codiert sein kann, das eine Kombination des einzigartigen Identifizierungscodes des gewählten, eng übereinstimmenden Codebuch-Vektors und der Differenz zwischen dem bestimmten Eingangsvektor und dem eng übereinstimmenden Codebuch-Vektor darstellt; gekennzeichnet durch d. Bestimmen einer zweiten Anzahl von Bit, in welchen der Eingangsvektor codiert sein kann, ohne Verwendung des Satzes von Codebuch-Vektoren; e. Codieren des bestimmten Eingangsvektors als das Signal, das eine Kombination des einzigartigen Identifizierungscodes des gewählten, eng übereinstimmenden Codebuch- Vektors und der Differenz zwischen dem bestimmten Eingangsvektor und dem eng übereinstimmenden Codebuch-Vektor darstellt, wenn die erste Anzahl von Bit die zweite Anzahl von Bit nicht überschreitet; und f. Codieren des Eingangsvektors ohne Verwendung des Satzes von Codebuch-Vektoren, wenn die erste Anzahl von Bit die zweite Anzahl von Bit überschreitet.
  2. Verfahren nach Anspruch 1, umfassend die Schritte des skalaren Quantisierens, der Lauflängencodierung und der Entropiecodierung der Differenz zwischen dem bestimmten Eingangsvektor und dem gewählten, eng übereinstimmenden Codebuch-Vektor.
  3. Verfahren nach Anspruch 1, umfassend die Schritte des skalaren Quantisierens, der Lauflängencodierung und der Entropiecodierung des codierten Eingangsvektors.
  4. Verfahren nach Anspruch 1, wobei die Schritte d und e durch einen Schalter ausgeführt werden.
  5. Codierer zum Komprimieren eines Videosignals, umfassend einen Satz von Eingangsvektoren, umfassend: ein Codebuch, umfassend einen Satz von Codebuch-Vektoren, wobei jeder Codebuch-Vektor durch einen einzigartigen Identifizierungscode identifiziert ist; einen Prozessor zum Wählen eines Codebuch-Vektors aus dem Satz von Codebuch-Vektoren, der mit einem bestimmten der Eingangsvektoren eng übereinstimmt; einen Subtrahierer zum Berechnen einer Differenz zwischen dem bestimmten Eingangsvektor und dem gewählten, eng übereinstimmenden Codebuch-Vektor; und Mittel zum Bestimmen einer ersten Anzahl von Bit, in welchen der Eingangsvektor als Signal codiert sein kann, das eine Kombination des einzigartigen Identifizierungscodes des gewählten, eng übereinstimmenden Codebuch-Vektors und der Differenz zwischen dem bestimmten Eingangsvektor und dem eng übereinstimmenden Codebuch-Vektor darstellt; gekennzeichnet durch Mittel zum Bestimmen einer zweiten Anzahl von Bit, in welchen der Eingangsvektor codiert sein kann, ohne Verwendung des Satzes von Codebuch-Vektoren; Mittel zum Codieren des bestimmten Eingangsvektors als Signal, das eine Kombination des einzigartigen Identifizierungscodes des gewählten, eng übereinstimmenden Codebuch-Vektors und der Differenz zwischen dem bestimmten Eingangsvektor und dem eng übereinstimmenden Codebuch-Vektor darstellt, wenn die erste Anzahl von Bit die zweite Anzahl von Bit nicht überschreitet; und Mittel zum Codieren des bestimmten Eingangsvektors ohne Verwendung des Satzes von Codebuch-Vektoren, wenn die erste Anzahl von Bit die zweite Anzahl von Bit überschreitet.
  6. Verfahren nach Anspruch 1 oder Codierer nach Anspruch 5, wobei das Signal ein Videosignal ist.
  7. Verfahren oder Codierer nach Anspruch 6, wobei jeder Eingangsvektor ein 8 × 8 Datenvektor ist.
  8. Verfahren oder Codierer nach Anspruch 7, wobei jeder Codebuch-Vektor ein 8 × 8 Datenvektor ist.
  9. Verfahren oder Codierer nach Anspruch 8, wobei jeder einzigartige Identifizierungscode ein 8-Bit Code ist.
  10. Verfahren nach Anspruch 9, wobei die Codebuch-Vektoren in einem Codebuch gespeichert sind.
  11. Verfahren nach Anspruch 10 oder Codierer nach Anspruch 9, wobei die Differenz zwischen dem bestimmten Eingangsvektor und dem gewählten, eng übereinstimmenden Codebuch-Vektor ein bestimmter Fehlerdifferenzialvektor ist.
  12. Codierer nach Anspruch 5, umfassend einen ersten skalaren Quantisierer, einen Lauflängencodierer und einen ersten Entropiecodierer zum Komprimieren der berechneten Differenz zwischen dem bestimmten Eingangsvektor und dem gewählten, eng übereinstimmenden Codebuch-Vektor.
  13. Codierer nach Anspruch 5, umfassend einen zweiten skalaren Quantisierer, einen Lauflängencodierer und einen zweiten Entropiecodierer zum Komprimieren des Eingangsvektors.
  14. Codierer nach Anspruch 5, umfassend einen Addierer zum Berechnen der Differenz zwischen dem bestimmten Eingangsvektor und dem gewählten, eng übereinstimmenden Codebuch-Vektor.
DE69724208T 1996-09-18 1997-09-09 Verfahren und Vorrichtung zur Leistungsverbesserung einer Vektorquantisierung Expired - Lifetime DE69724208T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US718110 1996-09-18
US08/718,110 US5826225A (en) 1996-09-18 1996-09-18 Method and apparatus for improving vector quantization performance

Publications (2)

Publication Number Publication Date
DE69724208D1 DE69724208D1 (de) 2003-09-25
DE69724208T2 true DE69724208T2 (de) 2004-06-24

Family

ID=24884856

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69724208T Expired - Lifetime DE69724208T2 (de) 1996-09-18 1997-09-09 Verfahren und Vorrichtung zur Leistungsverbesserung einer Vektorquantisierung

Country Status (5)

Country Link
US (1) US5826225A (de)
EP (1) EP0831659B1 (de)
JP (1) JP3231674B2 (de)
CA (1) CA2212970C (de)
DE (1) DE69724208T2 (de)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5949422A (en) * 1996-07-29 1999-09-07 Matsushita Electric Industrial Co., Ltd. Shape data compression method, shape data decompression method, shape data compression apparatus, and shape data decompression apparatus
GB0002623D0 (en) * 2000-02-05 2000-03-29 Res Councils Improvements in or relating to data compression
US7295614B1 (en) * 2000-09-08 2007-11-13 Cisco Technology, Inc. Methods and apparatus for encoding a video signal
DE10065783B4 (de) * 2000-12-30 2007-05-03 Leica Microsystems Cms Gmbh Verfahren, Anordnung und System zur Ermittlung von Prozessgrößen
KR20020075592A (ko) * 2001-03-26 2002-10-05 한국전자통신연구원 광대역 음성 부호화기용 lsf 양자화기
US6662154B2 (en) * 2001-12-12 2003-12-09 Motorola, Inc. Method and system for information signal coding using combinatorial and huffman codes
US7379868B2 (en) * 2002-07-18 2008-05-27 Massachusetts Institute Of Technology Method and apparatus for differential compression of speaker models
KR100906473B1 (ko) * 2002-07-18 2009-07-08 삼성전자주식회사 개선된 움직임 벡터 부호화 및 복호화 방법과 그 장치
KR100486732B1 (ko) * 2003-02-19 2005-05-03 삼성전자주식회사 블럭제한된 트렐리스 부호화 양자화방법과 음성부호화시스템에있어서 이를 채용한 라인스펙트럼주파수 계수양자화방법 및 장치
AU2010234364B2 (en) * 2009-04-08 2014-12-11 Newrow, Inc. System and method for image compression
US9253505B2 (en) 2009-04-08 2016-02-02 Newrow, Inc. System and method for image compression
JP2012098893A (ja) * 2010-11-01 2012-05-24 Fujitsu Semiconductor Ltd 圧縮命令処理装置及び圧縮命令生成装置
US10063892B2 (en) 2015-12-10 2018-08-28 Adobe Systems Incorporated Residual entropy compression for cloud-based video applications
US10264262B2 (en) 2016-02-29 2019-04-16 Adobe Inc. Codebook generation for cloud-based video applications
CN108701462B (zh) * 2016-03-21 2020-09-25 华为技术有限公司 加权矩阵系数的自适应量化

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2210236B (en) * 1987-09-24 1991-12-18 Newbridge Networks Corp Speech processing system
US4821119A (en) * 1988-05-04 1989-04-11 Bell Communications Research, Inc. Method and apparatus for low bit-rate interframe video coding
JPH02170787A (ja) * 1988-12-23 1990-07-02 Matsushita Electric Ind Co Ltd ベクトル量子化符号化器とベクトル量子化復号化器
WO1992009142A1 (en) * 1989-06-13 1992-05-29 Utah State University Foundation Method and apparatus for data compression with reduced distortion
US5247579A (en) * 1990-12-05 1993-09-21 Digital Voice Systems, Inc. Methods for speech transmission
US5200820A (en) * 1991-04-26 1993-04-06 Bell Communications Research, Inc. Block-matching motion estimator for video coder
US5253058A (en) * 1992-04-01 1993-10-12 Bell Communications Research, Inc. Efficient coding scheme for multilevel video transmission
JP3013698B2 (ja) * 1994-04-20 2000-02-28 松下電器産業株式会社 ベクトル量子化符号化装置と復号化装置
DE4433819A1 (de) * 1994-09-22 1996-03-28 Philips Patentverwaltung Coder zur segmentweisen Codierung eines Eingangssignales
US5870036A (en) * 1995-02-24 1999-02-09 International Business Machines Corporation Adaptive multiple dictionary data compression

Also Published As

Publication number Publication date
JPH10126273A (ja) 1998-05-15
CA2212970C (en) 2002-01-08
EP0831659B1 (de) 2003-08-20
JP3231674B2 (ja) 2001-11-26
DE69724208D1 (de) 2003-09-25
CA2212970A1 (en) 1998-03-18
EP0831659A2 (de) 1998-03-25
EP0831659A3 (de) 1999-03-31
US5826225A (en) 1998-10-20

Similar Documents

Publication Publication Date Title
DE69015695T2 (de) Einrichtung zur Transformationskodierung.
DE3851468T2 (de) Kodierungsverfahren von Bildsignalen.
DE69125199T2 (de) Geometrische Vektorquantifizierung
DE69724208T2 (de) Verfahren und Vorrichtung zur Leistungsverbesserung einer Vektorquantisierung
DE19758761B4 (de) Verfahren zum Intrakodieren eines von einer Pixelmatrix gebildeten Bildes
DE3789857T2 (de) System zur Komprimierung von Bildern mit mehreren Graustufen.
DE69116869T2 (de) Digitale bildkodierung mit einer zufallsabtastung der bilder
DE69637335T2 (de) Bildsignalkodierungsmethode und -vorrichtung
DE69735679T2 (de) Verfahren zur Bilddecodierung
DE69822607T2 (de) Nichtlinearer quantisierer für videokodierung
DE69813349T2 (de) Vorrichtung zur Kontrolle der Datenmenge und Kodierer dieselbige anwendend
DE69837497T2 (de) Verfahren und vorrichtung zum kodieren eines videosignals
DE19739266B4 (de) Verfahren und Vorrichtung zum Kodieren binärer Formen
DE602004001993T2 (de) Transformations basiertes restbewegungsrahmen kodierungsverfahren mit übervollständiger basis und zugehörige vorrichtung zur videokompression
DE69936755T2 (de) Verfahren und Vorrichtung zur Analyse von Bilddaten um mehrere Umwandlungen für verbesserte Bilddatenübertragung durchzuführen
DE4442643B4 (de) Verfahren zum Abschätzen der Bewegung in einem Bewegtbild
DE4241131A1 (en) Signal encoder selecting suitable signal transformation - selects output from parallel connected transformation unit having greatest measured energy and encodes
DE10204617B4 (de) Verfahren und Vorrichtungen zur Kompression und Dekompression eines Videodatenstroms
DE19802860B4 (de) Verfahren und Vorrichtung zum kontext-basierten arithmetischen Codieren/Decodieren
DE69816971T2 (de) Videokodierer mit skalierungsabhängiger vlc (variable length code) kodierung
DE10296787B4 (de) Selektive Prädikation für ein Intra-Codieren eines Videodatenblocks
DE3486396T2 (de) Vektor-Quantisierer.
DE60200377T2 (de) Datenkompression
DE10218541A1 (de) Verfahren zur Videocodierung und Computerprogrammprodukt
EP0336510B1 (de) Prädiktiver Standbildcodierer

Legal Events

Date Code Title Description
8364 No opposition during term of opposition