🖼️

Bildcodierung mit Header

Interaktive Visualisierung der Grafikcodierung

Simulation Klasse 7-9 Codierung
🎯 Worum geht's? Klasse 6–9 · 2–3 Unterrichtsstunden

Nach dieser Seite kannst du …

  • Pixelbilder mit Binärzahlen codieren und decodieren
  • die Angaben im Header (Breite, Höhe, Farbtiefe) lesen und selbst festlegen
  • berechnen, wie Auflösung und Farbtiefe die Dateigröße bestimmen

Vorwissen: Binärzahlen

🏆 Gesamtstatistik – alle Aufgaben

0
✅ Richtig
0
❌ Falsch
0
📊 Gesamt
0
🔥 Streak
Gesamtgenauigkeit –
BW: –  ·  GS: –  ·  Farbe: –

📋 Codierungsvorschrift

📂 Eigene Beispiele PNG/BMP hochladen oder per Drag&Drop
🖼️ Bild hierher ziehen oder klicken zum Auswählen PNG, BMP, GIF, JPG · wird in SW konvertiert

📦 Datagramm

7
6
5
4
3
2
1
0

🖼️ Pixelbild

Breite: 8 px
Höhe: 8 px
Vorschrift: Standard
💾 Exportieren:
📋 Zwischenablage:
schwarz (1)
weiß (0)
0
✅ Richtig
0
❌ Falsch
0
🔥 Streak
0
📊 Gesamt
Genauigkeit–

📋 Codierungsvorschrift – Graustufen

📂 Eigene Beispiele PNG/BMP hochladen oder per Drag&Drop
🖼️ Bild hierher ziehen oder klicken zum Auswählen PNG, BMP, GIF, JPG · wird in Graustufen konvertiert

📦 Datagramm

7
6
5
4
3
2
1
0
Byte 1 · Breite
4
Byte 2 · Höhe
4

🖼️ Pixelbild

Breite: 4 px
Höhe: 4 px
Bits/Px: 8

🎨 Graustufenpalette:

128
💾 Exportieren:
📋 Zwischenablage:
0
✅ Richtig
0
❌ Falsch
0
🔥 Streak
0
📊 Gesamt
Genauigkeit–

📋 Codierungsvorschrift – RGB-Farbbild

📂 Eigene Beispiele PNG/BMP hochladen oder per Drag&Drop
🖼️ Bild hierher ziehen oder klicken zum Auswählen PNG, BMP, GIF, JPG · Farben bleiben erhalten

📦 Datagramm

7
6
5
4
3
2
1
0
Byte 1 · Breite
4
Byte 2 · Höhe
3

🖼️ Pixelbild

Breite: 4 px
Höhe: 3 px
Pixel: 12

🎨 Farbpalette:

R:255 G:0 B:0
💾 Exportieren:
📋 Zwischenablage:
0
✅ Richtig
0
❌ Falsch
0
🔥 Streak
0
📊 Gesamt
Genauigkeit–

📚 Grundlagen der Grafikcodierung

🌟 Was ist Grafikcodierung?

Jedes digitale Bild besteht aus Pixeln (Bildpunkten). Damit ein Computer ein Bild speichern oder übertragen kann, müssen diese Pixel in Binärcode (Nullen und Einsen) umgewandelt werden. Das nennt man Grafikcodierung.

Ein Bild ist also für den Computer nur eine lange Folge von Nullen und Einsen – genau wie Text oder Zahlen. Der Computer muss wissen, wie er diese Bits interpretieren soll.

Bildtyp Bits pro Pixel Farben/Stufen Beispiel
Schwarz-Weiß 1 Bit 2 QR-Code, Strichcode
Graustufen 1–8 Bit 2–256 Röntgenbild, alte Fotos
Farbbild (RGB) 24 Bit 16 777 216 Foto, Website, Video
💡 Merksatz: „Ein Pixel = ein Bildpunkt. Je mehr Bits pro Pixel, desto mehr Farben – aber desto mehr Speicher wird gebraucht."

🔢 Binärzahlen – Kurzwiederholung

Computer arbeiten nur mit 0 und 1 (Bits). Mehrere Bits zusammen ergeben eine Binärzahl:

Binär Dezimal Bedeutung (Beispiel)
00000000 0 schwarz / kein Anteil
00001000 8 Breite oder Höhe = 8 Pixel
10000000 128 mittelgrau
11111111 255 weiß / voller Anteil

Stellenwerte eines Bytes (von links nach rechts):

Bit:    7    6    5    4    3    2    1    0
Wert:  128  64  32  16   8   4   2   1
Bsp:    1    0    1    0    0    0    0    0  = 128+32 = 160
💡 Merksatz: „1 Byte = 8 Bit. Mit 8 Bit kann man Zahlen von 0 bis 255 darstellen – also 256 verschiedene Werte (2 hoch 8 = 256)."

📦 Der Header – die „Bedienungsanleitung" des Bildes

Jedes codierte Bild beginnt mit einem Header. Der Header enthält Metadaten – also Informationen über das Bild, nicht das Bild selbst:

Byte Inhalt Beispiel (8×6-Bild) Binär
Byte 1 Breite (Pixel) 8 00001000
Byte 2 Höhe (Pixel) 6 00000110
Byte 3+ Optional: Bits/Pixel, Farbtiefe … – –

Warum braucht man den Header?
Ohne Header weiß der Computer nicht, wo eine Zeile endet und die nächste beginnt. Bei einem 8×6-Bild und einem 4×12-Bild wären die Nutzdaten identisch – erst der Header verrät die richtige Aufteilung.

00001000 00000110 | 11001100 10101010 …
←── Header ──────→ ←── Nutzlast (Pixel) ──→
💡 Merksatz: „Der Header ist wie das Etikett auf einer Dose – er beschreibt den Inhalt, bevor man ihn öffnet."

⬛ Schwarz-Weiß-Bilder – 1 Bit pro Pixel

Bei Schwarz-Weiß-Bildern hat jedes Pixel nur zwei mögliche Zustände: schwarz oder weiß. Dafür reicht genau 1 Bit pro Pixel.

Bit Farbe (Standard) Farbe (Invertiert)
1 ⬛ schwarz ⬜ weiß
0 ⬜ weiß ⬛ schwarz

Vollständiges Beispiel – Buchstabe „L" (4×4):

Header:   00000100 00000100  (Breite=4, Höhe=4)
Zeile 1: 1000  →  ■□□□
Zeile 2: 1000  →  ■□□□
Zeile 3: 1000  →  ■□□□
Zeile 4: 1111  →  ■■■■
Nutzlast als Bytes: 10001000 10001111  (je 8 Bit = 1 Byte)

Speicherbedarf berechnen:

Pixel gesamt = Breite × Höhe
Nutzlast-Bytes = ⌈ Pixel ÷ 8 ⌉  (aufrunden!)
Gesamt = 2 Header-Bytes + Nutzlast-Bytes

Beispiel 8×8-Bild:
 → 8×8 = 64 Pixel
 → 64 ÷ 8 = 8 Nutzlast-Bytes
 → 2 + 8 = 10 Bytes gesamt
💡 Merksatz: „Breite mal Höhe = Pixel. Pixel geteilt durch 8 (aufrunden) = Bytes. Plus 2 Header-Bytes = fertig!"

🔲 Graustufenbilder – mehr Bits, mehr Stufen

Graustufenbilder können verschiedene Helligkeitsstufen darstellen. Je mehr Bits pro Pixel, desto mehr Graustufen – und desto realistischer wirkt das Bild.

Bits/Pixel Graustufen Werte Formel
1 Bit 2 0, 1 2¹ = 2
2 Bit 4 0, 1, 2, 3 2² = 4
4 Bit 16 0–15 2⁴ = 16
8 Bit 256 0–255 2⁸ = 256

Vollständiges Beispiel – 2×2-Bild mit 8 Bit/Pixel:

Header:           00000010 00000010  (Breite=2, Höhe=2)
Pixel 1 (schwarz):  00000000  = 0
Pixel 2 (dunkelgrau): 01000000  = 64
Pixel 3 (hellgrau):  10000000  = 128
Pixel 4 (weiß):     11111111  = 255
Gesamt: 2 + 4 = 6 Bytes

Speicherbedarf berechnen:

Nutzlast-Bits = Breite × Höhe × Bits/Pixel
Nutzlast-Bytes = ⌈ Nutzlast-Bits ÷ 8 ⌉

Beispiel 4×4, 4 Bit/Pixel:
 → 4×4×4 = 64 Bits
 → 64 ÷ 8 = 8 Nutzlast-Bytes
 → 2 + 8 = 10 Bytes gesamt
💡 Merksatz: „Graustufen = 2 hoch (Bits pro Pixel). Mehr Bits = mehr Stufen = schöneres Bild = mehr Speicher."

🌈 Farbbilder – das RGB-Modell

Farbbilder werden mit dem RGB-Modell codiert. Jeder Pixel besteht aus drei Farbkanälen:

Kanal Bedeutung Wert 0 Wert 255 Bits
R Rotanteil kein Rot maximales Rot 8
G Grünanteil kein Grün maximales Grün 8
B Blauanteil kein Blau maximales Blau 8

Farbmischung – wichtige Kombinationen:

Farbe R G B Binär (R G B) Vorschau
Schwarz 0 0 0 00000000 00000000 00000000
Weiß 255 255 255 11111111 11111111 11111111
Rot 255 0 0 11111111 00000000 00000000
Grün 0 255 0 00000000 11111111 00000000
Blau 0 0 255 00000000 00000000 11111111
Gelb 255 255 0 11111111 11111111 00000000
Cyan 0 255 255 00000000 11111111 11111111
Magenta 255 0 255 11111111 00000000 11111111

Vollständiges Beispiel – 2×1-Bild (Rot + Blau):

Header:           00000010 00000001  (Breite=2, Höhe=1)
Pixel 1 – R:       11111111 = 255
Pixel 1 – G:       00000000 = 0
Pixel 1 – B:       00000000 = 0
Pixel 2 – R:       00000000 = 0
Pixel 2 – G:       00000000 = 0
Pixel 2 – B:       11111111 = 255
Gesamt: 2 + 6 = 8 Bytes
💡 Merksatz: „RGB = Rot + Grün + Blau. Je 8 Bit = 3 Bytes pro Pixel. Rot+Grün=Gelb, Grün+Blau=Cyan, Rot+Blau=Magenta. Alle zusammen = Weiß. Keiner = Schwarz."

💾 Speicherbedarf vergleichen

Wie viel Speicher braucht dasselbe Bild in verschiedenen Formaten? Beispiel: ein 10×10-Bild:

Format Bits/Pixel Nutzlast-Bits Nutzlast-Bytes Gesamt
SW (1 Bit) 1 100 13 15 Bytes
Grau 2 Bit 2 200 25 27 Bytes
Grau 8 Bit 8 800 100 102 Bytes
RGB 24 Bit 24 2400 300 302 Bytes
💡 Merksatz: „RGB braucht 24-mal so viel Speicher wie Schwarz-Weiß – aber auch 16 Millionen mal mehr Farben!"

🗜️ Komprimierung mit Run-Length Encoding (RLE)

Run-Length Encoding (RLE) ist eine einfache Methode, um Bilder platzsparender zu speichern. Die Idee: Statt jeden Pixel einzeln zu speichern, wird wie oft ein Pixel vorkommt + welche Farbe er hat gespeichert.

Beispiel ohne RLE (16 Bit):

Pixel:    □ □ □ □ □ ■ ■ ■ ■ ■ ■ ■ ■ □ □ □
Bits:     0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0
Gesamt: 16 Bit = 2 Byte

Dasselbe mit RLE (12 Bit):

Run 1: Anzahl=5, Farbe=0 (weiß)   → 00000101 00000000
Run 2: Anzahl=8, Farbe=1 (schwarz) → 00001000 11111111
Run 3: Anzahl=3, Farbe=0 (weiß)   → 00000011 00000000
Gesamt: 3 Paare × 2 Byte = 6 Byte statt 2 Byte – hier noch kein Vorteil!

Wann lohnt sich RLE?

Bild Ohne RLE Mit RLE Ersparnis
Schachbrett 8×8 8 Byte 128 Byte ❌ schlechter
Weißes Bild 8×8 8 Byte 2 Byte ✅ 75 % gespart
Logo mit großen Flächen viel wenig ✅ sehr gut
Foto mit vielen Details wenig mehr ❌ schlechter
💡 Merksatz: „RLE lohnt sich bei langen Folgen gleicher Pixel – also bei einfachen Grafiken und Logos. Bei Fotos mit vielen verschiedenen Farben bringt RLE nichts."

📝 Zusammenfassung – alles auf einen Blick

Begriff Bedeutung Merksatz
Pixel Kleinster Bildpunkt „Picture Element"
Bit Kleinste Informationseinheit (0 oder 1) „Binary Digit"
Byte 8 Bit zusammen → Werte 0–255 „8 Bits = 1 Byte"
Header Metadaten am Anfang (Breite, Höhe, …) „Etikett der Bilddose"
Nutzlast Die eigentlichen Pixeldaten „Inhalt der Dose"
RGB Rot + Grün + Blau, je 0–255 „3 × 8 Bit = 24 Bit pro Pixel"
RLE Komprimierung: Anzahl + Farbe „Gut bei langen gleichen Folgen"
🚀 Tipp: Probiere die anderen Reiter aus! Im Schwarz-Weiß-Tab kannst du selbst Pixel zeichnen und sofort sehen, wie das Datagramm aussieht. Im Aufgaben-Tab kannst du dein Wissen testen.

❓ Teste dein Wissen!

1. Ein Bild ist 5 Pixel breit und 3 Pixel hoch. Wie viele Pixel hat es insgesamt? → 5 × 3 = 15 Pixel

2. Wie viele Bytes braucht ein SW-Bild mit 20 Pixeln? → ⌈20 ÷ 8⌉ = 3 Bytes Nutzlast + 2 Header = 5 Bytes

3. Wie viele Graustufen hat ein 4-Bit-Grauwertbild? → 2⁴ = 16 Graustufen

4. Was ergibt R=255, G=255, B=0? → Gelb 🟡

5. Welcher Dezimalwert steckt in 00001010? → 8 + 2 = 10

6. Ein RGB-Bild ist 3×3 Pixel groß. Wie viele Nutzlast-Bytes braucht es? → 3 × 3 × 3 = 27 Bytes

7. Wann lohnt sich RLE? → Bei langen Folgen gleicher Pixel (einfache Grafiken, Logos)

📝 Kopf- & Fußzeile

🖨️ Layout & Optionen

📚 Aufgaben-Auswahl

🎲 Zufallsgenerator

Gleicher Seed → gleiche Aufgaben (reproduzierbar)
Noch keine Aufgaben generiert.
Klicke auf „Aufgaben generieren" um die Vorschau zu sehen.