-
Die
vorliegende Erfindung bezieht sich auf ein Verfahren zur Berechnung
von zeitlichen Koeffizienten von Wavelets einer GOP (Gruppe von
Bildern), deren Länge
2n beträgt,
durch rekursives Anwenden einer zeitlichen Transformation, wodurch
n Zerlegungsebenen erzeugt werden und jede Zerlegungsebene eine
Funktion M(ai, bi)
und eine Funktion D(ai, bi)
für jedes
Paar von Eingangssignalen ai, bi umfasst.
Die verwendete Technik basiert auf Wavelets für eine digitale Videocodierung.
-
Der
Artikel "Very low
Bit-Rate Video Coding Using Motion Compensated 3-D Wavelet Transform" von Hou Wei-dong,
Mo Yu-long, Hu Hai-ping,
Shanghai Jiaotong Daxue Xuebao, Journal of Shanghai Jiaotong University,
Shanghai Jiaotong University Press, Shanghai (12-1999), 3 (4), 342–344, zeigt eine
solche Technik.
-
Ein
Bild ist eine Matrix von Zahlen, in der jede Zahl die Farbintensität oder die
Luminanz wiedergibt, oder aber einen Wert, der mittels eines Algorithmus
usw. eines Pixels berechnet wurde. Wenn die Codierung des Bildes
auf der Grundlage von Bytes vorgenommen wurde, liegt jede Zahl zwischen
0 und 255. Ein Bild kann dann als Einzelbild bezeichnet werden,
wenn es eine Matrix der Farbintensität oder die Luminanz eines Pixels
darstellt.
-
Ein
digitales Videosignal setzt sich aus einer Folge von Einzelbildern
zusammen. Der Ablauf einer Bewegung wird dem Betrachter dadurch
vermittelt, dass eine gewisse Anzahl von Einzelbildern pro Sekunde
angezeigt wird (üblicherweise
25 oder 30). In diesem Zusammenhang ist ein digitales Videosignal tatsächlich ein
3D-Signal (ein dreidimensionales Signal) bei dem zwei Dimensionen
die Bildebene (eines Einzelbildes) wiedergeben und die dritte Dimension die
Zeit angibt (d.h. die Aufeinanderfolge von Einzelbildern der Sequenz
(1)).
-
Um
derartige 3D-Signale wirksam zu komprimieren, ist es erforderlich,
sowohl die räumliche
(2D) als auch die zeitlichen (3D) Redundanzen auszunutzen. Zum Ausnutzen
der räumlichen
Redundanzen der Videosequenz sind bisher in grossem Umfange Wavelets
verwendet worden, indem beispielsweise die Haar-Transformation angewendet
wurde.
-
In
der Theorie der Wavelets ist die Haar-Transformation bestens bekannt:
dies ist die Wavelets-Transformation mit einem der kürzesten Träger. Beim
Vorliegen zweier Eingangswerte (A und B) sind die entsprechenden
Haar-Koeffizienten
einfach die Hälfte
ihrer Differenz Δ und
deren Mittelwert μ.
-
Im
Zusammenhang mit der Video-Codierung ist die Haar-Transformation sowohl
als räumliche
als auch als zeitliche Transformation angewendet worden. In diesem
zweiten Falle wird die zeitliche Zerlegung auf eine GOP (Gruppe
von Bildern) der Grösse 2n angewandt. Dabei können die Eingangsdaten die rohen
Einzelbilder der Videosequenz (Werte der Luminanz und Chrominanz)
oder aber deren räumliche Zerlegung
sein, wobei eine beliebige zweidimensionale lineare Transformation
angewendet wird (Transformations-Koeffizienten).
-
Wenn
die Haar-Transformation als zeitliche Transformation angewendet
wird, erhalten wir das in 2 niedergelegte
Schema. In diesem Schema wird der Eingang durch vier Bil der (F1, F2, F3,
F4) dargestellt, die von der zweidimensionalen
Haar-Transformation der Einzelbilder der Eingangssequenz erzeugt
werden.
-
Bei
vorgegebenen F1 und F2 setzt
sich die entspreche zeitliche Haar-Transformation aus einem Durchschnittsbild μ1 und
einem Differenzbild Δ1 zusammen, wobei μ1 und Δ1 die
Haar-Transformation von F1 und F2 darstellen. Es ist möglich, die Haar-Transformation
rekursiv anzuwenden, so dass mehrere Zerlegungsniveaus erzeugt werden.
Im Beispiel der 3 wird gezeigt, dass zunächst zwei
Zerlegungsniveaus durch Anwendung der Haar-Transformation an die
Bilder (F1, F2)
und (F3, F4) und
dann auf die zwei Durchschnittsbilder (μ1, μ2)
erhalten wurden. Die entsprechende Haar-Transformation wird durch
die Werte Δ1, Δ2, Δ3 und μ3 dargestellt. Es ist anzumerken, dass die
Haar-Zerlegung bei Anwendungen von Videocodierungen ausserordentlich
effizient ist, wenn die Eingangsbilder einander ähnlich sind. In diesem Falle
sind die Differenzbilder nahe an Null und daher mit einem Entropie-Codierer
leicht zu komprimieren.
-
Bei
der Haar-Transformation wird die Zerlegung ebenfalls an alle Eingänge und
an jede Zerlegung angewendet.
-
Die
vorliegende Erfindung schlägt
ein Verfahren zur Berechnung von zeitlichen Wavelets-Koeffizienten
einer GOP vor, welche es gestattet, die zeitlichen Redundanzen der
Transformations-Koeffizienten, welche von einer beliebigen zweidimensionalen linearen
Transformation berechnet wurden, wirksam auszunutzen.
-
Das
erfindungsgemässe
Verfahren ist dadurch gekennzeichnet, dass während der letzten n – 1 Zerlegungsniveaus
ein Transformationsblock des Zerlegungsniveaus durch ein Steuersignal
gesteuert wird, das der Summe von zwei Funktionen D(ai, bi) entspricht, welche vom vorhergehenden
Zerlegungsniveau ausgegeben werden, während die entsprechenden Funktionen
M(ai, bi) des genannten
vorherigen Zerlegungsniveaus die Eingangssignale des genannten Transformationsblocks
sind, und dadurch, dass die Ausgangswerte des Transformationsblocks die
Funktionen M(M(ai, bi)),
M(ai+1, bi+1)) und
D(M(ai, bi), M(ai+1, bi+1)) der Eingangssignale
M(ai, bi) sind, wenn
ein Steuersignal gleich Null ist, und dass die Ausgangssignale die
genannten Eingangssignale sind, wenn das Steuersignal von Null verschieden
ist.
-
Gemäss einer
bevorzugten Ausführungsform
ist die Funktion M(ai, bi)
der Mittelwert der Signale ai, bi, und die Funktion D(ai,
bi) ist die Quantifizierung des Differenzmittels
der Signale ai, bi.
-
Die
vorgeschlagene Technik nutzt auf wirksame Weise die zeitbezogenen
Redundanzen der Transformations-Koeffizienten aus, die vorzugsweise mittels
einer linearen zweidimensionalen Transformation berechnet wurden,
und zwar unter Verwendung der von den Erfindern "dynamische zeitliche Transformation" benannten neuen
Methode. Im Gegensatz zu anderen Lösungen erfordert diese Technik
keine vorgängige
Prozedur zur Abschätzung
einer Bewegung, welche rechnungsmässig äussert aufwendig ist.
-
Gemäss einer
Ausführungsform
werden zunächst
unabhängig
voneinander 2n Einzelbilder der Eingangssequenz
mit einer linearen 2D-Transformation in eine GOP von 2n-Bildern
transformiert, wobei jedes Bild der genannten GOP die Transformations-Koeffizienten
jedes Eingangs-Einzelbildes enthalten. Dann werden die genannten
Transformations-Koeffizienten
einer zeitlichen Transformation unterworfen, wobei ein erstes Niveau
zeitlicher Zerlegungen erzeugt wird und jede Zerlegung ein zeitliches
Mittel und eine zeitliche Differenz umfasst, und für die nächsten n – 1 Zerlegungsniveaus
ist das Steuersignal die Summe der quantifizierten Version der beiden
zeitlichen Differenzmittel, die vom vorhergehenden Zerlegungsniveau
ausgegeben werden.
-
Es
ist anzumerken, dass die vorgeschlagene "dynamische zeitliche Transformation" bei dieser Ausführungsform
auf die Ergebnisse der zweidimensionalen linearen Transformation
und nicht auf die unverarbeiteten Bilder angewendet wird. Diese
Wahl hat Vorteile bezüglich
der Komplexität
der Codiereinrichtung.
-
Nach
einer weiteren, anderen Ausführungsform
sind die Eingangswerte des ersten Zerlegungsniveaus die unverarbeiteten
Bilder, wobei das Steuersignal die Summe der codierten, quantifizierten, entquantifizierten
und decodierten mittleren Differenzen der beiden Signale ist, die
vom vorhergehendem Niveau ausgegeben wurden.
-
Nach
einer bevorzugten Ausführungsform
ist die zweidimensionale lineare Transformation die zweidimensionale
Wavelets-Transformation
5.3, wobei das Tiefpassfilter ein Filter mit fünf Abgriffen und das Hochpassfilter
ein Filter mit drei Abgriffen ist und die zeitliche Transformation
die zeitliche Transformation nach Haar ist.
-
Die
Erfindung soll nun mit Hilfe der beigegebenen Zeichnungen weiter
erläutert
werden, in denen die zweidimensionale lineare Transformation und
die zeitliche Transformation jeweils Transformationen nach Haar
sind.
-
1 zeigt
die Wiedergabe einer Videosequenz, als ein dreidimensionales Signal
betrachtet;
-
2 ist
ein Schema der zeitlichen Zerlegung nach Haar;
-
3 ist
ein schematischer Überblick über das
Verfahren der vorliegenden Erfindung;
-
4 ist
ein Schema des Verfahrens der vorliegenden Erfindung;
-
5 zeigt
einen gesteuerten Transformationsblock;
-
6 veranschaulicht
eine Zerlegung nach der klassischen Transformation nach Haar und
der Transformation gemäss
vorliegender Erfindung;
-
7 ist
ein Schema der zeitlichen Transformation nach Haar, angewendet auf
die Bilddomäne;
-
8 zeigt
das Verfahren der vorliegenden Erfindung, angewandt auf die Bilddomäne.
-
Das Übersichtsschema
der vorgeschlagenen Technik gemäss
der ersten Ausführungsform
der Erfindung ist in 3 dargestellt.
-
Die
vorgeschlagene "dynamische
zeitliche Transformation" kann
auf beliebige GOP mit einer Länge
von 2n angewendet werden. In 3 hat
die GOP eine Länge
von 4 (22). Diese Einzelbilder werden zunächst unabhängig voneinander
mit zwei 2D-Wavelets transformiert (eine parallele Transformation
dieser Bilder kann bei diesem Schritt vorteilhaft sein). Als Ergebnis
erzeugen wir vier räumliche Zerlegungen,
welche die Wavelets-Koeffizienten jedes Eingangsbildes enthalten.
Es sei angemerkt, dass jede Zerlegung so viele Koeffizienten aufweist, wie
Pixel im Eingangsbild vorhanden sind. Diese Koeffizienten werden
dann der "dynamischen
zeitlichen Transformation" unterworfen,
die vier zeitliche Zerlegungen erzeugt. In diesem Falle enthält jede
Zerlegung ebenfalls so viele Koeffizienten, wie Pixel im Eingangsbild
vorhanden sind. Eine dieser Zerlegungen ist ein zeitliches Mittel
und drei Zerlegungen sind zeitliche Differenzen, wie es im einzelnen
noch in der nachfolgenden Beschreibung erläutert wird.
-
Die
Länge der
GOP (2n) definiert die Anzahl zeitlicher
Zerlegungen (n). Je höher
n ist, desto mehr zeitliche Redundanzen können ausgenutzt werden. Die
Zahl n definiert jedoch ebenfalls die Verzögerung, die vom Codierer eingeführt wird,
und daher kann n bei praktischen Anwendungen nicht allzu gross gemacht
werden.
-
Das
vorgeschlagene Verfahren definiert eine Arbeitsweise, bei der dynamisch
entschieden werden kann, welcher Eingangskoeffizient weiterhin umgewandelt
und welcher Koeffizient lediglich weitergeführt wird.
-
Das
definierte Schema ist in 4 beschrieben, bei der die Arbeitsweise
auf acht Eingangsbilder It–It-7 ausgedehnt wird. Das Schema zeigt, dass
beim ersten Niveau die oben (in 2) beschriebene
klassische Transformation nach Haar auf sämtliche Eingangsbilder angewendet
wird. Es ergeben sich zwei Bilder: im oberen Teil das Mittel μ und darunter
die Differenz Δ.
Die quantifizierte Version Q des Differenzbildes wird als Steuersignal
für das
nächste
Zerlegungsniveau verwendet, während
das Durchschnittsbild einen der Eingänge des gesteuerten Transformationsblocks
des nächsten
Zerlegungsniveaus darstellt.
-
Je
nach dem Steuersignal können
der Ausgang des gesteuerten Transformationsblocks der Durchschnitt
und die Differenz der Eingangssignale oder aber unmittelbar die
Eingangssignale sein. Die einzelnen Mechanismen des gesteuerten
Transformationsblocks sind in 5 gezeigt.
Die Eingangssignale sind Cn(x, y, t1) und Cn(x, y, t2), und diese Signale stellen die Wavelets-Koeffizienten
dar, welche bei der n-ten Zerlegung an den Positionen x, y in der Unterbande
zu den Zeiten t1 bzw. t2 erzeugt
wurden.
-
Es
sind zwei Fälle
dargestellt. Im ersten Fall ist das Steuersignal Q Null. Hier ist
das Ausgangssignal einfach die Haar-Transformation des Eingangs (grob
gesagt, das Mittel und die Differenz der Eingangssignale). Im zweiten
Falle ist das Steuersignal Q von Null verschieden. In diesem Falle
sind die Ausgangssignale unmittelbar die Eingangssignale.
-
Um
die Mechanismen der vorgeschlagenen "dynamischen zeitlichen Transformation" zu veranschaulichen,
sind in 6 zwei Beispiele vorgestellt. Das
ersten Beispiel zeigt die Mechanismen der klassischen Transformation
nach Haar. Das Eingangssignal wird stückweise konstant gehalten,
indem ein starker Bruch in der zeitlichen Domäne eingeführt wird (beispielsweise ein
bewegtes Objekt). Die acht (23) Eingangswerte werden auf drei Niveaus
zerlegt. Auf jedem Niveau erhält
man aus zwei Eingangssignalen zwei Koeffizienten in Form des Durchschnittswertes
des Einganges und der Hälfte
der Differenz (im Beispiel ergibt ein Eingang 0, 0 das Mittel 0,
0 und auch 0, 0 als halbe Differenz, und ein weiterer Eingang 0,
4 wird zu 2, 2 transformiert). Die acht Eingangssignale werden nach
den drei Niveaus der Zerlegung durch acht Koeffizienten dargestellt.
Der erste Koeffizient ist der zuletzt berechnete Mittelwert (in diesem
Beispiele beträgt
er 5), und die anderen sieben Koeffizienten sind sämtlich die
berechneten Differenzen (in diesem Beispiel 3, 2, 0, 0, 4, 0, 0).
Es ist möglich,
aus diesen Koeffizienten die Eingangswerte wiederherzustellen.
-
Die
vorgeschlagene "dynamische
zeitliche Transformation" wurde
auf das gleiche Eingangssignal angewendet. Die Differenz gegenüber einer
Standard-Transformation nach Haar tritt auf dem zweiten Zerlegungsniveau
auf. Dabei ergeben die Signale 0, 4 wiederum 0, 4 anstelle von 2,
2. Dies rührt
daher, dass das Steuersignal für
diesen Transformationsblock von Null verschieden war (in 6 ist
das von Null verschiedene Steuersignal als gestrichelter Kreis dargestellt).
Aufgrund dieser Differenzen ergeben sich nach drei Zerlegungsniveaus
die folgenden acht Ausgangs-Koeffizienten:
0 ist das letzte Mittel und 8, 4, 0, 0, 4, 0, 0 sind sämtliche
Differenzen. Nach Anwendung eines Quantifizierungsschrittes von
2 auf das Ergebnis, welches die klassische Transformation nach Haar
liefert, wurden die folgenden Koeffizienten erhalten: 2, 1, 1, 0,
0, 2, 0, 0, welche nach der Decodierung die Koeffizienten 0, 0,
0, 8, 6, 6, 6, 6, lieferten. Durch Anwendung dieser Koeffizienten
auf diejenigen, welche durch Benutzung der "dynamischen zeitlichen Transformation" erhalten wurden,
ergaben sich die Koeffizienten 0, 4, 2, 0, 0, 2, 0, 0 und nach einer
Decodierung die Koeffizienten 0, 0, 0, 8, 8, 8, 8, 8, die exakt
den Eingang darstellen. Dies bedeutet, dass die "dynamische zeitliche Transformation" im obigen Beispiel
eine bessere Codierung liefert als die klassische Transformation
nach Haar.
-
Die
vorgeschlagene "dynamische
zeitliche Transformation" verbessert
bedeutend die Leistungen der klassischen Transformation nach Haar,
was eine Codierung von Videobildern betrifft. Dabei ist der wichtigste
Vorteil derjenige, dass bei einer vorgegebenen Geschwindigkeit die
vorgeschlagene "dynamische
zeitliche Transformation" keine
störenden
Geis terbilder einführt,
beispielsweise solche, die die bewegten Objekte verschleiern, wogegen
dies bei der klassischen Transformation nach Haar der Fall ist. Die
Widerstandsfähigkeit
gegenüber
diesen Phantomen macht es möglich,
die Länge
der GOP zu vergrössern
und die zeitlichen Redundanzen im Eingangssignal stärker auszunutzen.
Bei der klassischen zeitlichen Transformation nach Haar begrenzt das
Auftreten von Phantomen bei bewegten Objekten in der Szene die Länge der
GOP auf 24. Diese Einschränkung hat
eine Auswirkung auf die Leistungsfähigkeit der Codierung der klassischen
zeitlichen Transformation nach Haar.
-
Ein
weiterer wichtiger Vorteil der vorgeschlagenen Verwirklichung liegt
in der verminderten Kompliziertheit im Vergleich mit Standardlösungen wie MPEG-2/4.
In der Tat benötigt
das vorgeschlagene Codierungsverfahren im Codiergerät keinen
vorgängigen
Decodierungsschritt zur Ausnutzung der zeitlichen Redundanzen. Die
vorgeschlagene Verwirklichung der "dynamischen zeitlichen Transformation" bringt keinerlei
Nachteile. Da die Transformation symmetrisch und reversibel ist,
besteht keine Notwendigkeit, zusätzliche
Steuersignale an den Decodierer zu senden.
-
Die
vorgeschlagene "dynamische
zeitliche Transformation" findet
ihre wichtigste Anwendung bei der Kompression von Signalen der Videoüberwachung.
Die Gründe
dafür sind
die folgenden:
- 1. Bei Sicherheitsvideos bleibt
der grösste
Teil der Szene ein festes Bild: die bei langen GOPs ausgenutzte
zeitliche Redundanz hat wesentliche Auswirkungen auf die Leistungsfähigkeit
der Kompression. Die Verwendung der klassischen zeitlichen Transformation
nach Haar bei langen GOPs wird durch die Geisterbilder begrenzt.
Dies wird durch die vorgeschlagene "dynamische zeitliche Transformation" korrigiert.
- 2. Bei Sicherheitssituationen sind die Anforderungen an die
Echtzeit besonders gross: die vorgeschlagene "dynamische zeitliche Transformation" besitzt eine sehr
geringe Kompliziertheit bezüglich
der Berechnungen im Vergleich zu MPEG-2/4 in Form von dessen Standardberechnungen
und kann ausserdem mit Hardware leicht verwirklicht werden.
-
Die
vorgeschlagene dynamische Transformation nach Haar kann jedoch auf
anderen Anwendungsgebieten benutzt werden, wo hohe Rechenleistungen
erforderlich sind und statische Szenen komprimiert werden. Beispiele
sind die Videotelefonie, die Videoforen, die Videokonferenzen usw.
-
Die
in der obigen Ausführungsform
beschriebene Methode wird auf das Gebiet der linearen Transformationen
angewendet: beispielsweise wird es für Transformations-Koeffizienten
benutzt, insbesondere die Wavelets-Koeffizienten. Es ist jedoch möglich, das
Verfahren auf andere Ausführungsformen
der vorliegenden Erfindung auszudehnen und es auf dem Gebiet der
Bilder zu verallgemeinern, wodurch eine Behandlung der Farbinformationen
eines Bildes ermöglicht
wird. In diesem Zusammenhang ist es anstelle einer Anwendung der "dynamischen zeitlichen
Transformation" auf
dem Gebiet der Transformationen (beispielsweise für Wavelets-Koeffizienten, wie
in 2 dargestellt) möglich, die Haar-Dynamik auf
das Gebiet der Bilder anzuwenden (z.B. für Farbintensitäten beliebiger
Formate: RGB, YUV, YcbCr usw., wie in 7 dargestellt
ist).
-
Es
ist anzumerken, dass diese Verallgemeinerung erfordert, dass der
Codierer Zugang zu den gleichen Informationen hat, die am Decodierer
vorhanden sind. Aufgrund dieser Tatsache muss das Schema von 4 verallgemeinert
werden, wie es in 8 gezeigt ist. Zwecks Klarheit
des Schemas ist als Beispiel nur ein Zerlegungsniveau dargestellt. Der
Eingang It–It-3 wird
nun durch die unverarbeiteten Eingangsbilder wiedergegeben und nicht
durch die zweidimensionale Transformation, wie es in 4 der
Fall war.
-
Bei
dieser Verallgemeinerung bleibt der gesteuerte Transformationsblock
derjenige, der in 5 beschrieben ist. Wie zuvor
erzeugt der gesteuerte Transformationsblock bei der ersten Zerlegung zwei
Bilder: die Durchschnittsdifferenz Δ und das Mittel μ. Δ wird unter
Verwendung irgendeines üblichen Codierers
codiert (in 8 wird das Ergebnis des Codierers
1 mit δ bezeichnet).
Sodann wird δ unter Verwendung
des entsprechenden Codierers 1 decodiert. Das Ergebnis ist ein Näherungswert
der Differenz Δ' des Eingangsbildes.
Sodann wird dieses Einzelbild am Decodierer ebenfalls zugänglich sein.
-
Im
Beispiel gemäss 8 ergibt
das erste Zerlegungsniveau zwei Bilder Δ'. Deren Summe auf Pixelniveau ist das
Steuersignal für
das nachfolgende Zerlegungsniveau. Der gesteuerte Transformationsblock
entscheidet dann, ob die durchschnittliche Differenz und das Mittel
des decodierten Bildes zu codieren sind oder die Realwerte ohne
zeitliche Codierung weitergegeben werden, und zwar je nachdem, ob
die codierte, quantifizierte, dequantifizierte und decodierte Bilddifferenz
gleich Null oder von Null verschieden ist. Diese Wahl kann auf dem
Niveau der Pixel getroffen werden und erfordert kein Übermitteln irgendwelcher
zusätzlicher
Informationen vom Codierer an den Decodierer, da beide Geräte ihre
Entscheidungen von den gleichen Daten ableiten. Die erhaltenen Bilder μ und Δ werden unabhängig voneinander
mit einem beliebigen Codierer codiert, so dass zwei Datenströme Ω und δ erzeugt
werden. Schliesslich sind die zum Decodierer gelangenden Datenströme Ω, welches
das codierte Ergebnis des endgültigen
Mittelwertes μ ist,
und die drei δ-Ströme, die
den codierten Versionen der drei Differenzmittel entsprechen. Der
Decodierer ist daher in der Lage, die Steuersignale Δ' aus den entsprechenden δ' wiederherzustellen.
-
Es
ist anzumerken, dass beim Standard-MPEG-4 ein ähnliches Ergebnis erhalten
wird, indem Information darüber
gesendet werden, ob ein Block intern oder extern codiert ist. In
diesem Falle wird die Wahl unter Berücksichtigung der Auflösung der
Blockgrösse
sowie der zusätzlichen
Kosten getroffen, welche entstehen, wenn die Instruktionen an den
Decodierer gesendet werden.