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
Links
- 238000000034 method Methods 0.000 title claims description 19
- 238000013139 quantization Methods 0.000 claims description 39
- 230000009466 transformation Effects 0.000 claims description 5
- 230000001131 transforming effect Effects 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 description 7
- 230000006872 improvement Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000002349 favourable effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods 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/19—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/149—Data 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/152—Data 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
- 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.
- 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.
- 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.
- 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.
- 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.
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)
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)
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 |
-
1996
- 1996-04-18 AU AU51609/96A patent/AU697802B2/en not_active Ceased
- 1996-04-18 EP EP96908306A patent/EP0768008B1/de not_active Expired - Lifetime
- 1996-04-18 CN CN96190637.5A patent/CN1157079A/zh active Pending
- 1996-04-18 JP JP8532315A patent/JPH10502792A/ja active Pending
- 1996-04-18 DE DE69609137T patent/DE69609137T2/de not_active Expired - Fee Related
- 1996-04-18 WO PCT/IB1996/000349 patent/WO1996034496A2/en active IP Right Grant
- 1996-04-24 US US08/637,255 patent/US5768436A/en not_active Expired - Fee Related
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 |