DE68926876T2 - Vorrichtung zur Vektorquantisierung von Bildern - Google Patents

Vorrichtung zur Vektorquantisierung von Bildern

Info

Publication number
DE68926876T2
DE68926876T2 DE68926876T DE68926876T DE68926876T2 DE 68926876 T2 DE68926876 T2 DE 68926876T2 DE 68926876 T DE68926876 T DE 68926876T DE 68926876 T DE68926876 T DE 68926876T DE 68926876 T2 DE68926876 T2 DE 68926876T2
Authority
DE
Germany
Prior art keywords
block
code
column
pixels
blocks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE68926876T
Other languages
English (en)
Other versions
DE68926876D1 (de
Inventor
Taejeong Kim
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.)
AT&T Corp
Original Assignee
AT&T Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by AT&T Corp filed Critical AT&T Corp
Publication of DE68926876D1 publication Critical patent/DE68926876D1/de
Application granted granted Critical
Publication of DE68926876T2 publication Critical patent/DE68926876T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • H04N19/527Global motion vector estimation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • 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)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

    Allgemeiner Stand der Technik
  • Bei der Datenverarbeitung für Bildübertragung sind in der Vergangenheit verschiedene Techniken zur Reduzierung der für die Übertragung der Daten erforder lichen Bitrate verwendet worden. Eine Anzahl dieser Techniken sind umfassend als Bildkompression charakterisiert worden, was bedeutet, daß für die Wahrnehmung irrelevante Aspekte der Bilddaten entfernt und die Redundanzen in den Daten durch die Codiertechnik reduziert werden, um die erforderliche Bitrate zu reduzieren. Die Vielfalt an Techniken hat sich vervielfacht, da die Erfordernisse hinsichtlich Bildqualität gleichzeitig mit der Nachfrage nach der verfügbaren Kanalbandbreite gestiegen sind.
  • Eine der Techniken, derartige Ergebnisse zu erzielen, ist die Technik, die als Bildkompression unter Verwendung von Vektorquantisierung bekannt ist, wobei Blöcke oder Vektoren, die jeweils eine Gruppe individueller Bildpunkte darstellen, unabhängig codiert werden. Es wurde nachgewiesen, daß mit dieser Technik mäßig niedrige Raten in Bit pro Bildpunkt wirksam erzielt werden können.
  • Um die gleiche Übertragungsqualität aufrechtzuerhalten und die Bitraten weiter zu senken, ist es notwendig gewesen, eine Art von Vektorquantisierung einzusetzen, die als Vektorquantisierung mit Speicherung charakterisiert werden kann. In die Codierprozedur wird Speicherung miteinbezogen, indem in jedem aufeinanderfolgenden Eingabeblock Speicherung von zuvor codierten Blöcken verwendet wird. Bei einer bestimmten Art dieser Technik, die als Vektorquantisierung mit endlichen Zuständen (finite state vector quantization) bekannt ist, kommt eine Anzahl von Zuständen zur Anwendung, die Schlüsselinformationen über zuvor codierte Vektoren zusammenfassen, um aus einer Familie sogenannter Code lexika eines auszusuchen, um jeden eingegebenen Vektor zu codieren. Ein Beispiel für eine derartige Technik findet sich in dem Artikel mit dem Titel "Image Compression Based on Vector Quantization With Finite Memory" von R. Aravind und Allen Gersho in Optical Engineering, Band 26, Juli 1987, S. 570-580.
  • Codierer und Decodierer eines derartigen Systems weisen eine Rückkopplungsstruktur auf, in der die durch die Ausgangssignale bestimmten internen Zustände rückgekoppelt und zusammen mit den Eingangssignalen zum Codieren und Decodieren verwendet werden. Das Ziel derartiger Finite-State-Techniken liegt darin, die Qualität der erzielten Übertragung beizubehalten und gleichzeitig die erwünschte niedrige Bitrate zu erreichen. Falls der interne Zustand einen kleinen Bereich, der den zu codierenden eingegebenen Vektor enthält, genau darstellen kann, kann mit Finite-State-Vektorquantisierung das oben genannte Ziel erreicht werden, indem eine relativ kleine zeitlich schwankende Menge an Codelexika verwendet wird.
  • Die Technik, auf die oben Bezug genommen worden ist, und andere im Umfeld der Bildcodierung wurden hinsichtlich der Bildcodierung mit zwei besonderen Faktoren konfrontiert. Der eine ist die Tatsache, daß, da die Bilder zweidimensionale Eigenschaften haben, jeder Bildpunktblock, üblicherweise ein rechteckiger Bildpunktblock, außerhalb des Blockes mehr benachbarte Bildpunkte aufweist als ein eindimensionaler Stichprobenblock wie im Umfeld der Sprachcodierung, und der andere ist die Tatsache, daß die meisten üblichen Bilder eine sehr hohe Korrelation zwischen benachbarten Bildpunkten aufweisen. Erstere Eigenschaft bezeichnen wir als örtliche Nachbarschaft.
  • Dessen ungeachtet ist es früheren Versuchen, die örtliche Nachbarschaft auszunutzen, nicht gelungen, die Möglichkeiten sowohl zur Verbesserung der Übertragungsqualität und der Reduktion der Bitrate maximal zu nutzen. Das System von Aravind und Gersho, auf das oben Bezug genommen wurde, schmälert den Effekt der örtlichen Nachbarschaft, indem Informationen über die örtlich benachbarten Bildpunkte in indirekte Informationen, wie zum Beispiel das Vorhandensein und die Arten von Helligkeitsprüngen, umgewandelt werden.
  • Die Technik des oben zitierten Artikels von Aravind und Gersho sucht die Kanten des Bildes innerhalb jeden Blocks; bei Zustandscodelexikonblöcken jedoch, die als beste Entsprechung für Bildblöcke mit derartigen internen Kanten ausgewählt worden sind, wird beim Anpassen an nachfolgende benachbarte Bildblöcke, die möglicherweise eine Fortsetzung der Bildkante aufweisen, kein Bildpunkt mit Vorrang gegenüber irgendeinem anderen Bildpunkt in einem derartigen Codelexikonblock behandelt. Somit wirkt sich nach der Technik von Aravind und Gersho ein Teil der Relevanz der örtlichen Nachbarschaft nicht auf das Codieren des nachfolgenden Bildblocks aus.
  • Aravind und Gersho offenbaren auch in ICASSP 86 Proceedings, 7-11 April 1986, Seiten 137-140, "Low-rate image coding with finite-state vector quantization" eine Bildcodiertechnik nach dem Oberbegriff von Anspruch 1.
  • Die Blöcke in der gleichen Spalte und vorangehenden Zeile und in der gleichen Zeile und vorangehenden Spalte werden mit Hilfe eines Kantenklassifizierers klassifiziert, der den Block gemäß irgendeiner Kante (d.h. ein Übergang zwischen schwarz und weiß), die angetroffen wird, klassifiziert oder, falls keine derartige Kante angetroffen wird, mit Hilfe der Durchschnittshelligkeit des Blocks klassifiziert. Diese Kantenklassifizierung und Durchschnittshelligkeitsklassifizierung wird unter Verwendung aller Bildpunkte in den relevanten Blöcken durchgeführt.
  • Eine Aufgabe der vorliegenden Erfindung liegt darin, die Leistung derartiger Codiertechniken im Hinblick auf die übertragene Bildqualität und/oder die Reduktion der für die Übertragung erforderlichen Bitrate zu verbessern. Ferner wird durch einen neuaufblühenden Markt für wirtschaftliche Speichertechniken für Bilder für Archivzwecke, zum Beispiel für Anwendungen in Medizin, Geophysik, Luftaufnahmetechnik oder Satellitenfotografie, für elektronisches Einkaufen oder für Videokonferenzen, die Notwendigkeit erhöht, derartige Techniken bis an ihre Grenzen zu verschieben und darüberhinaus die Einfachheit des Decodierens zu einer Hauptaufgabe des Systems zu machen, selbst auf Kosten eines größeren Aufwands für die Codiertechniken.
  • Zusammenfassung der Erfindung
  • Die Erfindung hat den in den unabhängigen Ansprüchen 1, 4, 7 und 8 dargelegten Inhalt. Es hat sich herausgestellt, daß die wirksamste Art, Speicherung in ein derartiges System einzubeziehen, darin besteht, die zweidimensionale örtliche Nachbarschaft auf eine Weise einzusetzen, die die Helligkeitskontinuität zwischen örtlich eng zusammenliegenden Bildpunkten der benachbarten Blöcke direkt steuert. Indirekte Informationen werden überhaupt nicht mehr in Betracht gezogen, wie zum Beispiel die Klassifizierung von Sprüngen, so daß die Erfindung Zustandscodelexika verwendet, die im Hinblick auf die beste Helligkeitsanpassung an die relativ am nächsten liegenden Bildpunkte der Vektoren ausgewählt sind, die den vorhergehenden Block und den Block in einer Zeile davor darstellen, um nicht die Signifikanz ihrer örtlichen Nachbarschaft zu verlieren.
  • Die direktere Anwendung der örtlichen Nachbarschaft, die der Gegenstand der vorliegenden Erfindung ist, wird als Vektorquantisierung mit "Seitenanpassung" oder "Überlappungsanpassung" für zweidimensionale Informationsblöcke bezeichnet.
  • Weiterhin hat sich herausgestellt, daß Codierung mit variabler Länge basierend auf Lernbildstatistiken oder einem eingegebenen Bild selbst die Wirksamkeit des vorliegenden modifizierten Systems weiter erhöht. Da die rauschfreie Codierung mit variabler Länge, die vorgeschlagen wird, einfach ist, kann ihre volle Beschreibung an den Empfanger in einem Nachrichtensystem mit einem nur unbedeutenden Anstieg der Bitrate übertragen werden. Gemäß dieses Merkmals der Erfindung wird sogar eine Familie rauschfreier Codes mit variabler Länge beschrieben, die sogenannten Kanalsymbolentropien sehr nahe kommen. Mit diesem besonderen Merkmal der Erfindung können auch andere Finite-State-Vektorquantisierungskonstruktionen nachgerüstet werden.
  • Kurze Beschreibung der Zeichnungen
  • Weitere Merkmale und Vorteile der vorliegenden Erfindung gehen aus der folgenden ausführlichen Beschreibung hervor, die zusammen mit der Zeichnung gelesen werden muß, in der:
  • Figur 1 eine Blockdiagrammdarstellung eines Senders für ein erfindungsgemäßes Nachrichtensystem ist.
  • Figur 2 ein Blockdiagramm ist, das die Beziehung zwischen Sender und Empfanger in einem derartigen System zeigt.
  • Figur 3 ein ausführlicheres Blockdiagramm ist, das den erfindungsgemäßen Sender zeigt;
  • Figur 4 ein Flußdiagramm des erfindungsgemäßen Codelexikonauslegungsverfahrens ist;
  • Figur 5 ein Flußdiagramm für den Betrieb der vorliegenden Erfindung während des eigentlichen Prozesses der Bildinformationscodierung ist.
  • Figur 6 ein Flußdiagramm für die Technik ist, um das Codelexikon für den nächsten Zustand zu finden;
  • Figur 7 die typische Bildpunktanordnung zeigt, die bei der Anordnung mit "Seitenanpassung" sowohl beim Lernen (Codelexikonauslegung) und beim Codieren verwendet wird; und
  • Figur 8 die typische Bildpunktanordnung zeigt, die bei der Anordnung mit "Überlappungsanpassung" sowohl beim Lernen (Codelexikonauslegung) und beim Codieren verwendet wird.
  • Ausführliche Beschreibung
  • In Figur 1 wird eine grundlegende Ausführungsform gezeigt, die eine ähnliche Organisation aufweist wie Systeme, die dazu verwendet werden können, Codieralgorithmen des Finite-State-Vektorquantisierungstyps zu praktizieren, einschließlich dem,das in dem oben zitierten Artikel von Aravind et al. offenbart ist; doch wird sich bei genauerer Lektüre herausstellen, daß die Ausführungsform von Figur 1 gezielt auf die besonderen Merkmale der vorliegenden Erfindung ausgelegt ist. In Figur 1 wird insbesondere eine Ausführungsform der vorliegenden Erfindung gezeigt, die bei einem Sender eines Nachrichtensystems verwendet wird, das Bilder zwischen entfernten Stellen überträgt. Die Organisation dieses Senders ist so ausgelegt, daß er das abgetastete Bildsignal, das auf konventionelle Weise für Fernsehbildübertragung, aber wahlweise mit einer höheren Auflösung abgetastet ist, annehmen kann. Sie enthält auch eine Möglichkeit, die Bildpunkte, wie durch die Blockformierungsstufe 11 von Figur 1 gezeigt, zu Blöcken zu formen. Bei jedem Block handelt es sich um einen 4x4- Block aus Bildpunkten, wobei zum Beispiel der erste Block die ersten vier Bildpunkte jeder der ersten vier Zeilen abgetasteter Bildpunkte enthält. Jeder resultierende Bildpunktblock läuft dann zum Quantisierer 12, der eine Suche nach dem nächstgelegenen Nachbarn durchführt, um, wie hiernach beschrieben, aus dem speziellen ausgewählten Codelexikon den erwünschten Eintrag auszuwählen. Die Suche wird von der Logikschaltung 42 geleitet, die mit dem Codierabschnitt 41, der den Block 11 und Quantisierer 12 enthält, in Verbindung steht. Die Logik ist derart, daß der entsprechende Codewortindex mit der entsprechend niedrigen Bitrate, aber mit einer optimalen Anpassung der Bildpunktblockkanten übertragen werden kann, wie hiernach ausführlicher beschrieben wird. Die Blockbildung und die Suche des Quantisierers nach dem nächstgelegenen Nachbarn werden, wie in Abschnitt 2.1.1 des Artikels von Aravind beschrieben, durchgeführt. Dies kann kurz wie folgt beschrieben werden: der Block von Bildpunkten ist zum Beispiel ein vier-mal-vier-Block der kleinsten Bildeinheiten. Diese Blöcke werden, wie zu erwarten ist, auf die kompakteste Art zusammengesetzt, so daß sie Zeile für Zeile in der Richtung, in der das Bild über die Anzeige oder über eine andere zweidimensionale Darstellung des Bildes hinweg entwickelt wird, vier Bildpunkte breit und vier Bildpunkte tief sind. Mit anderen Worten werden zur Erzeugung der Blöcke benachbarter Bildpunkte vier Zeilen verwendet. Die Bildpunktblöcke werden dann an den Quantisierer geschickt. Von dem gegenwärtig dynamisch ausgewählten Zustandscodelexikon durch die ausgewählte eine der Menge 14 von Schalterpositionen, zum Beispiel vom Schalter 20, werden die begrenzten Codelexikoneinträge C&sub1;, C&sub2;, Cn auf der Basis der kleinsten Entfernung mit dem Eingangs-Istbildpunkblock x für jeden Bildpunkt im Block verglichen. Es wird derjenige Wert von Ci ausgewählt, der den kleinsten mittleren guadratischen Fehler liefert, und der Index dieses Codelexikonwertes, das heißt der Wert von i, wird vom Quantisierer 12 als der übertragene Codewortindex weitergeleitet. Gleichzeitig wird dieser Codewortindex als Teil der Vorgeschichte der Bildinformationen verwendet, die dazu verwendet wird, das Codelexikon des nächsten Zustands dynamisch auszuwählen, das zum Codieren des nächsten Blocks von Bildpunkten verwendet wird.
  • Die Logik, um diese Bildvorgeschichte zum Auswählen des nächsten Zustandscodeworts einzusetzen, findet sich in der Logikschaltung 42 von Figur 1. Der Index des vorangegangenen Codeworts wird zum Dequantisierer 13 weitergegeben, bei dem es sich im Grunde um eine Nachschlagetabelle handelt, die den Index des vorangegangenen Zustandscodelexikons in ein Codewort zurückwandelt, das einen Block darstellt; und das resultierende Ausgangssignal wird Verzögerungen und anderen logischen Verarbeitungen unterzogen, um die darauffolgende Positionierung des Schaltungsschalters 20 zu beeinflussen. Damit die dequantisierten Werte nur einen benachbarten Block von Bildpunkten beeinflussen, werden die Signale durch die jeweilige Einblockverzögerung 23 und die Verzögerung 25 von einer Zeile von Blöcken gegeben, um zu den entsprechenden Zeiten am Spaltenzustandsausgang bzw. am Zeilenzustandsausgang anzukommen. Von den Nachschlagetabellen 22 und 27 wird wahlweise der Spaltenzustandsraum 21 bzw. der Zeilenzustandsraum 28 einbezogen, um die Anzahl der Zustandslexika 19 zu reduzieren. Der Spaltenzustandsraum 21 und der Zeilenzustandsraum 28 sind die Mengen der Repräsentationen für die letzten Bildpunktspalten bzw. die letzten Bildpunktzeilen sämtlicher repräsentativen Blöcke in allen Zustandscodelexika 19.
  • Die oben erwähnten Blöcke 21, 22, 27 und 28 sind der Mechanismus zum Reduzieren der Anzahl von Zustandscodelexika, was wiederum den erforderlichen Speicherraum (im Codierer) reduziert. Falls es hinsichtlich der Anzahl der Zustandscodelexika oder des Speicherraumes keine Begrenzung gibt, können diese Blöcke entfallen. Unter den berücksichtigten Werten der Spalten und Zeilen von Bildpunkten lassen Filter 24 und 26 nur die letzte Spalte bzw. die letzte Bildpunktzeile durch, bei denen es sich um die Bildpunktspalte und die Bildpunktzeile unmittelbar neben dem gegenwärtig codierten Block handelt oder von diesem überlappt wird. Diese sind die für die Codierung der gegenwärtigen Bildpunkte relevantesten Bildpunkte, falls Wertesprünge im Bild vermieden werden sollen. Es ist somit dieser Bereich der Logikschaltung 42, in dem sich die vorliegende Erfindung hinsichtlich Organisation und Betrieb von der in der oben zitierten Referenz von Aravind und Gersho unterscheidet. Der Unterschied liegt in den Techniken zum Auswählen eines der Zustandscodelexika 19 auf der Basis des am Spaltenzustandsausgang ankommenden jeweiligen Spaltenzustands und des am Zeilenzustandsausgang ankommenden jeweiligen Zeilenzustands. Diese Werte werden dann an die Steuerposition des Schalters 20 angelegt, um das Zustandscodelexikon zu steuern, das im Quantisierer 12 für die Suche nach nächstgelegenen Nachbarn beim Codieren des gegenwärtigen Blocks von zu codierenden Bildpunkten verwendet wird. So könnten zum Beispiel die Zustandscodelexika geordnet werden, so daß aufeinanderfolgende Mengen von Zeilenzuständen, deren Verwendung für gleiche Indizes von Spaltenzuständen bekannt ist, nach Zeilenzustandsindex aufeinanderfolgend angeordnet werden, gefolgt von der gleichen aufeinanderfolgenden Anordnung von Zeilenzuständen für den in der Reihenfolge nächsten Index von Spaltenzuständen, usw., bis alle Spaltenzustände, deren Verwendung bekannt ist, der Reihe nach angeordnet sind. Das Spaltenzustandsindexausgangssignal von Block 22 veranlaßt dann das entsprechende Zählen der Spaltenzustandspositionen durch Schalter 20, wonach das Zeilenzustandsindexausgangssignal von Block 27 das entsprechende Zählen der Zeilenzustandspositionen von Schalter 21 veranlaßt, innerhalb der entsprechenden Anordnung von Zeilen des zuvor gezählten Spaltenzustands. Die Nachschlagetabellen 22 und 27 werden benötigt, da bei der reduzierten Menge 19 von Zustandscodelexika nicht jeder Zeilenzustandsindex des (später beschriebenen) Supercodelexikons zusammen mit jedem Spaltenzustandsindex des Supercodelexikons verwendet wird. Bei dem ausgewählten Zustandscodelexikon handelt es sich um dasjenige, das gemäß dem Prozeß der Codelexikonauslegung aus statistisch ähnlichen Blöcken im Supercodelexikon wahrscheinlich die gleichen statistischen zweidimensionalen Eigenschaften erzeugen wird, das heißt, die ähnlichste benachbarte Kante, bei der es sich für den Fall des vorausgehenden Blocks um eine Spaltenkante oder im Fall des um eine Zeile zurückliegenden Blocks um eine benachbarte Zeilenkante handelt. Da die Eingangseignale zu den Blöcken 22 und 27 von den Zustandsräumen 21 und 28 lediglich zuvorbestimmte, endliche mögliche Werte aufweisen können und die Eingangssignale von Filtern 24 und 26 lediglich zuvorbestimmte, endliche mögliche Werte aus einer größeren Menge von Werten aufweisen können, können die Suchoperationen in den Blöcken 22 und 27 nach dem nächstgelegenen Nachbarn, falls erwünscht, durch Nachschlagetabellen implementiert werden.
  • Es sollte hervorgehoben werden, daß es sich bei allen in der Logikschaltung 42 eingesetzten Prozessen um Nachschlagetabellenprozesse handelt, und sie im Vergleich zu der rechnerintensiven Suche nach dem nächstgelegenen Nachbarn, die im Quantisierer 12 auftritt, im allgemeinen sehr schnell bewerkstelligt werden können.
  • Figur 2 illustriert ein weiteres Bearbeiten des Codewortindexausgangssignals von Figur 1, um es zur eigentlichen Übertragung über ein Übertragungsmedium und zum Empfangen am Empfänger vorzubereiten. Mit anderen Worten liegt der Codewortindex bei gegebenen Eigenschaften des Mediums oder den statistischen Eigenschaften des Bildes selbst nicht unbedingt in einer für die übertra gung optimalen binären Form vor.
  • Mit anderen Worten wird der Codewortindex in dem Codierer 31 einer weiteren binären Codierung unterzogen, bei der übrigens als Reaktion auf eine Vorsatzlängenbestimmung in einer Vorsatzlängenbestimmungsvorrichtung 33 und das binäre Übertragungscodelexikon 32 eine weitere Reduktion der Bitrate stattfindet.
  • Es hat sich herausgestellt, daß rauschfreie Codes mit veränderlicher Länge für das System von Figuren 1 und 3 von Vorteil sind. Die Eins-zu-Eins-Abbildung gemäß Figur 2, die Kanalsymbole in binäre Folgen verwandelt, wird als Binärcodierer bezeichnet, und ihr Gegenstück wird als Binärdecodierer bezeichnet. Die Kanalsymbole, die aus einem Quellencodierer kommen, wie zum Beispiel aus einem FSVQ (finite state vector quantiser = Finite- State-Vektorquantisierer), weisen ein endliches Alphabet auf (d.h. ein Alphabet endlicher Größe). Bei einer gegebenen Klasse von Quellen, in diesem Fall Bildern, nehmen die Kanalsymbole eine bestimmte Wahrscheinlichkeitsverteilung an. Da für die Symbole aus einem endlichen Alphabet mit einer bekannten Wahrscheinlichkeitsverteilung bewährte Theorien über rauschfreie Codes vorliegen, kann man einfach die optimalen rauschfreien Codes auf die Kanalsymbole anwenden. Wenn jedoch das Alphabet relativ groß ist, ergeben sich mögliche Probleme, wenn rauschfreie Codes wie zum Beispiel der Huffmann-Code blind angewendet werden. So können zum Beispiel der Binärcodierer oder der Binärdecodierer relativ kompliziert sein und sehr große Pufferspeicher erfordern. Diese Probleme werden hauptsächlich von den großen Unterschieden in der Länge des Binärcodeworts hervorgerufen. Die Länge eines Codeworts in einem rauschfreien Code wird manchmal als eine Stufe des rauschfreien Codes bezeichnet. Auf der anderen Seite kann bei unbekannter Kanalsymbolverteilung der für eine Wahrscheinlichkeitsverteilung entworfene optimale rauschfreie Code für eine andere Verteilung sehr schlecht sein. Es könnte argumentiert werden, daß, da der Binärcodierer die Kanalsymbolstatistiken hat, der entsprechende optimale rauschfreie Code jedesmal verwendet werden kann. Bei derartigen Fällen muß zur richtigen Decodierung die Beschreibung des optimalen rauschf reien Codes ebenfalls an den Binärdecodierer übertragen werden. Eine derartige Beschreibung kann leider mehr als eine vernachlässigbare Menge an Informationen enthalten. Das heißt, die Übertragung der Beschreibung des optimalen rauschfreien Codes kann die Gesamtbitrate erheblich erhöhen. Das Gegenmittel für alle oben erwähnten Probleme besteht darin, die Anzahl der Stufen des rauschfreien Codes zu begrenzen. Es tritt dann die Frage auf: "Wird jeder rauschfreie Code mit nur wenigen Stufen ein gutes Verhalten zeigen?" Aufgrund der in unserer Anwendung angetroffenen besonderen Form der Kanalsymbolverteilung wird nun gezeigt, daß die Antwort für Vektorquantisierer mit Seitenanpassung und Vektorquantisierer mit Überlappungsanpassung positiv ist.
  • Nach der Übertragung über den Nachrichtenkanal oder Speicherkanal 37 zum Empfänger wird der Binärcode von dem Binärdecodierer 34 gemäß dem binären Nachschlagecodelexikon 35, das dem binären Codelexikon 32 des Senders gleich ist, in den Codewortindex zurückgewandelt. Die Codierlogik 36 mit variabler Länge von Figur 2 kann gemäß den unten beschriebenen mathematischen Formeln implementiert werden. Alternativ dazu kann sie auch gemß anderer rauschfreier Codierverfahren variabler Länge nach dem Stand der Technik implementiert werden. Für die Zwecke der vorliegenden Erfindung handelt es sich bei der oben beschriebenen Version um eine bevorzugte Alterna tive, aber nicht um eine ausschließliche Alternative. In Figur 3 wird der Empfänger gezeigt, der an den Ausgang des Binärdecodierers 34 angekoppelt ist und das relativ zur Anzahl der über den Nachrichtenkanal 37 übertragenen Bit qualitativ hochwertige Ausgangsbild bereitstellt. Dieser Empfänger enthält einen Dequantisierer 43, bei dem es sich wiederum um eine Nachschlagetabelle handelt, die funktionsmäßig mit der des Dequantisierers 13 im Sender und in sich selbst identisch ist, und eine Logikschaltung 44, die mit der Logikschaltung 42 des Senders im wesentlichen identisch ist. Die Bildaufbauschaltung 45 kehrt im Grunde den Prozeß um, der in der Blockbildungsschaltung 11 von Figur 1 Blöcke von Bildpunkten formt, vorbehaltlich einiger zusätzlicher Funktionen für die Überlappungsanpassung und Decodierung, die später beschrieben werden.
  • Funktion des Finite-State-Vektorquantisierers
  • Die Funktion des Senders von Figur 1 kann mathematisch definitiver wie folgt gekennzeichnet werden: der Finite-State-Vektorquantisierer funktioniert im Grunde wie endliche Automaten, wie auf dem Gebiet digitaler Schaltungen definiert. Bei einer gegebenen Vektordimension k bildet der Codierer zu jedem Abtastzeitpunkt i einen k-dimensionalen Quellvektor xi von einem endlichen Alphabet zur Übertragung in ein Kanalsymbol yi ab, und ein beliebiger entsprechender empfangender Decodierer bildet das Kanalsymbol zurück in einen k-dimensionalen Wiedergabevektor i ab. Zum Zweck digitaler Übertragung und/oder Speicherung werden die Kanalsymbole üblicherweise durch Binärfolgen dargestellt.
  • Um den Codierer und Decodierer des Finite-State- Vektorquantisierers ausführlich zu beschreiben, werden sie in verschiedene Bausteine oder Komponenten zerlegt. Diese Komponenten sind (1) ein Zustandsraum 5, bei dem es sich um eine endliche Menge von Zuständen handelt, (2) eine Menge von Zustandscodelexika {Cs:sεS}, (3) ein Quantisierer q, (4) ein Dequantisierer p, bei dem es sich um eine Codelexika(-tabellen)-Nachschlagefunktion handelt, und schließlich (5) eine Nächstzustandsfunktion f. Es folgt eine allgemeine Beschreibung dieser Bausteine. Der Zustandsraum ist eine Ansammlung von M Symbolen, Zustände genannt, d.h. S = {s&sub1;, s&sub2;,...,sM}, wobei s&sub1;, s&sub2;,...,sM Zustände bezeichnen. Jedes Zustandscodelexikon ist eine Menge von N k-dimensionalen Vektoren, Codeworte genannt. Die Menge von Zustandscodelexika sind durch die Zustände indiziert, und die Gesamtzahl der Zustandscodelexika ist somit gleich der Größe des Zustandsraums, also M. Die Vereinigung aller Zustandscodelexika wird Supercodelexikon genannt und ist mit C bezeichnet. Das heißt, C = sεS Cs. Die Indexmenge Y = {1,2, ..., N}, die alle Zustandscodelexika gemein haben, wird Kanalsymbolraum genannt. Der Grund für diesen Namen liegt darin, daß die Indizes der Codeworte innerhalb des Zustandscodelexikons Kanalsymbole sind, die schließlich über den Kanal übertragen oder gespeichert werden. Der Quantisierer ist eine Abbildung von dem kartesischen Produkt des k-dimensionalen Euklidischen Raumes Rk und des Zustandsraumes S zum Kanalsymbolraum Y. Das heißt q: Rk x S T Y, wobei x das kartesische Produkt bezeichnet. Man kann es auch so auffassen, daß es sich bei dem Quantisierer um eine Sammlung aus Abbildungen handelt {qs: s ε S}, derart, daß jedes qs eine Abbildung von Rk auf Y ist. Aus Gründen der Zweckmäßigkeit der Beschreibung wird allerdings die erste Definition des Quantisierers verwendet. Die Idee, daß der Quantisierer eine Datenkomprimierung erzielt, impliziert, daß der Quantisierer offensichtlich eine Viele-auf-Eins-Abbildung sein sollte, und somit existiert sein Gegenstück nicht. Allerdings wird eine Abbildung p definiert, Dequantisierer genannt, um das Gegenstück des Quantisierers nachzuahmen. Insbesondere ist der Dequantisierer eine Abbildung von Y x 5 auf C. Wenn man berücksichtigt, daß der Quantisierer eine Sammlung von Abbildungen {qs: s ε S} ist, kann auch der Dequantisierer als eine Sammlung von Einszu-Eins-Abbildungen {ps: s ε S} angesehen werden, derart, daß ps: Y T Cs ist. In diesem Fall ist jedes Pa eine Tabellennachschlagefunktion, die jedes Kanalsymbol in das Codewort in Cs abbildet, bei dem der Index gleich dem Kanalsymbol ist. Da der Finite-State-Vektorquantisier- Codierer und -Decodierer wie endliche Automaten funktionieren, sollten ihre internen Zustände zu jedem Abtastzeitpunkt aktualisiert werden. Interne Zustände werden durch die Nächstzustandsfunktion f aktualisiert. Die Nächstzustandsfunktion f ist eine Abbildung von dem J- fachen kartesischen Produkt des Supercodelexikons C auf den Zustandsraum, wobei J die Anzahl der zurückliegenden Wiedergabevektoren ist, die zur Erzeugung des nächsten Zustands beitragen. Das heißt f: x =1 C T S. Mit anderen Worten erzeugt die Nächstzustandsfunktion den nächsten Zustand aus der endlichen zurückliegenden Geschichte ausgewählter Codeworte.
  • Nun kann der Codierer und Decodierer des Finitestate-Vektorquantisierers hinsichtlich der oben beschriebenen Bausteine charakterisiert werden. Der Finite-State-Vektorquantisiercodierer kann durch folgende fünf Bestandteile charakterisiert werden: ein Zustandsraum, eine Menge von Zustandscodelexika, ein Quantisier er, ein Dequantisierer und eine Nächstzustandsfunktion, d.h. (S, {Cs, s ε S}, q,p,f). Zu einem Abtastzeitpunkt i sei angenommen, daß der Codierer einen Zustand si in S hat. Der Quantisierer bildet dann einen k-dimensionalen Quellvektor xi derart in ein Kanalsymbol yi ab, daß yi der Index des Codewortes innerhalb des Zustandscodelexikons Csi ist, das xi hinsichtlich eines bestimmten Kriteriums am nächsten kommt. Das resultierende Codewort, das der Wiedergabevektor ist, ist mit i bezeichnet. Ein einfaches und allgegenwärtiges Kriterium ist die Minimierung des mittleren guadrierten Fehlers, die als &sub1;k
  • definiert ist, wobei [xi]j und [ i]j die j-ten Komponenten der Vektoren xi bzw. i sind. In dieser Erörterung ist der Quantisierer im Grunde ein speicherloser Vektorquantisierer mit dem Zustandscodelexikon als seinem Codelexikon. Es können deshalb verschiedene Quantisiererstrukturen gefunden werden, die im Finite-State-Vektorquantisierer verwendet werden können, zum Beispiel der hier beschriebene Vektorquantisierer mit vollständiger Suche, der VQ mit Baumsuche, der Mehrschritt-VQ, und der Produkt-VQ. In dieser Arbeit jedoch wird nur der VQ mit vollständiger Suche betrachtet. Unter der Annahme einer eindeutigen Indizierung soll η die Funktion bezeichnen, die ein Element einer Menge in ihren Index abbildet. So zum Beispiel, falls A = {a&sub1;, a&sub2;,...,a&sub1;,..., aL), dann ist η (ai, A) = 1. Die Funktionsweise des Quantisierers zum Abtastzeitpunkt i wird nun durch die folgende Gleichung zusammengefaßt
  • wobei min&supmin;¹ die Funktion bezeichnet, die bedeutet "die Variable, die die darauffolgende Menge minimiert". Der Ausdruck innerhalb der eckigen Klammer stellt das Codewort der minimalen Verzerrung vom Quellvektor dar und wird der Wiedergabesvektor genannt.
  • Nach der Erzeugung eines Kanalsymbols durch den Quantisierer muß der Codierer als Vorbereitung für die Codierung des nächsten Quellvektors den Zustand aktualisieren. Die Nächstzustandsfunktion führt diese Aktualisierung durch Abbilden der endlichen zurückliegenden Wiedergabesvektoren in den nächsten Zustand Si+1 durch. Es sei darauf hingewiesen, daß die Wiedergabesvektoren noch nicht zur Verfügung stehen, obwohl sie während des Quantisierprozesses implizit bestimmt werden. Der Dequantisierer 13 macht Wiedergabesvektoren für die Nächstzustandsfunktion verfügbar. Der Dequantisierer ist eine Tabellennachschlagefunktion, wobei die Nachschlagetabelle ein Zustandscodelexikon ist. Bei einem gegebenen Abtastzeitpunkt i und einem Zustand si bildet der Dequantisierer ein Kanalsymbol yi in ein Codewort in Csi ab, dessen Index yi ist. Mit anderen Worten, falls i den Wiedergabesvektor zum Zeitpunkt i bezeichnet, ist i = p(yi,si) derart, daß xi ε Csi und yi=η( i),Cs ist. Da die Wiedergabesvektoren nun durch den Dequantisierer zur Verfügung stehen, ist die Nächstzustandsfunktion durch die folgende Beziehung dargestellt: si+1 = f( i), i-1, .... Unter der Annahme, daß der Anfangszustand s&sub0; gegeben ist, werden der Quantisierer und die Nächstzustandsfunktion wiederholt, wie oben beschrieben, um die Folge von Kanalsymbolen y&sub0;, y&sub1;, y&sub2;,... aus der Folge von Quellvektoren x&sub0;, x&sub1;, x&sub2;,... zu erzeugen. Durch Übertragung oder Speicherung wird diese Folge von Kanalsymbolen von dem Decodierer empfangen und dann in eine Folge von Wiedergabesvektoren, mit &sub0;, &sub1;, &sub2;,... bezeichnet, zurück umgewandelt.
  • Der Finite-State-Vektorquantisierdecoder ist durch die vier Bestandteile gekennzeichnet: einen Zustandsraum, eine Menge von Zustandscodelexika, einen Dequantisierer und eine Nächstzustandsfunktion, d.h. (S,{Cs: sεS), p,f). Alle diese Komponenten sind mit denen des Finite-State-Vektorquantisiercodierers identisch und sind schon ausführlich beschrieben. Wenn der Finite- State-Vektorquantisierdecodierer ein Kanalsymbol empfängt, wählt der Dequantisierer im Zustandscodelexikon das Codewort aus, das dem internen Zustand derart entspricht, daß der Index des Codewortes mit dem empfangenen Kanalsymbol identisch ist. Die Nächstzustandsfunktion aktualisiert auf der Basis der ausgewählten Codeworte (oder Wiedergabesvektoren) den internen Zustand des Decodierers. Unter der Annahme, daß der anfängliche Zustand des Codierers auch dem Decodierer bekannt ist, kann die Nächstzustandsfunktion des Decodie rers die Codiererzustände verfolgen. Die von dem Decodierer erzeugten Wiedergabesvektoren sind deshalb mit den entsprechenden, im Codierer bestimmten Wiedergabesvektoren identisch.
  • Zusammengefaßt ist bei gegebenem anfänglichem Zustand s&sub0; die Finite-State-Vektorquantisiercodierung die progressive Wiederholung der folgenden Operationen.
  • yi = q(xi, si)
  • i = p(yi, si)
  • si+1 = f( i, i-1,..., i-j+1)
  • Bei gegebenem anfänglichen Zustand s&sub0; ist die Decodieroperation des Finite-State-Vektorquantisierers als die progressive Wiederholung der folgenden Operationen zusammenge faßt.
  • i = p(yi, si)
  • si+1 = f( i, i-1,..., i-j+1)
  • SEITENANPASSUNGS-VEKTORQUANTISIERUNG
  • Ein Seitenanpassungs-Vektorquantisierer gemäß der vorliegenden Erfindung liegt innerhalb einer Klasse von FSVQ. Wie der Name "Seitenanpassung" schon sagt, versucht der Seitenanpassungsvektorquantisierer den Helligkeits(Graupegel-)Übergang über die Grenzen der Wiedergabesvektoren so glatt wie möglich zu machen. Den Seitenanpassungsvektorquantisierern liegt die Annahme zugrunde, daß es sich bei den Bildpunktzeilen und -spalten des Quellbildes um Markow-Prozesse erster Ordnung handelt. Falls die Annahme richtig ist, dann tragen die dem gegenwärtigen Block (dem zu codierenden Block) benachbarten Bildpunkte alle in der gesamten zurückliegenden Geschichte enthaltenen Informationen über den gegenwärtigen Block. Mit anderen Worten, falls die Bildpunktzeilen und -spalten Markow erster Ordnung sind, so ist der gegenwärtige Block bei gegebenen, dem gegenwärtigen Block benachbarten Bildpunkten von dem gesamten Rest der zurückliegenden Geschichte bedingt unabhängig. Unter Nichtbeachtung des Quantisierungseffektes auf die zurückliegende Geschichte muß daher der Zustand ausschließlich von dem zu codierenden Bildpunktblock benachbarten Bildpunkten erzeugt werden. Diese Tatsache steht mit dem Konzept der in Abschnitt 1 formulierten örtlichen Nachbarschaft (siehe die schraffierten Gebiete in Figur 7) in enger Beziehung. Die Annahme legt auch nahe, daß die beste Auswahl des Zustandscodelexikons die Menge der Codeworte, deren Grenzbildpunkte den Wiederga bebildpunkten am ähnlichsten sind, die zu der Zustandserzeugung beiträgt. Mit anderen Worten sollte das Zustandscodelexikon die Menge von Codeworten mit der besten "Seitenanpassung" sein. Die "Seitenanpassung" hat gegenüber anderen Arten von Finite-State-Vektorquantisierern den Vorteil, daß selbst dann, wenn der Wiedergabesvektor nicht das beste Codewort im Supercodelexikon ist, der Fehler, den er einführt, im reproduzierten Bild oft weniger sichtbar ist.
  • In Figur 2 wird der Gesamtaufbau des Seitenanpassungsvektorquantisierers als Blockdiagramm dargestellt. Alle Elemente im Diagramm werden in Kürze beschrieben. Um in diesem Abschnitt eine mögliche Verwirrung zu vermeiden, wird für die matrixartigen Vektoren mit Zeilen und Spalten der Ausdruck Blöcke und für Zeilenvektoren oder Spaltenvektoren Vektoren verwendet.
  • Um unter Verwendung der im vorausgegangenen Abschnitt verwendeten Sprache den Seitenanpassungsvektorquantisierer zu charakterisieren, wird mit der Definition des Zustandsraums begonnen. Es sei angenommen, daß alle Quell-(Bildpunkt-)Blöcke die Größe m mal n aufweisen, d.h. Matrizen mit m Reihen und n Spalten von Bildpunkten. Jeder Zustand wird durch ein Paar aus einem Spaltenzustandsvektor der Dimension m und einem Zeilenzustandsvektor der Dimension n dargestellt. Das heißt, ein Zustand hat die Form (u, v), wobei u ein Spaltenzustandsvektor ist und v ein Zeilenzustandsvektor. Die Spaltenzustandsvektoren sollen das Alphabet u haben, genannt Spaltenzustandsraum, und die Zeilenzustandßvektoren sollen das Alphabet v haben, genannt Zeilenzustandsraum. Der Zustandsraum ist dann das kartesische Produkt aus dem Spaltenzustandsraum und dem Zeilenzustandsraum, d.h. s = u x v. Die Bedeutung dieser Spalten- und Zeilenzustandsvektoren liegt darin, daß sie die Wiedergabesbildpunkte darstellen, die dem zu codierenden Quellblock benachbart sind.
  • Wie schon weiter oben erwähnt, muß ein Seitenanpassungsvektorquantisierer für jeden Zustand im Zustands raum ein Zustandscodelexikon aufweisen. Die Beschreibung von Zustandscodelexika wird unter der Annahme eines Supercodelexikons C begonnen. Bei einem gegebenen Zustand s = (u, v) wird das entsprechende Zustandscodelexikon als diejenige Untermenge des Supercodelexikons C bezeichnet, deren Elemente entlang den Seiten mit u und v am besten "übereinstimmen", d.h. entlang der ersten Spalte bzw. der ersten Zeile. Genauer gesagt soll die Seitenanpassungsverzerrung e wie folgt definiert sein. Zuerst sollen [x] und [x] die l. Spalten- bzw. l. Zeilenvektoren eines Blocks x bezeichnen. Das heißt, [x] = (x1l, x2l,...,xel)T und [x] = (x1l, x2l,...,xln), wobei xjl das Element von x in der j-ten Zeile und l-ten Spalte und der Hochindex T die Transponierte bezeichnet. Bei gegebenem Zustand s = (u,v) und einem m mal n Block x wird die Seitenanpassungsverzerrung für ein bestimmtes Verzerrungsmaß d und Gewichtungskonstanten a und b als e(s,x) = a d(u, [x] ) + b d(v, [x] definiert. So kann zum Beispiel das Verzerrungsmaß der mittlere quadratische Fehler und a = b = 1/2 sein. Das Zustandscodelexikon Cs für den Zustand s = (u, v) wird dann mit Ca = (c , c ,...,c ) definiert, derart daß die Elemente von Cs folgende Bedingungen erfüllen: c ε C für 1 = 1, 2,...,N. e(s,csli) ≤ e(s,csl2) immer dann, wenn l ≤ l&sub1; ≤ l&sub2; ≤ N ist. e(s,c ≤ e(s,c) für 1 = 1, 2,...,N und für alle c ε C-Cs. In Worten, bei einem gegebenen Zustand s ist das Zustandscodelexikon Cs eine Teilmenge des Supercodelexikons, die N Codeworte mit der kleinsten Seitenanpassungsverzerrung enthält, mit wachsender Ordnung von Seitenanpassungsverzerrung angeordnet. Es sei bei dieser Definition darauf hingewiesen, daß es sich bei dem Zustandscodelexikon nicht nur um eine Menge, sondern um eine geordnete Menge (eine Folge) handelt. Diese ordnenden Informationen sind von großer Bedeutung, wenn weiter unten die rauschfreie Codierung betrachtet wird.
  • Der Quantisierer und der Dequantisierer des Seitenanpassungsvektorquantisierers unterscheiden sich nicht von der allgemeinen Definition eines Finite-State- Vektorquantisierers bzw. -dequantisierers. Wie im vorangegangenen Abschnitt definiert, ist die Quantisiereroperation mit voller Suche mit dem Verzerrungsmaß d
  • und die Dequantisiereroperation ist p(y,s) = c derart, daß c ε Cs und η (c,Cs) = y.
  • Es wird nun die Nächstzustandsfunktion des Seitenanpassungsvektorquantisierers im Zusammenhang mit der eigentlichen Codierung beschrieben. Bei einem Seitenanpassungsvektorquantisierer tragen lediglich zwei zurückliegende Reproduktionsblöcke zu der Erzeugung des Zustands bei. Unter der Annahme, daß die Codierung in einem Bild zuerst von links nach rechts (von West nach Ost) und dann von oben nach unten (von Norden nach Süden) fortschreitet, sind diese beiden Reproduktionsblöcke die Nachbarn des nächsten Quellenblocks in der Nord- und Westrichtung, wie in Figur 7 gezeigt. Der schraffierte Bereich in Figur 7 entspricht den, die zu der Zustandserzeugung für die Codierung des letzten Blocks in der Figur beitragen. Es sei angenommen, daß alle Bildpunktblöcke bis zu xi zu ..., l-2, i-1 i codiert worden sind und daß die Nächstzustandsfunktion auf die Codierung von xi+1 vorbereitet. Die Nächstzustandsfunktionsoperation f wird dann dargestellt als si+1 = f( i, i-j+1), wobei J nun die Anzahl von Blockspalten in einem Bild ist (d.h. die Anzahl von Blöcken, die in die Bildbreite passen). Insbesondere bildet die Nächstzustandsfunktion den westlichen Wiedergabesblock i in den Spaltenzustandsvektor ui+1 und den nördlichen Wiedergabesblock i-J+1 in den Zeilenzustandsvektor vi+1 ab. Bei gegebenem Spaltenzustandsraum U und Zeilenzustandsraum V werden der Spaltenzustandsvektor und der Zeilenzustandsvektor durch die Regel der kleinsten Verzerrung erzeugt. Das heißt,
  • si+1 = (ui+1,vi+1)
  • = f( i, i-J+1)
  • Da der Definitionabereich und der Zielbereich der Abbildung f sowohl endlich als auch (hinsichtlich der Mächtigkeit) relativ klein sind, ist die Abbildung f durch eine Nachschlagetabelle realisiert.
  • Es werden nun die vorgeschlagenen Seitenanpassungsvektorquantisierer-Codier- und Decodierverfahren als auch das Auslegungsverfahren beschrieben. Bei Codiersituationen mit realen Bildern gibt es verschiedene Bildpunktblöcke, auf die der Seitenanpassungsvektorquantisierer nicht angewendet werden kann, da der Zustand nicht richtig definiert werden kann. Es handelt sich hierbei um die Blöcke an der oberen und der linken Grenze des Bildes. Da, wenn diesen Blöcken Zustände willkürlich zugewiesen werden, die Codierverzerrung nicht nur für diese, sondern auch für die ihnen folgenden Blöcke vergrößert wird, werden sie getrennt von den übrigen behandelt. Als Ergebnis steigt die Rate des Codes geringfügig an (typischerweise um Bruchteile von einem Prozent). Bei Vernachlässigung dieses Anstiegs beträgt die Rate des Seitenanpassüngsvektorquantisierers log&sub2;N/(m n) Bit pro Bildpunkt. Zum Beispiel beträgt bei m = n = 4 (Figur 7) und N = 256 die Rate 1/2 Bit pro Bildpunkt.
  • SMVQ-Codierverfahren
  • (1) Codieren der ersten Zeile und der ersten Spalte von Bildpunktblöcken im Bild durch speicherlose VQ (z.B. VQ mit voller Suche) mit dem Supercodelexikon. Für den Rest der Blöcke werden lediglich Schritte 2 und 3 wiederholt.
  • (2) Erzeugen des Zustands aus dem westlichen und dem nördlichen Wiedergabesblock.
  • (3) Codieren eines Blocks unter Verwendung des Quantisierers mit dem entsprechenden Zustandscodelexikon.
  • SMVQ-Decodierverfahren
  • (1) Decodieren der ersten Zeile und der ersten Spalte von Bildpunktblöcken im Bild durch Tabellennachschlagen im Supercodelexikon. Für den Rest der Blöcke werden Schritte 2 und 3 wiederholt.
  • (2) Erzeugen des Zustands aus dem westlichen und dem nördlichen Wiedergabesblock.
  • (3) Decodieren eines Blocks unter Verwendung des Dequantisierers mit dem entsprechenden Zustandscodelexikon.
  • Das Auslegungsverfahren des Seitenanpassungsvektorquantisierers ist einfach, da die Auslegung des Zustandgcodelexikons keine Quellenstatistiken erfordert.
  • Codelexikon-Auslegungsverfahren
  • Für die Verwendung der vorliegenden Erfindung zum Codieren zweidimensionaler Informationen ist die Auslegung der Zustandscodelexika nach dem Prinzip der "Seitenanpassung" und "Uberlappungsanpassung" wesentlich. Die erfolgreiche Auslegung hängt von der angemessenen Auswahl aus der riesigen Anzahl möglicher quantisierter Vektoren ab.
  • Pro zu codierenden Block gibt es 16 Bildpunkte. Bei dem typischen System sind für jeden Bildpunkt 256 Graustufen möglich. Aus diesem Grund gibt es für jeden Block (256)16 bzw. mehr als 40 Milliarden mögliche Vektoren.
  • Beginnend mit zweidimensionalen Datenfeldern oder visuellen Bildern, die in gewisser Weise als für die beabsichtigte Verwendung des Systems typisch angesehen werden können, muß bestimmt werden, welche Codevektoren der (256)¹&sup6; Möglichkeiten am repräsentativsten sind.
  • Im Gegensatz zum Auslegungsverfahren des Bezugsdokuments von Aravind und Gersho, das mit unterschiedlichen Zustandscodelexika beginnt, die dann zufälligerweise zusammengenommen ein Supercodelexikon umfassen, beginnt das Auslegungsverfahren der vorliegenden Erfindung, wie in Figur 4 gezeigt, mit dem Supercodelexikon als den besten 1024 Repräsentanten der in den Lernbildern gefundenen Bildpunktblöcke. Es kann jedes der gutbekannten Optimierungsverfahren, wie z.B. das Verfahren der maximalen Ähnlichkeit, wie es auf Vektoren angewendet wird, verwendet werden.
  • Als nächstes wird unter Verwendung der Grundsätze der "Seitenanpassung" und "Uberlappungsanpassung" zur Ausbildung der unterschiedlichen Zustandscodelexika aus dem Supercodelexikon wie folgt vorangeschritten:
  • Aus den über 10&sup6; möglichen Paaren rechter Spalten und unterer Zeilen der 10²&sup4; repräsentativen Blöcke des Supercodelexikons (um diejenigen zu erhalten, die für die oben erwähnte "Anpassung" verwendet werden, um zu codierende zweidimensionale Informationsblöcke einzugeben), werden diejenigen Paare von Spalten und Zeilen, die die Blöcke des Supercodelexikons am besten repräsentieren, wie folgt ausgewählt:
  • Für jedes Kandidatenpaar derartiger 10&sup6; Paare bilden die 256 am besten passenden Blöcke, deren oberste Zeile mit dem Zeilenabschnitt des Kandidatenpaars paarig ist und wobei die linke Spalte jedes Blocks mit dem Spaltenabschnitt des Kandidatenpaars paarig ist, ein vorläufiges Zustandscodelexikon. Wiederum können die am besten angepaßten Blöcke für jedes Kandidatenpaar durch irgendeines der gutbekannten Optimierungsverfahren für Vektoren, zum Beispiel minimaler Verzerrung der Seitenanpassung, bestimmt werden.
  • Aus den über 10&sup6; möglichen Zustandscodelexika wird eine reduzierte Menge = (128)² = 16.000 (ungefähr) als diejenige ausgewählt, die für die 256 Elemente von jedem die besten Summenergebnisse (kleinste Summenverzerrungen) aufweist, bei Anpassung an die Paarkombinationen aus 128 Zeilenabschnitten und den 128 Spaltenabschnitten.
  • Die Zustandscodelexika sind in einem Speicher oder in einer Speichervorrichtung, der bzw. die die Menge 19 von Zustandscodelexika in Figur 1 umfaßt, dargestellt.
  • Überlappungsanpassungsvektorquantisierer
  • Der Überlappungsanpassungsvektorquantisierer (OMVQ = Overlap-match vector quantizer) ist innerhalb einer Klasse von Finite-State-Vektorquantisierern, die dem Seitenanpassungs-Vektorquantisierer recht ähnlich ist. Im Gegensatz zu allen anderen VQ für Bilder jedoch, einschließlich dem Seitenanpassungsvektorquantisierer, werden die Quellen-(Bildpunkt-)Blöcke von OMVQ mit teilweisen Überlappungen ausgebildet. Mit anderen Worten, falls die Überlappungsbreite und -höhe no Spalten bzw. mo Zeilen beträgt, sind die ersten no Spalten eines Quellenblocks die Kopien der letzten no Spalten des Quellenblocks auf der linken Seite (im Westen), und die ersten mo Zeilen eines Quellenblocks sind die Kopien der letzten mo Zeilen des Quellenblocks direkt darüber (im Norden), mit Ausnahme der Blöcke entlang den Grenzen der Bilder. Diese Situation ist in Figur 8 für den Fall von m = n = 4 und mo = no = 1 dargestellt.
  • Da der Aufbau von OMVQ dem des Seitenanpassungs vektorquantisierers sehr ähnlich ist, werden die Bausteine der Überlappungsanpassungsvektorquantisierer durch Ausleihen der im vorausgegangenen Abschnitt eingeführten Notationen beschrieben. Das Blockdiagramm der Überlappungsanpassungsvektorquantisierer wird in Figuren 1 und 3 gezeigt. Für OMVQ sollen Quellblöcke der Größe m mal n betrachtet werden. Jeder Zustand im Zustandsraum wird dann durch ein Paar Blöcke dargestellt: ein Spaltenzustandsblock genannter m-mal-no-Block und ein Zeilenzustandsblock genannter m&sub0;-mal-n-Block. Das heißt, ein Zustand hat die Form (u,v), wobei u ein m-mal-no-Spaltenzustandsblock und v ein mo-mal-n-Zeilenzustandsblock ist. Die Spalten- und Zeilenzustandsblöcke sollen Alphabete u und v aufweisen, genannt der Spaltenzustandsraum bzw. Zeilenzustandsraum. Wie bei SMVQ ist der Zustandsraum S von OMVQ das kartesische Produkt u x v. Die Bedeutung dieser Spalten- und Zeilenzustandsblöcke liegt darin, daß sie die Wiedergabesbildpunkte darstellen, die den zu codierenden Quellenblock überlappen.
  • Das Zustandscodelexikon von OMVQ ist wie folgt definiert. Bei einem gegebenen Supercodelexikon C und einem Zustand s = (u,v) ist das entsprechende Zustandscodelexikon als die Untermenge von C definiert, deren Elemente im Überlappungsbereich mit u und v am besten "übereinstimmt". Um die Zustandscodelexika von OMVQ zu beschreiben, wird die Anpassungsverzerrung e neu definiert und als die Überlappungsanpassungsverzerrung bezeichnet. Als eine Erweiterung der weiter oben lingeführten Notationen sollen [x] 1, l2, ..., lj und [x] 1, l2, ..., lj die m-mal-j- und j-mal-n-Blöcke kennzeichnen, die durch das Sammeln der Spalten l&sub1; bis lj bzw. das Sammeln der Zeilen l&sub1; bis lj gebildet werden. Bei gegebenem Zustand s = (u,v) und einem m-mal-n-Block x ist die Überlappungsanpassungsverzerrung bei einem bestimmten Verzerrungsmaß d und Konstanten a und b definiert als e(s,x) = ad(u, [x] 1, l2, ..., lno) + bd(v, [x] 1, l2, ..., lmo) Die Definition der Zustandscodelexika von OMVQ ist dann die gleiche wie die bei SMVQ, wobei die Seitenanpassungsverzerrung durch die Überlappungsanpassungsverzerrung ersetzt ist. Das heißt, bei einem gegebenen Supercodelexikon C und einem Zustand s = (u,v) ist das Zustandscodelexikon Cs für den Zustand s als Cs = (c , c , ...,c ) definiert, derart daß die Elemente von Cs den Bedingungen (A), (B) und (C) des vorausgegangenen Abschnitts genügen. Es soll wieder hervorgehoben werden, daß die Elemente von jedem Zustandscodelexikon sequentiell geordnet sind.
  • Wie schon gezeigt worden ist, unterscheiden sich die Zustandscodelexika von OMVQ, der Quantisierer und der Dequantisierer von OMVQ nicht von denjenigen der allgemeinen FSVQ.
  • Zur Beschreibung der Nächstzustandsfunktion von OMVQ sei angenommen, daß alle teilweise überlappten Quellblöcke bis zu xi zu ..., i-2, i-1, i codiert worden sind. Der Zustand si+1 wird dann durch die Nächstzustandsfunktion f als si+1 = f( i, i-J+1) erzeugt, wobei J nun die Anzahl der teilweise überlappenden Blockspalten in einem Bild ist (d.h. die Anzahl der teilweise überlappenden Blöcke, die in die Bildbreite passen). Falls n die Anzahl der Bildpunktspalten im Bild kennzeichnet, kann J durch J = ( -n)/(n-no) + 1 berechnet werden. Insbesondere bildet die Nächstzustandsfunktion den westlichen Wiedergabesblock i in den Spaltenzustandsblock ui+1 und den nördlichen Wiedergabesblock i-J+1 in den Zeilenzustandsblock vi+1 ab. Bei gegebenem Spaltenzustanderaum u und Zeilenzustandsraum v werden der Spaltenzustandsblock und der Zeilenzustandsblock durch die Regel der minimalen Verzerrung erzeugt. Das heißt, si+1 = (ui+1,vi+1)
  • = f( i, i-J+1)
  • Da der Definitionsbereich und der Zielbereich der Abbildung f sowohl endlich als auch (hinsichtlich der Mächtigkeit) relativ klein sind, wird die Abbildung f durch eine Nachschlagetabelle realisiert. Die Bildpunkte, die zu der Zustandserzeugung beitragen, sind in Figur 8 als die schraffierte Fläche gezeigt.
  • Wie wohl festzustellen war, ist die Definition von OMVQ parallel zu der von SMVQ. Insbesondere wenn mo = no = 1 ist, kann man OMVQ als SMVQ mit einem einfachen Vorprozessor betrachten. Das auf ein Bild angewendete OMVQ-Verfahren ist mit dem auf das erweiterte Bild angewendeten SMVQ-Verfahren insbesondere dann identisch, wenn der Vorprozessor das "erweiterte Bild" durch Duplizieren von Bildpunktzeilen und -spalten, die sich in dem Überlappungsbereich von OMVQ befunden hätten, aufbaut. Es sei allerdings darauf hingewiesen, daß auch das rekonstruierte Bild erweitert ist.
  • Um das Wiedergabesbild wiederzugewinnen, das die Größe des Quellenbildes aufweist, wird ein weiterer Baustein, Überlappungsentfernungsfunktion genannt, eingeführt, der jedes Paar duplizierter Bildpunkte in einen Wiedergabesendbildpunkt abbildet. Aufgrund des Quantisierungsfehlers sind die duplizierten Bildpunkte in der Wiedergabe mit ihren Zwillingsbrüdem nicht identisch. Mit anderen Worten liegen für jeden duplizierten Bildpunkt zwei unterschiedliche Wiedergabesversionen vor. Es ist durchaus denkbar, daß diese beiden Wiedergabesversionen über den Quellenbildpunkt mehr Informationen enthalten als eine einzelne Wiedergabe. Die Überlappungeentfernungsfunktion sollte aus diesem Grund nicht einfach eine der beiden Wiedergabesversionen verwerfen. Genauer gesagt sei die Überlappungsbeseitigungsfunktion h eine Abbildung, die auf jedes Zwillingspaar von Wiedergabesbildpunkten zutrifft, das im Codierer dupliziert wird und einen Wiedergabesendbildpunkt erzeugt. Falls x&sub1; und x&sub2; ein Zwillingspaar von Wiedergabesbildpunkten kenn zeichnen, wird der Wiedergabesendbildpunkt als = h(x&sub1;, x&sub2;) dargestellt. Ein Beispiel der Überlappungsbeseitigungsfunktion ist h(x&sub1;,x&sub2;) = (x&sub1; + x&sub2;)/2.
  • Es werden nun die OMVQ-Codier- und Decodierverfahren als auch das Auslegungsverfahren beschrieben. Bei gegebenen Zustandscodelexika und gegebener Nächstzustandsfunktion ist das Codierverfahren von OMVQ mit dem von SMVQ identisch, mit der Ausnahme, daß die Quellenblöcke einander teilweise überlappen. Auf der anderen Seite benotigt das Decodierverfahren von OMVQ im Vergleich zum SMVQ-Decodierverfahren einen Schritt mehr, nämlich die Überlappungsbeseitigungsoperation. Das Decodierverfahren von OMVQ ist somit ganz einfach das von SMVQ, gefolgt von der Überlappungsbeseitigungsoperation.
  • Das Auslegungsverfahren von OMVQ ist wiederum dem von SMVQ ähnlich und kann durch Figur 4 dargestellt werden.
  • OMVQ-Auslegungsverfahren
  • (1) Supercodelexikon:
  • Entwerfen eines Supercodelexikons unter Verwendung irgendeines Codelexikonauslegungsalgorithmus.
  • (2) Zustandsraum:
  • Erzeugen von Spaltenzustandsraum und Zeilenzustandsraum durch einen Codelexikonauslegungsalgorithmus unter Verwendung der letzten na Spalten bzw. der letzten mo Zeilen des Codewortes im Supercodelexikon als die Lernmengen.
  • (3) Zustandscodelexikon:
  • Auslegen eines Zustandscodelexikons durch Wählen der Untermenge des Supercodelexikons, die den Bedingungen der Zustandscodelexika, oben beschrieben unter "Auslegungsverfahren" genügt. Wenn mo = no = 1 ist, können Supercodelexikon, Zustandscodelexika und Zustandsraum zwischen SMVQ und OMVQ austauschbar verwendet werden.
  • Die Frage des rauschfreien Codierens des Codewortindexes zur Übertragung wird nun wiederaufgegriffen.
  • Wegen der hohen Korrelation von Bildern und dem Ordnen in jedem Zustandscodelexikon durch die Anpassungsverzerrung kann man sich denken, daß die Kanalsymbolver teilung einen monoton abnehmenden Trend annimmt. Experimentell wurde festgestellt, daß die Kanalsymbolverteilung für gewisse Konstanten a und b tatsächlich in der Nähe von {b µ-a: µ = 1,2,...,N} ist. Im folgenden Text wird für die schnell abklingenden Verteilungen eine Klasse von rauschf reien Codes mit nur wenigen Pegeln vorgeschlagen, und es wird gezeigt, daß sie fast optimal sind.
  • Bei dem vorgeschlagenen rauschfreien Code handelt es sich im Grunde um den für die Treppenannäherung an schnell abklingende Verteilungen ausgelegten, gut bekann ten Huffman-Code. Wenn es sich bei der Anzahl von Symbolen nicht um einen Exponent von 2 handelt, können sich der vorgeschlagene rauschfreie Code und der Huffman Code für die Annäherung jedoch geringfügig unterscheiden. Bei einer gegebenen schnell abnehmenden Wahrscheinlichkeits verteilung P, (P&sub1;, P&sub2;,...,PN) soll die Treppenannäherung derart definiert werden, daß für j = 0,1,2,...,log&sub2; N unter der Annahme, daß log&sub2; N eine ganze Zahl ist,
  • (A) µ = &theta;, für alle 2j-1 < µ, &theta; &le; 2j
  • Wegen Teil (B) der Definition ist ebenfalls eine Wahrscheinlichkeitsverteilung. Bei großem N ist die Auslegung des Huffman Codes für im allgemeinen keine einfache Aufgabe. Da allerdings die Verteilung in einer besonderen Form vorliegt, kann die Auslegung des Huffman Codes wie folgt stark vereinfacht werden. Zuerst wird ein Huffman-Vorsatzcode für die Menge von Wahrscheinlichkeiten ausgelegt,
  • Um Symbole innerhalb des Summierungsintervalls zu unterscheiden, wird an den Huffman-Vorsatzcode für jedes j ein einfacher binärer Code fester Länge, Nachsatz genannt, angehängt. Für jedes j beträgt die Anzahl von Symbolen innerhalb des Summierungsintervalls [2j-1], wobei [x] die kleinste ganze Zahl kennzeichnet, aber nicht kleiner als x, und somit ist die Länge des Nachsatzes max {j-1, 0}. In diesem Zusammenhang hat "Vorsatzcode" zwei Bedeutungen: die eine ist, daß jedes binäre Codewort in einem Vorsatzcode kein Vorsatz in irgendeinem anderen binären Codewort in dem Code ist, und die andere ist, daß es sich um einen Vorsatz zu dem Nachsatz handelt. Der resultierende rauschfreie Code ist auch ein Vorsatzcode im ersteren Sinne. Es ist außerdem nicht schwierig, zu zeigen, daß, wenn N ein Exponent von 2 ist, der vorge schlagene rauschfreie Code für die Verteilung P optimal ist.
  • Codebuch-Auslegung
  • In Figur 4 wird anhand eines Flußdiagramms das Verfahren gezeigt, mit dem das Supercodelexikon und alle daraus abgeleiteten Zustandscodelexika ausgelegt werden. Zunächst sollten die Lernbilder derart ausgewählt werden, daß sie hinsichtlich einer bestimmten wichtigen Eigenschaft den zu übertragenden Bildern statistisch ähnlich sind. Diese werden als Lernbilder bezeichnet. Im ersten Schritt werden diese Lernbilder im Schritt 61 in kleine Blöcke geteilt. Diese Lernblöcke werden dann über den Lloyd-Anhäufungsalgorithmus angehäuft.
  • Das Endergebnis des Anhäufungsverfahrens ist, daß es den Aufbau eines Supercodelexikons von vektorquantisierten Codes, z.B. ganze 1024, gestattet. Im nächsten Schritt zum Zusammenfügen von Zustandscodelexika aus dem Supercodelexikon wird mit dem Ableiten der Eigenschaften begonnen, womit aus dem Supercodelexikon verschiedene Komponenten für die Zustandscodelexika ausgewählt werden können. Der erste Schritt bei diesem Verfahren wird in Schritt 63 illustriert, bei dem es um die Auswahl der letzten Bildpunktspalte für jedes Codewort geht, das in dem Supercodelexikon einen Block darstellt. Diese Mengen von letzten Bildpunktspalten werden gemäß dem Lloyd- Anhäufungsalgorithmus im Schritt 64 angehäuft. Das Parallelverfahren, bei dem die letzte Bildpunktzeile ausgewählt wird, enthält die parallelen Schritte 65 und 66; und der Anhäufungsschritt 66 für die Zeilenvektoren wählt wiederum aus dem Supercodelexikon die N Codeworte mit minimaler Anpassungsverzerrung aus, so daß aus diesen beiden parallelen Verfahren schließlich Zustandscodelexika erhalten werden, die jeweils eine Größe N aufweisen, z.B. N=256. Insbesondere werden die Informationen in den angehäuften Codeworten wie folgt organisiert: Für jedes u bzw. v, bei denen es sich um Wertepaare mit u im Spaltenzustandsraum und v im Zeilenzustandsraum handelt, werden aus dem Supercodelexikon die N Codeworte mit minimaler Anpassungsverzerrung ausgewählt. Die Auswahl von Codeworten mit minimaler Anpassungsverzerrung, wie im Schritt 67 erfordert, beinhaltet Anpassungsverzerrungsberechnung und -suche, die rechenintensiv sind, um zum Beispiel 16.000 Zustandscodelexika zu erstellen. Es ist vorteilhaft, daß diese intensive Berechnung mit analogen Bildern vor dem Echtzeitbetrieb von Sender 10 aus Figur 1 erreicht wird.
  • In Figur 5 wird ein Flußdiagramm gezeigt, durch das der Betrieb von Codierer 41 aus Figur 1 auf geringfügig unterschiedliche Weise erläutert werden kann, um daß Verständnis zu fördern. Die Schritte hier haben offensichtliche Analogien in dem Block in Figur 1. So zum Beispiel teilt Schritt 71 das zu übertragende eingegebene Bild in kleine Blöcke von vier-mal-vier-Bildpunkten. Schritt 72 sucht den nächsten Nachbarn des Codeworts im gegenwärtigen Zustandslexikon, gemäß der schon beschriebenen Technik der Suche nach dem nächsten Nachbarn mit dem kleinsten mittleren quadratischen Fehler. Der aus dem Zustandscodelexikon abgeleitete resultierende Codewortindex wird dann im Schritt 73 wieder in sein Codewort umgewandelt, um die Vergangenheitsbildstatistik bereitzustellen, die, wie oben mathematisch beschrieben, für die Techniken der kleinsten Kantenunterbrechung oder der kleinsten Überlappungsunterbrechung benötigt wird. Der Codewortindex wird auch auf den binären Übertragungscodierschritt 74 angewendet, um in Schritt 75 dem Index ein rauschfreies, binäres Codewort variabler länge zuweisen zu können. Das aus dem Tabellennachschlagen von Schritt 73 resultierende Codewort (analog zum Dequantisierer 13) wird auf die Logikschaltung 42 von Figur 1 angewendet, wie in den Schritten von Figur 6 gezeigt. Es sei darauf hingewiesen, daß Figuren 5 und 6 zueinander passen. Wie in Figur 5 für die Seitenanpassungsoperation benachbarter Spalten gezeigt, führt dieser Schritt 81 eine Verzögerung um einen Block ein, so daß der codierte Block links von dem gegenwartig codierten Bildpunktblock x während der Codierung von x dargestellt werden muß. Jener codierte Block unmittelbar links von Bildpunktblock x ist in der letzten vorausgegangenen Bildpunktspalte, wobei es sich dabei, wie in Schritt 83 festgestellt, um den nächsten Nachbarn im Spaltenzustandsraum handelt. Für jenen Spaltenzustand u wird dann ein aus den analogen Blöcken 84, 85 und 86 abgeleiteter ähnlicher Vektor v eingesetzt, was zu einer größeren Verzögerung führt, so daß der Block in der zuvor codierten Zeile oder Menge von Zeilen für die Kontinuitätsprüfung verwendet wird, was zu einem Zeilenzustandsvektor v führt (der den nächsten Nachbarn im niedrigeren Zustand darstellt). Danach wird durch Tabellennachschlagen das entsprechende Zustandscodelexikon für die Vektoren u und v gesucht, was im Schritt 87 zur Wahl eines Zustandscodelexikons führt. An dieser Stelle sei darauf hingewiesen, daß der Unterschied zwischen Seitenanpassung und Überlappungsanpassung folgender ist: Bei der erfindungsgemäßen Seitenanpassungsvektorquantisierung werden die Bildpunktblöcke der Bilder nicht überlappt, so daß Zeilen 1, 2, 3 und 4 die erste Menge von Blöcken, Zeilen 5, 6, 7 und 8 die zweite Menge von Blöcken usw. darstellen, und ein ähnliches Prinzip gilt für die Spalten. Bei der Überlappungsanpassungsvektorquantisierung stellen Zeilen 1, 2, 3 und 4 die erste Menge von Blöcken dar, danach stellen Zeilen 4, 5, 6 und 7 die zweite Menge von Blöcken dar, so daß die Bildpunkte in Zeile 4 nun nach angemessenen Verzögerungen sequentiell derart in unterschiedliche Blöcke codiert werden, daß das Ausmaß der Helligkeitsveränderung in ihrer Codierung von Zeile zu Zeile 80 klein wie möglich gehalten wird. Die Veränderung wird durch die Überlappung auf einem Mindestmaß gehalten, doch wird eine gewisse Veränderung durch die Tatsache erzwungen, daß im Block, andere Werte vorliegen, zum Beispiel aus Zeile 3. Diese beiden Techniken stehen dahingehend im Gegensatz zu der Technik von Aravind und Gersho, daß letzterer das Ausmaß der Kontinuität zwischen Bildpunkten über eine Kante hinweg betont, die möglicherweise durch den Block hindurchläuft, ohne zu den Kanten der jeweiligen Blöcke selbst zu laufen. Im Gegensatz dazu verwendet das erfindungsgemäße Verfahren die örtliche Nachbarschaft ohne das Ausmaß an Abschwächung, das beim Umwandeln von Bild punktwerten in indirekte Informationen auftritt, wie dies bei Aravind und Gersho der Fall ist.

Claims (8)

1. Verfahren zum Codieren eines Signals zum Bilden eines codierten Signals, wobei das Signal einen bestimmten Block in einer Gruppe von in Zeilen und Spalten angeordneten Blöcken darstellt, wobei jeder Block in der Gruppe von Blöcken eine Gruppe von ebenfalls in Zeilen und Spalten angeordneten Bildpunkten umfaßt und das Verfahren folgende Schritte umfaßt:
a. Auswählen, allein basierend auf dem Block, der sich in den mehreren Blöcken zwar in der gleichen Spalte wie der bestimmte Block, aber in der unmittelbar vorangehenden Zeile befindet, und basierend auf dem Block, der sich in den mehreren Blöcken zwar in der dem bestimmten Block unmittelbar vorangehenden Spalte, aber in der gleichen Zeile befindet, eines Codelexikons aus mehreren Codelexika, wobei jedes Codelexikon Codeworte umfaßt und wobei jedes Codewort einen zugeordneten Index aufweist;
b. Auswählen, basierend auf einem vorbestimmten Fehlerkriterium, eines Codewortes, das dem bestimmten Block am nächsten kommt, in dem ausgewählten Codelexikon;
c. Bilden des codierten Signals auf der Basis des dem ausgewählten Codewort zugeordneten Indexes; und
d. Ubertragen des codierten Signals über einen Nachrichtenkanal; dadurch gekennzeichnet, daß
das Auswählen eines Codelexikons allein auf der Basis der letzten Zeile von Bildpunkten in dem Block, der sich in den mehreren Blöcken zwar in der gleichen Spalte wie der bestimmte Block, aber in der unmittelbar vorangehenden Zeile befindet, und der letzten Spalte von Bildpunkten in dem Block, der sich in den mehreren Blöcken zwar in der dem bestimmten Block unmittelbar vorangehenden Spalte, aber in der gleichen Zeile befindet, erfolgt.
2. Verfahren nach Anspruch 1, wobei der Schritt des Auswählens eines Codelexikons folgende Schritte umfaßt:
a. Bilden eines ersten Codewortes basierend auf einem ersten Index, wobei der erste Index demjenigen Codewort in dem Codelexikon zugeordnet ist, das dazu verwendet wird, den Block zu codieren, der sich zwar in der gleichen Spalte wie der bestimmte Block, aber in der unmittelbar vorangehenden Zeile befindet;
b. Bilden eines zweiten Codewortes basierend auf einem zweiten Index, wobei der zweite Index demjenigen Codewort in dem Codelexikon zugeordnet ist, das dazu verwendet wird, den Block zu codieren, der sich zwar in der dem bestimmten Block unmittelbar vorangehenden Spalte, aber in der gleichen Zeile befindet;
c. Erzeugen eines Zeilenzustandsausgangssignals durch Verzögern des ersten Codewortes um eine Zeile und Filtern des ersten Codewortes, um nur die letzte Zeile von Bildpunkten in der Gruppe von Bildpunkten in dem Block durchzulassen, der sich zwar in der gleichen Spalte wie der bestimmte Block, aber in der unmittelbar vorangehenden Zeile befindet;
d. Erzeugen eines Spaltenzustandsausgangssignals durch Verzögern des zweiten Codewortes um eine Spalte und Filtern des zweiten Codewortes, um nur die letzte Spalte von Bildpunkten in der Gruppe von Bildpunkten in dem Block durchzulassen, der sich zwar in der dem bestimmten Block unmittelbar vorangehenden Spalte, aber in der gleichen Zeile befindet;
e. Auswählen des Codelexikons basierend auf dem Zeilenzustandsausgangssignal und den Spaltenzustandsausgangssignalen.
3. Verfahren nach Anspruch 1, wobei der Schritt des Auswählens eines Codewortes folgende Schritte umfaßt:
a. Erzeugen eines Supercodelexikons basierend auf einer von einer Menge von Lernblöcken abgeleiteten Menge von Codeworten, wobei jeder der Lernblöcke eine Gruppe von Bildpunkten umfaßt, und
b. Erzeugen mehrerer Codelexika aus dem Supercodelexikon durch ein Verfahren, das folgende Schritte umfaßt:
i. Paarbildung zwischen demjenigen Teil jedes der Codeworte in den Lernblöcken, der die letzte Zeile von Bildpunkten in den Lernblöcken darstellt, und demjenigen Teil jedes der Codeworte in den Lernblöcken, der die letzte Spalte von Bildpunkten in den Lernblöcken darstellt,
ii. Auswählen, für jedes der Paare, einer gemäß einem Fehlerkriterium am besten zu dem Paar passenden Untermenge der Menge von Codeworten, wobei die Untermenge von Codeworten das jedem der Paare zugeordnete Codelexikon bildet, und
iii. weiteres Auswählen einer Untermenge der Codelexika, wobei die Codeworte jedes der ausgewählten Codelexika in der Untermenge von Codelexika einem Verzerrungsmaß genügen.
4. Verfahren zum Decodieren eines von einem Nachrichtenkanal empfangenen Signals zum Bilden eines decodierten Signals, wobei das Signal einen einem Codewort zugeordneten Index darstellt, wobei das Codewort einen bestimmten Block in einer Gruppe von in Zeilen und Spalten angeordneten Blöcken darstellt, wobei jeder Block eine Gruppe von ebenfalls in Zeilen und Spalten angeordneten Bildpunkten umfaßt und das Verfahren folgende Schritte umfaßt:
a. Empfangen des Signals von dem Nachrichtenkanal;
b. Auswählen eines Codelexikons aus mehreren Codelexika, wobei in jedem Codelexikon mehrere Codeworte gespeichert sind und wobei ein Index jedes der Codeworte identifiziert, wobei das Auswählen allein auf der Basis der Blockzeile, die sich zwar in der gleichen Spalte wie der bestimmte Block, aber in der unmittelbar vorangehenden Zeile befindet, und auf der Basis des Blocks, der sich in der dem bestimmten Block zwar unmittelbar vorangehenden Spalte, aber in der gleichen Zeile befindet, erfolgt;
c. Bestimmen des Codewortes für den bestimmten, von dem Index identifizierten Block nur aus den Codeworten in dem ausgewählten Codelexikon; und
d. Bilden des decodierten, Codewort-basierenden Signals; dadurch gekennzeichnet, daß
das Auswählen allein auf der Basis der letzten Zeile von Bildpunkten im Block, der sich zwar in der gleichen Spalte wie der bestimmte Block, aber in der unmittelbar vorangehenden Zeile befindet, und auf der Basis der letzten Spalte von Bildpunkten im Block, der sich zwar in der dem bestimmten Block unmittelbar vorangehenden Spalte, aber in der gleichen Zeile befindet, erfolgt.
5. Verfahren nach Anspruch 4, wobei der Schritt des Auswählens eines Codelexikons folgende Schritte umfaßt:
a. Bilden eines ersten Codewortes basierend auf einem ersten Index, wobei der erste Index demjenigen Codewort in dem Codelexikon zugeordnet ist, das dazu verwendet wird, den Block zu codieren, der zwar sich in der gleichen Spalte wie der bestimmte Block, aber in der unmittelbar vorangehenden Zeile befindet;
b. Bilden eines zweiten Codewortes basierend auf einem zweiten Index, wobei der zweite Index demjenigen Codewort in dem Codelexikon zugeordnet ist, das dazu verwendet wird, den Block zu codieren, der sich zwar in der dem bestimmten Block unmittelbar vorangehenden Spalte, aber in der gleichen Zeile befindet;
c. Erzeugen eines Zeilenzustandsausgangssignals durch Verzögern des ersten Codewortes um eine Zeile und Filtern des ersten Codewortes, um nur die letzte Zeile von Bildpunkten in der Gruppe von Bildpunkten in dem Block durchzulassen, der sich zwar in der gleichen Spalte wie der bestimmte Block, aber in der unmittelbar vorangehenden Zeile befindet;
d. Erzeugen eines Spaltenzustandsausgangssignals durch Verzögern des zweiten Codewortes um eine Spalte und Filtern des zweiten Codewortes, um nur die letzte Spalte von Bildpunkten in der Gruppe von Bildpunkten in dem Block durchzulassen, der sich zwar in der dem bestimmten Block unmittelbar vorangehenden Spalte, aber in der gleichen Zeile befindet; und
e. Auswählen des Codelexikons basierend auf dem Zeilenzustandsausgangssignal und den Spaltenzustandsausgangssignalen.
6. Verfahren nach Anspruch 4, wobei der Schritt des Auswählens eines Codelexikons folgende Schritte umfaßt:
a. Erzeugen eines Supercodelexikons basierend aüf einer von einer Menge von Lernblöcken abgeleiteten Menge von Codeworten, wobei jeder der Lernblöcke eine Gruppe von Bildpunkten umfaßt; und
b. Erzeugen mehrerer Codelexika aus dem Supercodelexikon durch ein Verfahren, das folgende Schritte umfaßt:
i. Paarbildung zwischen demjenigen Teil jedes der Codeworte in dem Lernblock, der die letzte Zeile von Bildpunkten in den Lernblöcken darstellt, und demjenigen Teil jedes der Codeworte in den Lernblöcken, der die letzte Spalte von Bildpunkten in den Lernblöcken darstellt,
ii. Auswählen, für jedes der Paare, einer gemäß einem Fehlerkritenum am besten zu dem Paar passenden Untermenge der Menge von Codeworten, wobei die Untermenge von Codeworten das jedem der Paare zugeordnete Codelexikon bildet, und
iii. weiteres Auswählen einer Untermenge der Codelexika, wobei die Codeworte jedes der ausgewählten Codelexika in der Untermenge von Codelexika einem Verzerrungsmaß genügen.
7. System zum Codieren eines Signals zum Bilden eines codierten Signals, wobei das Signal einen bestimm ten Block in einer Gruppe von in Zeilen und Spalten angeordneten Blöcken darstellt, wobei jeder Block in der Gruppe von Blöcken eine Gruppe von ebenfalls in Zeilen und Spalten angeordneten Bildpunkten umfaßt und das System folgendes umfaßt:
a. Mittel zum Auswählen, allein basierend auf dem Block, der sich in den mehreren Blöcken zwar in der gleichen Spalte wie der bestimmte Block, aber in der unmittelbar vorangehenden Zeile befindet, und auf dem Block, der sich in den mehreren Blöcken zwar in der dem bestimmten Block unmittelbar vorangehenden Spalte, aber in der gleichen Zeile befindet, eines Codelexikons aus mehreren Codelexika, wobei jedes Codelexikon Codeworte umfaßt und wobei jedes Codewort einen zugeordneten Index aufweist;
b. Mittel zum Auswählen, basierend auf einem vorbestimmten Fehlerkritenum, eines Codewortes, das dem bestimmten Block am nächsten kommt, in dem ausgewählten Codelexikon;
c. Mittel zum Bilden des codierten Signals auf der Basis des dem ausgewählten Codewort zugeordneten Indexes; und
d. Mittel zum Übertragen des codierten Signals über einen Nachrichtenkanal; dadurch gekennzeichnet, daß
das Mittel zum Auswählen eines Codelexikons angeordnet ist, um das allein auf der letzten Zeile von Bildpunkten in dem Block, der sich in den mehreren Blöcken zwar in der gleichen Spalte wie der bestimmte Block, aber in der unmittelbar vorangehenden Zeile befindet, und der letzten Spalte von Bildpunkten in dem Block, der sich in den mehreren Blöcken in der dem bestimmten Block zwar unmittelbar vorangehenden Spalte, aber in der gleichen Zeile befindet, basierende Codelexikon auszuwählen.
8. System zum Decodieren eines von einem Nachrichtenkanal empfangenen Signals zum Bilden eines decodierten Signals, wobei das Signal einen einem Codewort zugeordneten Index darstellt, wobei das Codewort einen bestimmten Block in einer Gruppe von Blöcken darstellt, wobei jeder Block eine Gruppe von Bildpunkten umfaßt und das System folgendes umfaßt:
a. Mittel zum Empfangen des Signals von dem Nachrichtenkanal;
b. Mittel zum Auswählen eines Codelexikons aus mehreren Codelexika, wobei in jedem Codelexikon mehrere Codeworte gespeichert sind und wobei ein Index jedes der Codeworte identifiziert, wobei das Auswählen allein auf der Basis des Blocks, der sich zwar in der gleichen Spalte wie der bestimmte Block, aber in der unmittelbar vorangehenden Zeile befindet, und auf der Basis des Blocks, der sich in der dem bestimmten Block zwar unmittelbar vorangehenden Spalte, aber in der gleichen Zeile befindet, erfolgt;
c. Mittel zum Bestimmen des Codewortes für den bestimmten, von dem Index identifizierten Block nur aus den Codeworten in dem ausgewählten Codelexikon; und
d. Mittel zum Bilden des decodierten Codewortbasierenden Signais, dadurch gekennzeichnet, daß
das Mittel zum Auswählen angeordnet ist, das allein auf der letzten Zeile von Bildpunkten im Block, der sich zwar in der gleichen Spalte wie der bestimmte Block, aber in der unmittelbar vorangehenden Zeile befindet, und auf der Basis der letzten Spalte von Bildpunkten im Block, der sich zwar in der dem bestimmten Block unmittelbar vorangehenden Spalte, aber in der gleichen Zeile befindet, basierende Auswählen auszuführen.
DE68926876T 1988-11-18 1989-11-10 Vorrichtung zur Vektorquantisierung von Bildern Expired - Fee Related DE68926876T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US27286088A 1988-11-18 1988-11-18

Publications (2)

Publication Number Publication Date
DE68926876D1 DE68926876D1 (de) 1996-08-29
DE68926876T2 true DE68926876T2 (de) 1996-12-19

Family

ID=23041616

Family Applications (1)

Application Number Title Priority Date Filing Date
DE68926876T Expired - Fee Related DE68926876T2 (de) 1988-11-18 1989-11-10 Vorrichtung zur Vektorquantisierung von Bildern

Country Status (5)

Country Link
US (1) US5444800A (de)
EP (1) EP0369689B1 (de)
JP (1) JPH07112279B2 (de)
CA (1) CA1315392C (de)
DE (1) DE68926876T2 (de)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2679720A1 (fr) * 1991-07-24 1993-01-29 Telediffusion Fse Un procede de codage de signaux d'image hybride adaptatif.
US5696851A (en) * 1993-04-30 1997-12-09 Comsat Corporation Codeword-dependent post-filtering for vector quantization-based image compression
KR950002458A (ko) * 1993-06-02 1995-01-04 이헌조 영상신호의 압축/신장 장치
JPH0787327A (ja) * 1993-09-17 1995-03-31 Fuji Xerox Co Ltd 画像符号化装置
JP3013698B2 (ja) * 1994-04-20 2000-02-28 松下電器産業株式会社 ベクトル量子化符号化装置と復号化装置
EP0768002B1 (de) * 1994-06-27 1998-09-23 Kodak Limited Kompressions- und expansionsalgorithmus mit verlusten für bilddarstellungsdaten
JP3540855B2 (ja) * 1995-03-08 2004-07-07 シャープ株式会社 ブロック歪み補正器
US6404923B1 (en) * 1996-03-29 2002-06-11 Microsoft Corporation Table-based low-level image classification and compression system
US6075470A (en) * 1998-02-26 2000-06-13 Research In Motion Limited Block-wise adaptive statistical data compressor
US6330531B1 (en) * 1998-08-24 2001-12-11 Conexant Systems, Inc. Comb codebook structure
US6546049B1 (en) * 1998-10-05 2003-04-08 Sarnoff Corporation Parameterized quantization matrix adaptation for video encoding
WO2002017538A2 (en) * 2000-08-18 2002-02-28 The Regents Of The University Of California Fixed, variable and adaptive bit rate data source encoding (compression) method
US6985633B2 (en) * 2001-03-26 2006-01-10 Ramot At Tel Aviv University Ltd. Device and method for decoding class-based codewords
US6798360B1 (en) * 2003-06-27 2004-09-28 Canadian Space Agency Method and system for compressing a continuous data flow in real-time using recursive hierarchical self-organizing cluster vector quantization (HSOCVQ)
SE0401850D0 (sv) * 2003-12-19 2004-07-08 Ericsson Telefon Ab L M Image processing
SE526226C2 (sv) * 2003-12-19 2005-08-02 Ericsson Telefon Ab L M Bildbehandling
KR100718134B1 (ko) * 2005-07-21 2007-05-14 삼성전자주식회사 비트율에 적응적인 영상 데이터 이진 산술 부호화/복호화장치 및 방법
US7627182B2 (en) * 2005-12-30 2009-12-01 Intel Corporation Method and apparatus for varied format encoding and decoding of pixel data
EP2005614A4 (de) * 2006-03-17 2012-02-22 Nortel Networks Ltd Mimo-systeme und verfahren mit geschlossener schleife
US7787691B2 (en) * 2006-04-11 2010-08-31 Telefonaktiebolaget Lm Ericsson (Publ) High quality image processing
JP2008017304A (ja) * 2006-07-07 2008-01-24 Nippon Hoso Kyokai <Nhk> 画像符号化装置、画像復号装置、画像符号化方法、及び画像符号化するプログラム
US8385670B2 (en) 2008-08-20 2013-02-26 Microsoft Corporation Image restoration by vector quantization utilizing visual patterns
US8555145B2 (en) * 2008-09-04 2013-10-08 Apple Inc. Systems and methods of encoding using a reduced codebook with adaptive resetting
US8559733B2 (en) * 2009-03-31 2013-10-15 Citrix Systems, Inc. Methods and systems for approximating progressive image encoding using image partitioning
US8581757B2 (en) * 2009-07-02 2013-11-12 Siemens Enterprise Communications Gmbh & Co. Kg Method for vector quantization of a feature vector
US9106933B1 (en) 2010-05-18 2015-08-11 Google Inc. Apparatus and method for encoding video using different second-stage transform
US9210442B2 (en) 2011-01-12 2015-12-08 Google Technology Holdings LLC Efficient transform unit representation
US9380319B2 (en) 2011-02-04 2016-06-28 Google Technology Holdings LLC Implicit transform unit representation
US9219915B1 (en) 2013-01-17 2015-12-22 Google Inc. Selection of transform size in video coding
US9967559B1 (en) 2013-02-11 2018-05-08 Google Llc Motion vector dependent spatial transformation in video coding
US9544597B1 (en) 2013-02-11 2017-01-10 Google Inc. Hybrid transform in video encoding and decoding
US9674530B1 (en) 2013-04-30 2017-06-06 Google Inc. Hybrid transforms in video coding
US9565451B1 (en) 2014-10-31 2017-02-07 Google Inc. Prediction dependent transform coding
US9769499B2 (en) 2015-08-11 2017-09-19 Google Inc. Super-transform video coding
US10277905B2 (en) 2015-09-14 2019-04-30 Google Llc Transform selection for non-baseband signal coding
US9807423B1 (en) 2015-11-24 2017-10-31 Google Inc. Hybrid transform scheme for video coding
US11308152B2 (en) * 2018-06-07 2022-04-19 Canon Kabushiki Kaisha Quantization method for feature vector, search method, apparatus and storage medium
US11122297B2 (en) 2019-05-03 2021-09-14 Google Llc Using border-aligned block functions for image compression
CN111741307B (zh) * 2020-06-09 2023-06-06 绍兴图信科技有限公司 基于矢量量化压缩和线性回归预测的图像压缩方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4578704A (en) * 1983-06-20 1986-03-25 At&T Bell Laboratories Image coding technique
FR2554995B1 (fr) * 1983-11-15 1989-05-05 Thomson Cgr Procede de compression d'une succession d'informations numeriques et dispositif mettant en oeuvre ce procede
US4646356A (en) * 1984-06-29 1987-02-24 International Business Machines Corporation Method for converting a bit map of an image to a run length or run end representation
JPS6232785A (ja) * 1985-08-05 1987-02-12 Fujitsu Ltd 適応形ベクトル量子化方式
JPS62166655A (ja) * 1986-01-20 1987-07-23 Nippon Telegr & Teleph Corp <Ntt> 自己トレ−ニング機能を有するベクトル量子化方式
JPS62222783A (ja) * 1986-03-24 1987-09-30 Kokusai Denshin Denwa Co Ltd <Kdd> 動画像の高能率符号化方式
JPH082104B2 (ja) * 1986-11-10 1996-01-10 富士通株式会社 動き補償フレ−ム間符号化方式
JPS63169878A (ja) * 1987-01-08 1988-07-13 Ricoh Co Ltd 画像デ−タのベクトル符号化方式
US4791654A (en) * 1987-06-05 1988-12-13 American Telephone And Telegraph Company, At&T Bell Laboratories Resisting the effects of channel noise in digital transmission of information
US4811112A (en) * 1987-07-24 1989-03-07 American Telephone And Telegraph Company, At&T Bell Laboratories Vector DPCM image coding method and apparatus

Also Published As

Publication number Publication date
DE68926876D1 (de) 1996-08-29
CA1315392C (en) 1993-03-30
US5444800A (en) 1995-08-22
JPH07112279B2 (ja) 1995-11-29
EP0369689A2 (de) 1990-05-23
EP0369689A3 (de) 1992-07-22
JPH02183684A (ja) 1990-07-18
EP0369689B1 (de) 1996-07-24

Similar Documents

Publication Publication Date Title
DE68926876T2 (de) Vorrichtung zur Vektorquantisierung von Bildern
DE3855950T2 (de) Entgegenwirkung gegen die Auswirkungen von Kanalrauschen in digitaler Informationsübertragung
EP0368139B1 (de) Verfahren zur Codierung von Restfehlerbildern
DE19506164C2 (de) Verfahren zum Komprimieren eingegebener Symbole in Codeworte
DE3789857T2 (de) System zur Komprimierung von Bildern mit mehreren Graustufen.
DE69726661T2 (de) Verfahren und vorrichtung zur kodierung eines digitalen informationssignales
DE68918605T2 (de) Verfahren zur Speicherung und Übertragung von Bilddaten als Bilddatengruppe, passend zur Bildsuche.
DE19861377B4 (de) Ein verbessertes Kompressions- und Dekompressionssystem mit reversiblen Wavelets und verlustbehafteter Rekonstruktion
DE69332584T2 (de) Verbesserte vorverarbeitung und nachverarbeitung von vektorquantifizierung
DE69029876T2 (de) Anpassungsfähiger Wahrscheinlichkeitsabschätzer für Entropie-Kodierung/-Dekodierung
DE3855203T2 (de) Modifizierte statistische kodierung von digitalen signalen
DE69313540T2 (de) Verbesserte Vorrichtung zur variablen Längendekodierung
DE69523439T2 (de) Verfahren und Vorrichtung zur Bildsignalkodierung mit einer Klassifizieranlage
DE2225652C3 (de) Verfahren und Einrichtung zur Codierung und Decodierung von Videosignalen
DE68925516T2 (de) Wirksames Kodierungsverfahren und zugehöriges Dekodierungsverfahren
EP0227956B1 (de) Verfahren zur Datenreduktion digitaler Bildsignale durch Vektorquantisierung
DE19840835A1 (de) Vorrichtung und Verfahren zum Entropiecodieren von Informationswörtern und Vorrichtung und Verfahren zum Decodieren von Entropie-codierten Informationswörtern
DE4241131B4 (de) Einrichtung zum Kodieren und Dekodieren von Übertragungssignalen mittels Transformationen
WO2003094529A2 (de) Verfahren von transformations-koeffizienten in bild-oder videokodierern
DE19634600A1 (de) Bildsignalkodiervorrichtung und zugehöriges Verfahren
DE19534730A1 (de) Verfahren zum Codieren und Decodieren von Daten
EP1472888B1 (de) Kontextsensitive kodierung und dekodierung eines videodatenstroms
DE602004012600T2 (de) Transcodierung zwischen den indizes von mehrimpuls-wörterbüchern zur codierung bei der digitalen signalkomprimierung
DE69810070T2 (de) Datencodierungssystem
DE3851277T2 (de) Vorhersage-Kodiersystem mit Geräuschverminderung.

Legal Events

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