PIXELBILDER KOMPRIMIEREN - Algorithmisches Denken

Die Seite wird erstellt Stefan-Albert Kaufmann
 
WEITER LESEN
PIXELBILDER KOMPRIMIEREN
ALGORITHMISCHES DENKEN IN DER PRIMARSCHULE

  Enthaltene Aspekte des Algorithmischen Denkens
   Abstraktion                     Algorithmendesign                Evaluation
   Generalisierung                 Informationsdarstellung          Iterative Verbesserung
   Präzise Kommunikation           Problemzerlegung

  Fachbereiche: Gestalten · Medien und Informatik
  Zeitaufwand: ca. 2 Lektionen                                      Version: 18. November 2021

Zusammenfassung
Beim analogen wie auch digitalen Versenden von Daten haben wir ein Interesse daran, die Daten
möglichst kompakt darzustellen, um möglichst wenige Ressourcen zu verwenden. In dieser Unter-
richtseinheit stellen wir die Frage, wie Bilder in einer geeigneten Darstellungsform von einem Sender
zu einem Empfänger geschickt werden können und wie dabei die zu übermittelnde Information
möglichst kurz dargestellt werden kann.
Zur Darstellung verwenden wir sogenannte Pixelbilder (ein Raster von Pixeln), die über eine klar
definierte Codierung zunächst beim Sender komprimiert und anschliessend beim Empfänger wieder
dekomprimiert werden können. Die Funktionsweise sowie die Folgen der verwendeten Codierung
werden iterativ erarbeitet und analysiert.

Beispielsequenz
Laura zeichnet gerne Bilder. Dazu verwendet sie ein Raster von Gitterpunkten, die wir Pixel nennen.
Pixel sind kleine Gitterpunkte, die jeweils entweder komplett schwarz oder komplett weiss eingefärbt
sind. Das Bild in Abbildung 1a besteht aus 10 mal 10 Pixeln, von welchen gewisse weiss und die
anderen schwarz eingefärbt sind.
Laura möchte ihrer Freundin Rahel am Telefon ihre Pixelbilder beschreiben und liest dazu zeilenweise
die Farben aller Pixel vor. Sie beginnt mit dem Pixel in der Ecke oben links und endet mit dem
Pixel in der Ecke unten rechts. Die Pixel werden dargestellt durch die Buchstaben S (für schwarze
Pixel) und W (für weisse Pixel). Das ursprüngliche Pixelbild wird codiert zu einer Sequenz von S und
W, die als Nachricht anschliessend an den Empfänger übermittelt wird. Der Empfänger decodiert
die empfangene Nachricht, um wieder das ursprüngliche Bild zu sehen. Schematisch ist dies in
Abbildung 1b dargestellt.

                                                 1
(a)                                                 (b)
                  Abbildung 1. Eine Note aus Pixeln und Übertragung eines Pixelbildes

Aufgabe 1
Codieren Sie das folgende Pixelbild.

Aufgabe 2
Decodieren Sie die folgende Nachricht und finden Sie das entsprechende Pixelbild.

Aufgabe 3
Welches Pixelbild sieht der Empfänger beim Decodieren der folgenden Nachricht? Korrigieren Sie
die Nachricht so, dass das ursprüngliche Pixelbild korrekt decodiert werden kann.

                                                  2
Aufgabe 4
Palindrome sind Wörter, die vorwärts und rückwärts gelesen dasselbe Wort darstellen (zum Beispiel
ANNA oder RADAR). Gibt es Pixelbilder, deren Codierung vorwärts und rückwärts gelesen dasselbe
Pixelbild ergeben? Suchen Sie ein Beispiel.

Aufgabe 5
Die folgenden drei Bilder sind punkt- oder achsensymmetrisch. Welche Aussage(n) sind korrekt?

Bilder werden zu Palindromen codiert, wenn sie symmetrisch sind bezüglich . . .
(a) ihrer vertikalen Mittelachse,
(b) ihrer horizontalen Mittelachse,
(c) ihrem Mittelpunkt.

Kompression
Beim Codieren des Notenschlüssels in Abbildung 1a fällt Rahel auf, dass in der codierten Nachricht
oft dieselben Pixel mehrmals nacheinander vorkommen (siehe Abbildung 2).
Die codierte Nachricht beginnt beispielsweise mit 13 weissen und sieben schwarzen Pixeln. Rahel
überlegt sich daher, wie sie die Codierung kürzer darstellen (also komprimieren) könnte.

                                                3
Abbildung 2. Codierung des Notenschlüssels.

Aufgabe 6
Überlegen Sie sich eine Vorgehensweise, wie Sie Nachrichten systematisch kürzen können. Sie
können für die Darstellung der komprimierten Nachricht auch Zahlen zur Hilfe nehmen. Testen Sie
Ihre Vorgehensweise an den folgenden Beispielen:
• SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
• WWWWWWWWWWWWWSSSSSSS
• WWWSSSSWWSSSSSWWW
• WWWWWSWWWWSS

Aufgabe 7
Komprimieren Sie die Codierung des folgenden Pixelbildes. Wie viele Zeichen konnten Sie im
Vergleich zur unkomprimierten Codierung einsparen?

Aufgabe 8
Das Wiederherstellen eines komprimierten Bildes nennen wir Dekomprimieren. Dekomprimieren Sie
die folgende Codierung und stellen Sie das originale Pixelbild wieder her.

                                                4
Aufgabe 9
Für gewisse Pixelbilder bietet die Komprimierung keine Vorteile. Es ist sogar möglich, dass die
Komprimierung einen nachteiligen Effekt hat und sich die Länge der Darstellung insgesamt verlängert.
Finden Sie ein Beispiel, wo dies der Fall ist und erklären Sie, woran es liegt, dass dieses Bild so
schlecht komprimiert wird.

Lösungen zu den Aufgaben
Aufgabe 1

Das Bild kann folgendermassen codiert werden.

Aufgabe 2

Das Bild kann folgendermassen codiert werden.

Aufgabe 3

Die codierte Nachricht ergibt nicht das ursprüngliche Bild. Zwei Pixelwerte wurden falsch codiert:

                                                 5
Aufgabe 4

Eine Nachricht, die vorwärts und rückwärts gelesen dasselbe Pixelbild ergibt, ist unten dargestellt.

Aufgabe 5

Bilder werden zu Palindromen (Nachrichten, die vorwärts und rückwärts gelesen dasselbe Bild
beschreiben) codiert, wenn sie symmetrisch bezüglich ihrem Mittelpunkt sind.
Aufgabe 6

Wir zählen jeweils, wie oft dieselbe Pixelfarbe am Stück verwendet wird und notieren anschliessend
die Zahl gefolgt von der jeweiligen Farbe. Lange Sequenzen gleichbleibender Pixelfarben können auf
diese Weise massiv gekürzt werden wie wir in der Tabelle unten erkennen.

                  Ursprüngliche Nachricht                 Komprimierte Nachricht
                  SSSSSSSSSSSSSSSSSSSSSSSSSSSSSS          30S
                  WWWWWWWWWWWWWSSSSSSS                    13W7S
                  WWWSSSSWWSSSSSWWW                       3W4S2W5S3W
                  WWWWWSWWWWSS                            5W1S4W2S

Aufgabe 7

Die komprimierte Codierung zählt 53 Zeichen im Vergleich zu 100 in der unkomprimierten Codierung.
Durch die Komprimierung wurden somit 47 Zeichen eingespart.

Aufgabe 8

Das dekomprimierte Bild stellt ein Herz wie in der folgenden Abbildung dar.

                                                 6
Aufgabe 9

Das folgende Bild beinhaltet abwechselnd schwarze und weisse Pixel.

Die Komprimierungsmethode nützt nur etwas, wenn mehrere Pixel mit der gleichen Farbe aufeinan-
derfolgen, da dann die Anzahl Wiederholungen der Farbe gezählt wird und wir die Anzahl vor der
jeweilige Farbcodierung notieren. In diesem Beispiel wechseln sich schwarz und weiss ständig ab, so
dass unsere Methode anstatt zu komprimieren, die Gesamtlänge der Nachricht verdoppelt.

Didaktischer Kommentar
In der Informatik spielt die Komprimierung von Bildern und weiteren Datenformaten wie zum Beispiel
Videos und Liedern eine grosse Rolle, da kleinere Dateien schneller über das Internet übermittelt
werden können als grosse. Gerade beim Streamen von Filmen und Serien ist die Komprimierung
sehr wichtig, da dabei riesige Datenmengen verschickt werden. Wir sind deshalb daran interessiert,
alle Dateien zuerst so gut wie möglich zu komprimieren, bevor wir sie über das Internet verschicken.
Die Unterrichtseinheit enthält die folgenden Aspekte des algorithmischen Denkens.
• Abstraktion
  Das Erkennen der Motive, welche mit den Pixeln gezeichnet wurden, fördert das Abstraktions-
  vermögen der Studierenden. Aus den Pixeln entstehen nur «unscharfe» respektive verpixelte
  Bilder, die je nach Motiv präzisere Abstraktionen des realen Motivs darstellen oder nicht.
• Informationsdarstellung
  Die Pixelbilder und deren Codierung und Komprimierung verdeutlichen den Studierenden unter-
  schiedliche Arten der Informationsdarstellung. Dasselbe Pixelbild kann auf mehrere Arten darge-
  stellt werden, welche alle unterschiedliche Vor- und Nachteile bieten. In der Pixelbild-Darstellung
  können wir leicht das Motiv erkennen. In der codierten (und möglicherweise komprimierten)
  Darstellung ist das Bild für uns Menschen schwerer erkennbar, dafür lässt es sich in dieser
  Darstellung einfach über verschiedene Kanäle verschicken und auf der anderen Seite wieder
  rekonstruieren. Zwischen den verschiedenen Darstellungsformen wird in dieser Unterrichtseinheit
  hin und her gewechselt.
• Iterative Verbesserung
  Die Studierenden starten mit einer einfachen Codierung des Pixelbildes. Später erweitern sie
  diese um die Repräsentation zu komprimieren. Sie beschäftigen sich mit den gleichen Bildern in
  unterschiedlichen Stadien. Dies führt dazu, dass die Studierenden ständig angehalten werden,
  ihr aktuelles Bild bzw. dessen Repräsentation zu evaluieren und weiterzuentwickeln.

                                                 7
Weiterführende Hinweise
Diese Unterrichtseinheit beschäftigt sich mit der verlustfreien Komprimierung, das heisst, dass
das dekomprimierte Bild identisch mit dem Originalbild ist und keine Details verloren gehen. Es
existiert auch eine verlustbehaftete Komprimierung, welche die Bilder noch stärker komprimieren
kann, allerdings auf Kosten von Bilddetails. Nach der Dekomprimierung sind nicht mehr alle Details
enthalten.
Für die Codierung der verschiedenen Pixelfarben verwendet diese Unterrichtseinheit bewusst Buch-
staben, so dass Zahlen dazu verwendet werden können, um bei der Komprimierung anzugeben, wie
häufig eine Pixelfarbe nacheinander vorkommt. Ein Computer speichert sowohl das originale als
auch das komprimierte Bild ausschliesslich mit binären Ziffern «0» und «1» ab. Damit die Speiche-
rung gelingt, müssen weitere Regeln festgelegt werden, so dass die «Anzahl der Wiederholungen
der nachfolgenden Pixelfarbe» beim Dekomprimieren immer klar von der «Pixelfarbe» getrennt
werden kann. Wir gehen in dieser Unterrichtseinheit jedoch nicht auf diese Ebene herunter, sondern
bleiben auf der Abstraktion mit den Buchstaben für die Pixelfarbe und der Zahl für die Anzahl
der Wiederholungen. Von dieser Unterrichtseinheit ausgehend, kann die Codierung der Pixel auf
Hardwareebene thematisiert werden.

Quellenangaben und weiterführende Literatur
1. Wilfried Dankmeier: Grundkurs Codierung. In Springer Vieweg Wiesbaden, 2017.
2. Olaf Manz: Gut gepackt – Kein Bit zu viel. In Springer Spektrum Wiesbaden, 2020.

Abbildungsverzeichnis
Alle Abbildungen wurden durch die Autorinnen erzeugt.

                                                8
Sie können auch lesen