+ All Categories
Home > Documents > Animation I/II Videokompression: Motion Compensation Virtual Reality.

Animation I/II Videokompression: Motion Compensation Virtual Reality.

Date post: 05-Apr-2015
Category:
Upload: fedde-heltzel
View: 112 times
Download: 0 times
Share this document with a friend
37
Animation I/II Videokompression: Motion Compensation Virtual Reality
Transcript
Page 1: Animation I/II Videokompression: Motion Compensation Virtual Reality.

Animation I/II

Videokompression: Motion CompensationVirtual Reality

Page 2: Animation I/II Videokompression: Motion Compensation Virtual Reality.

Video-Kompressionstechniken: Motion Compensation (Fortsetzung)

• Die Kompression von Bildern basiert im Wesentlichen auf der

Korrelation zwischen Pixeln. • Die Kompression von Video-Sequenzen beruht neben der

Korrelation von Pixeln in einem einzelnen Bild auch auf der Korrelation zwischen aufeinander folgenden Bildern (Frames).

• Grundsätzlich werden zwei Arten von Redundanz beseitigt: – räumliche Redundanz, die in jedem einzelnen Bild (Frame)

existiert; – temporale Redundanz, die im Unterschied eines Bildes zu

seinen unmittelbaren Nachbarn besteht.

Page 3: Animation I/II Videokompression: Motion Compensation Virtual Reality.

1. Bewegungskompensation (Motion Compensation)

• =Technik zur Beseitigung temporaler Redundanz in Video-Sequenzen.• Grundgedanke: Zwei aufeinander folgende Frames einer Sequenz sind

üblicherweise sehr ähnlich – enthalten somit viel (temporal) redundante Informationen. Redundante Informationen müssen aber nicht mit jedem Frame neu abgespeichert werden.

• Motion Compensation berücksichtigt daher für die Redundanzreduktion die Veränderungen in den Bewegungen einzelner, gleicher Bildkomponenten.

• Die Veränderungen werden als Bewegungsvektoren (motion vector) gespeichert.

• Somit können die Bildinformationen eines aktuellen Frames durch einen Vergleich mit einem vorherigen Referenzframe über die Bestimmung der Bewegungsvektoren festgehalten werden (Resultat= P-Frame).

• Werden auch Informationen aus einem folgenden Frame zur Kodierung der Bildinformationen des aktuellen Frames hinzugezogen, entsteht ein bidirektional kodiertes Frame (B-Frame).

Page 4: Animation I/II Videokompression: Motion Compensation Virtual Reality.

(Ax – Bx, Ay – By) = (Δx, Δy)

Page 5: Animation I/II Videokompression: Motion Compensation Virtual Reality.

1.1 Blockbasierte Bewegungskompensation (Block Motion Compensation)

Framefragmentierung/ Blockvergleich• Bei dier blockbasierten Motion Compensation wird das Frame

zunächst in Blöcke zerlegt (Frame Segmentation).• MPEG-Standard: Blöcke à 16x16 Pixel.• Jeder Block des aktuellen Bildes wird mit dem entsprechenden

Block des Vorgängers verglichen.• Abhängig von einem Schwellenwert (Search Threshold) der die

Ähnlichkeit der Blöcke repräsentiert, wird bei nahezu identischen Blöcken (Unterschied unterhalb des Schwellenwerts) vom Kodierer angenommen, dass keine Bewegung vorliegt. Wird der Schwellenwert überschritten, so startet ein Blocksuchalgorithmus.

• Die Blockgröße hat wesentlichen Einfluss auf die Wirksamkeit der Kompression: Zu große Blöcke vermindern die Chance identische Blöcke zu finden, zu kleine können zur Generierung vieler Bewegungsvektoren führen.

Page 6: Animation I/II Videokompression: Motion Compensation Virtual Reality.

Blocksuche (Block Search)

• Ein Algorithmus sucht nach der bestmöglichen Übereinstimmung eines Blocks des momentanen Frames mit einem des Referenzframes.

• Mögliche Vergleichsgrößen (distortion measure): z.B. Mittelwert der absoluten oder quadrierten Differenz, Integralprojektion.

• Die Suche wird in der Regel auf einen eng begrenzten Bereich (search area) im vorherigen Frame begrenzt.

• Aufgrund der Annahme, dass von Frame zu Frame die Bewegung eines Objektes (also die räumliche Verschiebung) gering ist, kann der Suchbereich relativ stark eingegrenzt werden.

• Dies muss auch so sein, denn Block search ist zeitintensiv: Schon ein Suchbereich von 48x48 Bildpunkten ergibt max. 2304 Möglichkeiten.

Page 7: Animation I/II Videokompression: Motion Compensation Virtual Reality.

Suboptimale Suchstrategien

• Um die Rechenzeit bei der Blocksuche zu verringern können, werden in der Regel „ungenauere“ Suchmethoden eingesetzt. Z.B.:

– Signature Based Methods: Im ersten Schritt werden alle in Frage kommenden Blocks mit einfachen Blocksuch-Methoden (z.B. Mittelwert der absoluten Differenz) auf die Ähnlichkeit überprüft. In den nächsten Schritten werden genauere Methoden nur auf die Blöcke mit den besten Ergebnissen aus Schritt 1 angewendet.

– Distance-Diluted Search: Alle nahe am Ursprungsblock liegenden Blöcke werden verglichen, immer weniger aber mit zunehmender Distanz .

– Locality-Based Search: Zunächst wird über räumlich relativ weit verteilte Blocks gesucht; der „beste Treffer“ ist Ausgangsbasis für eine intensivierte Suche um diesen Treffer herum: Hier besteht die hohe Wahrscheinlichkeit, einen besseren/ den besten Block zu finden.

Page 8: Animation I/II Videokompression: Motion Compensation Virtual Reality.
Page 9: Animation I/II Videokompression: Motion Compensation Virtual Reality.

- Abhängigkeitsbestimmte Algorithmen• Da sich bewegende Objekte innerhalb eines Frames in der

Regel größer sind als einzelne Blocks, kann man annehmen, dass benachbarte Blocks korrelierende Bewegungsvektoren aufweisen.

• Diese Annahme wird von Algorithmen, die Abhängigkeitsverhältnisse zu Grunde legen (dependent algorithms) genutzt.

• In einem Algorithmus, der räumliche Abhängigkeit zu Grunde legt, werden benachbarte Blocks von Block X benutzt, um den Bewegungsvektor von X vorherzusagen.

• Natürlich kann man für die Berechnung nur Nachbarblocks benutzen, deren Vektoren bereits errechnet wurden.

• Die meisten Blocks haben acht Nachbarn, aber alle acht zu vergleichen ist ineffektiv. Die beste Variante ist vier symmetrische Nachbarblöcke zu nehmen.

Page 10: Animation I/II Videokompression: Motion Compensation Virtual Reality.

• Drei Schritte sind erforderlich für die Überprüfung von jeweils vier symmetrisch angeordneten Nachbarn:

• Zuerst wird in der ersten und danach in jeder zweiten Reihe für jeden zweiten Block der Vektor berechnet.

• Im zweiten Schritt wird in den bisher unberücksichtigten Zeilen versetzt für jeden zweiten Block der Vektor berechnet. Hier können bereits vier symmetrisch angeordnete Blöcke zum Vergleich herangezogen werden.

• Im dritten Schritt werden alle restlichen Vekoren berechnet.

Page 11: Animation I/II Videokompression: Motion Compensation Virtual Reality.

Bewegungsvektorberechnung und -Korrektur

• Nachdem ein „passender“ Block im Referenzframe gefunden wurde, wird der Bewegungsvektor als Differenz zweier lokal identischer Punkte der Blöcke berechnet.

• Verschiedene Faktoren können eine Optimierung des berechneten Bewegungsvektors notwendig machen (z.B. suboptimaler Suchalgorithmus).

Schätzfehler-Kodierung

• Die zwei korrespondierenden Blöcke sind normalerweise nicht absolut identisch, es existiert ein Schätzfehler. Durch Speicherung der Differenz zwischen unkomprimierten und komprimierten Block kann der Decoder eine Verbesserung erreichen.

Page 12: Animation I/II Videokompression: Motion Compensation Virtual Reality.

Kodierung von Bewegungsvektoren

• Da ein großer Teil des jeweils aktuellen Bildes in Bewegungsvektoren konvertiert werden kann, ist die Kodierung der Ergebnisse von hoher Bedeutung.

• Bewegungsvektoren sollten verlustfrei kodiert werden.

Page 13: Animation I/II Videokompression: Motion Compensation Virtual Reality.

Kodierung von Bewegungsvektoren

• Da ein großer Teil des jeweils aktuellen Bildes in Bewegungsvektoren konvertiert werden kann, ist die Kodierung der Ergebnisse von hoher Bedeutung.

• Bewegungsvektoren sollten verlustfrei kodiert werden.

• Zwei Eigenschaften von Bewegungsvektoren helfen dabei:

– sie korrelieren miteinander: Wenn ein Bild Block für Block verglichen wird, sind die Bewegungsvektoren nebeneinander liegender Blöcke meist nicht sehr unterschiedlich, sie korrelieren miteinander.

– ihre Verteilung ist ungleichmäßig: Die Bewegungsvektoren weisen außerdem nicht in alle möglichen Richtungen, sondern in eine oder zwei bevorzugte. Sie sind ungleichmäßig verteilt.

Page 14: Animation I/II Videokompression: Motion Compensation Virtual Reality.

• Bisher hat sich keine Kodierungsmethode als die ideale herausgestellt, aber einige als sehr wirksam.

• Besonders gut haben diese Methoden funktioniert: – Schätzung des Bewegungsvektors aufgrund der

vorhergehenden Blöcke in derselben Zeile und Spalte eines Bildes. Berechnung der Differenz zwischen der Schätzung und dem tatsächlichen Vektor. Huffman-Kodierung (MPEG-1)

– Gruppierung der Bewegungsvektoren zu Blocks. Sind alle Vektoren im Block identisch, wird der Vektor einmal für den gesamten Block kodiert. Andere Blocks werden nach Methode 1 kodiert.

Page 15: Animation I/II Videokompression: Motion Compensation Virtual Reality.

Blockzerlegung

Blockvergleich

Blocksuche

Bewegungsvektorermittlung

Bewegungsvektorkorrektur

Schätzfehlerkodierung

Bewegungsvektorkodierung

Teilschritte der Motion Compensation

Page 16: Animation I/II Videokompression: Motion Compensation Virtual Reality.

MPEG-1/ MPEG-2 - Syntax

Datenstrukturen werden in MPEG-1/ -2 in einer Hierarchie (Layer) defniert:

• Block-Layer: kleinste Organisationseinheit, 8x8 Pixel. • Macro Block- Layer: Aggregation mehrerer Blöcke (4x)• Slice- Layer: Aufeinanderfolge von Makroblöcken;

Fehlerkorrekturverbesserung• Picture- Layer: Primäre Kodierungseinheit; Farbmodell:

Luminanz/Chrominanz (YCbCr)• Group of Pictures (GOP)- Layer: Jede Sequenz enthält eine Serie

von Bilder; GOP beginnen ebenfalls mit einem Header• Sequence- Layer: Eine Sequenz fasst eine oder mehrere GOP

zusammen; der Header-Teil der Sequenz beinhaltet allgemeine Informationen wie z.B. Bildformat, Übertragungsrate u.a.

Page 17: Animation I/II Videokompression: Motion Compensation Virtual Reality.
Page 18: Animation I/II Videokompression: Motion Compensation Virtual Reality.

Kompression in MPEG

• Es werden eine Reihe von Kompressionstechniken kombiniert angewandt, um eine hohe Kompressionsrate zu erzielen, insbes. DCT, Motion Compensation, Huffman, RLE.

Page 19: Animation I/II Videokompression: Motion Compensation Virtual Reality.

2. Virtuelle Realität

2.1 Was ist Virtual Reality?• Unter Virtual Reality versteht man alle Konzepte, die unsere

natürliche audiovisuelle und räumliche Wahrnehmung im Computer simulieren (Däßler).

• VR umfasst Methoden zur räumlichen Darstellung von Objekten, für die räumliche Klangausbreitung und für eine Reihe von Interaktionsmöglichkeiten.

• Über Trackingsysteme können Bewegungen des Menschen in die synthetische Umgebung übertragen werden,

• über Sensoren kann man wie in der Realität Objekte der künstlichen Welt beeinflussen.

Page 20: Animation I/II Videokompression: Motion Compensation Virtual Reality.
Page 21: Animation I/II Videokompression: Motion Compensation Virtual Reality.

2.2 Anwendungsbereiche der VR

• Architektur: Walk throughs

• Städteplanung

Page 22: Animation I/II Videokompression: Motion Compensation Virtual Reality.

• Industrielle Fertigung: Montagesimulation, Entwurf von Fertigungsanlagen

• Design: Automobilindustrie: Prototypisierung

Page 23: Animation I/II Videokompression: Motion Compensation Virtual Reality.

• Ausbildung und Training : Flugsimulation

• Medizin (Analyse medizinischer Datensätze, Planung und Training von Operationen)

• Kulturelles Erbe: Simulationen in der Archäologie (Ausgrabungssimulation)

Page 24: Animation I/II Videokompression: Motion Compensation Virtual Reality.

2.3 Zentrale Aspekte der VR2.3.1 VR-Systeme• VR-Systeme bilden die Schnittstelle zwischen dem Benutzer und der

Virtuellen Welt. • Man unterscheidet:

– Desktop-VR: Der Benutzer schaut von einem Standpunkt ausserhalb auf die zweidimensionale Darstellung der Virtuelle Welt.

– Stereo Vision: Durch stereoskopische Sichtsysteme (z.B. Shutterbrille) entsteht trotz zweidimensionaler Darstellungsform ein realer dreidimensionaler Eindruck.

– Immersive Systeme: Der persönliche Blickpunkt des Betrachters liegt vollständig in der Virtuellen Welt. Dies wird z.B. durch einen HMD (Head Mounted Device) erreicht.

2.3.2 Immersion• Der Grad, inwieweit ein Benutzer die virtuelle Welt als eigene Realität wahrnimmt, wird als Immersionsgrad (Immersion= „Eintauchen“) eines VR- Systems bezeichnet. • Werden alle Sinne konsistent angesprochen oder wird die reale Welt nicht mehr wahrgenommen, so liegt ein maximaler Immersionsgrad vor. Der Immersionsgrad kann also über die Abschirmung von der realen Welt oder die Anzahl der angesprochenen Sinne bestimmt werden.

Page 25: Animation I/II Videokompression: Motion Compensation Virtual Reality.

2.3.3 Rendering

• Als Rendern bezeichnet man den Prozess, für eine Bewegung in einer Szene die gesamte Szene mit allen Objekten neu zu berechnen und darzustellen.

• Wie kann eine Szene optimal gerendert werden?

2.4 Räumliche Modellierung von Objekten

• Die Grundlage jeder räumlichen Modellierung ist ein 3D-Koordinatensystem.

• Die Gestalt eines beliebigen Objekten wird durch Punkte im Koordinatensystem beschrieben.

• Verbindet man die Punkte miteinander, entsteht ein Drahtmodell.

Page 26: Animation I/II Videokompression: Motion Compensation Virtual Reality.

• Das Drahtmodell alleine erlaubt keine eindeutige Identifikation der Raumorientierung des Objekts.

• Die eindeutige Raumorientierung erreicht man mit Perspektive und

Verdeckung.

Page 27: Animation I/II Videokompression: Motion Compensation Virtual Reality.

Polygondarstellung• Reale Objekte besitzen im Gegensatz zu einem Drahtmodell

Oberflächen mit physikalischen Eigenschaften. • In der Computergrafik verwendet man dazu die Polygondarstellung. • Polygone sind kleine Flächeneinheiten, aus denen sich beliebige

regelmäßige oder unregelmäßige Oberflächen zusammensetzen lassen.

• Die Orientierung jedes Polygons im Raum wird durch einen gedachten Normalvektor beschrieben, der senkrecht auf dem Flächenstück steht.

• Da sich in der Praxis nur eine begrenzte Zahl an Polygonen darstellbar ist, kann man sich realen Objekten mit der Polygondarstellung lediglich annähern.

Page 28: Animation I/II Videokompression: Motion Compensation Virtual Reality.

Oberflächeneigenschaften• Eine Szene, die nur in der Polygondarstellung gerendert wurde,

erscheint trotz Perspektive und Verdeckung flach und unwirklich. • Realistische Darstellung von künstlichen Objekten wird erst durch

Oberflächeneffekte erzielt. • Oberflächeneffekte kommen durch Beleuchtung einer Szene und

die charakteristischen Schattenverläufe einer Oberfläche zustande.

2.5 Vom Programmskript zur virtuellen Welt: Die 3D-Grafikpipeline• Der gesamte Weg den 3D-Daten hin zum 2D-Frame durchlaufen -

vom Modell über mathematische Beschreibung einer Szene bis hin zur gerasterten Darstellung - wird als (3D-) Grafikpipeline (oder oft auch 3D-Rendering Pipeline) bezeichnet.

Page 29: Animation I/II Videokompression: Motion Compensation Virtual Reality.

• Die Grafikpipeline besteht aus zwei Hauptteilen:

– Geometrie-Teil – Rendering-Teil

• Die Routinen im Geometrieteil ermitteln aus dem vorgegebenen Modell des Entwicklers eine dem jeweiligen Blickwinkel des Betrachters angepasste Szene.

• Die Rendermaschine berechnet daraus für jede neue Einstellung die digitalen Bilder, die dann auf dem dem Bildschirm sichtbar sind.

• API-Beispiele für Grafikpipelines: DirectX, OpenGL

Page 30: Animation I/II Videokompression: Motion Compensation Virtual Reality.

Transformationen

• Die Modellkoordinaten werden in den Koordinatenraum der Anwendung, das sog. Weltkoordinatensystem, überführt.

• Verschiebungsmatrizen beschreiben die Übersetzung.• Die Transformation enthält verschiedene Einzelschritte:• Translation: Einfache Objekt- (Punkt-)Verschiebung im Raum• Skalierung: Vergrößern/ Verkleinern von Objekten (Polygonen) um

einen bestimmten Faktor.• Rotation: Rotation eines Körpers um einen bestimmten Punkt.• Shearing: Verzerrung eines Körpers.• Clipping: Abschneiden von Objektteilen, die ausserhalb des

Blickwinkels des Beobachters der Szene oder ganz ausserhalb des Beobachtungsfensters liegen.

Page 31: Animation I/II Videokompression: Motion Compensation Virtual Reality.

Transformationen(Fotsetzung)

• Clipping: Abschneiden von Objektteilen, die ausserhalb des Blickwinkels des Beobachters der Szene oder ganz ausserhalb des Beobachtungsfensters liegen.

• Projektionen: Perspektivische Ausrichtung der Szene auf eine Projektionsebene.

• Transformationsschritte können durch Matrizenmultiplikation zusammengefasst werden, wodurch der Rechenaufwand sinkt.

Page 32: Animation I/II Videokompression: Motion Compensation Virtual Reality.

Beleuchtung• Berechnung des Einflusses verschiedener Lichtquellen auf die

Objekte. • Der Standpunkt des Beobachters ist wie auch in der realen Welt

ausschlaggebend für die Szenenbeleuchtung.

Tesselation• Zerlegung nichtregulärer Polygone in reguläre Formen, die besser

von der Rendermaschine verarbeitet werden können.

Page 33: Animation I/II Videokompression: Motion Compensation Virtual Reality.

Schattierung

• Mit Hilfe des Flat-Shading-Verfahrens werden die regulären Flächenelemente mit einem Helligkeitswert belegt, der sich aus der Winkeldifferenz zwischen einfallendem Licht und dem Polygonnormal errechnet. Das Flat-Shading erfordert nur geringe Rechenleistung, liefert aber auch nur grobe Schattierungen.

• Beim Gouraud-Shading-Verfahren werden Farbabstufungen durch die Interpolation der Farbwerte benachbarter Polygone auf den einzelnen Flächenelementen berechnet.

• Phong-Shading verwendet eine Technik die Überlagerungen verschiedener Lichtarten berücksichtigt.

Page 34: Animation I/II Videokompression: Motion Compensation Virtual Reality.

Textur-Mapping

• Als Textur bezeichnet man Muster oder Bilder, die wie eine Haut über die Oberfläche eines Drahtmodells gezogen werden.

• Mit Texturen können Raumeffekte vorgetäuscht werden, die sonst sehr aufwendig mit Polygonen modelliert werden müssten.

• Die Zahl der Polygone einer Szene kann so reduziert werden.

• Textur-Mapping ist eine wichtige Technik zur Erhöhung der realistischen Darstellung

Page 35: Animation I/II Videokompression: Motion Compensation Virtual Reality.

Mip Mapping• beim Mip Mapping werden gleichzeitig mehrere Versionen (Rasterbilder)

einer Textur gespeichert (Mip Map), die sich in ihrem Detailliertheitsgrad, d.h. in der Auflösung, unterscheiden (Mip= Multum in parvo).

• Durch Mip Mapping kann die Qualität der Textur bei der Skalierung (also Vergrößerung oder Verkleinerung) eines Objektes mit einer Texturoberfläche beibehalten werden.

Alpha Blending• Alpha Blending• ist ein Verfahren zur Kontrolle der Transparenz eines Objektes. • Damit lassen sich lichtdurchlässige Oberflächen wie Glas oder Wasser

simulieren. • Auch athmosphärische Effekte wie Nebel oder Depth Cueing, bei denen

ein Objekt mit zunehmender Distanz an Deutlichkeit verliert, können simuliert werden.

Page 36: Animation I/II Videokompression: Motion Compensation Virtual Reality.

Antialiasing• Antialiasing ist ein Verfahren zur Glättung von Kanten und zur

Vermeidung von unerwünschten Treppenmustern. • Der Effekt wird durch Reduzierung des Kontrastes zwischen der

Kante des Objektes und dem Hintergrund erreicht. • Nachteilig ist, dass Linien sich verbreitern und Kanten an Kontrast

verlieren.

Page 37: Animation I/II Videokompression: Motion Compensation Virtual Reality.

Aufgaben

1) Wiederholen Sie den Stoff dieser Sitzung bis zur nächsten Sitzung (siehe dazu den Link zur Sitzung auf der HKI-Homepage).

Informieren Sie sich zusätzlich durch eigene Literaturrecherche!

2) Beantworten Sie die Fragen aus der Sammlung „beispielhafte Klausurfragen“ zum Bereich Animation (soweit in dieser Sitzung behandelt).


Recommended