update compression slides with german terminology
- add lead slide "Kompression" - rename to "Verlustfrei vs. Verlustbehaftet" - rename to "Verlustfrei: Lauflängenkodierung (RLE)" - merge duplicate lossy slides into "Verlustbehaftet: Der Trick" - add hexed.it QR code and link
This commit is contained in:
@@ -99,20 +99,20 @@ Hochschule der Medien Stuttgart
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
# WTF!? – Auflösung
|
# What the HEX-Code
|
||||||
|
|
||||||
```
|
```
|
||||||
89 50 4E 47 ...
|
89 50 4E 47 ...
|
||||||
```
|
```
|
||||||
|
|
||||||
| Hex | Dezimal | ASCII |
|
| Binär | Hex | Dez | ASCII |
|
||||||
|-----|---------|-------|
|
|-------|-----|-----|-------|
|
||||||
| `89` | 137 | ✗ (> 127, nicht druckbar) |
|
| `1000 1001` | `89` | 137 | ✗ (> 127) |
|
||||||
| `50` | 80 | **P** |
|
| `0101 0000` | `50` | 80 | **P** |
|
||||||
| `4E` | 78 | **N** |
|
| `0100 1110` | `4E` | 78 | **N** |
|
||||||
| `47` | 71 | **G** |
|
| `0100 0111` | `47` | 71 | **G** |
|
||||||
|
|
||||||
→ **PNG**-Signatur! (Das `89` markiert: "Ich bin binär, kein Text!")
|
→ **PNG**-Signatur! (Das `89` markiert: "Ich bin binär, kein Text!")
|
||||||
|
|
||||||
@@ -559,20 +559,32 @@ Chaos: Verschiedene Standards für verschiedene Sprachen
|
|||||||
|
|
||||||
# Unicode: Ein Standard für alle
|
# Unicode: Ein Standard für alle
|
||||||
|
|
||||||
**Unicode (1991):**
|
**Unicode (1991):** Jedes Schriftsystem der Welt
|
||||||
Jedes Schriftsystem der Welt
|
|
||||||
|
|
||||||
**>150.000 Zeichen:**
|
**>150.000 Zeichen:**
|
||||||
* Latein, Kyrillisch, Arabisch, Chinesisch, Japanisch...
|
- Latein, Kyrillisch, Arabisch, Chinesisch, Japanisch...
|
||||||
* Mathematische Symbole, Emoji, historische Schriften
|
- Mathematische Symbole, Emoji, historische Schriften
|
||||||
* **UTF-8:** Variable Länge (1-4 Bytes pro Zeichen)
|
|
||||||
|
**UTF-8:** Variable Länge (1-4 Bytes pro Zeichen)
|
||||||
|
- **Zeichen 0-127: identisch mit ASCII** (Abwärtskompatibilität!)
|
||||||
|
- Umlaute: 2 Bytes · CJK: 3 Bytes · Emoji: 4 Bytes
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Unicode Consortium: Non-Profit seit 1991
|
Unicode Consortium: Non-Profit seit 1991
|
||||||
Aktuell: Unicode 16.0 (2024)
|
Aktuell: Unicode 16.0 (2024)
|
||||||
UTF-8 = Unicode Transformation Format, 8-bit
|
UTF-8 = Unicode Transformation Format, 8-bit
|
||||||
ASCII-kompatibel: "A" = 1 Byte (rückwärtskompatibel)
|
|
||||||
Umlaute: "ä" = 2 Bytes, Chinesisch: 3 Bytes, Emoji: 4 Bytes
|
WICHTIG für Kontext zur ASCII-Folie:
|
||||||
|
- Die ersten 128 Zeichen in UTF-8 sind EXAKT ASCII
|
||||||
|
- Deshalb funktioniert alter ASCII-Code noch heute
|
||||||
|
- UTF-8 ist der Grund, warum ASCII nie verschwinden wird
|
||||||
|
- "A" in ASCII = "A" in UTF-8 = 0x41 = 65 dezimal
|
||||||
|
|
||||||
|
Byte-Längen:
|
||||||
|
- ASCII-Zeichen (0-127): 1 Byte
|
||||||
|
- Umlaute, diakritische Zeichen: 2 Bytes
|
||||||
|
- Chinesisch, Japanisch, Koreanisch: 3 Bytes
|
||||||
|
- Emoji, seltene Zeichen: 4 Bytes
|
||||||
-->
|
-->
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -728,6 +740,8 @@ Windows vertraut der Endung, aber "file" (Linux) liest Magic Number
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
# Hands-On: WTF Files
|
# Hands-On: WTF Files
|
||||||
|
|
||||||
**Aufgabe (30 Min):**
|
**Aufgabe (30 Min):**
|
||||||
@@ -739,7 +753,7 @@ Windows vertraut der Endung, aber "file" (Linux) liest Magic Number
|
|||||||
4. Identifiziere Format (Magic Number)
|
4. Identifiziere Format (Magic Number)
|
||||||
5. Benenne um und öffne
|
5. Benenne um und öffne
|
||||||
|
|
||||||
**Tools:** hexed.it (online), HxD, Hex Fiend, Bless
|
**Tools:** [hexed.it](https://hexed.it) (online), HxD, Hex Fiend, Bless
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Praktische Phase: Studierende arbeiten selbst
|
Praktische Phase: Studierende arbeiten selbst
|
||||||
@@ -888,6 +902,13 @@ KOMPRESSION nutzt beide Achsen:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
<!-- _class: lead -->
|
||||||
|
|
||||||
|
# Kompression
|
||||||
|
## Weniger Daten, gleiche(?) Information
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
<!-- _header: '' -->
|
<!-- _header: '' -->
|
||||||
<!-- _footer: '' -->
|
<!-- _footer: '' -->
|
||||||
|
|
||||||
@@ -903,96 +924,67 @@ Visualisierung der beiden Philosophien
|
|||||||
<!-- _class: klausur -->
|
<!-- _class: klausur -->
|
||||||
<!-- _footer: '' -->
|
<!-- _footer: '' -->
|
||||||
|
|
||||||
# Kompression: Zwei Philosophien
|
# Verlustfrei vs. Verlustbehaftet
|
||||||
|
|
||||||
| | Lossless | Lossy |
|
| | Verlustfrei (Lossless) | Verlustbehaftet (Lossy) |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| **Prinzip** | Redundanz entfernen | Irrelevanz entfernen |
|
| **Prinzip** | **Redundanz** entfernen | **Irrelevanz** entfernen |
|
||||||
| **Reversibel** | Ja (bitgenau) | Nein |
|
| **Reversibel** | Ja (Original wiederherstellbar) | Nein (Daten unwiederbringlich weg) |
|
||||||
| **Kompression** | 30-50% | 80-99% |
|
| **Reduktion** | 30-50% | 80-99% |
|
||||||
| **Algorithmen** | RLE, Huffman, LZW, DEFLATE | DCT, Psychoakustik |
|
| **Formate** | ZIP, PNG, FLAC, GIF | JPEG, MP3, H.264/H.265 |
|
||||||
|
|
||||||
**Lossless:** ZIP, PNG, FLAC, GIF
|
**Faustregel:** Code/Archiv → verlustfrei · Medien → verlustbehaftet
|
||||||
**Lossy:** JPEG, MP3, AAC, H.264, H.265, AV1
|
|
||||||
|
|
||||||
**Entscheidung:** Archiv/Code → Lossless, Medien → Lossy
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
REDUNDANZ: Wiederholende Muster (z.B. "AAAA" → "4A")
|
REDUNDANZ: Wiederholende Muster kompakter darstellen (z.B. "AAAA" → "4×A")
|
||||||
IRRELEVANZ: Für Menschen nicht wahrnehmbar (Psychoakustik, Psychovisuell)
|
IRRELEVANZ: Für Menschen nicht wahrnehmbar (Psychoakustik, Psychovisuell)
|
||||||
LOSSLESS-ALGORITHMEN:
|
|
||||||
- RLE (Run-Length Encoding): Wiederholungen zählen
|
KLAUSURRELEVANT:
|
||||||
- Huffman: Häufige Zeichen = kurze Codes
|
- Verlustfrei = Original 1:1 wiederherstellbar
|
||||||
- LZW: Wörterbuch aufbauen (GIF, TIFF)
|
- Verlustbehaftet = Information geht verloren, aber kaum wahrnehmbar
|
||||||
- DEFLATE: Huffman + LZ77 (ZIP, PNG, gzip)
|
- Redundanz vs. Irrelevanz ist der Kernunterschied!
|
||||||
LOSSY-ALGORITHMEN:
|
|
||||||
- DCT (Discrete Cosine Transform): Frequenzanalyse (JPEG, MP3)
|
|
||||||
- Psychoakustik: Maskierungseffekte nutzen (MP3, AAC)
|
|
||||||
- Bewegungskompensation: Nur Differenzen speichern (H.264, H.265)
|
|
||||||
PRÜFUNGSRELEVANT: Unterschied Redundanz vs. Irrelevanz, Beispiele für beide Kategorien
|
|
||||||
-->
|
-->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Lossless: Run-Length Encoding
|
# Verlustfrei: Lauflängenkodierung (RLE)
|
||||||
## Lauflängenkodierung
|
|
||||||
|
|
||||||
**Original:**
|
**Original:** `AAAAABBBCCCCCCCC` (16 Zeichen)
|
||||||
```
|
|
||||||
AAAAABBBCCCCCCCC
|
|
||||||
```
|
|
||||||
|
|
||||||
**Komprimiert:**
|
**Komprimiert:** `5A3B8C` (6 Zeichen) → **62% kleiner**
|
||||||
```
|
|
||||||
5A 3B 8C
|
|
||||||
```
|
|
||||||
|
|
||||||
**Ersparnis:** 16 → 6 Zeichen (62% Reduktion)
|
**Prinzip:** Wiederholungen zählen statt wiederholen
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
RLE = Run-Length Encoding = Lauflängenkodierung
|
RLE = Run-Length Encoding = Lauflängenkodierung
|
||||||
Simplest Compression Algorithm
|
Einfachster Kompressionsalgorithmus
|
||||||
Gut für repetitive Daten (Fax, simple Grafiken)
|
Gut für: Fax, einfache Grafiken, Icons
|
||||||
Schlecht für chaotische Daten (Fotos, Audio)
|
Schlecht für: Fotos, Audio (zu chaotisch)
|
||||||
-->
|
-->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Lossy: Der Trick
|
# Verlustbehaftet: Der Trick
|
||||||
|
|
||||||
**Kernidee:** Wirf weg, was der Mensch eh nicht wahrnimmt
|
**Kernidee:** Entferne, was Menschen nicht wahrnehmen
|
||||||
|
|
||||||
**JPEG:** Schwächen des Auges
|
| Format | Nutzt Schwächen von... | Fachbegriff |
|
||||||
* Helligkeit besser als Farbe wahrgenommen
|
|--------|------------------------|-------------|
|
||||||
* Große Flächen besser als feine Details
|
| **JPEG** | Auge (Farbe < Helligkeit) | Psychovisuell |
|
||||||
* **→ Psychovisuell**
|
| **MP3** | Ohr (Maskierungseffekte) | Psychoakustik |
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Auditory Masking: Lauter 1000 Hz-Ton → leise 950 Hz unhörbar
|
PSYCHOVISUELL (JPEG):
|
||||||
Visuelle Masking: Starker Kontrast überstrahlt Details
|
- Auge nimmt Helligkeit besser wahr als Farbe
|
||||||
Kompression = Modell der menschlichen Wahrnehmung
|
|
||||||
-->
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
# Lossy: Der Trick
|
|
||||||
|
|
||||||
**Kernidee:** Wirf weg, was der Mensch eh nicht wahrnimmt
|
|
||||||
|
|
||||||
**JPEG:** Schwächen des Auges
|
|
||||||
- Helligkeit besser als Farbe wahrgenommen
|
|
||||||
- Große Flächen besser als feine Details
|
- Große Flächen besser als feine Details
|
||||||
- **→ Psychovisuell**
|
- Daher: Farbinformation stärker komprimiert
|
||||||
|
|
||||||
**MP3:** Schwächen des Ohrs
|
PSYCHOAKUSTIK (MP3):
|
||||||
* Mittlere Frequenzen besser als hohe/tiefe
|
- Mittlere Frequenzen besser als hohe/tiefe
|
||||||
* Laute Töne "maskieren" leise Töne
|
- Laute Töne "maskieren" leise Töne in der Nähe
|
||||||
* **→ Psychoakustik**
|
- Auditory Masking: Lauter 1000 Hz-Ton → leise 950 Hz unhörbar
|
||||||
|
|
||||||
<!--
|
KERNKONZEPT: Kompression = Modell der menschlichen Wahrnehmung
|
||||||
Auditory Masking: Lauter 1000 Hz-Ton → leise 950 Hz unhörbar
|
|
||||||
Visuelle Masking: Starker Kontrast überstrahlt Details
|
|
||||||
Kompression = Modell der menschlichen Wahrnehmung
|
|
||||||
-->
|
-->
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|||||||
BIN
courses/223015b/slides/assets/qr/hexed-it.png
Normal file
BIN
courses/223015b/slides/assets/qr/hexed-it.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 381 B |
Reference in New Issue
Block a user