DE69609137T2 - Vorrichtung und verfahren zur kodierung von videobildern. - Google Patents

Vorrichtung und verfahren zur kodierung von videobildern.

Info

Publication number
DE69609137T2
DE69609137T2 DE69609137T DE69609137T DE69609137T2 DE 69609137 T2 DE69609137 T2 DE 69609137T2 DE 69609137 T DE69609137 T DE 69609137T DE 69609137 T DE69609137 T DE 69609137T DE 69609137 T2 DE69609137 T2 DE 69609137T2
Authority
DE
Germany
Prior art keywords
coefficients
quantized
zero
quantization
sum
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
DE69609137T
Other languages
English (en)
Other versions
DE69609137D1 (de
Inventor
Johan Keesman
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of DE69609137D1 publication Critical patent/DE69609137D1/de
Application granted granted Critical
Publication of DE69609137T2 publication Critical patent/DE69609137T2/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/19Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
    • 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
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

    BEREICH DER ERFINDUNG
  • Die Erfindung bezieht sich auf eine Anordnung und ein Verfahren zur Codierung von Videobildern mit einem Bildtransformator zum blocksequentiellen Transformieren von Pixeln in Koeffizienten, einem Quantisierer zum Quantisieren der Koeffizienten mit einer bestimmten Schrittgröße, und mit einer Codierungsschaltung mit veränderlicher Länge zum Codieren der quantisierten Koeffizienten.
  • HINTERGRUND DER ERFINDUNG
  • Ein Beispiel einer derartigen Videocodierung ist inzwischen allgemein bekannt unter der Bezeichnung MPEG. Je feiner die Quantisierungsschrittgröße umso besser ist die Qualität des reproduzierten Bildes, aber je größer ist die Anzahl Bits, erforderlich zur Übertragung dieses Bildes.
  • "Ramchandran und Vetterli: Rate-Distorsion Optimal Fast Thresholding with complete JPEG/MPEG Decoder Compatibility", "IEEE Transactions on Image Processing" Heft 3, Nr. 5, September 1994 beschreibt ein Verfahren einer weiteren Verbesserung der Bildqualität. Dieses Verfahren wird kurz zusammengefasst anhand der Fig. 1. In dieser Figur bezeichnet das Bezugszeichen 100 eine Ratendistorsionskurve (nachstehend als RD-Kurve bezeichnet) für einen Bereich von Schrittgrößen Δ. Bei einem bekannten Verfahren werden die quantisierten Koeffizienten einem Schwellensetzverfahren ausgesetzt. Damit wird gemeint, dass selektierte Nicht-Null- Koeffizienten gezwungen werden, den Wert Null anzunehmen. Durch Schwellensetzen wird die Bitrate niedriger sein (im Wesentlichen werden weniger Nicht-Null- Koeffizienten übertragen) und die Verzerrung wird größer sein. In Fig. 1 stellt die Kurve 101 eine RD-Kurve dar, wenn die Schwellensetzung durchgeführt wird an Koeffizienten, die mit einer Schrittgröße Δ1 quantisiert wurden. Die Kurve 102 stellt eine RD-Kurve dar, wenn die Schwellensetzung durchgeführt wird an Koeffizienten, die mit einer größeren Schrittgröße Δ2 quantisiert wurden. Die Kurven 101 und 102 werden nachher als Schwellenkurven bezeichnet. Sie werden erhalten durch Bestimmung des Minimalwertes von dem was bekannt ist als "Lagrangian Cost" für verschiedene Werte des "Lagrange Multiplier" λ. Die "Lagrangian Cost" werden wie folgt definiert:
  • L(b,λ) = D(b) + λ.R(b)
  • In diesem Ausdruck stellt b einen Satz zu übertragender Koeffizienten dar. D(b) und R(b) sind die Verzerrung bzw. die Bitrate bei Übertragung dieser Koeffizienten. Der Lagrange Multiplizierer λ ist eine natürliche Zahl, die größer als oder gleich Null ist. Für jede λ kann eine Schwellensetzung gefunden werden, was einen Satz b von Koeffizienten liefert, für den L(b,λ) minimal ist. Die Verzerrung D(b) und die Bitrate R(b), die zu diesem Satz gehören, bilden einen Punkt auf der Schwellenkurve. Der Ausgangspunkt (λ = 0) ist immer auf der Kurve 100. Wenn λ zunimmt, wird die Verzerrung größer und die Bitrate niedriger.
  • Wie aus Fig. 1 ersichtlich, kann eine bestimmte Bitrate R1 durch (i) Quantisierung der Koeffizienten mit der Schrittgröße Δ2 und durch Übertragung aller quantisierten Koeffizienten, und durch (ii) Quantisierung der Koeffizienten mit einer kleineren Schrittgröße Δ1 und der Schwellensetzung selektierter Koeffizienten erhalten werden. Offenbar ist die Option (ii) günstiger, weil dies weniger Verzerrung ergibt.
  • Die dargestellten Kurven 101 und 102 sind nur zwei Kurven von vielen möglichen Schwellenkurven. Die Umhüllende dabei, bezeichnet durch 103 in der Figur, bildet die optimale RD-Kurve für ein bestimmtes Bild. Sie befindet sich völlig unterhalb der Kurve 100. Mit anderen Worten, bei jeder beliebigen Bitrate führt Schwellensetzung zu einer Schrittgröße Δ und zu einem Lagrange Multiplizierer λ, was eine geringere Verzerrung ergibt als wenn Schwellensetzung nicht durchgeführt wurde.
  • AUFGABE UND ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist nun u. a. eine Aufgabe der vorliegenden Erfindung die Bildqualität einer Videocodieranordnung auf eine einfache Art und Weise weiter zu verbessern.
  • Eine Anordnung und ein Verfahren nach der vorliegenden Erfindung sind in den Ansprüchen 1 und 5 beschrieben. Die Bildqualität eines MPEG-Codierers wird dadurch wesentlich verbessert. Weiterhin kann der Prozess auf einfachere Art und Weise implementiert werden, weil die Optimierung für jeden Koeffizienten einzeln erfolgt. Es ist nicht notwendig, eine optimale Wahl aus einem großen Gebiet von Möglichkeiten zu machen, wie dies bisher der Fall war. Es ist möglich, aber nicht notwendig, dass den quantisierten Koeffizienten die niedrigeren Werte zugeordnet werden, für die D + λR minimal ist.
  • In einer Ausführungsform der Anordnung ist diese weiterhin mit Mitteln versehen um modifizierte Koeffizienten Null zu machen, wenn dieses Null Machen eine niedrigere D + λR für diese Koeffizienten ergibt. Diese Kombination von Verringerung und von Schwellensetzung von Koeffizienten liefert eine bessere Bildqualität als bei der Anordnung nach dem Stand der Technik. Außerdem ist der Prozess einfach, weil die Schwellensetzung für jeden Koeffizienten einzeln erfolgt.
  • Bei einer weiteren Ausführungsform ist die Anordnung weiterhin mit Mitteln versehen um alle Koeffizienten eines Bildblocks Null zu machen, wenn das eine niedrigere D + λR für diesen Bildblock ergibt. Dies ergibt eine noch weitere Verbesserung der Bildqualität.
  • KURZE BESCHREIBUNG DER ZEICHNUNG
  • In der Zeichnung zeigen:
  • Fig. 1, bereits beschrieben, einige Ratenverzerrungskurven zur Erläuterung einer bekannten Anordnung,
  • Fig. 2 eine Anordnung zur Codierung eines Videosignals nach der Erfindung,
  • Fig. 3 das Blockdiagramm eines λ-Rechners aus Fig. 2,
  • Fig. 4 ein Flussdiagramm zur Erläuterung des Vorgangs einer Rechenschaltung nach Fig. 3,
  • Fig. 5 einige Entropie-Verzerrungskurven zur Erläuterung der Wirkung des λ-Rechners nach Fig. 3,
  • Fig. 6 ein Quantisierungsdiagramm zur Erläuterung der Wirkung einer Quantisieranordnung nach Fig. 2,
  • Fig. 7 ein Flussdiagramm zur Erläuterung der Wirkung der Quantisieranordnung nach Fig. 2,
  • Fig. 8 ein Flussdiagramm zur Erläuterung einer weiteren Ausführungsform der Quantisieranordnung nach Fig. 2.
  • BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
  • Fig. 2 zeigt eine Anordnung zum Codieren eines Videosignals nach der vorliegenden Erfindung. Die Anordnung umfasst eine Verzögerungsanordnung 1, einen Bildtransformator 2, einen Quantisierer 3, eine Variable-Länge-Codierschaltung 4, eine Bitratensteuerschaltung 5 und einen λ-Rechner 6. Ein wichtiger Aspekt der Erfindung ist, dass das Videosignal entsprechend der MPEG-Norm codiert werden kann. Dazu entsprechen der Bildtransformator 2, die Variable-Länge-Codierschaltung 4 und die Bitratensteuerschaltung 5 in dieser Ausführungsform den enstrechenden Elementen des allgemein bekannten MPEG-Codierers. Deswegen werden sie an dieser Stelle nicht eingehend beschrieben. Der Einfachheit halber zeigt Fig. 2 nur die Elemente, die zur Intraframe-Codierung notwendig sind. Die Erfindung lässt sich ebenfalls bei Interframe-Codierung anwenden. Das zugeführte Bild wird dazu zunächst von einem bewegungskompensierten Prädiktionsbild subtrahiert, wonach der auf diese Weise erhaltene Rest codiert wird.
  • In dem Bildtransformator 2 wird das zugeführte Bild blockweise einer Bildtransformation ausgesetzt. In dem Ausführungsbeispiel wird "Discrete Cosinus Transformation" (DCT) angewandt. Jede geeignete Frequenztransformation kann jedoch benutzt werden, einschließlich Unterbandfilterung. Die DCT transformiert jeden Bildblock von beispielsweise 8*8 Pixeln in einem Block von 8*8 Koeffizienten ci, wobei i = 0 ... 63 die Rangordnung in zunehmendem Maße von Bildeinzelheit angibt.
  • Die DCT-Koeffizienten ci werden dem Quantisierer 3 zugeführt. Dieser ist dazu eingerichtet, jeden Koeffizienten ci auf einem diskreten Quantisierungspegel abzubilden. Die genannten Quantisierungspegel entsprechen denen eines herkömmlichen MPEG-Codierers und liegen eine Schrittgröße Δi auseinander. Entsprechend der MPEG-Norm ist der Abstand 4 koeffizientenabhängig, entsprechend Gewichtungsfaktoren Wi, die in einer Quantisierungsmatrix gespeichert sind. Die Quantisierungsschrittgröße wird durch die Bitratenregelschaltung 5 blockweise geregelt. Diese Schaltungsanordnung führt dazu dem Quantisierer eine Schrittgröße Δ zu. Die Schrittgröße Δi wird entsprechend dem nachfolgenden Ausdruck berechnet:
  • Δi = c.Wi.Δ
  • wobei i eine räumliche Frequenz bezeichnet, wobei Wi der Gewichtungsfaktor für die genannte räumliche Frequenz ist und wobei c eine Konstante ist.
  • In einem herkömmlichen MPEG-Codierer stellt der Quantisierer jeden Koeffizienten ci auf einem der zwei am nächsten liegenden Quantisierungspegeln dar. Nach der Erfindung empfängt der Quantisierer ebenfalls einen Lagrange Multiplizierer λ. Abhängig von λ stellt der Quantisierer nun einen Koeffizienten ci auf einem anderen als der am nächsten liegenden Quantisierungspegel dar. Insbesondere zwingt der Quantisierer einen Koeffizienten einen anderen Pegel anzunehmen, wenn dies im Sinne der Ratenverzerrung effizienter ist. Ausführungsformen des Quantisierers 3 und des λ-Rechners 6 werden nachstehend detailliert beschrieben.
  • Die quantisierten Koeffizienten qi werden danach einer Variable-Länge- Codierschaltung 4 zugeführt. Diese Schaltungsanordnung bildet ein Variable-Länge- Codewort für jeden Nicht-Null-Koeffizienten und einer eventuell vorhergehenden Reihe von Nicht-Null-Koeffizienten entsprechend der MPEG-Norm. Die gebildeten Codewörter werden nach (nicht dargestellter) Pufferung über einen Übertragungskanal übertragen. Die Codewörter werden ebenfalls der Bitratensteuerschaltung 5 zugeführt. Diese Schaltungsanordnung steuert die Schrittgröße Δ auf weiterhin bekannte Art und Weise so, dass die Anzahl Bits je Block immer möglichst entsprechend einem vorbestimmten Zielwert Rt ist.
  • Der Lagrange-Multiplizierer λ wird durch den λ-Rechner 6 dem Quantisierer zugeführt. Dieser Rechner berechnet λ durch Analyse des zu codierenden Bildes. Dazu wird das Videosignal unmittelbar dem λ-Rechner zugeführt, während die eigentliche Codierung des Signals (Transformation, Quantisierung, Variable-Länge- Codierung) erfolgt nachdem es über die Verzögerungsschaltung 1 um eine Bildperiode verzögert worden ist.
  • Fig. 3 zeigt das Blockschaltbild des λ-Rechners 6. Der Rechner umfasst einen Bildtransformator 600, eine Zählerschaltung 601 und eine Rechenschaltung 602. Der Bildtransformator 600 entspricht dem Bildtransformator 2 in Fig. 2 und liefert 64 Koeffizienten ci (i = 0 ... 63) für jeden Block. Die DCT-Koeffizienten haben eine Amplitude n in dem Bereich [-2047, 2048]. Die Zählerschaltung 601 zählt für jeden Koeffizienten ci wie oft dieser Koeffizient die Amplitude n hat und bildet folglich ein Histogramm der Amplitudenverteilung für jeden Koeffizienten. Die Anzahl Male, dass der Koeffizient ci den Wert n annimmt, wird in dem Zähler hi(n) aufgezeichnet.
  • Die Wirkungsweise der Rechenschaltung 602 wird nachstehend anhand eines Flussdiagramms nach Fig. 4 näher erläutert. In dem Schritt 40 wird einer Quantisierungsschrittgröße Δ ein Ausgangswert zugeordnet. Danach werden die Entropie H und die Verzerrung D für diese Schrittgröße in dem Schritt 41 berechnet. Diese Berechnung wird nachstehend detailliert beschrieben.
  • Wie bereits oben erwähnt, ist die Schrittgröße Δ indikativ für den Raum zwischen diskreten Quantisierungspegeln. Die Rechenschaltung überprüft, wie oft der Koeffizient ci eine Amplitude n zwischen zwei Amplituden tk und tk+1 entsprechend dem Quantisierungspegel rk hat. Oft gilt, dass tk = rk - ¹/&sub2;Δ und tk-1 = rk + ¹/&sub2;Δ, aber dies ist nicht notwendig. Durch Aufteilung der genannten Anzahl durch die Anzahl Blöcke N in einem Bild, wird die Wahrscheinlichkeit pk bestimmt, dass der Koeffizient ci den Quantisierungspegel rk annimmt. Dies lässt sich nun wie folgt schreiben:
  • pk = hi(n)/N
  • Danach berechnet die Rechenschaltung die Entropie Hi des Koeffizienten ci und die Entropie H des Bildes. Diese werden wie folgt definiert:
  • Hi = pk.log(pk) bzw. H = Hi
  • Die Verzerrung D des Bildes wird auf eine vergleichbare Art und Weise berechnet.
  • Die "örtliche" Verzerrung für Koeffizienten ci ist:
  • di = hi(n).(rk - n)²/N
  • Die Verzerrung je Block ist dann:
  • D = Di
  • Es sei bemerkt, dass die Entropie H und die Verzerrung D beide eine Funktion der angenommenen Schrittgröße Δ sind.
  • Sollte der oben beschriebene Rechenschritt 41 für eine Vielzahl von Schrittgrößen Δ durchgeführt werden, so würde dies eine sog. Entropie-Verzerrungskurve (HD-Kurve) ergeben. Es hat sich herausgestellt, dass diese HD-Kurve der HD- Kurve, die in Fig. 1 durch 100 bezeichnet ist, weitgehend entspricht.
  • Es ist aber nicht notwendig, die H-Kurve völlig verfügbar zu haben. Der gesuchte Lagrange Multiplizierer λ wird nämlich gebildet durch die Abgeleitete -dD/dH an dem Punkt P (siehe Fig. 5) der HD-Kurve, wo die Entropie H der gezielten Anzahl Bits des Bildes entspricht. Der Punkt P wird mit bekannten Prozeduren aus der numerischen Mathematik gefunden. Jeder Algorithmus zum Bestimmen von Null punkten eignet sich dazu, beispielsweise ein "bi section algorithm". In Fig. 4 ist dies mit einem Schritt 42 angegeben, wobei ermittelt wird, ob die Entropie H bei der aktuellen Schrittgröße Δ in ausreichendem Maße der gezielten Anzahl Bits Rt entspricht. Solange dies nicht der Fall ist, wird der Rechenschritt 41 mit einer anderen Schrittgröße Δ durchgeführt. Der Vollständigkeit halber sei bemerkt, dass der relevante Teil der HD-Kurve aus den vorhandenen Histogrammen berechnet werden kann. Es ist also nicht notwendig, das Bild für jede Berechnung von H und D jeweils neu zu codieren.
  • In einem Schritt 43 wird die gesuchte λ als Abgeleitete der HD-Kurve berechnet. Wenn von drei Punkten der Punkt (H&sub2;,D&sub2;) der Arbeitspunkt P ist und zwei Punkte (H&sub1;,D&sub1;) und (H&sub3;,D&sub3;) in der Nähe dieses Punkten liegen, folgt λ aus:
  • Eine Alternative ist die weniger komplizierte und auch etwas weniger genaue Zwei- Punkt-Annäherung von λ aus zwei Punkten (H&sub1;,D&sub1;) und (H&sub2;,D&sub2;) in der Nähe des Arbeitspunktes:
  • Der auf diese Art und Weise gefundene Wert von λ wird dem Quantisierer 3 zugeführt (siehe Fig. 2). Während der Codierung eines Bildes hat λ für alle Bildblöcke des Bildes denselben Wert. Fig. 5 zeigt, wie der Codierer auf die zugeführte λ reagiert. In dieser Figur ist 500 die berechnete HD-Kurve. Für λ = 0 (d. h. keine Modifikation der Koeffizienten) würde der Codierer in dem Punkt P dadurch arbeiten, dass die Bitratenschaltung 5 (siehe Fig. 2) die Schrittgröße Δ2 erzeugt, die tatsächlich zu der Zielanzahl Bits führt. Unter dem Einfluss von λ werden die Koeffizienten jedoch auf anderen Quantisierungspegeln abgebildet. Auf die dadurch verringerte Anzahl Bits je Bildblock reagiert die Bitratenregelschaltung durch Verringerung der Schrittgröße. Insbesondere regelt die Bitratenregelschaltung die Schrittgröße au tomatisch auf denjenigen Wert Δ1, bei dem die Abgeleitete der Ratenverzerrungskurve 501 am Punkt Q der Abgeleiteten der HD-Kurve am Punkt P nach wie vor entspricht.
  • Die Wirkungsweise des Quantisierers 3 wird nun unter Hinweis auf die Fig. 6 und 7 näher erläutert. In Fig. 6 ist eine Skala möglicher Wert von DCT-Koeffizienten ci angegeben. Durch rk-1, rk, rk+1, ... sind die diskreten Quantisierungspegel angegeben, die der quantisierte Koeffizient qi annehmen kann. Die genannten Quantisierungspegel liegen um eine Schrittgröße Δi auseinander, wie oben beschrieben, in Reaktion auf die Schrittgröße Δ, die der Bitratenregelschaltung 5 zugeführt wird (siehe Fig. 2).
  • Fig. 7 zeigt ein Flussdiagramm der von dem Quantisierer an dem Koeffizienten ci durchgeführten Vorgänge. In einem Ausgangsschritt 70 wird der Wert von ci auf dem nächsten Quantisierungspegel rk abgebildet. In einem Schritt 71 wird danach der "Lagrangian Cost" L für diesen Quantisierungspegel rk nach der untenstehenden Formel berechnet:
  • L = (Ci - rk)² + λ.Rk
  • In dieser Formel ist (ci - rk)² ein Maß der Verzerrung, was ein Ergebnis der Annäherung von ci durch rk ist und Rk die Anzahl Bits erforderlich zum Übertragen von qi = rk. In einem Schritt 72 wird die berechnete "Lagrangian Cost" L gespeichert als Lmin.
  • Danach wird der Koeffizient ci auf einem niedrigeren Quantisierungspegel rk-1 dargestellt. Dies ist in der Figur dadurch angegeben, dass in einem Schritt 73 der Index um 1 herabgesetzt wird. In einem Schritt 74 wird daraufhin für diesen quantisierten Pegel abermals die "Lagrangian Cost" L berechnet. In einem Schritt 75 wird ermittelt, ob diese "Lagrangian Cost" L kleiner ist als Lmin. Sollte das der Fall sein, so ist der niedrigere Quantisierungspegel rk-1 offenbar günstiger in Termen der Ratenverzerrung als rk. Mit anderen Worten, die Verzerrung nimmt zwar zu, aber der Gewinn an Anzahl Bits zählt schwerer. Der Quantisierer führt dann die Schritte 72-75 abermals durch um zu ermitteln, ob ein noch niedrigerer Quantisierungspegel noch günstiger ist. Das Suchen der minimalen "Lagrangian Cost" L auf diese Art und Weise wird beendet, sobald in dem Schritt 75 gefunden worden ist, dass L wieder zunimmt. Der dem Wert Lmin entsprechende Quantisierungspegel wird danach in einem Schritt 76 zur Quantisierung der Koeffizienten ci gewählt. Der in Fig. 7 dargestellte Algorithmus wird für alle Koeffizienten ci eines Bildblocks durchgeführt.
  • Es sei bemerkt, dass beim Wählen eines niedrigeren Quantisierungspegels (Schritt 73) der Pegel 0 erreicht werden kann. Null-Koeffizienten werden jedoch nicht an sich codiert, sind aber in dem Code für den nächsten Nicht-Null-Koeffizienten eingeschlossen. Die Folgen davon für die Anzahl Bits werden in dem Term Rk der Formel für L (Schritt 74) eingeschlossen.
  • Aus praktischen Versuchen hat es sich herausgestellt, dass der gefundene Quantisierungspegel fast niemals um mehr als einen oder zwei Schritte unterhalb des "herkömmlichen" Pegels liegt. Deswegen ist es auch möglich, und einfacher, die "Lagrangian Cost" L für nur einige Quantisierungspegel zu berechnen (den "herkömmlichen" Pegel rk und zwei darunter liegende Pegel), und den Pegel zu selektieren, der die geringste L ergibt.
  • Der oben beschriebene Quantisierungsprozess wird als "bitrate constrained" Quantisierung von DCT-Koeffizienten bezeichnet. Es ergibt eine wesentliche Verbesserung der Bildqualität im Vergleich zu einer herkömmlichen MPEG-Codierung, in der für jeden Koeffizienten der an meisten benachbarte Pegel codiert und übertragen wird.
  • Eine weitere Verbesserung der Bildqualität wird dadurch erhalten, dass die auf diese Art und Weise erhaltenen Koeffizienten qi danach einer Schwellensetzung ausgesetzt werden. Wie bereits oben erwähnt wurde, wird unter Schwellensetzung verstanden, dass Koeffizienten Null gemacht werden. Fig. 8 zeigt ein ein Flussdiagramm der Vorgänge, die dazu an jedem Nicht-Null-Koeffizienten qi durchgeführt werden. In einem Schritt 80 wird die "Lagrangian Cost" L1 für diesen Koeffizienten qi ≠ 0 berechnet, gegeben den aktuellen Wert von λ. Für L1 gilt:
  • L1 = (ci - qi)² + λ.Ri
  • worin Ri die Anzahl Bits ist zur Übertragung von qi und die ggf vorhergehendem Null-Koeffizienten. In einem Schritt 81 wird die "Lagrangian Cost" L2 berechnet, falls qi forciert den Wert Null bekommen würde. Für L2 gilt:
  • L2 = (ci - o)² + λ.ΔRi
  • Worin ΔRi die Anzahl Bits ist, die durch die Tatsache, dass qi Null gemacht worden ist, (die Codierung von qi = 0 wird in der Codierung des nächsten Nicht-Null-Koeffizienten eingeschlossen). Daraufhin wird in einem Schritt 82 ermittelt, ob L1 > L2 ist. Sollte das nicht der Fall sein, dann bleibt qi ungeändert. Sollt das wohl der Fall sein, so bekommt qi in einem Schritt 83 den Wert Null. Die Prozedur wird danach für einen nächsten Nicht-Null-Koeffizienten wiederholt.
  • Der in Fig. 8 dargestellte Schwellensetzungsalgorithmus bestimmt je Koeffizienten einmalig, ob es günstiger ist um diesen Koeffizienten beizubehalten oder um ihn Null zu machen. Dies ist wesentlich einfacher und erfordert weniger Rechenaufwand als der Algorithmus, der in dem bereits genannten Artikel "Rate- Distortion Optimal Fast Thresholding with complete JPEG/MPEG Decoder Compatibility", der alle möglichen Schwellensetzoptionen durchrechnet und daraus die günstigste selektiert. Dennoch ergibt die hier beschriebene Form von Schwellensetzung eine wesentliche Verbesserung der Bildqualität. Insbesondere hat es sich herausgestellt, dass die Kombination von "bitrate constrained" Quantisierung und Schwellensetzung die Bildqualität wesentlich verbessert.
  • Ein noch weitere Verbesserung wird dadurch erreicht, dass die "Lagrangian Cost" eines Bildblocks mit der eines Bildblocks verglichen wird, von dem alle Koeffizienten den Wert Null haben. Im Wesentlichen brauchen Blöcke, von denen alle Koeffizienten den Wert Null haben. Nicht übertragen zu werden. Es reicht, solche leeren Blöcke in einem Parameter anzugeben, der in MPEG als "coded_block_pattern" bezeichnet ist. Offenbar wird die Anzahl Bits, die an der "coded_block_pattern"- Codierung beteiligt sind in dem λR-Term der "Lagrangian Cost" L = D + λR berücksichtigt.
  • Zusammenfassend lässt sich sagen, dass die Bildqualität eines MPEG- codierten Videosignals wesentlich verbessert wird, indem die Koeffizienten nach Quantisierung derart reduziert werden, dass die "Lagrangian Cost" D + λR (D ist Verzerrung, R ist Bitrate) für einen bestimmten Wert des "Lagrangian Multiplizierers" λ minimal ist. Die Verzerrung nimmt ab, weil die Schrittgröße reduziert wird, während die Bitrate dieselbe bleibt.

Claims (8)

1. Anordnung zum Codieren von Videobildern, wobei diese Anordnung die nachfolgenden Elemente aufweist:
- einen Bildtransformator (2) zum blocksequentiellen Transformieren von Pixeln in Koeffizienten;
- Mittel (6) zum Berechnen des Wertes eines Lagrange Multiplizierers λ;
- einen Quantisierer (3) zum Quantisieren der Koeffizienten auf den meist naheliegenden einer Anzahl bestimmter Quantisierungspegel, zum Bestimmen der Summe D + λR für die genannten quantisierten Koeffizienten, wobei D die Verzerrung und R die Bitrate ist, und zum Modifizieren der quantisierten Koeffizienten zum Reduzieren der Summe D + λR für die genannten modifizierten Koeffizienten;
- eine Veränderliche-Länge-Codierungsschaltung (4) zum Codieren der quantisierten Koeffizienten;
dadurch gekennzeichnet, dass der Quantisierer einen quantisierten Koeffizienten auf einem selektierten Pegel der genannten Anzahl Quantisierungspegel modifiziert, der niedriger ist als der genannte meist benachbarte Quantisierungspegel und ungleich Null ist, und für den die Summe D + λR niedriger ist als die des nicht modifizierten Koeffizienten.
2. Anordnung nach Anspruch 1, wobei der Quantisierer die quantisierten ko auf dem Quantisierungspegel modifiziert, für den D + λR minimal ist.
3. Anordnung nach Anspruch 1, weiterhin mit Mitteln um die modifizierten Koeffizienten Null zu machen, wenn der genannte Null-Machungsvorgang eine niedrigere D + λR für die genannten Koeffizienten ergibt.
4. Anordnung nach Anspruch 1, weiterhin mit Mitteln um alle Koeffizienten eines Bildblocks Null zu machen, wenn dies eine niedrigere D + λR für den genannten Bildblock ergibt.
5. Verfahren zum Codieren von Videobildern, wobei dieses Verfahren die nachfolgenden Verfahrensschritte aufweist:
- das blocksequentielle Transformieren (2) von Pixeln zu Koeffizienten;
- das Berechnen des Wertes eines "Lagrangian Multiplier" λ;
- das Quantisieren (3) der Koeffizienten auf dem meist naheliegenden Pegel einer Anzahl bestimmter Quantisierungspegel, das Bestimmen der Summe D + λR für die genannten quantisierten Koeffizienten, wobei D die Verzerrung und R die Bitrate ist, und das Modifizieren der quantisierten Koeffizienten zum Reduzieren der Summe D + λR für die modifizierten Koeffizienten;
- variable-Länge-Codierung (4) der quantisierten Koeffizienten;
dadurch gekennzeichnet, dass der Verfahrensschritt der Modifizierung das Selektieren der genannten Anzahl Quantisierungspegel umfasst, der niedriger ist als der genannte meist naheliegende Pegel und ungleich Null, und für den die Summe D+λR niedriger ist als die des nicht modifizierten Koeffizienten.
6. Verfahren nach Anspruch 5, wobei der Verfahrensschritt der Quantisierung den Verfahrensschritt der Quantisierung der genannten Koeffizienten auf dem Quantisierungspegel umfasst, für den D + λR minimal ist.
7. Verfahren nach Anspruch 5, weiterhin mit dem Verfahrensschritt um Koeffizienten Null zu machen, wenn dieser Vorgang eine niedrigere D + λR für die genannten Koeffizienten ergibt.
8. Verfahren nach Anspruch 5, weiterhin mit dem Verfahrensschritt um alle Koeffizienten eines Bildblocks Null zu machen, wenn dies eine niedrigere D + λR für den genannten Bildblock ergibt.
DE69609137T 1995-04-25 1996-04-18 Vorrichtung und verfahren zur kodierung von videobildern. Expired - Fee Related DE69609137T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP95201056 1995-04-25
PCT/IB1996/000349 WO1996034496A2 (en) 1995-04-25 1996-04-18 Device and method for coding video pictures

Publications (2)

Publication Number Publication Date
DE69609137D1 DE69609137D1 (de) 2000-08-10
DE69609137T2 true DE69609137T2 (de) 2001-03-01

Family

ID=8220222

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69609137T Expired - Fee Related DE69609137T2 (de) 1995-04-25 1996-04-18 Vorrichtung und verfahren zur kodierung von videobildern.

Country Status (7)

Country Link
US (1) US5768436A (de)
EP (1) EP0768008B1 (de)
JP (1) JPH10502792A (de)
CN (1) CN1157079A (de)
AU (1) AU697802B2 (de)
DE (1) DE69609137T2 (de)
WO (1) WO1996034496A2 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6111991A (en) * 1998-01-16 2000-08-29 Sharp Laboratories Of America Method and apparatus for optimizing quantizer values in an image encoder
US6272175B1 (en) 1997-02-13 2001-08-07 Conexant Systems, Inc. Video signal coding systems and processes using adaptive quantization
EP0963657B1 (de) 1997-02-25 2002-11-27 British Broadcasting Corporation Kompression von digitalen signalen mit verbesserter quantisierung
US6111914A (en) * 1997-12-01 2000-08-29 Conexant Systems, Inc. Adaptive entropy coding in adaptive quantization framework for video signal coding systems and processes
US6118822A (en) * 1997-12-01 2000-09-12 Conexant Systems, Inc. Adaptive entropy coding in adaptive quantization framework for video signal coding systems and processes
US6501860B1 (en) 1998-01-19 2002-12-31 Canon Kabushiki Kaisha Digital signal coding and decoding based on subbands
FR2778038B1 (fr) * 1998-04-27 2000-07-21 Canon Kk Codage de signal numerique
FR2778039B1 (fr) * 1998-04-27 2000-07-21 Canon Kk Codage et decodage de signal numerique
US6212232B1 (en) 1998-06-18 2001-04-03 Compaq Computer Corporation Rate control and bit allocation for low bit rate video communication applications
GB2343319B (en) * 1998-10-27 2003-02-26 Nokia Mobile Phones Ltd Video coding
US6233359B1 (en) 1998-10-29 2001-05-15 Seiko Epson Corporation File size bounded JPEG transcoder (FSBJT)
US7042943B2 (en) 2002-11-08 2006-05-09 Apple Computer, Inc. Method and apparatus for control of rate-distortion tradeoff by mode selection in video encoders
US7194035B2 (en) 2003-01-08 2007-03-20 Apple Computer, Inc. Method and apparatus for improved coding mode selection
CN101651831B (zh) * 2003-01-08 2013-07-17 苹果公司 用于改进的编码模式选择的方法和装置
US20050195901A1 (en) * 2004-03-03 2005-09-08 Teemu Pohjola Video compression method optimized for low-power decompression platforms
JP4787100B2 (ja) * 2006-07-27 2011-10-05 パナソニック株式会社 画像符号化装置
US20110310961A1 (en) * 2010-06-17 2011-12-22 Microsoft Corporation Video rate control based on transform-coefficients histogram
US9781449B2 (en) * 2011-10-06 2017-10-03 Synopsys, Inc. Rate distortion optimization in image and video encoding
US9338463B2 (en) 2011-10-06 2016-05-10 Synopsys, Inc. Visual quality measure for real-time video processing
CN104488266B (zh) * 2013-06-27 2018-07-06 北京大学深圳研究生院 Avs视频压缩编码方法及编码器
CN103716623B (zh) * 2013-12-17 2017-02-15 北京大学深圳研究生院 基于加权量化的视频压缩编解码方法及编解码器
US12087020B2 (en) * 2021-09-15 2024-09-10 Synaptics Incorporated Image compression method and apparatus

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5495292A (en) * 1993-09-03 1996-02-27 Gte Laboratories Incorporated Inter-frame wavelet transform coder for color video compression
US5426512A (en) * 1994-01-25 1995-06-20 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Image data compression having minimum perceptual error

Also Published As

Publication number Publication date
EP0768008B1 (de) 2000-07-05
WO1996034496A3 (en) 1997-01-16
JPH10502792A (ja) 1998-03-10
CN1157079A (zh) 1997-08-13
AU697802B2 (en) 1998-10-15
EP0768008A2 (de) 1997-04-16
DE69609137D1 (de) 2000-08-10
AU5160996A (en) 1996-11-18
WO1996034496A2 (en) 1996-10-31
US5768436A (en) 1998-06-16

Similar Documents

Publication Publication Date Title
DE69609137T2 (de) Vorrichtung und verfahren zur kodierung von videobildern.
DE69605523T2 (de) Vorrichtung und verfahren zur kodierung von videobildern.
DE69215997T2 (de) Videosignalübertragungsgerät und Verfahren davon
DE69811669T2 (de) Bildkompression
DE69324743T2 (de) Vorrichtung und Verfahren zur Bildsignalkodierung
DE4034535C2 (de) Vorrichtung und Verfahren zur Codierung von Bilddaten, sowie hiermit ausgestattete elektronische Stehbildkamera
DE69734831T2 (de) Adaptive steuerung der datenrate für digitale videokompression
DE69125329T2 (de) Kodiervorrichtung für digitale Bilddaten
DE69628935T2 (de) Vorrichtung und verfahren zur optimierung der bitratensteuerung in einem codierungssystem
DE69809713T2 (de) Kompression von digitalen signalen mit verbesserter quantisierung
DE69901525T2 (de) Verfahren und vorrichtung zur videokodierung
DE69226095T2 (de) Bildkodier- und Dekodiersystem unter Verwendung einer Orthogonaltransformation und Bitzuordnungsverfahren
EP1635578B1 (de) Verfahren und Anordnung zur Videocodierung, wobei die Videocodierung Texturanalyse und Textursynthese sowie Texturverzerrung umfasst, sowie ein entsprechendes Computerprogramm und ein entsprechendes computerlesbares Speichermedium
DE69327015T2 (de) Niveauregelung in einem adaptiven Koderierer für ein Videokompressionssystem
EP0910927B1 (de) Verfahren zum codieren und decodieren von stereoaudiospektralwerten
DE69227676T2 (de) Verfahren und gerät zur datenkodierung unter verwendung von vektorquantifizierung und lauflängenkodierung und unter verwendung von adaptiver lauflängenkodierung
DE69827548T2 (de) Anordnung zur Vorverarbeitung für MPEG-2-Kodierung
DE69015695T2 (de) Einrichtung zur Transformationskodierung.
DE68927082T2 (de) Verfahren und Vorrichtung für die Bilddatenkomprimierung
DE69620963T2 (de) Verfahren und Vorrichtung zur Bilddatenkomprimierung
DE69220541T2 (de) Adaptive Quantisierung innerhalb des Sequentiellmodus der JPEG
DE69126940T2 (de) Blockadaptive lineare prädiktionskodierung mit adaptiver verstärkung und vorspannung
DE69116972T2 (de) Verfahren und Einrichtung zur Datenkompression für Videosignale
DE69705642T2 (de) Audio-kodierverfahren mit veränderlicher kodelänge unter verwendung einer mehrzahl von teilband-bitverteilungsmoden
DE3636675A1 (de) Kodierverfahren und -einrichtung

Legal Events

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