aktuelle.kurse/m114/-B-Komprimieren/README.md
Harald G. Mueller e4d522a594 muh
2023-05-25 00:03:34 +02:00

286 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

M114 Tag3 Lernstandsanalyse Zahlensysteme
-----------------------------------------
was ist X hoch 0 = ?
16 hoch 1 = 16 (entspricht 2 hoch 4) |
16 hoch 2 = 256 (entspricht 2 hoch 8) | --> was fällt hier auf?
16 hoch 3 = 4096 (entspricht 2 hoch 12) |
1 (dez) = ???? (bin) | 4 (dez) = ? (hex)
10 (dez) = ???? (bin) | 15 (dez) = ? (hex)
126 (dez) = ???? ???? (bin) | 32 (dez) = ?? (hex)
1298 (dez) = ???? ???? (bin) | 1298 (dez) = ??? (hex)
0001 (bin) = ? (dez) | für die Schnelleren
1111 (bin) = ? (dez) | 23'283 (dez) = ???? (hex)
10'1010 (bin) = ?? (dez) | 1011'1011 (bin) = ??? (dez)
101'1001 (bin) = ?? (dez) |
3 (hex) = ? (dez) = ???? (bin) | 5AF3 (hex) = ??'??? (dez)
5 (hex) = ? (dez) = ???? (bin) | 5AF3 (hex) = ???? ???? (bin)
A (hex) = ? (dez) = ???? (bin) | --> was fällt hier auf?
F (hex) = ? (dez) = ???? (bin) |
Lösungen:
<br>15:50 min, D, YouTube [Einfache Einführung zu den Binärzahlen](https://www.youtube.com/watch?v=cKvAUzqDdJI)
<br>04:35 min, D, YouTube [Das Binärsystem / Dualsystem ft. brainfaqk](https://www.youtube.com/watch?v=6WsI95N0QKU)
<br>06:34 min, D, YouTube [Das Hexadezimalsystem ft. TheSimpleMaths](https://www.youtube.com/watch?v=-6Je-FuAufk)
<br>
<br>
<br>
<br>
<br>
<br>
# Thema B - Komprimieren
Eine Komprimierung und Dekomprimierung "ohne" Verlust
ist vornehmlich für Texte und einfache Grafiken
notwendig, weil wir dafür kein Verlust von Informationen
haben können oder wollen.
Bei Bilder, Videos und bei Musik,
Sound und Sprache ist es nicht so schlimm,
wenn "etwas" Verlust Komprimierung und
der Dekomprimierung entsteht.
[**Einstieg**](https://gitlab.com/ch-tbz-it/Stud/m114/-/tree/main/B.%20Daten%20komprimieren)
## Komprimierung **ohne** Verlust
- [Komprimierung ohne Verlust (VLC/Morse, Huffmann, LZW, Zip)](https://gitlab.com/ch-tbz-it/Stud/m114/-/tree/main/B.%20Daten%20komprimieren/B.1%20Verlustlose%20Komprimierung)
Themen-Bausteine für **Komprimierungs-Techniken** Kodierung:
- Baustein A: <br>Bearbeiten Sie das Prinzip **RLC / RLE**
- Baustein B: <br>Bearbeiten Sie das Prinzip **HUFFMANN**
- Baustein C: <br>Bearbeiten Sie das Prinzip **LZW**
**- A -** Studieren Sie die [**Lauflängen-Kodierung**](https://gitlab.com/ch-tbz-it/Stud/m114/-/tree/main/B.%20Daten%20komprimieren/B.1%20Verlustlose%20Komprimierung#rlc-run-length-coding-bzw-rle-run-length-encoding)
und machen Sie dann **ein eigenes Beispiel auf Karo-Papier**
um es dann im Detail den anderen Personen in der Stammgruppe
zu erklären. Das Beispiel soll nicht nur im SW-Raum ("schwarz, weiss"), sondern
im RGB-Raum (rot, grün, blau) funktionieren. Zeigen Sie
die Effizienz der Komprimierung auf. Erstellen Sie Anschauungsmaterial
oder angefangene Beispiele, damit alle in der Stammgruppe eine Übung
machen um es so besser verstehen und anwenden zukönnen.
<br>[03:56 min, E, YouTube, Lossy and Lossless (RLE) Compression](https://www.youtube.com/watch?v=v1u-vY6NEmM)
<br>[09:38 min, D, YouTube, Lauflängencodierung - einfach erklärt](https://www.youtube.com/watch?v=EFsnoRGQ-xM)
<br>[15:43 min, D, YouTube, Lauflängencodierung, in RGB](https://www.youtube.com/watch?v=3QxPpfepv9E)
<br>[04:48 min, E, YouTube, Run Length Encoding](https://www.youtube.com/watch?v=oLaxHXgR0Xo)
<br>[04:40 min, E, YouTube, Run-Length Encoding](https://www.youtube.com/watch?v=cAAeSn8_aCU)
**- B -** Die [**Huffmann-Codierung**](https://gitlab.com/ch-tbz-it/Stud/m114/-/tree/main/B.%20Daten%20komprimieren/B.1%20Verlustlose%20Komprimierung#vlc-variable-length-coding) ist ein Teil der Komprimierung,
die u.a. auch in **.mp3**, **.mpeg**, **.jpg** Verwendung findet (aber nicht nur).
Schauen Sie sich zuerst zwei oder drei der Videos an und
entscheiden Sie dann in der Expertengruppe,
welches Video Sie dann der Stammgruppe zeigen werden.
Machen Sie dann ein **Demo-Beispiel** z.B. für den Fall
des Wortes "GREIFENSEE SCHIFFAHRT" auf **Karo-Papier**, und
zwar so, dass Sie es der Stammgruppe gut erklären können.
Bereiten Sie zudem Hilfen (z.B. Teil-Lösungen, Algotrithmus-Sätze ...)
für das Unterrichten in der Stammgruppe vor, damit nicht
nur Sie es erklären, sondern alle der Gruppe es dann
auch selber durchführen können.
<br>[07:22 min, D, YouTube, Huffman-Codierung - (So geht´s)](https://www.youtube.com/watch?v=eSlpTPXbhYw)
<br>[06:11 min, D, YouTube, Der Huffman Code](https://www.youtube.com/watch?v=qE4mEwHL62c)
<br>[11:06 min, E, YouTube, How Huffman Trees Work - Computerphile](https://www.youtube.com/watch?v=umTbivyJoiI)
<br>[Huffman Coding als Animation](https://people.ok.ubc.ca/ylucet/DS/Huffman.html) --> mit z.B. "GREIFENSEE SCHIFFFAHRT" versuchen.
**- C -** Studieren Sie das [**Lempel-Ziv-Welch** LZW](https://gitlab.com/ch-tbz-it/Stud/m114/-/tree/main/B.%20Daten%20komprimieren/B.1%20Verlustlose%20Komprimierung#lexikalisches-verfahren-lzw-lempel-ziv-welch-algorithmus)
-Kodierungsverfahren, das in **.zip**, **.7zip** usw. vorkommt
indem Sie zuerst zwei oder drei der Videos anschauen und
sich dann in der Expertengruppe entscheiden,
welches Video dann der Stammgruppe gezeigt werden soll.
Machen Sie weiter ein **eigenes Beispiel auf Karo-Papier** und
bereiten Sie Hilfen für das Unterrichten in der Stammgruppe vor
(z.B. Teil-Lösungen, Algorithmus-Sätze, ...), sodass alle am
Schluss das System selber durchführen können.
<br>[07:01 min, D, YouTube, Komprimieren - GIF-Dateien - LZW Algorithmus](https://www.youtube.com/watch?v=fowlNsxfe9M)
<br>[08:16 min, D, YouTube, LZW-Kodierung](https://www.youtube.com/watch?v=dLvvGXwKUGw)
<br>[06:33 min, E, YouTube, Lempel Ziv Algorithm](https://www.youtube.com/watch?v=hHQgu4qILGs)
<br>[09:33 min, E, YouTube, LZW Encoding and Decoding Algorithm Explained and Implemented in Java](https://www.youtube.com/watch?v=1KzUikIae6k)
<br>[09:21 min, D, YouTube, LZW Kodierung](https://www.youtube.com/watch?v=rMLqpncKsk0)
<br>[10:54 min, D, YouTube, LZW Dekodierung](https://www.youtube.com/watch?v=mxqD315rYnA)
<br>
| <mark>AP21a</mark> | ExpertGrp A | ExpertGrp B | ExpertGrp C |
|--------------------|---- |---- |---- |
| **StammGrp 1** | Aravinth | Bat, Moos | Castro |
| **StammGrp 2** | Schefer | Lucas | Lusti |
| **StammGrp 3** | Nguyen | Kummer | Rechou |
| **StammGrp 4** | Seiler | Walser | Wüthrich |
| **StammGrp 5** | Hug | Basra | Schrodt |
| **StammGrp 6** | Zollinger | Metitieri | Tomasko |
<br>
| <mark>AP21d</mark> | ExpertGrp A | ExpertGrp B | ExpertGrp C |
|--------------------|---- |---- |---- |
| **StammGrp 1** | Boulter | Hotz | Rieder |
| **StammGrp 2** | Odermatt | Landa | Manser |
| **StammGrp 3** | Paris | Wagner | Rasi |
| **StammGrp 4** | Hamza | Russ | Samma |
| **StammGrp 5** | Syla | Monje | Engeli |
| **StammGrp 6** | Schönhaar | Jong | Bajra |
<br>
<br>
<br>
<br>
<br>
<br>
- Baustein D: <br>Die Effizienz der **ZIP-Kompression**
- Baustein E: <br>Was ist und was bringt die **BWT (Burrows-Wheeler-Transformation)**?
<br>
**- D -** Um eine anschuung zu geben, wie gut die ZIP-Kompression funktioniert
erstellen Sie zuerst einmal 5 Text-Dateien. Benutzen Sie für den Inhalt
einer der Textgeneratoren wie z.B. https://www.loremipsum.de
<br>eine Datei mit 10 Bytes
<br>eine Datei mit 100 Bytes
<br>eine Datei mit 1000 Bytes
<br>eine Datei mit 10000 Bytes
<br>eine Datei mit 100000 Bytes
<br>Machen Sie eine Statistik im Excel (man kann dort auch Grafiken erstellen)
und begründen Sie das Resultat.
<br>
<br>Erstellen Sie ein ZIP aus [Farbkreis-Lo-Res.jpg](./x_ressourcen/Farbkreis-Lo-Res.jpg)
<br>Erstellen Sie ein ZIP aus [Farbkreis-Hi-Res.jpg](./x_ressourcen/Farbkreis-Hi-Res.jpg)
<br>.. und notieren Sie die 4 Dateigrössen.
<br>**Frage:** *Was* stellen Sie bezüglich der Dateigrössen und der
*Effizienz/Wirksamkeit* fest und versuchen Sie eine Begründung dazu zu geben.
**- E -** Analysieren Sie die Funktionsweise der BWT-Transformation,
also finden Sie heraus, wie das funktioniert. Sie werden sehen, dass
es selber noch eine Komprimierung macht.
<br>https://de.wikipedia.org/wiki/Burrows-Wheeler-Transformation
<br>03:51, E, YouTube, Burrows Wheeler Transformation, https://www.youtube.com/watch?v=Bqdx55Hz20s
<br>04:36, E, YouTube, Burrows Wheeler Transformation, https://www.youtube.com/watch?v=eBsnfozFqM8
<br>**Frage:** *Was bringt* diese Technik wenn man sie *womit* kombiniert?
<br>
<br>
<br>
<br>
## Komprimierung **mit** Verlust
- [Komprimierung mit Verlust (Bild, Video, Sound)](https://gitlab.com/ch-tbz-it/Stud/m114/-/tree/main/B.%20Daten%20komprimieren/B.2%20Verlustbehaftete%20Komprimierung)
### Funktionsweise JPEG (Bild-Komprimierung)
Was ist **DCT** und wie ist das **JPEG**-Format aufgebaut?
15:11 min, E, [How are Images Compressed? (46MB -> 4MB) JPEG In Depth](https://www.youtube.com/watch?v=Kv1Hiv3ox8I)
Detaillierte Erklärung von Mike Pound, University of Nottingham
<br>07:30 min, E, [Colourspaces (JPEG Pt0)](https://www.youtube.com/watch?v=LFXN9PiOGtY)
<br>07:18 min, E, [JPEG 'files' & Colour (JPEG Pt1)](https://www.youtube.com/watch?v=n_uNPbdenRs)
<br>15:11 min, E, [JPEG **DCT**, Discrete Cosine Transform (JPEG Pt2)](https://www.youtube.com/watch?v=Q2aEzeMDHMA&t=6s)
<br>05:36 min, E, [The Problem with JPEG](https://www.youtube.com/watch?v=yBX8GFqt6GA&t=33s)
<br>
<br>06:51 min, E, [JPEG - How Image Compression Works](https://www.youtube.com/watch?v=Ba89cI9eIg8)
**kleine Praxisaufgabe**
Vergleichen Sie die unterschiedlichen Bildformate [Samples.zip](./x_ressourcen/Samples.zip)
### Funktionsweise MP3 (Sound-Komprimierung)
https://de.wikipedia.org/wiki/MP3
<br>15:41 min, D, [Unterschied zwischen WAV und MP3](https://www.youtube.com/watch?v=OhjO5bosrTU)
<br>07:35 min, D, [Kannst du MP3s raushören? Und was ist MP3 eigentlich?](https://www.youtube.com/watch?v=OhjO5bosrTU)
<br>04:40 min, D, [Meinen Podcast als WAV hochladen? Alles zu .WAV-Dateien!](https://www.youtube.com/watch?v=7QZ1f4_6O6Q)
### Funktionsweise M4V (Video-Komprimierung)
![](./x_ressourcen/WT_Filmkomprimierung 1.jpg)
**Praxisaufgabe / selber ausprobieren**
Erstellen sie mit ihrem Smartphone eine Videosequenz
von etwa 10 Sekunden. Diese Sequenz darf aus mehreren
Szenen bestehen und auch Audio enthalten. Wahlweise
kann auch Audio-Content vom Internet heruntergeladen
und durch "unterlegen" dazu verwendet werden.
(Copyrights beachten, falls das Video öffentlich
werden sollte - Es gibt free sounds)
Verwenden sie nun z.B. die Videosoftware "OpenShot",
um den Videoclip zu bearbeiten und 'rendern' (Export
im OpenShot) sie diesen in einer für das Internet
günstigen Auflösung heraus. An welchen Parametern
kann "geschraubt" werden? Was bewirkt welche Datenreduktion
und welche Artefakte stellen sich ein?
Software:
- https://openshot.org
- https://shotcut.org
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
| AP21a | ExpGrp A | ExpGrp B | ExpGrp C | ExpGrp D | ExpGrp E |
|---- |----- |---- |---- |---- |---- |
| StammGrp 1| | | | | |
| StammGrp 2| | | | | |
| StammGrp 3| | | | | |
| StammGrp 4| | | | | |
| StammGrp 5| | | | | |
| AP21d | ExpGrp A | ExpGrp B | ExpGrp C | ExpGrp D | ExpGrp E |
|---- |----- |---- |---- |---- |---- |
| StammGrp 1| | | | | |
| StammGrp 2| | | | | |
| StammGrp 3| | | | | |
| StammGrp 4| | | | | |
| StammGrp 5| | | | | |