RGB-Codierung


Die Farbe eines Pixels wird als Kombination der Helligkeit eines roten, eines grünen und eines blauen Subpixels festgelegt.

Farbe des Pixels = rgb(Helligkeit rotes Subpixel, Helligkeit grünes Subpixel, Helligkeit blaues Subpixel)

Für uns Menschen notieren wir diese Angabe im Dezimalsystem. Ein Computer kann mit einer Angabe im Dezimalsystem nichts anfangen, da der Computer nur den Binärcode mit den beiden Zuständen "Strom an = 1" und "Strom aus = 0" kennt. Bevor man einem Computer mitteilen kann, welche Farbe dargestellt werden soll, muss die RGB-Codierung in eine Binär-Codierung, die nur aus den Ziffern "0" und "1" besteht, umgerechnet werden.


Zählen im Dezimalsystem

Unser gewohntes Zahlensystem ist das Dezimalsystem, das zehn verschiedene Ziffern 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 verwendet. Wenn eine bestimmte Menge von etwas beschrieben werden soll, dann zählen wir die Anzahl der Elemente in dieser Menge ab. Sobald alle Ziffern beim Zählen verwendet wurden, wird eine zusätzliche Stelle an die Zahl angefügt. Mit einer Aneinanderreihung der zehn verschiedenen Ziffern zu einer bestimmten Anzahl von Stellen, kann jede beliebige natürliche Zahl dargestellt werden.

Im Dezimalsystem ist die Ziffer 9 die letzte verfügbare Ziffer. Sobald man diese beim Zählen erreicht und eine Zahl weiterzählt, wird anstelle der "9" eine "0" gesetzt und es wird ein Übertrag von "1" an die nächste Stelle weitergeben:

9 + 1 = 10
99 + 1 = 100
5999 + 1 = 6000

Beim RGB-Code sollen 255 verschiedene Helligkeitsstufen codiert werden. In der folgenden App kann der Zählprozess im Dezimalsystem bis zur Zahl 255 nachvollzogen werden.

In einem neuen Fenster starten: Zählen im Dezimalsystem


Zählen im Binärsystem

Da der Computer nur die beiden Ziffern "0" und "1" kennt, muss man für den Computer ein Zahlsystem entwickeln, mit dem es möglich ist, mit nur zwei Ziffern jede beliebige Anzahl zu beschreiben.

Im Binärsystem ist die Ziffer 1 die letzte verfügbare Ziffer. Sobald man diese beim Zählen erreicht, wird anstelle der "1" eine "0" gesetzt und es wird ein Übertrag von "1" an die nächste Stelle weitergeben:

1 + 1 = 10
11 + 1 = 100
1001 + 1 = 1010

Im Binärsystem mit nur zwei verschiedenen Ziffern "0" und "1" werden die Zählzahlen sehr schnell sehr lang. In der folgenden App kann der Zählprozess im Binärsystem bis zur Zahl 255 nachvollzogen werden.

In einem neuen Fenster starten: Zählen im Binärsystem


Umrechnung: Binärzahl in Dezimalzahl

Wenn der Computer mit einer Binärzahl gezählt oder gerechnet hat und diese einem Menschen mitteilen soll, dann ist es sinnvoll, zuerst die Binärzahl in eine Dezimalzahl umzurechnen, damit ein Mensch etwas damit anfangen kann.

Beim Zählen im Dezimalsystem verzehnfacht sich die abgezählte Menge mit jeder neuen Stelle:

10 ist zehnmal mehr als 1
100 ist zehnmal mehr als 10
1000 ist zehnmal mehr als 100
...

Beim Zählen im Binärsystem verdoppelt sich die abgezählte Menge mit jeder neuen Stelle:

10 ist doppelt so viel wie 1 (2 und 1 im Dezimalsystem)
100 ist doppelt so viel wie 10 (4 und 2 im Dezimalsystem)
1000 ist doppelt so viel wie 100 (8 und 4 im Dezimalsystem)
...

Im Dezimalsystem bedeutet eine Zahl 437:

\[ 4 \cdot 100 + 3 \cdot 10 + 7 = 437\]

oder geschrieben mit Zehnerpotenzen:

\[ 4 \cdot 10^2 + 3 \cdot 10^1 + 7 \cdot 10^0 = 437\]

wobei gilt, dass \(10^0 = 1\).

Die Binärzahl 11011 kann ins Dezimalsystem umgerechnet werden, indem man eine Ziffer mit einem Vielfachen von zwei multipliziert:

\[ 1 \cdot 16 + 1 \cdot 8 + 0 \cdot 4 + 1 \cdot 2 + 1 = 27\]

oder geschrieben mit Zweierpotenzen:

\[ 1 \cdot 2^4 + 1 \cdot 2^3 + 0 \cdot 2^2 + 1 \cdot 2^1 + 1 \cdot 2^0 = 27\]

wobei gilt, dass \(2^0 = 1\).

In der folgenden App können Sie die Umrechnung einer Binärzahl in eine Dezimalzahl nachvollziehen

In einem neuen Fenster starten: Umrechnung: Binärzahl in Dezimalzahl


Umrechnung: Dezimalzahl zu Binärzahl

Bevor einem Computer eine Information übermittelt werden kann, muss eine Dezimalzahl in eine Binärzahl umgerechnet werden. Im letzten Abschnit wurde gezeigt, dass eine Dezimalzahl als eine Summe aus Zweierpotenzen aufgeschrieben werden kann. Das kann man nutzen um eine Dezimalzahl in eine Binärzahl umzurechnen:

  • Man teilt eine Dezimalzahl solange durch 2, bis die Zahl 0 erreicht wurde.
  • In jedem Schritt notiert man den Rest der Division und schreibt daraus die Binärzahl von hinten nach vorne auf.

In der folgenden App können Sie dieses Verfahren nachvollziehen:

In einem neuen Fenster starten: Umrechnung: Dezimalzahl zu Binärzahl


Zählen im Hexadezimalsystem

Menschen zählen und rechnen im Dezimalsystem. Computer zählen und rechnen im Binärsystem. InformatikerInnen haben noch ein weiteres Zahlsystem entwickelt, um Binärcodes platzsparend notieren zu können: das Hexadezimalsystem.

Das Hexadezimalsystem besteht aus 16 verschiedenen Ziffern: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f.

Zusätzlich zu den Ziffern des Dezimalsystem nutzt man im Hexadezimalsystem noch die ersten Buchstaben des Alphabets. Dabei gilt:

a im Hexadezimalsystem = 10 im Dezimalsystem
b im Hexadezimalsystem = 11 im Dezimalsystem
c im Hexadezimalsystem = 12 im Dezimalsystem
d im Hexadezimalsystem = 13 im Dezimalsystem
e im Hexadezimalsystem = 14 im Dezimalsystem
f im Hexadezimalsystem = 15 im Dezimalsystem

In der folgenden App können Sie nachvollziehen, wie man im Hexadezimalsystem zählt:

In einem neuen Fenster starten: Zählen im Hexadezimalsystem


Umrechnung: Hexadezimalzahl in Dezimalzahl

Informationen, die von InformatikerInnen knapp im Hexadezimalsystem notiert sind, müssen erst umgerechnet werden, bevor sie weiter genutzt werden können.

In der folgenden App können Sie nachvollziehen, wie eine Hexadezimalzahl ins Dezimalsystem umgerechnet wird.

In einem neuen Fenster starten: Umrechnung: Hexadezimalzahl in Dezimalzahl


Umrechnung: Dezimalzahl zu Hexadezimalzahl

RGB-Codes zur Festlegung der Farbe eines Pixels werden oft im Hexadezimalsystem notiert. Die Dezimalzahlen, welche die Helligkeit eines Subpixels festlegen, werden dafür ins Hexadezimalsystem umgerechnet.

In der folgenden App können Sie nachvollziehen, wie eine Dezimalzahl in eine Hexadezimalzahl umgerechnet wird.

In einem neuen Fenster starten: Umrechnung: Dezimalzahl zu Hexadezimalzahl


Pixel-Codierung

Mit den drei Zahlsystemen: Dezimalsystem, Binärsystem und Hexadezimalsystem gibt es drei verschiedene Möglichkeiten, wie die Farbe eines Pixels codiert werden kann:

In einem neuen Fenster starten: Pixel-Codierung

Eine Informationseinheit im Binärcode nennt man ein Bit. Ein Bit kann den Wert "1" oder den Wert "0" haben.

Um die Farbe eines Pixels im Binärcode zu speichern, benötigt man 8 Bits pro Subpixel, also 3 x 8 = 24 Bits pro Pixel.


Übung 1:

Berechnen Sie die Anzahl von Bits, die notwendig ist, um folgendes Bild zu speichern.


Übung 2:

Das Bild aus Übung 1 wurde künstlerisch verändert, indem mit einem Bildbearbeitungsprogramm eine Unschärfe in das Bild eingefügt wurde.

Das Bild enthält jetzt nicht mehr nur die Farben "Schwarz" und "Weiß". Die Unschärfe wird mit der Farbe "Grau" in 256 Abstufungen erzeugt. Ein graues Pixel entsteht, wenn alle drei Subpixel die gleiche Helligkeit haben, weswegen "Weiß" (Graustufe mit Helligkeit 255) und "Schwarz" (Graustufe mit Helligkeit 0) jeweils auch als eine Graustufe angesehen werden kann.

Um die Unschärfe darzustellen, wird das Bild in 384 x 384 Pixel unterteilt.

Berechnen Sie die Anzahl von Bits, die notwendig ist, um das Bild zu speichern.


Übung 3:

Das Bild aus Übung 2 wurde künstlerisch weiter verändert, indem mit einem Bildbearbeitungsprogramm ein Voronoi-Filter über das Bild gelegt wurde.

Das Bild mit 384 x 384 Pixeln muss jetzt mit dem vollen RGB-Code codiert werden.

Berechnen Sie die Anzahl von Bits, die notwendig ist, um das Bild zu speichern.


Übung 4: Speicherbedarf für ein Handy-Foto

Nehmen Sie ein Foto mit Ihrem Handy auf. Finden Sie heraus, wie viele Pixel dieses Bild hat und berechnen Sie den Speicherplatz, den dieses Bild in Bits benötigt.

Auf ihrem Handy benötigt das von Ihnen aufgenommene Bild deutlich weniger Speicherplatz, als der von Ihnen berechnete. Finden Sie heraus, warum das so ist.

Dokumentieren Sie ihre Lösung in einem geeigneten Dokument.