Hans Wittwer

Geschichten, die das Leben schrieb

Nachrichtentechnik

Bild codieren

🏁

Bild codieren ist oben links anfangen und Bildpunkt für Bildpunkt nehmen, die Farbe bestimmen, den Code herausfinden und abspeichern. Das Bild anzeigen ist das gleiche umgekehrt.

Bevor wir ein praktisches Beispiel machen ein paar Zeilen Theorie:

Theorie

Pixel

Pixel sind winzige farbige Bildpunkte, die nebeneinander und untereinander gereiht das Bild ergeben. Digitale Fotos bestehen aus sehr vielen kleinen Bildpunkten. Ein Schweizerkreuz könnte man mit 25 Pixel darstellen wenn die Pixel gross genug wären, zum Beispiel so:

Schweizerkreuz

Extrem vergrössertes Beispiel

In der ersten Zeile sind alle 5 Pixel weiss, in der Zweiten Zeile ist da dritte Pixel rot usw. In der Bilddatei ist angegeben wieviele Spalten und wieviel Zeilen ein Bild hat. Jede Zeile ist gleich lang. Begonnen wird mit dem Pixel oben links dann folgen alle Pixel der ersten Zeile dann alle übrigen Zeilen mit deren Pixel. In unserem Beispiel würden 25 Pixel genügen.

Und wieso solls nicht gehen? Weil Pixel winzig klein sind. Im Letzten Monsterpixel rechts unten habe ich das Schweizerkrez in Originalgrässe (96 dpi) hingemalt, siehst Du es? 96 dpi ist vorläufig noch eine gängige Auflösung, das bekommen auch alte Maschinen auf die Reihe.

dpi was ist das?

dpi ist ist die Anzahl Pixel pro Zoll (dots per inch) – 1 Zoll = 25.4 mm – Wenn wir also 96 Pixel pro Zoll haben dann ist ein Pixel 25.4 / 96 = 0.2645 mm breit und hoch.

Beispiel

Siehe im Kapitel Speichern …

Angenommen unser Bild ist 13 cm breit und 10 cm hoch – ein gängiges Format in der Fotografie – und unser Bild speichern wir in der Auflösung von 96 Pixel pro Zoll (96 dpi) dann hat unser Bild in der Breite 491 Pixel und in der Höhe 378 Pixel. 491 Pixel x 0.2645mm/Pixel = 129.8695 mm aufgerundet 13 cm. Die Höhe darfst Du gerne selbst prüfen.

378 Pixel hoch mal 491 Pixel breit ergeben Total 185'598 Pixel für unser Beispielbild. Jedes Pixel braucht 3 Byte Speicherplatz, alle drei Farbanteile (Rot, Grün und Blau) brauchen je ein Byte. Das sind dann 556'794 Byte für unser Beispielbild. Wenn Du das mit paint auf einem Windowsrechner machst, benötigt diese Datei 557'982 Byte (544 KB) und Belegt 561'152 Byte (548 KB).

Moment! Was soll das? Weil die Anzahl Byte pro Zeile ohne Rest durch 4 teilbar sein muss hängt die Maschine bei unserer Bildgrösse bei jeder Zeile 3 Byte an.

Also nochmal: Eine Zeile braucht 491 mal 3 plus 3 Byte das sind 1'476 Byte und bei 378 Zeilen ergibt das 557'928 Byte. Jetzt fehlen noch 557'982 minus 557'928 nämlich 54 Byte. Die 54 Byte sind der Vorspann, darin steht was es für eine Bilddatei ist und wie gross sie ist.

Jetzt noch die Differenz zwischen 557'982 und 561'152. 561'152 sind genau 137 mal 4'096 (2 hoch 12) Das Betriebssystem speichert Dateien in Cluster, eine Cluster ist die Grösse in der das System Platz zur Verfügung stellt. Wie ein Schiffscontainer, Du musst immer einen oder mehrere Container mieten, egal ob Du sie füllst und wenn der Container voll ist, musst Du einen weiteren Container bestellen. Das macht das Betriebssystem automatisch bis die Harddisk aus dem letzten Loch pfeift. Mehr dazu später im Kapiel Speichern.

Für unser kleines Bild brauchts 548 KB, das ist ja blödsinnig viel! Keine Panik, Schlaue Köpfe haben Komprimierungen erfunden. Heute werden Bilder in leistungsfähigeren Formaten gespeichert. Falls Dich komprimieren interessiert besorge Dir Fachliteratur dazu.

Heute speichert man Bilder fürs Internet etwa im PNG-Format und wenn man Schrift einigermassen schön drucken möchte, sind 300 dpi gut lesbar.

Damit es nicht zu einfach wird, haben verschiedene findige Köpfe verschiedene Codierungen erfunden. Eine davon ist der RGB-Code, diesen schauen wir uns mal an …