DE69624399T2 - Einrichtung zur Kompression von bewegten Videobildern mit adaptiver Quantisierung - Google Patents

Einrichtung zur Kompression von bewegten Videobildern mit adaptiver Quantisierung

Info

Publication number
DE69624399T2
DE69624399T2 DE69624399T DE69624399T DE69624399T2 DE 69624399 T2 DE69624399 T2 DE 69624399T2 DE 69624399 T DE69624399 T DE 69624399T DE 69624399 T DE69624399 T DE 69624399T DE 69624399 T2 DE69624399 T2 DE 69624399T2
Authority
DE
Germany
Prior art keywords
image
regions
quantization
macroblock
pixels
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
DE69624399T
Other languages
English (en)
Other versions
DE69624399D1 (de
Inventor
Elliot Neil Linzer
Heidi Aarlien Peterson
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE69624399D1 publication Critical patent/DE69624399D1/de
Application granted granted Critical
Publication of DE69624399T2 publication Critical patent/DE69624399T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform

Landscapes

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

Description

    HINTERGRUND DER ERFINDUNG Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf das Gebiet der Datenkompression und insbesondere auf eine Einrichtung und auf ein Verfahren zum Komprimieren digitaler Signale bewegter Videobilder.
  • Verwandte Technik
  • Technologische Fortschritte bei digitalen Übertragungsnetzen, digitalen Speichermedien, Bausteinen der Großintegration und beim digitalen Verarbeiten von Video- und Audiosignalen konvergieren, um die Übertragung und Speicherung digitaler Videosignale bei einer großen Vielfalt von Anwendungen wirtschaftlich zu machen. Da die Speicherung und Übertragung digitaler Videosignale zentral für viele Anwendungen ist und weil eine unkomprimierte Darstellung eines Videosignals einen großen Umfang an Speicher erfordert, ist die Benutzung von Kompressionsverfahren für digitalisierte Videobilder lebenswichtig für diese fortschreitende Technik. In dieser Beziehung sind verschiedene internationale Normen für die Kompression digitaler Videosignale in der vergangenen Dekade aufgetaucht, wobei weitere gegenwärtig in Entwicklung sind. Diese Normen sind auf Algorithmen für die Übertragung und Speicherung komprimierter digitalisierter Videobilder in einer Vielfalt von Anwendungen anwendbar, die einschließen:
  • Bildtelephonie und Telekonferenzen, digitale Fernsehübertragungen hoher Qualität über Koaxial- und Glasfasernetze wie auch terristischen Rundfunk und Satellitenrundfunk und interaktive Multimediaprodukte auf CD-ROM, digitales Audioband und Winchester-Plattenlaufwerke.
  • Verschiedene dieser Normen schließen Algorithmen ein, die auf einem gemeinsamen Kern der Kompressionsverfahren basieren, z. B. die CCITT (Consultative Committee on International Telegraphy und Telephony)-Empfehlung H.120, die CCITT-Empfehlung H.261 und die ISO/IEC MPEG-1 und MPEG-2-Norxnen. Die MPEG-2-Norm ist von der Expertengruppe für bewegte Bilder (abgekürzt als MPEG = Moving Pictures Experts Group) entwickelt worden, Teil eines vereinigten technischen Komitees der Internationalen Normenorganisation (abgekürzt als ISO = International Standards Organisation) und der Internationalen Elektrotechnischen Kommission, (abgekürzt als IEC = International Electrical. Commission). Das MPEG-Komitee hat Normen für die im Multiplexverfahren erfolgende komprimierte Darstellung von Video- und zugehörigen Audiosignalen entwickelt. Die Normen spezifizieren die Syntax des komprimierten Bitstromes und das Verfahren des Decodierens, lassen aber beträchtlichen Spielraum für den Entwurf des Codierers.
  • Eine der Aufgaben, die von dem Codierer durchgeführt werden, ist es, zu entscheiden, wie gut die verschiedenen Teile jedes Bildes (d. h. die Qualität jedes Teils nach der Rekonstruktion durch den Decodierer) darzustellen sind. Dies schließt typischerweise einen Kompromiss zwischen einer Anzahl von Codierüberlegungen ein. Zum Beispiel ist in MPEG-2-Codierern das Einstellen eines Quantisierungsparameters (QP) für jeden Makroblock das Hauptmittel, durch das der Codierer Qualität gegen das Erzeugen der Übertragungsgeschwindigkeit eintauscht. Dies gilt auf der Folge-Ebene und auf der Makroblock-Ebene: wenn alle die Werte der QP in einer Folge erhöht oder erniedrigt werden, dann wird die Qualität bzw. Übertragungsgeschwindigkeit der Folge erhöht oder erniedrigt. Wenn der QP für einen einzelnen MB erhöht oder erniedrigt wird, dann wird die Qualität und die Anzahl von Bits, die für diesen Makroblock benutzt werden, erhöht bzw. erniedrigt.
  • Einige Regionen eines Bildes sind empfindlicher für Quantisierungsverzerrungen als andere Regionen. Das heißt, die Verzerrung, die durch das Benutzen eines großen Wertes für den QP verursacht wird, ist in einigen Regionen des Bildes auffälliger als in anderen. Daher kann ein Codierer versuchen, einen großen Wert des QPs in den Regionen des Bildes zu benutzen, wo dies keine ernstliche, wahrnehmbare Verschlechterung verursacht, und kleinere Werte für den QP in Regionen des Bildes, die empfindlicher für Quantisierungsverzerrungen sind. Dieser Prozess, der als adaptive Quantisierung bekannt ist, ist nicht Gegenstand der MPEG-Normen. Als Folge können zwei Codierer vollständig verschiedene Verfahren zur adaptiven Quantisierung benutzen und doch kann jeder gültige Bitströme erzeugen. Jedoch hängt die Gesamtqualität der Bilder, die aus dem Bitstrom decodiert werden, der durch einen Codierer erzeugt wurde, von der adaptiven Quantisierungseinheit ab. Darüberhinaus können verschiedene adaptive Quantisierungen verschiedene Implementierungskosten aufweisen.
  • Das am nächsten kommende Dokument aus dem Stand der Technik VISUAL COMMUNICATIONS AND IMAGEPROCESSING '91: VISUAL COMMUNICATION, BOSTON, MA, USA, 11-13 NOV. 1991, vol. 1605, pt. 1,ISSN 0277-786X, PROCEEDINGS OF THE SPIE - THE INTERNATIONAL SOCIETY FOR OPTICAL ENGINEERING, 1991, USA, pages 534-545 vol.2, XP000479260 LAVAGETTO, F. ET AL.: 'Block adaptive quantisation of multiple frame motion field' offenbart, dass die Bewegungsschätzung erhalten wird durch ein Blockübereinstimmungs-Verfahren mit den Annahmen einer reinen Translationsbewegung und einer gleichförmigen Bewegung innerhalb eines Blocks. Die Übereinstimmungs-Funktion stellt für jeden Block den Unterschied des Luminanzsignals in dem zu codierenden Rahmen im Hinblick auf eine lineare Kombination von zwei verschobenen Blöcken der gleichen Größe in dem Bezugsrahmen dar. Der Mechanismus der adaptiven Quantisierung basiert auf dem Bewerten, auf einer Blockbasis, der lokalen Empfindlichkeit des Differenzsignals des verschobenen Rahmens zu einer Quantisierung der Feldparamter der Bewegung.
  • Ein Video-Codierer, der eine adaptive Quantisierung benutzt, ist in dem US Patent 5 301 242 von Gonzales et al., mit dem Titel "Apparatus. and Method for Motion Video encoding employing an Adaptive quantiser" beschrieben.
  • Ein anderes Beispiel eines Video-Codierers, der adaptive Quantisierung benutzt, ist in ISO-IEC/JTC1/SC29/WG21/NO-400, April 1993, mit dem Titel "Test Model 5" beschrieben. Dieses adaptive Quantisierungsverfahren basiert auf dem Berechnen der Varianz von Unterblöcken jedes Makroblocks.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Im Hinblick auf das Obige schließt die vorliegende Erfindung eine Einrichtung und ein Verfahren zum Codieren von Videodaten unter Benutzen eines neuen, adaptiven Quantisierungs- Untersystems ein. Die Erfindung wird dargelegt im angefügten Verfahrensanspruch 1 und im Einrichtungsanspruch 4. Bei einem bevorzugten Ausführungsbeispiel wird jeder Makroblock in Unterblöcke unterteilt, deren jeder Generatoren für die Blockparameter zugeführt wird. Die Generatoren für die Blockparameter berechnen einen Blockparameter für die adaptive Quantisierung für jeden Unterblock, und aus diesen Parametern berechnet eine Parameter-Vereinigungseinheit einen Parameter für die adaptive Quantisierung des Makroblocks. Insbesondere berechnen die Generatoren für die Blockparameter lineare Kombinationen der Pixel in den Eingangs-Unterblöcken und bestimmen dann einen Blockparameter für die adaptive Quantisierung aus den linearen Kombinationen. Der Parameter für die adaptive Quantisierung des Makroblocks wird von dem Codierer benutzt, um die Quantisierungsstufe für den Makroblock zu bestimmen.
  • KURZE BESCHREIBUNG DER ZEICHNUNG
  • Die Erfindung wird besser verstanden unter Bezugnahme auf die Zeichnung, in der:
  • Fig. 1 ein beispielhaftes Paar von Gruppen vvn Bildern (GnVB) zeigt,
  • Fig. 2 eine beispielhafte Makroblock (MB)-Unterteilung eines Bildes (für das 4 : 2 : 0-Format) zeigt,
  • Fig. 3 eine beispielhafte Scheibenunterteilung eines Bildes zeigt,
  • Fig. 4 ein Makroblockformat in einem rahmenstrukturierten, verschachtelten Bild zeigt,
  • Fig. 5 ein Blockdiagramm eines üblichen Untersystems zum Erzeugen der Quantisierungsskala ist,
  • Fig. 6; ein Blockschaltbild einer üblichen Einheit zur Bestimmung der endgültigen Quantisierungsskala ist, Fig. 7 ein übliches adaptives Quantisierungs-Untersystem zeigt,
  • Fig. 8 die Blockunterteilung eines Makroblocks zeigt,
  • Fig. 9 ein Blockschaltbild eines Blockparametergenerators gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ist,
  • Fig. 10 ein genaueres Schaltbild der linearen Transformationseinheit der Fig. 9 ist,
  • Fig. 11 ein genaueres Schaltbild der Koeffizienten- Akkumulationseinheit der Fig. 9 ist,
  • Fig. 12 ein Schaltbild einer Parameter-Vereinigungseinheit gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ist,
  • Fig. 13 ein Schaltbild einer anderen Parameter- Vereinigungseinheit gemäß einem anderen Ausführungsbeispiel der vorliegenden Erfindung ist,
  • Fig. 14 eine bildliche Darstellung einer Hadamard-Transformation ist und Fig. 15 ein Überblick über ein Codierverfahren gemäß den Grundsätzen der vorliegenden Erfindung ist.
  • GENAUERE BESCHREIBUNG DER ZEICHNUNGEN UND BEVORZUGTEN AUSFÜHRUNGSBEISPIELE MPEG-Umgebung
  • Da die vorliegende Erfindung in Verbindung mit einem MPEG-2-Codierer angewendet werden kann, wird zum Erleichtern des Verständnisses der Erfindung ein Überblick über einige P sachdienliche Aspekte der MPEG-2-Video-Kompressionsnorm gegeben. Es ist jedoch zu beachten, dass die Erfindung auch auf andere Video-Codierungsalgorithmen angewandt werden kann, die einige der Merkmale der MPEG-2-Norm aufweisen.
  • Um zu beginnen versteht es sich, dass die Kompression irgendeines Datenobjektes, z. B. einer Textseite, eines Bildes, eines Segmentes einer Rede oder eine Videosequenz als eine Folge von Schritten gedacht werden kann, die einschließen: 1) eine Zerlegung des Objektes in eine Sammlung von Zeichen, 2) die Darstellung dieser Zeichen durch binäre Zeichenfolgen, die eine minimale Länge in irgendeinem Sinn haben, und 3) die Verkettung der Zeichenfolgen in einer wohldefinierten Reihenfolge. Die Schritte 2 und 3 sind verlustlos, d. h. die Originaldaten können bei Umkehr genau wiedergewonnen werden, und Schritt 2 ist bekannt als Entropie-Codierung.
  • Schritt 1 kann generell entweder verlustlos oder verlustbehaftet sein. Die meisten Video-Kompressionsalgorithmen sind wegen zwingender Forderung hinsichtlich der Übertragungsgeschwindigkeit verlustbehaftet. Ein erfolgreicher, verlustbehafteter Kompressionsalgorithmus eliminiert redundante und irrevelevante Informationen, was relativ große Fehler zulässt, wo sie wahrscheinlich nicht visuell bedeutsam und nicht sorgfältig darstellende Aspekte einer Folge sind, für die der menschliche Beobachter sehr empfindlich ist. Die Verfahren, die bei der MPEG-2-Norm für den Schritt 1 verwendet werden, können als vorhersagende/interpolierende, bewegungskompensierte, hybride DKT/DPCM-Codierung beschrieben werden. Huffmann- Codierung, die auch als Codierung variabler Länge bekannt ist, wird im Schritt 2 benutzt. Obgleich, wie erwähnt, die MPEG-2-Norm wirklich eine Spezifizierung des Decodierers und der Syntax für den komprimierten Bitstrom ist, erfolgt die folgende Beschreibung der MPEG-2-Spezifizierung zur leichteren Darstellung hauptsächlich aus einem Gesichtspunkt des Codierers.
  • Die MPEG-Video-Normen spezifizieren eine codierte Darstellung des Videos für die Übertragung. Die Normen sind entworfen, um mit verschachtelten und nichtverschachtelten Videokomponenten zu arbeiten. Jedes Bild besitzt drei Komponenten: Luminanz (Y), Rotfarbdifferenz Cr und Blaufarbdifferenz Cb. Die Cr- und Cb-Komponenten haben jede halb soviel Proben wie die Y-Komponente, sowohl in horizontaler als auch in vertikaler Richtung.
  • Ein MPEG-Datenstrom besteht aus einem Videostrom und einem Audiostrom, die zusammen mit Systeminformationen und möglicherweise anderen Bitströmen in einen Systemdatenstrom zusammengepackt sind, der als geschichtet betrachtet werden kann. Innerhalb der Video-Schicht des MPEG-Datenstroms sind die komprimierten Daten weiter geschichtet. Eine Beschreibung der Organisation der Schichten hilft zum Verständnis der Erfindung.
  • Die Schichten beziehen sich auf die Arbeitsweise des Kompressionsschemas als auch auf die Zusammensetzung des komprimierten Bitstromes. Die höchste Schicht ist die Videobildfolgen-Schicht, die Steuerinformationen und Parameter für die gesamte Folge enthält. In der nächsten Schicht ist eine Folge in Mengen aufeinanderfolgender Bilder unterteilt, von denen jede als eine Gruppe von Bildern (GVB) bekannt ist. Eine allgemeine Darstellung dieser Schicht ist in Fig. 1 gezeigt. Das Decodieren kann am Beginn irgendeiner GVB beginnen, im Wesentlichen unabhängig von den vorhergehenden GnVB. Es gibt keine Grenze für die Anzahl von Bildern, die sich in einer GVB befinden, noch muss eine gleiche Anzahl von Bildern in allen GnVB vorhanden sein.
  • Die dritte oder "Bild"-Schicht ist ein einzelnes Bild. Eine Darstellung einer "Makroblock"-Unterteilung eines Bildes ist in Fig. 2 dargestellt. Die Luminanzkomponente des Bildes ist in 16 · 16 Regionen unterteilt; die Farbdifferenzkomponenten sind in Blöcke geeigneter Größe unterteilt, die räumlich zusammen mit den 16 · 16 Luminanzregionen plaziert sind. Für ein 4 : 4 : 4-Video sind die Farbdifferenzkomponenten 16 · 16, für ein 4 : 2 : 2-Video sind die Farbdifferenzkomponenten 8 · 16 und für ein 4 : 2 : 0-Video sind die Farbdifferenzkomponenten 8 · 8. Zusammengenommen bilden diese zusammen plazierte Luminanzregion und die Farbdifferenzregionen die fünfte Schicht, die als "Makroblock" (MB) bekannt ist. Makroblöcke in einem Bild werden fortlaufend in der Reihenfolge der Zeilenabtastung nummeriert.
  • Zwischen dem Bild und den MB-Schichten befindet sich die vierte oder "Scheiben"-Schicht. Jede Scheibe besteht aus einer Anzahl aufeinanderfolgender MBe. Scheiben müssen nicht von gleichförmiger Größe innerhalb eines Bildes oder von Bild zu Bild sein. Ein Beispiel einer Unterteilung eines Bildes in Scheiben ist in Fig. 3 dargestellt.
  • Schließlich besteht jeder MB aus 8 · 8 Luminanzblöcken und 8, 4 oder 2 (für 4 : 4 : 4, 4 : 2 : 2 und 4 : 2 : 0 Videos) Chrominanzblöcken. Wenn die Breite jedes Luminanzbildes (in Bildelementen oder Pixeln) als S bezeichnet wird und die Höhe als Z (S steht für Spalten, Z für Zeilen), ist ein Bild 5/16 MBe breit und Z/16 MBe hoch.
  • Die Folge GVB, das Bild und die Scheibenschichten haben alle ihnen zugeordnete Vorsätze. Die Vorsätze beginnen mit byte-ausgerichteten "Startcodes" und enthalten Informationen, die sich auf die Daten beziehen, die in der entsprechenden Schicht enthalten sind.
  • Ein Bild kann entweder ein feldstrukturiertes oder ein rahmenstrukturiertes sein. Ein rahmenstrukturiertes Bild enthält Informationen, um einen gesamten Rahmen zu rekonstruieren, d. h. zwei Felder von Daten. Ein feldstrukturiertes Bild enthält Informationen, um ein Feld zu rekonstruieren. Wenn die Breite jedes Luminanzrahmens (in Bildelementen oder Pixeln) als S bezeichnet wird und die Höhe als Z (S steht für Spalten, Z für Zeilen), enthält ein rahmenstrukturiertes Bild Informationen für S X Z Pixel, und ein feldstrukturiertes Bild enthält Informationen für S X Z/2 Pixel.
  • Ein Makroblock in einem feldstrukturierten Bild enthält ein 16 · 16 Pixelsegment eines einzigen Feldes. Ein Makroblock in einem rahmenstrukturierten, nichtverschachtelten Bild enthält ein 16 · 16-Pixelsegment eines nichtverschachtelten Rahmens. Ein Makroblock in einem rahmenstrukturierten, verschachtelten Bild enthält ein 16 · 16-Pixelsegment des Rahmens, den beide Felder bilden. Jeder Makroblock enthält eine 16 · 8-Region von jeden von zwei Feldern. Eine Darstellung eines Makroblocks in einem rahmenstrukturierten, verschachtelten Bild ist in Fig. 4 dargestellt. Jedes "X" oder "O" in Fig. 4 stellt ein einzelnes Pixel dar. Die Os stellen Pixel des obersten Feldes dar und die Xs stellen Pixel des unteren Feldes dar.
  • Jeder Rahmen in einer MPEG-2-Folge muss aus zwei codierten Feldbildern oder einem codierten Rahmenbild bestehen. Es ist zum Beispiel illegal, zwei Rahmen als ein feldstrukturiertes Bild zu codieren, auf das ein rahmenstrukturiertes Bild folgt, auf das ein feldstrukturiertes Bild folgt; die legalen Kombinationen sind: zwei rahmenstrukturierte Bilder, vier feldstrukturierte Bilder, zwei feldstrukturierte Bilder, auf die ein rahmenstrukturiertes Bild folgt, oder ein rahmenstrukturiertes Bild, auf das zwei feldstrukturierte Bilder folgen. Daher kann man sich, während es in der MPEG-2-Syntax keinen Rahmenvorsatz gibt, konzeptionell eine Rahmen-Schicht in MPEG-2 vorstellen.
  • Innerhalb einer GVB können drei "Arten" von Bildern erscheinen. Das unterscheidende Merkmal unter diesen Bildarten ist das benutzte Kompressionsverfahren. Die erste Art, Intramodus-Bilder oder I-Bilder, werden unabhängig von irgendeinem anderen Bild komprimiert. Obgleich es keine feste obere Grenze für den Abstand zwischen I-Bildern gibt, wird erwartet, dass sie häufig in eine Folge eingestreut sind, um den wahlfreien Zugriff und andere spezielle Betriebsarten zu erleichtern. Aufgrund von Vorhersagen bewegungskompensierte Bilder (V-Bilder) werden aus den komprimierten Daten in diesem Bild und zwei jüngst rekonstruierten Feldern vorher angezeigter I-oder V-Bilder rekonstruiert. In zwei Richtungen bewegungskompensierte Bilder (Z-Bilder) werden rekonstruiert aus den komprimierten Daten in diesem Bild plus zwei rekonstruierten Feldern früher angezeigter I- oder V-Bilder und zwei rekonstruierten Feldern von I- oder V-Bildern, die in Zukunft angezeigt werden. Da rekonstruierte I- oder V-Bilder benutzt werden können, um andere Bilder zu rekonstruieren, werden sie Ankerbilder genannt. Für die Zwecke dieser Beschreibung wird auf ein Ankerbild Bezug genommen als auf ein Anschlussbild, wenn das nächste Ankerbild ein I-Bild ist.
  • Ein sehr nützliches Bildkompressionsverfahren ist die Transformationscodierung. In den MPEG-Normen und verschiedenen anderen Kompressionsnormen ist die diskrete Kosinustransformation (DKT) die Transformation der Wahl. Die Kompression eines I-Bildes wird erreicht durch die Schritte des 1) Benutzens der DKT von Blöcken von Pixeln, 2) Quantisierens der DKT-Koeffizienten und 3) Huffman-Codierens des Ergebnisses. Bei den MPEG-Normen wandelt die DKT-Operation einen Block von 8 · 8 Pixeln in einen 8 · 8 Satz von Transformationscoeffizienten um. Die DKT-Transformation selbst ist eine verlustfreie Operation, die auch innerhalb der Genauigkeit des Rechengerätes und des Algorithmus, mit der sie durchgeführt wird, invertiert werden kann.
  • Der zweite Schritt, Quantisierung der DKT-Koeffizienten, ist die Hauptquelle des Verlustes in den MPEG-Normen. Wenn die Elemente der zweidimensionalen Matrix von DKT-Koeffizienten mit kan bezeichnet werden, wobei m und n neben den Abbruch- oder Rundungskorrekturen von 0 bis 7 reichen können, wird die Quantisierung erreicht durch Dividieren jedes DKT-Koeffizienten kan durch gmn X QP, wobei gmn ein Gewichtsfaktor ist und QP der Makroblock-Quantisierer ist. Der Gewichtsfaktor gmn erlaubt, dass eine grobere Quantisierung auf die visuell weniger bedeutenden Koeffizienten angewandt werden kann.
  • Nach der Quantisierung werden die Informationen bezüglich der DKT-Koeffizienten für jeden MB organisiert unter Benutzen eines Satzes von Huffman-Codes. Da die Einzelheiten dieses Schrittes für das Verständnis der Erfindung nicht wesentlich sind und generell in der Technik verstanden werden, wird hier keine weitere Beschreibung angeboten.
  • Die meisten Videobild-Folgen zeigen einen hohen Grad von Korrelation zwischen aufeinanderfolgenden Bildern. Ein nützliches Verfahren, diese Redundanz vor dem Codieren eines Bildes zu entfernen, ist "Bewegungskompensation".
  • Bewegungskompensation kann wie folgt beschrieben werden. Für jeden Makroblock werden ein oder mehrere Bewegungsvektoren in dem Bitstrom codiert. Diese Bewegungsvektoren gestatten dem Decodierer, einen Makroblock, der als vorhersagender Makroblock bezeichnet wird, aus Daten in Ankerbildern zu rekonstruieren. Der Codierer subtrahiert den vorhersagenden Makroblock von dem Makroblock, der zu codieren ist, um den Differenz-Makroblock zu bilden. Der Codierer benutzt zum Komprimieren des Differenz- Makroblocks Hilfsmittel, die im Wesentlichen den Hilfmitteln ähnlich sind, die benutzt werden, um den Intra-Makroblock zu komprimieren.
  • Ln V-Bildern wird die Bewegungskompensation benutzt, um den vorhersagenden Makroblock aus Ankerbildern aufzubauen, die zu einem früheren Zeitpunkt als das laufende Bild auftauchten. In Z-Bildern wird die Bewegungskompensation dazu benutzt, den vorhersagenden Makroblock aus Ankerbildern aufzubauen, die zu einem früheren Zeitpunkt und zeitlich später als das laufende Bild auftraten.
  • Das MPEG-2-Kompressionsverfahren kann mit einem Übertragungs- oder Speichermedium mit fester oder variabler Übertragungsgeschwindigkeit benutzt werden. Während der Codierer für eine variable Übertragungsgeschwindigkeit mehr Freiheit besitzt, zu bestimmen, wieviele Bits in jedem Makroblock (oder jedem Bild) zu benutzen sind, besitzt der Codierer doch nicht vollständige Freiheit; er ist durch die Spitzenübertragungsgeschwindigkeit oder das Speichermedium und die Größe des Decodiererpuffers beschränkt.
  • Ob die MPEG-2-Norm mit einem Übertragungs- oder Speichermedium mit fester oder variabler Übertragungsgeschwindigkeit benutzt wird, der Codierer muss nicht die gleiche Anzahl von Bits in jedem Makroblock benutzen oder gar in jedem Bild. Der Codierer bekommt diese Freiheit mittels eines Puffers, der vor den Eingang des Decodierers plaziert ist. Das Speicher- oder Übertragungsmedium füllt den Puffer des Decodierers, aber der Decodierer kann seinen Puffer bei einer im Wesentlichen willkürlich schnellen Geschwindigkeit leeren.
  • Während der Codierer nicht die gleiche Anzahl von Bits für jeden Makroblock oder für jedes Bild benutzen muss, sieht er sich doch Beschränkungen für die Anzahl von Hits, die erzeugt werden können, gegenüber. Die MPEG-2-Norm gibt Einzelheiten dieser Beschränkungen an. Zum Beispiel kann im Fall der festen Übertragungsgeschwindigkeit die durchschnittliche Übertragungsgeschwindigkeit des Codierers während langer Zeiträume nur um einen geringen Betrag von der Übertragungsgeschwindigkeit des Kanals variieren oder der Puffer des Decodierers hat sonst Überlauf oder Unterlauf.
  • Wie bemerkt ist das Einstellen des QPs für jeden Makroblock das Hauptmittel, durch das der Codierer bei der MPEGQ-2-Norm Qualität gegen die Erzeugung der Übertragungsgeschwindigkeit tauscht. Dies gilt sowohl auf der Ebene der Folgen als auch auf der Makroblockebene: wenn alle die Werte des QPs in einer Folge erhöht oder erniedrigt werden, dann wird die Qualität und die Übertragungsgeschwindigkeit der Folge erhöht bzw. erniedrigt. Wenn der QP für einen einzelnen MB erhöht oder erniedrigt wird, dann wird die Qualität und die Anzahl der Bits, die für diesen Makroblock benutzt werden, erhöht bzw. erniedrigt.
  • Einige Regionen eines Bildes sind "empfindlicher" für Quantisierungsverrzerrungen als andere Regionen. Das heißt, die Verzerrung, die durch Benutzen eines großen Wertes für den QP verursacht wird, ist in einigen Regionen des Bildes merklicher als in anderen. Daher kann ein Codierer versuchen, einen großen Wert des QPs in Regionen des Bildes zu benutzen, wo dies keine ernsthafte, wahrnehmbare Verschlechterung verursacht, und kleinere Werte für den QP in Regionen des Bildes, die für Quantisierungsverrzerrungen empfindlicher sind. Dieser Prozess, der als adaptive Quantisierung bekannt ist, ist nicht ein Gegenstand: der MPEG-Normen. Daher können zwei Codierer vollständig unterschiedliche Geräte oder Verfahren für die adaptive Quantisierung benutzen und doch kann jeder gültige Bitströme erzeugen. Jedoch hängt die Qualität der Bilder, die aus einem Bitstrom decodiert wurden, der durch einen Codierer erzeugt würde, von der Einheit für adaptive Quantisierung ab. Darüberhinaus können unterschiedliche adaptive Quantisierungen unterschiedliche Implementierungskosten aufweisen.
  • Ausführungsbeispiel
  • Ein Überblick über ein Codierverfahren gemäß den Grundsätzen der vorliegenden Erfindung wird zuerst mit Bezugnahme auf Fig. 15 beschrieben.
  • Im Schritt 1502 wird ein digitalisiertes Bild in den Codierer eingegeben. Im Schritt 1504 unterteilt der Codierer das Bild in eine Anzahl von Regionen und unterteilt dann im Schritt 1506 jede Region in eine Anzahl von Unterregionen. Im Schritt 1508 berechnet der Codierer lineare Kombinationen von Pixeln in jeder Unterregion. Im Schritt 1510 bestimmt der Codierer einen Parameter für die adaptive Quantisierung der Unterregion für jede der Unterregionen als Funktion der linearen Kombinationen. Die Funktion erstellt eine Grobheitstoleranz für jede Unterregion.
  • Im Schritt 1512 bestimmt der Codierer einen regionalen Quantisierungsparameter für jede Region als Funktion der unterregionalen Parameter für die adaptive Quantisierung und bestimmt dann im Schritt 1514 eine Quantisierungsstufe für jede der Regionen, basierend auf dem regionalen Quantisierungsparameter.
  • Nachdem die regionale Quantisierungsstufe für eine Region bestimmt worden ist, wird sie im Schritt 1516 transformationscodiert. Für ein stehendes Bild werden die Pixeldaten selbst transformationscodiert. Für ein bewegtes Bild, das mit Bewegungskompensation codiert wurde, wird das Differenzsignal zur Bewegungskompensation transformationscodiert.
  • Im Schritt 1518 werden die transformationscodierten Darstellungen der Regionen verkettet, um eine codierte Darstellung des gesamten Bildes zu erhalten. Die codierte Darstellung des gesamten Bildes wird im Schritt 1520 decodiert und dann angezeigt oder im Schritt 1522 gespeichert.
  • Eine der Aufgaben, die ein Codierer durchführt, besteht darin, den QP für jeden MB einzustellen. Ein übliches Gerät für das Einstellen des QPs ist in Fig. 5 dargestellt. Die Einheit 101 für die adaptive Quantisierung erzeugt ein Signal Q1 für jeden Makroblock. Dieses Signal beschreibt, wie empfindlich der Makroblock gegenüber Quantisierungsverzerrungen ist. Die Steuereinheit 102 für die Übertragungsgeschwindigkeit erzeugt ein Signal Q2, das die Gesamtquantisierungsstufe beschreibt, die benutzt werden muss, um die Ziel-Übertragungsgeschwindigkeit zu erreichen (oder eine maximale Übertragungsgeschwindigkeit nicht zu überschreiten). Die Bestimmungseinheit 103 für die endgültige Quantisierungsskala kombiniert diese beiden Zahlen, um den Wert für den QP zu erzeugen, der in jedem Makroblock benutzt werden wird.
  • Die in Fig. 6 dargestellte Einheit zur Bestimmung der endgültigen Quantisierungsskala besitzt zwei Eingänge, Q1 und Q2. Deren Signale werden zu einem Multiplizierer 201 geschickt, der ein Ausgangssignal d erzeugt, das gleich dem Produkt von Q1 und Q2 ist. Die Rundungseinheit 202 erzeugt ein Ausgangssignal QP, das der legale Wert für den QP ist, der d am nächsten kommt.
  • Fig. 7 gibt einen Überblick über ein übliches Untersystem für adaptive Quantisierung, das für die Anwendung der vorliegenden Erfindung geeignet ist. Es gibt zwei Eingangssignale und ein Ausgangssignal für das Untersystem für adaptive Quantisierung. Die Eingangssignale sind Luminanzwerte m der Pixel des Makroblocks m und eine Parametermenge p. Der Ausgang ist der Wahrnehmungsquantisierer Q1. Die Luminanzwerte der Pixel des Makroblocks werden zu einer Blockbildungseinheit 301 geschickt. Die Blockbildungseinheit bildet K Blöcke von Pixeln, die als Signale a1, a2, ... ak dargestellt sind. Jedes dieser Signale enthält eine (nicht notwendigerweise geeignete) Untermenge der der Pixelwerte des Luminanz-Makroblocks. Die Pixelblöcke a1, a2, ... ak werden zu einem Satz von Parametergeneratoren 302_1, 302_2, ... 302_K geschickt. Für jeden MB empfängt ein Blockparametergenerator einen Block von Pixeln und erzeugt eine einzige Zähl. Die Zahlen sind die Signale b1, b2, ... bk, die in Fig. 7 dargestellt sind. Die Blockparametergeneratoren 302_1, 302_2,:... 302_K erzeugen jeweils b1, b2, ... bk. Die Signale b1, b2, ...bk wie auch die Parametermenge p werden zu einer. Parameter-Vereinigungseinheit 303 geschickt. Die Parametervereinigungseinheit erzeugt den Wahrnehmungsquantisierer Q2.
  • Die Arbeitsweise eines Ausführungsbeispieles der Blockbildungseinheit kann mit Hilfe der Fig. 8 erklärt werden. Für dieses Ausführungsbeispiel bildet die Blockformationseinheit 8 Unterblöcke. Fig. 8 besitzt zwei Darstellungen der Luminanz- Pixel in einem MB. Bei jeder Darstellung wird ein Pixel durch eine Zahl dargestellt. Die mit "1" bezeichneten Pixel gehen zum Unterblock a1. die mit "2" bezeichneten Pixel gehen zum Unterblock a2 usw. Beachte, dass die Unterblöcke überlappend sind.
  • Diese besondere Blockbildungseinheit ist für Makroblöcke in rahmenstrukturierten, verschachtelten Bildern nützlich. Für feldstrukturierte oder nichtverschachtelte Bilder ist es häufig besser, nur die Unterblöcke a1, a2, a3 und a4 zu benutzen. Obwohl dieses Ausführungsbeispiel Unterblockgrößen von 8 · 8 Pixeln benutzt, sind andere Blockgrößen möglich.
  • Fig. 9 zeigt eine verbesserte Einheit zur Blockparametererzeugung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Ein Pixel-Unterblock a wird in eine lineare Transformationseinheit 401 eingegeben, (die genauer durch Bezugnahme auf Fig. 10 beschrieben wird,) die lineare Kombinationen (c1, c2, ... cm) der Pixelwerte für jeden Eingangsunterblock a erzeugt. Die linearen Kombinationen c1, c2, ...cm werden einer Koeffizienten-Akkumulationseinheit 402 zugeführt (,die genauer durch Bezugnahme auf Fig. 11 beschrieben wird), die einen Parameter b für die adaptive Quantisierung eines Blockes aus c1, c2, ... cm errechnet.
  • Fig. 10 ist ein genaueres Schaltbild der Einheit 401 zur linearen Transformation. Diese Einheit hat m Speichereinheiten 501_1, 502_2... 501_ m. Jede Speichereinheit enthält einen Transformationskoeffizienten für jedes Pixel in dem Eingangsblock a. Es gibt m Akkumulatoren 502_3, 502_3, ... 502_m in der Einheit zur linearen Transformation. Die Anzahl m von Speichereinheiten und Akkumulatoren kann gewählt werden, beispielsweise als gleich mit der Anzahl von Pixeln in einem Unterblock (,die bei dem vorliegenden Ausführungsbeispiel 64 beträgt). Jeder Akkumulator wird auf Null initialisiert, bevor ein Unterblock eingelesen wird.
  • Wenn das erste Element des Unterblocks eingelesen wird, schicken die Speichereinheiten 501_1, 501_2... den ersten Transformationskoeffizienten aus ihren jeweiligen Speichern ab, die als die Signale e1, e2, ... cm dargestellt sind, die mit dem ersten Pixel in dem Eingangsblock zu multiplizieren sind unter Benutzung der Multiplizierer 503_1, 503_2, ... 503_m. Die Ergebnisse der Multiplikationen sind die Signale f1, f2, ... fm. Diese Signale werden durch die Addierer 504_1, 504_3, ... 504_m jeweils zu den Inhalten der Akkumulatoren 502_1, 502_2, ... 502_m addiert, und die Ergebnisse werden in die jeweiligen Akkumulatoren zurückgespeichert. Wenn das zweite Element, des Unterblocks eingelesen wird, schicken die Speichereinheiten 501_1, 501..2 die zweiten Transformationskoeffizienten von ihren jeweiligen Speichern ab, damit sie mit dem zweiten Pixel in dem Eingangsunterblock multipliziert werden. Diese Produkte werden jeweils zu den Inhalten der Akkumulatoren 502_1, 502_2, ... 502_m addiert, und die Ergebnisse werden in den jeweiligen Akkumulatoren zurückgespeichert. Das Verfahren wird fortgeführt, bis der gesamte Block eingelesen ist. Dann speichern die Akkumulatoren die Ausgangssignale c1, c2, ... cm.
  • Die Einheit zum Akkumulieren der Koeffizienten ist genauer in Fig. 11 gezeigt. Die Eingangssignale c1, c2, ... cm werden jeweils den Einheiten für die absoluten Werte 601_1 601_2, 601 in zugeführt, die die die Signale g1, g2, .. gm erzeugen, wobei gi gleich dem absoluten Wert c1 für alle i ist. Die Signale g1, g2, ... gm werden dann einer Reihe von Normierern 602_1, 602_2, ... 602_m zugeführt. Diese Normierer berechnen jeweils h1, h2, ... hm, wobei hi gleich ist dem Produkt von g1 und Si für alle i, wobei Si die Konstantennormierer sind. Die Signale h1, h2, ... hm werden in einem Addierer 603 aufsummiert, und das Ergebnis ist das Ausgangssignal b.
  • Eine verbesserte Parameter-Vereinigungseinheit gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ist genauer in Fig. 12 dargestellt. Die Eingangssignale zu dieser Parameter- Vereinigungseinheit sind b1, b2, ... bk und p1, p2, p3, p4. Für dieses Ausführungsbeispiel der Parameter-Vereinigungseinheit bilden p1, p2, p3 und p4 die Parametermenge p in Fig. 6. Die Parameter p1 und b1, b2, ... bk werden zu einer Minimumschaltung 701 geschickt, die ein Ausgangssignal r0 erzeugt, das gleich dem Minimum p1 und b1, b2, ... bk ist. Das Signal r0 wird dann mit dem Parameter p2 in dem Multiplizierer 702 multipliziert, und das Ergebnis ist r1 = p2 · r0. Die Maximumschaltung 703 berechnet r2, was der größere der Werte von r1 und p3 ist. Der Addierer 704 berechnet Q1 = r2 + p4. Q1 ist der Parameter für die adaptive Quantisierung des Makroblocks.
  • Eine andere Parameter-Vereinigungseinheit bei einem anderen Ausführungsbeispiel der vorliegenden Erfindung ist in Fig. 13 dargestellt. Die Eingänge zu dieser Parameter- Vereinigungseinheit sind b1, b2, ... bk und p5 und p6. Für dieses Ausführungsbeispiel der Parameter-Vereinigungseinheit bilden p5 und p6 die Parametermenge p in Fig. 6. Die Signale b1, b2, ... bk werden zu einer Minimumschaltung 801 geschickt, die ein Ausgangssignal t1 erzeugt, das gleich dem Minimum von b1, b2, ... bk ist. Das Signal t1 wird zu einer Quadrierungseinheit 802 geschickt, die ein Ausgangssignal t2 = t1 · t1 erzeugt. Der Multiplizierer 803 berechnet t3 als t3 = t2 · p6. Der Addierer 804 berechnet t4 als t4 = t3 + p5. Der Multiplizierer 805 berechnet t5 als t5 = p5 · p6. (Beachte, dass wenn p5 und p6 die gleichen für jeden MB sind, dann t5 nicht für jeden MB erneut berechnet werden muß). Der Addierer 806 berechnet t6 als t6 = t5 + t2. Die Divisionsschaltung 807 berechnet Q1 als Q1 = t4/t6.
  • Die Arbeitsweise des oben beschriebenen Untersystems zur adaptiven Quantisierung hängt von der Parametermenge p ab, den Multipliziern S1, S2, ... Sm und den Inhalten der Speichergeräte 501_1, 501_2, ... 501_m in Fig. 10. Wir geben jetzt zwei Beispiele dafür, wie die Speicherung der Speicherinhalte eingestellt werden kann. Das erste ist das Verfahren der Differenz vom Mittelwert (DVM) und das zweite ist das Hadamard (HAM)-Verfahren. Bezeichne die Anzahl der Elemente in einem Block von Pixeln mit n, die durch die Blockbildungseinheit 301 in Fig. 7 erzeugt werden. Für das DVM- als auch das HAD-Verfahren ist die Anzahl m der Ausgangssignale einer linearen Transformationseinheit (Fig. 10) gleich n.
  • Für das DVM-Verfahren ist der j. Transformationskoeffizient im Speicherelement i gleich -1/n, wenn i nicht gleich j ist, und 1 - (1/n), wenn j gleich i ist.
  • Für das HAD-Verfahren berechnet die lineare Transformationseinheit eine Hadamard-Transformation des Eingangsblocks von Pixeln. Hadainard-Transformationen sind gebräuchlich und sind zum Beispiel beschrieben in "Digital Image Processing" von C. Gonzalez und P. Wintz, zweite Ausgabe, 1987; Abschnitt 3.5.2. Für den Fall, dass n = 64, (wie es in dem Ausführungsbeispiel der oben beschriebenen Blocktransformationseinheit der Fall ist), haben wir eine bildliche Darstellung des HAD-Verfahrens in Fig. 14. In Fig. 14 haben wir eine zweidimensionale Matrix von "+"-Symbolen und "-"-Symbolen. Jede Zeile der Matrix stellt einen Speicher in Fig. 10 dar, und jede Spalte stellt eine Eingangszahl der Speicher dar. Die j. Zahl im Speicherelement i ist gleich +1, wenn das j. Symbol in der i. Reihe der Matrix in Fig. 10 ein "+" ist, und ist gleich -1, wenn das j. Symbol in der i. Zeile der Matrix in Fig. 10 ein "-" ist.
  • Es versteht sich, dass die oben beschriebenen Systeme und Verfahren: in Hardware-Logik oder als Programmcode in einem Computersystem verkörpert werden können.
  • Jetzt, da die Erfindung mittels des bevorzugten Ausführungsbeispiels beschrieben ist, fallen den Fachleuten verschiedene Modifikationen und Verbesserungen ein. Daher versteht es sich, dass das bevorzugte Ausführungsbeispiel als ein Beispiel vorgesehen wurde und nicht als eine Beschränkung. Der Schutzumfang der Erfindung ist durch die angefügten Ansprüche definiert.

Claims (4)

1. Verfahren zum Codieren eines digitalisierten Bildes, umfassend die Schritte des:
Unterteilens des Bildes in eine Vielzahl von Regionen,
Unterteilens jeder Region in eine Vielzahl von Unterregionen,
Bestimmens linearer Kombinationen von Pixeln in jeder Unterregion,
Bestimmens eines unterregionalen, adaptiven Quantisierungsparameters für jede der Unterregionen als Funktion der linearen Kombinationen von Pixeln, wobei die Funktion die Grobheitstoleranz für jede Unterregion erstellt,
Bestimmens eines regionalen Quantisierungsparameters für jede Region als Funktion der unterregionalen, adaptiven Quantisierungsparameter,
Bestimmens einer Quantisierungsstufe für jede der Regionen, basierend auf dem regionalen Quantisierungsparameter,
Transformationscodierens jeder der Regionen unter Benutzen der Quantisierungsstufe,
Verketten einer transformationscodierten Darstellung jeder Region, um eine codierte Darstellung eines gesamten Bildes zu erhalten.
2. Verfahren nach Anspruch 1, umfassend die weiteren Schritte des:
Lieferns der codierten Darstellung des gesamten Bildes an einen Decodierer,
Anzeigens des gesamten Bildes in decodierter Form auf einer Anzeigevorrichtung.
3. Verfähren nach Anspruch 1, bei dem die linearen Kombinationen berechnet werden durch Durchführen einer Hadamard-Transformation auf Pixelwerte in jeder Unterregion.
4. Codierer zum Codieren der Daten eines digitalisierten Bildes, umfassend:
Mittel zum Unterteilen des Bildes in eine Vielzahl von Regionen,
Mittel zum Unterteilen jeder Region in eine Vielzahl von Unterregionen,
Mittel zum Berechnen linearer Kombinationen von Pixeln in jeder Unterregion,
Mittel zum Bestimmen eines unterregionalen, adaptiven Quantisierungsparameters für jede der Unterregionen als eine Funktion der linearen Kombinationen von Pixeln, wobei die Funktion eine Grobheitstoleranz für jede Unterregion erstellt,
Mittel zum Bestimmen eines regionalen Quantisierungsparameters für jede Region als Funktion der unterregionalen, adaptiven Quantisierungsparameter,
Mittel zum Bestimmen einer Quantisierungsstufe für jede der Regionen, basierend auf dem regionalen Quantisierungsparameter,
Mittel für das Transformationscodieren jeder der Regionen unter Benutzen der Quantisierungsstufe,
Mittel zum Verketten einer transformationscodierten Darstellung jeder Region, um eine codierte Darstellung eines gesamten Bildes zu erhalten.
DE69624399T 1995-04-05 1996-03-01 Einrichtung zur Kompression von bewegten Videobildern mit adaptiver Quantisierung Expired - Lifetime DE69624399T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/418,141 US5729294A (en) 1995-04-05 1995-04-05 Motion video compression system with novel adaptive quantization

Publications (2)

Publication Number Publication Date
DE69624399D1 DE69624399D1 (de) 2002-11-28
DE69624399T2 true DE69624399T2 (de) 2003-06-18

Family

ID=23656886

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69624399T Expired - Lifetime DE69624399T2 (de) 1995-04-05 1996-03-01 Einrichtung zur Kompression von bewegten Videobildern mit adaptiver Quantisierung

Country Status (5)

Country Link
US (1) US5729294A (de)
EP (1) EP0736843B1 (de)
JP (1) JPH08289294A (de)
KR (1) KR100238622B1 (de)
DE (1) DE69624399T2 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2756398B1 (fr) * 1996-11-28 1999-06-25 Thomson Multimedia Sa Procede de codage avec information de region
US6192075B1 (en) * 1997-08-21 2001-02-20 Stream Machine Company Single-pass variable bit-rate control for digital video coding
US6212232B1 (en) 1998-06-18 2001-04-03 Compaq Computer Corporation Rate control and bit allocation for low bit rate video communication applications
US6831947B2 (en) 2001-03-23 2004-12-14 Sharp Laboratories Of America, Inc. Adaptive quantization based on bit rate prediction and prediction error energy
DE10156851C1 (de) * 2001-11-20 2003-07-03 Infineon Technologies Ag Verfahren und Vorrichtung zur Bildkompression
JP4002502B2 (ja) * 2001-11-27 2007-11-07 三星電子株式会社 座標インタポレータの符号化/復号化装置及びその方法
JP3846488B2 (ja) * 2004-05-10 2006-11-15 セイコーエプソン株式会社 画像データ圧縮装置、エンコーダ、電子機器及び画像データ圧縮方法
WO2006007279A2 (en) * 2004-06-18 2006-01-19 Thomson Licensing Method and apparatus for video codec quantization
GB0428155D0 (en) 2004-12-22 2005-01-26 British Telecomm Buffer underflow prevention
KR101170799B1 (ko) 2005-05-21 2012-08-02 삼성전자주식회사 영상 압축 방법 및 그 장치와 영상 복원 방법 및 그 장치
US8306918B2 (en) * 2005-10-11 2012-11-06 Apple Inc. Use of media storage structure with multiple pieces of content in a content-distribution system
US8126283B1 (en) 2005-10-13 2012-02-28 Maxim Integrated Products, Inc. Video encoding statistics extraction using non-exclusive content categories
US8081682B1 (en) 2005-10-13 2011-12-20 Maxim Integrated Products, Inc. Video encoding mode decisions according to content categories
US8149909B1 (en) 2005-10-13 2012-04-03 Maxim Integrated Products, Inc. Video encoding control using non-exclusive content categories
US9479794B2 (en) 2005-11-10 2016-10-25 Freescale Semiconductor, Inc. Resource efficient video processing via prediction error computational adjustments
US8077775B2 (en) 2006-05-12 2011-12-13 Freescale Semiconductor, Inc. System and method of adaptive rate control for a video encoder
US7773672B2 (en) 2006-05-30 2010-08-10 Freescale Semiconductor, Inc. Scalable rate control system for a video encoder
JP5917117B2 (ja) 2011-12-07 2016-05-11 株式会社日立国際電気 画像符号化装置及び画像符号化方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4868653A (en) * 1987-10-05 1989-09-19 Intel Corporation Adaptive digital video compression system
US4972260A (en) * 1988-08-22 1990-11-20 Matsushita Electric Industrial Co., Ltd. Apparatus for coding a moving-picture signal
US5051840A (en) * 1988-12-14 1991-09-24 Fuji Photo Film Co., Ltd. Device for coding a picture signal by compression
DE69119936T2 (de) * 1990-02-28 1996-11-14 Victor Company Of Japan Einrichtung zur Datenkompression
US5249053A (en) * 1991-02-05 1993-09-28 Dycam Inc. Filmless digital camera with selective image compression
EP0514663A3 (en) * 1991-05-24 1993-07-14 International Business Machines Corporation An apparatus and method for motion video encoding employing an adaptive quantizer
US5369437A (en) * 1991-08-28 1994-11-29 Nec Corporation Time-varying image signal coding/decoding system
US5351083A (en) * 1991-10-17 1994-09-27 Sony Corporation Picture encoding and/or decoding system
US5231484A (en) * 1991-11-08 1993-07-27 International Business Machines Corporation Motion video compression system with adaptive bit allocation and quantization
US5521717A (en) * 1992-02-03 1996-05-28 Canon Kabushiki Kaisha Image processing apparatus and method therefor
US5440346A (en) * 1993-06-16 1995-08-08 Intel Corporation Mode selection for method and system for encoding images

Also Published As

Publication number Publication date
JPH08289294A (ja) 1996-11-01
DE69624399D1 (de) 2002-11-28
US5729294A (en) 1998-03-17
EP0736843A2 (de) 1996-10-09
KR100238622B1 (ko) 2000-01-15
KR960040006A (ko) 1996-11-25
EP0736843B1 (de) 2002-10-23
EP0736843A3 (de) 1997-01-08

Similar Documents

Publication Publication Date Title
DE69226749T2 (de) System zur Kompression von sich bewegenden Videobildern mit mehrfachen Auflösungsmerkmalen
DE69624399T2 (de) Einrichtung zur Kompression von bewegten Videobildern mit adaptiver Quantisierung
DE69320719T2 (de) Effiziente, frequenzskalierbare Videokodierung mit Koeffizientenwahl
DE69233411T2 (de) Verfahren und Einrichtung zur Kompression von sich bewegenden Videobildern mit adaptiver Bitzuordnung und Quantisierung
DE69130214T2 (de) Bilddatenkompression mit adaptiver Blockgrössenauswahl
DE69633129T2 (de) Waveletbaum-bildcoder mit überlappenden bildblöcken
DE69222766T2 (de) System zur adaptiven kompression der blockgrössen eines bildes
DE69535228T2 (de) Bildumsetzungsvorrichtung
DE60125301T2 (de) Videosignaltranskodierung
DE69933483T2 (de) Vorrichtung und Verfahren zum Codieren mit bewegungskompensierter Vorhersage
DE4233543B4 (de) Vorrichtung zur Steuerung der Quantisierung von Videodaten
DE60305325T2 (de) System und verfahren zur ratenverzerrungsoptimierten datenpartitionierung zur videocodierung unter verwendung von rückwärtsadaption
DE69228442T2 (de) Verfahren und vorrichtung zur bilddatenkompression durch luminanz/chrominanz-kodierung
DE69432142T2 (de) Verfahren und vorrichtung zur effizienten transkodierung
DE69221191T2 (de) Verfahren und Vorrichtung zur Prädiktiven Kodierung eines Bildsignals mit Bewegungskompensation
DE69810670T2 (de) Verfahren zur rechnerischen Feindegradierung in einem audio-visuellen Kompressionssystem
DE4343211B4 (de) Adaptives Bildkompressionsverfahren und adaptive Bildkompressionsvorrichtung
DE602004002525T2 (de) Verfahren zum Umcodieren eines nach JPEG2000 komprimierten Bildes
DE3851468T2 (de) Kodierungsverfahren von Bildsignalen.
DE69811394T2 (de) Adaptive entropie-kodierung im rahmen adaptiver quantisierung für videosignalkodiersysteme und -verfahren
DE3751416T2 (de) Bildcodiersystem zum Ueberwachen einer Informationsmenge durch Bildung eines Histogramms.
DE69425179T2 (de) Kodierungsvorrichtung und -verfahren
DE69633815T2 (de) Vorrichtung zur Codierung und Decodierung eines digitalen Bildsignales
DE69805228T2 (de) Videosignalkodierung mit adaptiver Quantisierung
DE69226160T2 (de) Vorrichtung zur Kompressionskodierung von Videosignalen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8328 Change in the person/name/address of the agent

Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 7