Google ClassroomGoogle Classroom
GeoGebraClasse GeoGebra

*M3.I.3 ABL Mit Vektoren Änderungen beschreiben

Vom Farbvektor zum Pixelvektor

Bei digitalen Bildern wird neben der Farbe eines Pixels auch seine Position als Komponenten eines Pixelvektors angegeben. Bei einer Auflösung des Monitors von 1920*1080 werden 1920 Pixel nebeneinander in einer Reihe, in 1080 Reihen untereinander in Spalten angeordnet. Der erweiterte Pixelvektor beschreibt dann für jedes Pixel die Position in Reihe x und Spalte y und die Farbanteile r,g,b.

Aufgabe 1: Beispielbild in Pixelvektoren

Das unten dargestellte Bild mit 15*10 Pixeln soll in Vektoren codiert werden. Der Hintergrund ist weiß, das Koordinatengitter ist das Pixelraster. Jedes Pixel entspricht einem Kästchen. Das dargestellte Orange hat den Farbvektor . Das erste Kästchen unten links hat den Pixelvektor . a) Geben Sie die Pixelvektoren für die drei schwarz umrahmten Pixel an. b) Ändern Sie das Bild so um, dass der Pixelvektor  im Bild korrekt dargestellt ist. Tipp: Im Bild unten lässt sich mit dem Vieleckwerkzeug Toolbar Image ein kleines Quadrat ("Pixel") einzeichnen, für das in den Einstellungen (Rechtsklick, Zahnradsymbol) die Farbe geändert werden kann.

Digitale Bilder und Blockkompression

Bereits an diesem kleinen Bild aus 15∙10 Pixeln ist leicht einzusehen, dass durch die Codierung jedes einzelnen Pixels unnötig viele Einzelinformationen erzeugt werden. Sinnvoller scheint es, Pixel mit gleicher Farbe zusammenzufassen. Dazu nutzt beispielsweise der JPEG-Standard das Prinzip der Blockbildung, bei der das Bild in rechteckige Blöcke gleicher Farbe unterteilt werden und für diese lediglich der Bereich und die Farbe in einem Blockvektor codiert werden. Vereinfacht sieht diese Codierung für einen Block einheitlicher Farbe wie folgt aus: mit den Koordinaten der Ecken unten links und oben rechts des Blocks und den Farbanteilen .

Aufgabe 2: JPEG-Kompression

a) Geben Sie für das orange Rechteck im Bild aus Aufgabe 1 eine Codierung mithilfe des JPEG-Prinzips an.

b) Unterteilen Sie nun das ganze Bild aus Aufgabe 1 in möglichst geeignete Blöcke und codieren Sie mithilfe des JPEG-Prinzips das gesamte Bild in Blockvektoren.

Digitale Videos und Änderungsvektoren

Digitale Videos werden als eine Hintereinanderreihung von einzelnen Bildern gespeichert. Bei der Standard-Bildrate von 24 fps (frames per second - also 24 Bilder pro Sekunde) und einer Standard-HD-Auflösung von 1920*1080 Pixel pro Bild kommen enorme Datenmengen bestehend aus Pixelvektoren zusammen. Deshalb sind Kompressionsverfahren absolut unumgänglich. Ein wichtiges Kompressionsformat für Videoinhalte ist MPEG. Neben der Kompression der einzelnen Bilder z.B. mit JPEG (intraframe Kompression) ergibt sich bei Videos eine weitere Möglichkeit der Kompression durch die Analyse der Änderungen von Bild zu Bild (interframe Kompression). Alle Pixelvektoren werden nur für ein Startbild gespeichert, die Vektoren für die Folgebilder enthalten deutlich weniger Informationen. Die nachfolgende Abbildung zeigt ein Beispiel-Folgebild des MPEG-Formats einer TV-Nachrichtensendung.

Interframe Kompression bei MPEG

Das MPEG-Format nutzt (vereinfacht) drei grundlegende Prinzipien der interframe Kompression Für Folgebilder werden nur noch folgende Informationen gespeichert: 1. für jeden Bildpunkt, der seine Farbe verändert hat, ein Vektor mit
  • Pixelkoordinaten
  • Änderung der Farbkomponenten
2. für jeden Block, der seine Farbe einheitlich verändert hat, ein Vektor mit
  • Koordinatenbereich des Blocks
  • Änderung der Farbkomponenten
3. für jeden Block, der seine Position geändert hat, ein Vektor mit
  • Koordinatenbereich des Blocks
  • Änderung der Pixelkoordinaten

Aufgabe 3: MPEG-Kompression

Im folgenden Applet sind zum Startbild aus Aufgabe 1 und 2 zwei weitere Folgebilder einer Videosequenz dargestellt, die durch den Schieberegler Bildnummer angezeigt werden. Nutzen Sie die Prinzipien der MPEG-Interframe-Kompression, um die beiden Folgebilder möglichst komprimiert zu codieren.