-
Gebiet der
Erfindung
-
Diese Erfindung bezieht sich auf
einen Mechanismus, mit dem ein Sprite (auch Mosaik genannt) sowohl
in einem Codierer als auch einem Decodierer automatisch gebildet
wird, der in einer getrennten Form/Textur-Codierumgebung, wie beispielsweise
der MPEG-4-Umgebung arbeitet. Wir erläutern ebenfalls Anwendungen,
die diese Technologie benutzen wird.
-
Hintergrund
der Erfindung
-
Ein Mosaikbild (die Begriffe Mosaik
und Sprite werden austauschbar verwendet) wird aus Bildern eines bestimmten
Szenenobjekts über
mehrere Video-Frames gebildet. Beispielsweise wird ein Mosaik der
Hintergrundszene im Fall einer schwenkenden Kamera zu einem Panoramabild
des Hintergrunds führen.
-
Bei MPEG-4-Standardisierungsaktivitäten werden
zwei Hauptarten von Sprites und Sprite-basierter Codierung definiert.
Die erste Art wird offline statisches Sprite genannt. Ein offline
statisches Sprite ist ein Panoramabild, das verwendet wird, um eine
Sequenz von Schnappschüssen
des gleichen Videoobjekts (wie beispielsweise des Hintergrunds) zu
erzeugen. Jeder einzelne Schnappschuss wird erzeugt, indem einfach
ein Warping von Abschnitten des Mosaiksinhalts durchgeführt und
indem er den Videopuffer kopiert wird wobei der aktuelle Video-Frame
rekonstruiert wird. Statische Sprites werden offline gebildet und
als Seiteninformation übertragen.
Beispiele des Bildens und Warping eines Sprite sind aus "WANG J Y A ET Al: 'REPRESENTING MOVING
IMAGES WITH LAYERS' IEEE
TRANSACTIONS ON IMAGE PROCESSING, Band 3, Nr. 5, 1. September 1994,
Seiten 625 bis 638, XP000476836" und
aus "IRANI M ET
AL: 'Video Compression
using mosaic representations' SIGNAL
PROCESSING. IMAGE COMMUNICATION, Band 4, Nr. 7, November 1995, Seiten 529
bis 552, XP004047098" bekannt.
-
Die zweite Art von Mosaik wird online
dynamisches Sprite genannt. Online dynamische Sprites werden bei
der prädikativen
Codierung eines Videoobjekts verwendet. Eine Prädiktion jedes Schnappschusses
des Videoobjekts in einer Sequenz wird durch Warping eines Abschnitts
des dynamischen Sprites erhalten. Das Restsignal wird codiert und
verwendet, um das Mosaik in dem Codierer und Decodierer gleichzeitig
zu aktualisieren. Der Inhalt eines dynamischen Mosaiks kann fortwährend aktualisiert
werden, um die neueste Videoobjektinformation zu enthalten. Im Gegensatz
zu statischen Sprites werden dynamische Sprites gleichzeitig in dem
Codierer und Decodierer online gebildet. Folglich muss keine zusätzliche
Information übertragen
werden.
-
Zusammenfassung
der Erfindung
-
Wir haben eine Syntax für MPEG-4
beschrieben, die eine vereinheitlichte Syntax für offline statische Sprite-
und online dynamische Sprite-basierte Codierung bereitstellte. Unsere
Syntax ermöglicht
ebenfalls neue Betriebsarten, die wir als "dynamisches offline Sprite-basiertes
Codieren" bezeichnen,
wobei prädiktives Codieren
auf der Grundlage eines offline Sprite (im Gegensatz zum direkten
Kopieren des verzogenen (warped) Sprite, wie in dem Fall von offline
statischen Sprites) und "online
statisches Sprite-basierte Codieren" durchgeführt wird, wobei der Codierer
und der Decodierer die weitere Bildung des Sprites anhalten und
es als ein statisches Sprite verwenden, egal ob es teilweise oder
vollständig
fertig gestellt ist.
-
Sowohl offline statisches als auch
online dynamisches Sprite-basiertes
Codieren erfordert ein Aufbauen eines Sprite. Im erstgenannten Fall
wird das Sprite vor der Übertragung
gebildet. Im letztgenannten Fall wird das Sprite online während der Übertragung
gebildet. Bisher wurde von MPEG-4 angenommen, dass der Umriss (die
Segmentierung) des Objekts, für
das das Sprite zu bilden ist, a priori bei jedem Zeitpunkt bekannt ist.
Obwohl dies bei bestimmten Anwendungen, insbesondere bei der Postproduktion
oder der Inhalterzeugung mittels Blaustanztechniken, zutrifft, sollte
eine automatische Segmentierung im Allgemeinen ein integraler Teil
der Spritebildung sein. Es besteht daher ein Bedarf nach Sprite-basierten
Codiersystemen, bei denen die Spritebildung keine a priori Kenntnis
der Szenensegmentierung erfordert.
-
Bei dieser Offenbarung beschreiben
wir ein Sprite-basiertes Codiersystem (Codierer und Decodierer), wobei
die Spritebildung und die Segmentierung des Spriteobjekts automatisch
ist, und bei der Spritebildung sowie auch dem Codierprozess integriert
ist.
-
Wir nehmen an, dass das Spriteobjekt
von dem Rest der Videoobjekte auf der Grundlage seiner Bewegung
unterschieden werden kann. Wir nehmen an, dass sich das Spriteobjekt
gemäß der dominante
Komponenten der Szenenbewegung bewegt, die gewöhnlicherweise auf der Kamerabewegung
oder dem Zoom beruht. Folglich benutzt unser System die dominante
Bewegung, die Fachleuten bekannt ist.
-
Unser System ist für einen
Videoobjekt-basierten Codierrahmen, wie beispielsweise dem MPEG-4-Rahmen
geeignet, wobei Form und Textur einzelner Videoobjekte getrennt
codiert werden. Die in dem beschriebenen System integrierte automatische
Segmentierung identifiziert die Form und Textur des Spriteobjekts.
-
Es gibt verschiedene mögliche Anwendungen
der Erfindung: Bei Anwendungen mit sehr niedrigen Bitraten kann
die Codierung von Video-Frames hinsichtlich darin befindlicher Videoobjekte
kostspielig sein, da die Form derartiger Objekte einen bedeutenden
Anteil des begrenzten Bit-Budgets verbrauchen kann. In derartigen
Fällen
kann unser System auf das Framebasiertes Codieren zurückfallen,
wobei die automatische Segmentierung nur verwendet wird, um eine
bessere Schätzung
der dominanten Bewegung zur Spritebildung und der dominanten bewegungskompensierten
Prädiktion
verwendet wird, wie es in dem Abschnitt "Vorgänge" hier später beschrieben
wird.
-
Das beschriebene Codiersystem weist
Merkmale auf, die es für
Anwendungen geeignet macht, bei denen sich die Kameraansicht häufig verändern kann,
wie beispielsweise bei einer Videokonferenz mit mehreren Kameras
oder einer Talkshow, die mit mehr als einer Kamera erfasst wird.
Unser System kann auf die Bildung mehrerer Sprites und auf die Verwendung
dieser Kamera nach Bedarf angewendet werden. Beispielsweise werden,
wenn die Kamera zwischen zwei Teilnehmern vor zwei unterschiedlichen
Hintergründen
vor- und zurückgeht,
werden zwei Hintergrund-Sprites gebildet und nach Bedarf verwendet.
Genauer gesagt wird, wenn der Hintergrund A sichtbar ist, die Bildung
des Sprite für
den Hintergrund B und seine Verwendung beim Codieren ausgesetzt,
bis der Hintergrund B erneut erscheint. Die Verwendung mehrerer
Sprites auf diese Art und Weise ist innerhalb des MPEG-4-Rahmens
möglich,
wie es in dem Abschnitt "Vorgänge" beschrieben wird.
-
Das offenbarte System erzeugt ein
Sprite während
des Codierprozesses, wie es hier später beschrieben wird. Das resultierende
Sprite kann jedoch anschließend
nach dem Codieren als ein repräsentatives
Bild des komprimierten Videoausschnitt verwendet werden. Seine Merkmale
können
verwendet werden, um die Merkmale des Videoausschnitt zu identifizieren,
die dann bei der Merkmal-basierten (oder Inhalt-basierten) Speicherung
und Wiedergewinnung des Videoausschnitt verwendet werden können. Folglich
liefert die Sprite-basierte Codierung eine natürliche Anpassung für das Belegen
einer Videobibliothek von Bit-Strömen, wobei während des
Codierprozesses erzeugte Sprite-Bilder als repräsentative Bilder der Videoausschnitte
wirken. In der Tat können
die Mosaike ebenfalls unter Verwendung eines Standbildcodierverfahrens
codiert werden. Ein derartiges Videobibliotheksystem wird in 5 dargestellt.
-
Auf eine ähnliche Art und Weise können eine
oder mehrere Ereignislisten einem Hintergrund-Sprite zugeordnet
sein. Eine mögliche
Wahl für
eine Ereignisliste ist der Satz von aufeinander folgenden Positionen eines
oder mehrerer Scheitelpunkte, die zu jedem Vordergrundobjekt gehören. Eine
derartige Liste kann dann verwendet werden, um ein repräsentatives
Token-Bild der Vordergrundobjektposition in dem Sprite zu erzeugen.
Aufeinander folgende Positionen jedes Scheitelpunkts könnten entweder
durch eine gerade Linie verknüpft
werden oder eine verschiedene Farbe gemeinsam nutzen. Die aufeinander
folgenden Positionen des Scheitelpunkts können statisch (alle aufeinander
folgenden Positionen im gleichen Sprite) oder dynamisch (Scheitel-Positionen, die aufeinander
folgend im Takt gezeigt werden) gezeigt werden. Ein Scheitelpunkt
kann hier ausgewählt
werden, um jedem kennzeichnenden Merkmal des Vordergrundobjekts,
wie beispielsweise dem Schwerpunkt oder einen hervorspringenden
Punkt in der Form des Objekts, zu entsprechen. Im letztgenannten
Fall und wenn mehrere Scheitelpunkte gleichzeitig verwendet werden,
könnten
die Scheitelpunkte gemäß einer
hierarchischen Beschreibung der Objektform angeordnet sein. Mit
dieser Technik hat ein Benutzer oder eine Präsentationsschnittstelle die
Freiheit, zwischen groben bis feineren Formen zu wählen, um
fortlaufende Vordergrundobjektpositionen in dem Hintergrund-Sprite zu zeigen.
Dieses Konzept kann bei einem Videobibliotheksystem verwendet werden,
um Inhalt basierend auf Bewegungscharakteristika des Vordergrunds wiederzugewinnen.
-
Der automatische Sprite-Bildungsabschnitt
des beschriebenen Systems kann in einem offline Modus bei einer
Videokonferenzanwendung verwendet werden, wobei das offline Sprite
vor der Übertragung
gebildet wird. Die Darstellung eines derartigen Systems ist in 6 gezeigt. Das beschriebene
System kann ebenfalls ein Sprite erzeugen, das eine höhere räumliche
Auflösung
als die ursprünglichen
Bilder aufweist.
-
Kurzbeschreibungen
der Zeichnungen
-
1 veranschaulicht
die Schritte, die bei dem Verfahren der Erfindung zur Zeit t – 1 verwendet
werden.
-
2 veranschaulicht
die Schritte, die bei dem Verfahren der Erfindung zur Zeit t bis
t + 1 verwendet werden.
-
3 veranschaulicht
die Schritte, die bei dem Verfahren der Erfindung zur Zeit t1 bis
t + 2 verwendet werden.
-
4 ist
ein Blockdiagramm des Verfahrens der Erfindung.
-
5 ist
ein Blockdiagramm des Systems der Erfindung.
-
6 stellt
das System und das Verfahren der Erfindung dar, wie es bei einem
Videokonferenzsystem verwendet wird.
-
7 stellt
dar, wie aufeinander folgende Abschnitte eines Vordergrundobjekts
in einem Mosaik erfindungsgemäß dargestellt
werden können.
-
Ausführliche
Beschreibung der bevorzugten Ausführungsformen
-
Das beschriebene Verfahren ist ausgestaltet,
um fortlaufend zu lernen, den Vordergrund von dem Hintergrund zu
trennen, während
ein Hintergrundmosaik zur gleichen Zeit gebildet wird. Schritte
1 bis 10 werden wiederholt, bis der Aufbau des Hintergrunds abgeschlossen
ist oder bis er abgebrochen wird.
-
Annahmen
-
Die Notationen sind wie folgt:
I(s,t)
bezeichnet den Inhalt eines Video-Frame bei der räumlichen
Position s und zur Zeit t.
-
Wt←(t–1) (I(s,
t – 1))
bezeichnet einen Warping-Operator, der das Bild zur Zeit (t – 1) in
die Zeit t abbildet. Für
eine vorgegebene Pixelposition s0 in einem
Videopuffer zur Zeit t wird dieser Warping-Vorgang durch Kopieren
des Pixelwertes an der entsprechenden Position s im Frame (t – 1) durchgeführt. Die
Korrespondenz zwischen der Position s0 und
der Position s wird durch eine besondere und gut definierte Transformation,
wie beispielsweise einer affine oder perspektivischen Transformation,
aufgebaut.
-
(s, t) ist ein Indikatorpuffer,
beispielsweise für
eine Größe x, der
entweder 1 oder 2 Bit tief für
jede räumliche
Position s sein kann.
-
Thresh ist ein Schwellenwert. Die
Operationen ≤ Thresh
und > Thresh sind
symbolisch und können komplexe
Schwellenwertoperationen darstellen.
-
Die Größe (je Farbkomponente) des
aktuellen Bild-Frame I(s, t) ist Mt × Nt, und die Größe des vorher komprimierten/dekomprimierten
Frame nach dem Warping Wt←(t–1)(C–1C{I(s,
t – 1)})
ist derart, das es in ein rechteckiges Array von Mt–i × Nt–i Pixeln
eingeschrieben werden kann.
-
Das Sprite M(s, t) ist ein Bildintensitäts(Textur)-Puffer
der Größe M
m × N
m je Farbkomponente. Das Feld
(s, t) ist ein Einkomponentenfeld
der gleichen Größe.
-
Die Bildung des Sprite wird zur Zeit
t gestartet. Das Bild I (s, t – 1)
wurde bereits komprimiert und dekomprimiert und ist sowohl beim
Codierer als auch beim Decodierer verfügbar.
-
Bei den folgenden Schritten wird
angenommen, dass der Bildinhalt einen Hintergrund- und einen Vordergrundteil
(oder VO) aufweist und ein Mosaik des Hintergrunds gebildet ist.
-
Schritt 1: Initialisierung
-
Mit Bezug nun auf 1 bis 3 werden
die Ergebnisse der Schritte des in dem vorhergehenden Abschnitt
beschriebenen Verfahrens dargestellt. 1 veranschaulicht
Schritte 0 bis 11 von der Zeit t – 1, dem Moment, wenn die Mosaikbildung
initiiert wird, zu der Zeit t, wenn ein neuer Video-Frame oder ein
neues Videofeld erfasst wurde. 2 und 3 veranschaulichen Schritte
2 bis 11 von der Zeit t bis t + 1 bzw. der Zeit t + 1 bis t + 2.
An der oberen linken Ecke in jeder dieser (A) ist
der neuerfasste Video-Frame gezeigt, der mit dem vorhergehenden
Video-Frame (nächstes
Bildfeld zu der rechten) (B) verglichen wird, sobald er komprimiert/dekomprimiert
und verzogen (warped) wurde (Schritt 2). Schritt 3 wird durch das
am weitesten rechts befindliche Bildfeld (C) in der ersten Reihe
jeder Figur veranschaulicht. Dieses Feld zeigt den Bereich, wo die Inhaltsänderung
erfasst wurde. Der Status des Mosaikpuffers ist in dem am weitesten
links befindlichen Bildfeld in der zweiten Reihe (D) gezeigt. Dieser
Puffer wird verwendet, um die neuen Hintergrundbereiche zu identifizieren,
wie es bei Schritt 4 beschrieben ist. Diese Bereiche entsprechen
Regionen, bei denen der Hintergrund bis jetzt nicht bekannt war.
Die Vordergrundidentifikation wird durch das das am weitesten rechts
befindliche Bild in der zweiten Reihe (F) veranschaulicht. Diesem
Bild zugeordneten Operationen werden bei Schritt 5 beschrieben,
die die Abbildungsänderung,
das Mosaik und die neuen Hintergrundbereiche verwenden, um den Vordergrund
zu definieren. Schritte 6 und 7 des Verfahrens werden durch die
beiden am weitesten links befindliche Bildfelder in der dritten
Reihe (G, H) veranschaulicht. Hier kommt die Hintergrundinformation
von der komprimierten/dekomprimierten Vordergrundinformation, die
bei dem vorhergehenden Schritt erhalten wurde. Schließlich wird
der Mosaikaktualisierungsprozess durch das untere rechte Bildfeld
(I) veranschaulicht. Dieser Prozess findet bei den Schritten 8,
9, 10 und 11 des Verfahrens statt.
-
Das binäre Feld
(s, t) wird auf 0 für jede Position
s in dem Puffer initialisiert, was bedeutet, dass der Inhalt des
Mosaiks an diesen Positionen unbekannt ist.
-
Der Inhalt des Mosaikpuffers M (s,
t) wird auf 0 initialisiert.
-
Die Warping-Parameter von dem aktuellen
Video-Frame I(s, t – 1)
zu dem Mosaik werden initialisiert, um Wt0←(t–1)(
) zu sein, wobei t0 hier eine beliebige fiktive Zeit darstellt.
Dieses anfängliche
Warping ist bedeutsam, da es einen Weg vorsieht, um die "Auflösung" oder den "Zeitbezug" zu spezifizieren,
die/der verwendet wird, um das Mosaik zu bilden. Mögliche Anwendungen
dieses anfänglichen
Abbildung bestehen darin, ein Mosaik mit einer superräumlichen
Auflösung
oder der Auswahl einer optimalen Zeit t0 zu erstellen, die das durch
das Verfahren eingeführte
Verzerrung minimiert. Diese anfänglichen
Warping-Parameter werden an den Decodierer übertragen.
-
Schritt 2: Erfassung
-
Das Bild I(s, t) wird erfasst, und
die Vorwärts-Warping-Parameter zum Abbilden
des Bildes I(s,t – 1) auf
I(s, t) werden berechnet. Die Anzahl von Warping-Parametern sowie
auch das Verfahren zum Schätzen dieser
Parameter werden hier nicht spezifiziert. Ein dominanter Bewegungsschätzungsalgorithmus,
wie beispielsweise derjenige, der in [4] angegeben wird, kann verwendet
werden. Die Warping-Parameter werden mit den aktuellen Warping-Parametern
aufgebaut, was zu der Abbildung Wt←t0(
) führt.
Diese Parameter werden an den Decodierer übertragen.
-
Schritt 3: Änderung
im Inhalt zwischen einem vorher codierten/decodierten Frame und
dem aktuellem Frame erfassen.
-
- i) Initialisierung eines großen Puffers
der Größe Mb × Nb, der größer als
das Bild (Mb > Mt, Nb > Nt) und möglicherweise
so groß wie
das Mosaik ist. Der Puffer ist an jeder Position 2 Bit tief. Der
Puffer wird auf 3 initialisiert, um einen unbekannten Status anzugeben.
- ii) (Bewegungskompensierte) Szenenänderungen über gemeinsame Bildunterstützung berechnen.
Die Kennung 0 allen Positionen geben, bei denen die Änderung
im Inhalt als klein angesehen wird. Die Kennung 1a den Positionen
geben, bei denen die erfasste Änderung
groß ist.
Um Regionen homogener zu machen, zusätzliche Operationen (z. B.
morphologische Operationen) implementieren, die die Kennung entweder
von 1a auf 0 zurücksetzen
oder die Kennung von 0 auf 1a setzen. Mit 0 gekennzeichnete Regionen
werden typischerweise als Teil des Hintergrundvideoobjekts betrachtet
und als Teil dieses codiert, während
mit 1a gekennzeichnet Regionen typischerweise als Teil des Vordergrundvideoobjekts
codiert werden. wobei Treschange einen
vordefinierten Schwellenwert bezeichnet.
- iii) Neue Bildregionen, bei denen die Unterstützung eines
Bildes zur Zeit t nicht mit der Unterstützung eines Bildes zur Zeit
t (t – 1) überlappt,
als kennzeichnen.
-
Schritt 4: Neue Hintergrundbereiche
identifizieren
-
Ein neuer Hintergrundbereich wird
erfasst, wenn es keine Änderung
im Bildinhalt in den letzten beiden Video-Frames gegeben hat. Der
entsprechende Bereich in dem Mosaik muss ebenfalls angeben, dass
der Hintergrund bei dieser Position unbekannt ist. Der resultierende
neue Hintergrundbereich wird an allen benachbarten Regionen angefügt, wo der
Hintergrund bekannt ist. Wie es bei späteren Schritten ersichtlich
wird, muss die Aufnahme neuer Hintergrunddaten in das Mosaik gemäß der komprimierten/dekomprimierten
Hintergrundforminformation durchgeführt werden, um jegliche Verschiebung
zwischen dem Codierer und Decodierer zu vermeiden.
-
-
Hier bedeutet der Indikatorwert 0,
dass der Hintergrund unbekannt ist.
-
Schritt 5: Vordergrund/Hintergrundsegmentierung
durchführen
-
Zuerst seien Regionen betrachtet,
bei denen der Hintergrund bekannt ist
(s, t – 1) = 1).
Eine Schwellenwertbildung durchführen,
um den Vordergrund von dem Hintergrund zu unterscheiden (Fall (i)).
Für Regionen,
bei denen der Hintergrund nicht bekannt ist, als Vordergrund alle
Regionen kennzeichnen, bei denen Änderungen aufgetreten sind
(bei Schritt 3 definierte Kennung 1a und 1b) (Fälle (iii) und (iv)).
-
Fall (ii) stellt neue Hintergrundbereiche
dar, die von der Teilnahme am Vordergrund ausgeschlossen sind.
wobei Thresh
fg ein
vordefinierter Schwellenwert ist, der hier verwendet wird, um Vordergrund
vom Hintergrund zu abzusondern.
-
-
In den Fällen (iii) und (iv) wird eine
Unterklassifizierung der als 1 gekennzeichnete Regionen in einer der
beiden Regionen 1a oder 1b für
den alleinigen Zweck verwendet, dem Codierer die Flexibilität bereitzustellen,
unterschiedlichen Makroblock-Auswahlregeln folgen zu können.
-
Beispielsweise könnten als 1a gekennzeichnete
Regionen vorzugsweise mit Inter-Frame-Makroblöcken codiert werden, da diese
Regionen über
gemeinsame Bildunterstützung
auftreten. Andererseits könnten mit
1b gekennzeichnete Regionen vorzugsweise mit Intra-Frame-Makroblöcken codiert
sein, da diese Regionen keine gemeinsame Unterstützung mit dem vorhergehenden
Frame teilen.
-
Schritt 6: Komprimieren/Dekomprimieren
von Form und Textur des Vordergrunds
-
Den herkömmlichen (I, P oder B-VOP)
Prädiktionsmodus
verwenden, um als 1a und 1b gekennzeichnete Vordergrundregionen
zu codieren. In dem Fall von P oder B-VOPs können einzelne Makroblöcke entweder
die Inter-Frame-Prädiktion
oder die Intra-Frame-Codierung verwenden. Die den mit 1b gekennzeichneten Regionen
entsprechenden Pixel (neu offenbarter, im Mosaik nicht dargestellter
Hintergrund) werden bevorzugt als Intra-Makroblöcke codiert. Die Form des Vordergrunds
wird komprimiert und ebenfalls übertragen.
Sobald dekomprimiert, wird diese Form von dem Codierer und Decodierer
verwendet, um den Inhalt des Mosaiks zu aktualisieren. Dieser Prozess
kann mittels des MPEG-4 VM 5.0[3] durchgeführt werden.
-
Schritt 7: Hintergrundform
Erhalten
-
Hintergrundform aus der komprimierten/de
komprimierten Vordergrundform erhalten. Die Komprimierung/Dekomprimierung
ist hier notwendig, um sicherzustellen, dass der Codierer und der
Decodierer die gleiche Forminformation teilen.
wobei C
–1C{
} eine Formcodierung/Decodierung bezeichnet, die beispielsweise
durchgeführt
werden kann, wie es in (3) beschrieben ist.
-
Schritt 8: Neue Hintergrundtextur
im Mosaik initialisieren
-
Regionen identifizieren, bei denen
ein neuer Hintergrund aufgetreten ist, und Mosaik mit in vorhergehenden
Video-Frame gefundenen Inhalt initialisieren (Zeit (t – 1)). Es
sei bemerkt, dass das Feld
(s, t) hier nicht verwendet
werden kann, da diese Information dem Decodierer unbekannt ist.
-
-
Schritt 9: Hintergrundtexturreste
aus der Mosaik-Prädiktion
berechnen
-
Falls
(s, t) = = 1, das Differenzsignal
durch Verwenden von Mosaikinhalt als Prädiktor berechnen. Das resultierende ΔI(s, t) wird
verwendet, um das Differenzsignal über den gesamten Makroblock
zu berechnen, bei dem das Pixel (s, t) lokalisiert ist. Dieses Differenzsignal
wird mit herkömmlichen
Differenzsignalen verglichen, die durch Verwenden einer Prädiktion
von dem vorhergehenden und dem nächsten
Video-Frame (P oder B-Prädiktionsmodus)
erzeugt wurden. Die Makroblockart wird gemäß dem besten Prädiktionsmodus ausgewählt. Das
Restsignal wird zusammen mit der komprimierten Hintergrundform an
den Decodierer übertragen,
wie es in [2] beschrieben ist.
-
ΔI(s,
t) = I(s, t) – Wt←t0(M' (s, t – 1))
-
Schritt 10: Hintergrundform
im Mosaik aktualisieren
-
Die Mosaikabbildung aktualisieren,
um die Form des neuen Hintergrundes aufzunehmen.
-
-
Schritt 11: Mosaik aktualisieren
-
Den Inhalt des Mosaiks in Regionen
aktualisieren, die dem neuen oder nicht abgedeckten Hintergrund im
Frame t entsprechen.
-
-
Die Auswahl des Wertes des Mischparameters α(0 < α < 1) bei der obigen
Gleichung ist anwendungsabhängig.
-
Das oben beschriebene Verfahren bildet
das Mosaik mit Bezug auf die Zeit t0, die ein Zeitpunkt in der Vergangenheit,
die aktuelle Zeit oder ein zukünftiger
Zeitpunkt sein kann. Es ist problemlos, die obigen Gleichungen für den Fall
umzuschreiben, bei dem das Mosaik kontinuierlich zu dem aktuellen
Zeitpunkt t verzogen (warped) ist.
-
In 4 wird
ein Blockdiagramm des Verfahrens dargestellt. Der Zweck dieser Zeichnung
besteht darin, die Abhängigkeiten
bei den verschiedenen Komponenten und Größen hervorzuheben, die von
dem Verfahren der Erfindung verwendet werden. Sie hebt ebenfalls
die verschiedenen Warping- und Nicht-Warping-Stufen hervor, die notwendig sind, um
aufeinander folgende Videofelder auszurichten.
-
5 zeigt
ein Blockdiagramm des digitalen Videodatenbanksystems, das das Verfahren
der aktuellen Erfindung verwendet.
-
6 zeigt
ein Blockdiagramm eines Videokonferenzsystems, das ein offline gebildetes
Hintergrund-Sprite als dynamisches Sprite während der Übertragung verwendet.
-
7 zeigt
ein Beispiel, wie aufeinander folgende Positionen eines Vordergrundobjekts
(hier ein Auto) in einem Mosaik dargestellt werden können, indem
die fortlaufenden Positionen eines oder mehrerer hervorspringender
Punkte (V) aufgetragen werden, die zu der Form des Vordergrundes
gehören.
Die Farbe der Scheitelpunkte wird von t0 zu t0 + 1 und von t0 +
1 zu t0 + 2 geändert,
um jede Verwechslung zu vermeiden. Bei diesem Beispiel werden die
Scheitelpunkte in dem Mosaik statistisch gezeigt, und sie erfassen
nur eine Ebene der Formbeschreibung.
-
Vorgänge der
verschiedenen Ausführungsformen
-
Ein Mosaik-basiertes Videokonferenz-
und Videophone-System.
-
Mit Bezug nun auf 5 und 6 kann
das Kommunikationsprotokoll eine Konfigurationsphase (Zeit einstellbar)
aufweisen, währenddessen
ein online Hintergrundmosaik gebildet wird. Während dieses Zeitraums verwendet
jedes Videophone die kleinen Verschiebungen des Kopfes und der Schulter,
um ein Hintergrundmosaik zu bilden. Die Verschiebungen des Vordergrundes
können
freiwillig (System führt
Benutzer) oder nicht (keine Verstärkung in dem Codierungswirkungsgrad,
wenn sich der Vordergrund nicht bewegt) sein. In diesem Fall wird
das oben beschriebene Verfahren verwendet, um das Hintergrundmosaik
zu bilden. Während
normaler Videoübertragung
wird das Mosaik als ein dynamisches Sprite verwendet, und der Mischfaktor
wird auf 0 eingestellt, um jede Aktualisierung zu verhindern. In
diesem Fall können
Makroblockarten dynamisch oder statisch sein. Bei einem extremen
Fall sind alle Makroblöcke
Makroblöcke
von der statischen Art, was bedeutet, dass das Hintergrundmosaik
als ein statisches Sprite verwendet wird. Bei einem weiteren extremen
Fall sind alle Makroblöcke
von der dynamischen Art, und das Mosaik wird als ein dynamisches
(prädiktives)
Sprite verwendet. Dieser letztere Fall erfordert eine höhere Datenübertragungsbandbreite.
Alternativ kann ein Mosaik der Hintergrundszene vor der Übertragung
gebildet und dann als statisches oder ein dynamisches Sprite während der
normalen Übertragungssitzung
verwendet werden.
-
Eine Mosaik-basierte
Videodatenbank
-
Das obige Verfahren kann beim Belegen
und Durchsuchen einer Datenbank von Video-Bitströmen, d. h. einer Datenbank
von komprimierten Bitströmen,
verwendet werden. Bei einem derartigen System werden Videoausschnitte
unter Verwendung des obigen Verfahrens komprimiert. Das Ergebnis
ist ein komprimierter Bitstrom und ein während des Codierprozesses erzeugtes
Mosaik. Das Mosaikbild kann als ein repräsentatives Bild des Videoausschnitt-Bitstroms
verwendet werden, und seine Merkmale können beim Indizieren und Wiedergewinnen
des zu diesem Videoausschnitt gehörenden Bitstroms verwendet
werden.
-
Außerdem kann eine Bewegungs-Trajektorie
des Vordergrunds auf dem Mosaik überlagert
werden, um dem Benutzer eine grobe Beschreibung der Vordergrundbewegung
in der Sequenz zu liefern. Die Trajektorie eines Vordergrundobjekts
kann durch einen Satz von Punkten dargestellt werden, wobei jeder
die Position eines besonderen Merkmals des Vordergrundobjektes bei
einem gegebenen Moment darstellt. Die Merkmalpunkte können hervorstehende
Scheitelpunkte der Objektform sein. Eine hierarchische Beschreibung
der Objektform würde
den zusätzlichen
Vorteil bringen, es der Datenbankschnittstelle zu ermöglichen,
grobe bis feine Formumrisse in dem Mosaik zu überlagern. Aufeinander folgende
Scheitelpunktpositionen können
zusammen in dem gleichen Hintergrundmosaik gezeigt oder könnten fortlaufend
in Takt mit der gleichen Mosaikunterstützung angezeigt werden. Es
sei bemerkt, dass dieser Gedanke den zusätzlichen Nutzen vorsieht, eine
bewegungsbasierten Wiederherstellung zu ermöglichen, da die Bewegung des
Vordergrunds im Mosaikbezugsraum dargestellt wird.
-
Mit Bezug nun auf 7 ist das Hintergrundmosaik aus Gras,
Himmel, Sonne und Baum zusammengesetzt. Das Vordergrundobjekt ist
ein Auto, das einer beschleunigten Bewegung unterworfen wird und
sich von links nach rechts bewegt. Die Form des Autos ist in schwarz
gezeigt. Acht Scheitelpunkte "V" wurden ausgewählt, um
diese Form darzustellen. 7 zeigt,
dass fortlaufende Positionen des Autos in dem Mosaik durch einfaches
Auftragen der Scheitelpunkte an ihren aufeinander folgenden Positionen
dargestellt werden können.
Die Farbe der Scheitelpunkte wird von t0 bis t0 + 1 und von t0 +
1 bis t0 + 2 geändert,
um jede mögliche
Verwechslung zu vermeiden. Bei diesem Beispiel sind die Scheitelpunkte
in dem Mosaik statistisch gezeigt, und sie erfassen nur eine Ebene
der Formbeschreibung. Schließlich
kann das Mosaik als ein Ikon verwendet werden. Durch Klicken auf
das Mosaikikon, würde
der Benutzer eine Wiedergabe der Sequenz auslösen.
-
Unterstützung von
mehreren Mosaiken bei Anwendungen mit häufigen Szenenänderungen
-
In dem Fall, bei dem die Videosequenz
schnelle und häufige Änderungen
von einer Szene zu einer anderen aufweist, wie es der Fall bei Videokonferenzanwendungen
sein kann, ist es wünschenswert,
zwei oder mehr (abhängig
davon, wie viele unabhängige
Szenen es gibt) Mosaike gleichzeitig zu bilden. Mehr als ein Mosaik
zwingt jedoch das System nicht, die Bildung eines neuen Mosaiks
jedes Mal erneut zu initiieren, wenn ein Szenenschnitt auftritt.
Bei diesem Rahmen wird ein Mosaik nur verwendet und aktualisiert,
wenn die codierten Video-Frames einen ähnlichen Inhalt gemeinsam nutzen.
Es sei bemerkt, dass mehr als ein Mosaik auf einmal aktualisiert
werden kann, da sich Mosaike überlappen
können.
-
Optimales
Darstellungsfeld
-
Die beliebige Abbildung W(t–1)←t0(
), die am Anfang des Verfahrens verwendet wurde, kann verwendet werden,
um die optimale räumliche
Darstellungsdomäne
für das
Mosaik darzustellen, wobei Verzerrung und Artefakte minimiert werden.
Obwohl dies an diesem Punkt ein offenen Problem ist, das eine weitere
Untersuchung von unserer Seite erfordert, gibt es wenig Zweifel,
das die Möglichkeit
existiert, eine optimale Mosaikdarstellung zu finden, bei der Zweideutigkeiten
(Parallaxenprobleme) und/oder Verzerrung gemäß einem vorbestimmten Kriterium
minimiert werden.
-
Verbesserte
Auflösung
-
Auf die gleiche Art und Weise kann
die beliebige Abbildung W(t–1)←t0( ) einen Vergrößerungsfaktor
aufweisen, der die Wirkung eines Bildens eines Mosaiks aufweist,
dessen Auflösung
möglicherweise
2, 3 oder N mal größer als
die Auflösung
der Video-Frames ist, die verwendet werden, um es zu bilden. Der
beliebige feste Vergrößerungsfaktor
liefert einen Mechanismus, mit dem anteilmäßige Warping- Verschiebungen über aufeinander
folgende Video-Frames als ganzzahlige Verschiebungen in dem Mosaik
aufgezeichnet werden. Je größer der
Vergrößerungsfaktor
ist, desto länger
muss die Sequenz sein, bevor das Mosaik fertiggestellt werden kann
(es sind mehr Pixelpositionen aufzufüllen). Der MPEG-4-Rahmen ermöglicht die
Implementierung eines derartigen Schemas.
-
Wir bezeichnen diese beliebige Abbildung
mit W
res( ). Im linearen Fall ist dieser
Operator die Identitätsmatrix
multipliziert mit einem konstanten Skalar größer als 1. Dieser Skalierungsfaktor
definiert den für
das Mosaik verwendeten Vergrößerungsfaktor.
Die bei Schritt 11 gezeigte Mosaikaktualisierungsgleichung kann
wie folgt umgeschrieben werden:
-
Diese Gleichung zeigt, dass das Mosaik
bei der festen Zeit t0 gebildet wird, die die dem ersten Video-Frame
entsprechende Zeit, die dem letzten Frame entsprechende Zeit oder
irgendeine Zeit dazwischen sein kann. In diesem Fall wird die beliebige
Abbildung W
res( ) immer mit der Warping-Transformation W
t0←t aufgebaut.
Wenn das Mosaik kontinuierlich zu dem aktuellen Video-Frame hin
verzogen (warped) ist, muss die Aktualisierungsgleichung wie folgt
neu geschrieben werden:
-
Die obige Gleichung zeigt, dass die
beliebige Abbildung Wres( ) nicht länger mit
dem Frame-Frame-Warping-Operator Wt←(t–1) aufgebaut
ist, sondern anstatt auf die komprimierten/dekomprimierten Reste
angewendet wird. Beim MPEG-4 kann der beliebige Operator Wres( ) mit einer geeigneten Erweiterung der
Syntax als der erste Satz von Warping-Parametern übertragen
werden, die gegenwärtig
nur eine Positionierung des ersten Video-Frame in dem Mosaikpuffer über eine
Translationsverschiebung unterstützen.
-
Codierung von Videosequenzen bei
sehr niedrigen Bitraten.
- – Bei Anwendungen mit sehr
niedrigen Bitraten kann die Übertragung
von Forminformation zu einem unerwünschten Zusatzaufwand werden.
Das oben beschriebene Verfahren kann immer noch arbeiten, wenn die Übertragung
der Forminformation abgeschaltet wird. Dies wird erreicht, indem
die Hintergrundform bei jedem Pixel auf 1 (Schritt 7) und der Mischfaktor α auf 1 (Schritt
11) eingestellt werden. Die letztgenannte Einstellung garantiert,
dass das Mosaik immer die neuste Videoinformation anzeigen wird,
was in dieser Situation eine Notwendigkeit ist, da der Vordergrund
in dem Mosaik enthalten ist. In dieser Situation können die
Makroblöcke
entweder von der Intra-, Inter-, statischen Sprite- oder dynamischen
Sprite-Art sein. Das Sprite wird als ein statisches Sprite verwendet,
wenn alle Makroblöcke
von der statischen Art sind. Dies ist die wahrscheinlichste Situation
für eine
Anwendung mit einer sehr niedriger Bitrate, da in diesem Fall kein Rest übertragen
wird. Das Sprite wird als ein dynamisches Sprite verwendet, wenn
alle Makroblöcke
von der dynamischen Art sind.