ein freies Lehrmittel auf der Basis von eduskript

Rastergrafiken

Lernziele
  • Sie können die unkomprimierte Datenmenge für ein RGB-Bild mit einer gewissen Auflösung und Farbtiefe berechnen.
  • Sie können die unkomprimierte Datenmenge zweier Grafiken ins Verhältnis setzen.
  • Sie wissen, wie sich die Berechnung verändert, wenn es ein Graustufen-Bild wäre.

Was ist eine "Raster"-Grafik?

Stellen Sie sich vor: Bits in Ihrem Speicher könnten ja direkt einzelne Farben sein. 0 wäre schwarz, 1 wäre weiss.

Ein Smiley könnte dann so aussehen:

Das ist eine sogenannte Rastergrafik. Die Grafik ist einfach eine Tabelle, bei der die Zellen mit den gewünschten Farben gefüllt werden.

"Farbtiefe" und "Datenvolumen" geometrisch verstehen

Die unkomprimierte Datenmenge zu bestimmen, ist bei diesem Beispiel relativ einfach: Sie brauchen pro Pixel ein Bit Speicherplatz, um die Farbe (schwarz oder weiss) zu speichern.

Wie viele Pixel gibt es? Nun, es hat 16 Pixel in der Breite und 16 Pixel in der Höhe, also:

16×16 Pixel=256 Pixel16 \times 16\text{ Pixel} = 256\text{ Pixel}

Geometrisch gesprochen sind diese 256 Pixel die Fläche des Bildes. Und jeder dieser 256 Pixel braucht genau 1 Bit. Die Rechnung wäre also:

Breite×Ho¨he×Datenmenge pro Pixel=16×16×1 Bit=Bildfla¨che in Pixeln×Datenmenge pro Pixel=256×1 Bit=256 Bit=32 Byte\text{Breite} \times \text{Höhe} \times \text{Datenmenge pro Pixel} = \newline 16 \times 16 \times 1\text{ Bit} = \newline \text{Bildfläche in Pixeln} \times \text{Datenmenge pro Pixel} = \newline 256 \times 1\text{ Bit} = \newline 256\text{ Bit} = \newline 32\text{ Byte}

Wir multiplizieren die Fläche also mit der Datenmenge pro Pixel für die Farbe. Sie könnten sich diese Datenmenge geometrisch als die dritte Dimension des Bildes vorstellen. Deswegen nennt man diese Angabe die Farbtiefe und die Datenmenge ein Datenvolumen.

Aber natürlich wollen wir mehr Farben! Dafür nutzen wir die Idee des RGB-Farbmodells der letzten Lektion und mischen uns die Farben, indem wir die Farbtiefe erhöhen. Erinnern wir uns: Wir haben uns überlegt, wie viele Farben man mischen könnte, wenn man für Rot, Grün und Blau je 8 Bit zur Verfügung hätte.

Ich habe Ihnen das in Blender für ein Farbbild mit zwei verschiedenen Farbtiefen visualisiert: Jeder kleine Würfel entspricht einem Bit.

  • Links haben wir 1 Bit Farbtiefe pro RGB-Farbkanal. Der Datenquader ist also 3 Bit hoch und wir haben nur sehr wenige Mischfarben (nämlich 23=82^3 = 8).
  • Rechts haben Sie 4 Bit Farbtiefe pro RGB-Farbkanal. Der Datenquader wird jetzt 12 Bit hoch, aber dafür sehen Sie viel mehr Farbschattierungen, weil wir mehr Farben mischen können.
Diskutieren Sie

Ich habe Ihnen die gleiche Idee interaktiv programmiert. Als Originalbild (rechts) sehen Sie hier ein RGB-Bild mit 64 x 64 Pixeln und 2 Bit Farbtiefe pro Farbkanal. Sie können mit den Reglern die Auflösung (damit meint man die Breite und Höhe) sowie die Farbtiefe verändern. Zudem sehen Sie eine 3D-Visualisierung des Datenquaders. Spielen Sie mit den Reglern, um ein Gefühl für die Effekte der Regler zu erhalten.

Überlegen Sie sich folgende Fragen:

  1. Welche Regler machen das Bild schärfer?
  2. Welcher Regler gibt Ihnen mehr Farben?
  3. Was passiert mit der Datenmenge, wenn Sie ein qualitativ hochwertiges Bild wollen?
  4. Wie könnten Sie diese Datenmenge berechnen?
  5. Was verkörpert die Datenmenge, die nötig ist, um das Bild zu speichern?
Lösung zu den Fragen
  1. Die Pixelanzahl für die Breite und Höhe. Das nennt man zusammengefasst die Auflösung des Bildes.
  2. Die Farbtiefe.
  3. Der Datenquader wird grösser, also erhöht sich die Datenmenge.
  4. Das Volumen des Quaders ist die Datenmenge.
  5. Grundsätzlich:
    Breite×Ho¨he×TiefeBreite \times \text{H\"ohe} \times Tiefe
    In unserem Fall also:
    Pixelbreite×Pixelho¨he×(Farbtiefe pro Farbkanal×Anzahl Farbkana¨le)Pixelbreite \times \text{Pixelh\"ohe} \times ( \text{Farbtiefe pro Farbkanal} \times \text{Anzahl Farbkan\"ale} )
    Oder:
    Pixelbreite×Pixelho¨he×(Farbtiefe insgesamt)Pixelbreite \times \text{Pixelh\"ohe} \times ( \text{Farbtiefe insgesamt} )
    Dass es keine Verwechslung gibt, präzisiert man die Farbtiefe teils mit "bits per channel" (bpc) oder "bits per pixel" (bpp). 8 bpc sind bei RGB 24 bpp.
Loading plugin...
Diskutieren Sie

Nun haben Sie das Rüstzeug, um sich folgende Fragen zu überlegen:

  1. Sie finden zwei Versionen eines Videos: Einmal in FullHD und 4 Bit Farbtiefe pro Farbkanal, und einmal in 4K mit 8 Bit Farbtiefe pro Farbkanal (recherchieren Sie die Begriffe selbst). Wie viel länger wird der Download gehen?
  2. Hierzu noch ein realistischeres Beispiel: Sie finden ein Video mit FullHD und 8 Bit Farbtiefe pro Farbkanal, und ein Video mit 4K und 10 Bit Farbtiefe (HDR). Wie viel länger wird der Download gehen?
  3. Sie kaufen eine professionelle Kamera mit 24 Megapixeln und 12 Bit Farbtiefe pro Farbkanal. Zudem hat die Kamera eine Funktion, um die Bilder "roh" unkomprimiert zu speichern. Wie viel Speicher bräuchte so das grösstmögliche Bild (in Megabyte)?
  4. Wie viel mehr Farben kann die Kamera mit 12 Bit Farbtiefe mischen im Vergleich zu den weitverbreiteten Formaten mit 8 Bit Farbtiefe?
  5. Wie würde sich die Datenmenge verändern, wenn Sie keine Farben hätten, sondern nur Graustufen?
Lösung zu den Fragen mit Video-Erklärungen 📺️
  1. FullHD (oder "1080p" genannt) ist 1920x1080 Pixel. 4K ist ein schwammiger Begriff, aber bedeutet meist 3840x2160 Pixel - also in beiden Dimensionen das Doppelte von FullHD.

    4K ist also eine viermal grössere Fläche als FullHD. Wenn Sie nun auch noch eine doppelt so grosse Farbtiefe haben, haben Sie also achtmal mehr Daten, die Sie herunterladen müssen. (Stellen Sie sich das als Datenquader vor!)
    Sie können sich das auch mathematisch schön auflösen:
4K & 8BitFullHD & 4Bit=38402160831920108043=21920210802431920108043=2221=8\frac{\text{4K \& 8Bit}}{\text{FullHD \& 4Bit}} = \frac{3840*2160*8*3}{1920*1080*4*3} = \frac{2*1920*2*1080*2*4*3}{1920*1080*4*3} = \frac{2*2*2}{1} = 8
  1. Hier einfach mathematisch:
4K & 10BitFullHD & 8Bit=384021601031920108083=21920210801031920108083=22108=5\frac{\text{4K \& 10Bit}}{\text{FullHD \& 8Bit}} = \frac{3840*2160*10*3}{1920*1080*8*3} = \frac{2*1920*2*1080*10*3}{1920*1080*8*3} = \frac{2*2*10}{8} = 5

Sie müssen also fünfmal mehr Daten herunterladen.
Erklärung zu Aufgaben 1 und 2
3. Rechnen wir von Beginn an in Bytes, das ist einfacher. Pro Farbkanal und Pixel haben wir 12 Bit, also 1,5 Byte pro Farbe und Pixel. Mit drei Farben sind das 4,5 Byte pro Pixel. Zudem haben wir 24 Megapixel - also 24 Millionen Pixel!
4,5 Byte×24 Megapixel4,5 \text{ Byte} \times 24 \text{ Megapixel}
Das macht 108 Megabyte für ein Bild!
4. Erinnern Sie sich an die Formel für die Anzahl Mischfarben bei 8 Bit Farbtiefe. Wir müssen nun die Anzahl Farben der Kamera und die Farben bei 8 Bit ins Verhältnis setzen:

(212)3(28)3=236224=23624=212=4096\frac{(2^{12})^3}{(2^8)^3} = \frac{2^{36}}{2^{24}} = 2^{36-24} = 2^{12} = 4096

Das bedeutet: Die 12-Bit-Kamera kann 4'096-mal mehr Farben mischen als ein normaler Computer! Anstatt "nur" 16,8 Millionen Farben haben Sie 68,7 Milliarden Farben.
5. Ein Bild aus Graustufen hat einfach einen Kanal anstatt drei Kanäle pro Farbe. Das heisst: Die unkomprimierte Datenmenge ist ein Drittel der Datenmenge von RGB.
Erklärung zu Aufgaben 3 bis 5

Demonstration: Was bringen 14 bit Farbtiefe?