Compare commits

...
4 Commits
6 changed files with 3333 additions and 81 deletions

No files matched your search

File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
@@ -611,6 +611,65 @@ Hex-Editor = Standard-Tool für Dateianalyse und Reverse Engineering
---
<!-- _class: lead -->
# ASCII
## One *Zeichensatz* to rule them all
<!--
WARUM 7 BIT STATT 8?
- 1963: Fernschreiber (Teletype) arbeiteten mit 7-Bit-Codes
- Das 8. Bit diente der Paritätsprüfung (Fehlererkennung bei Übertragung)
- Speicher war kostspielig: jedes eingesparte Bit zählte
- 128 Zeichen galten als ausreichend für den englischsprachigen Raum
KULTURHISTORISCHER KONTEXT:
- "American Standard Code for Information Interchange" (1963)
- Entwickelt für US-amerikanische Bedürfnisse
- Keine Unterstützung für: Umlaute (ä, ö, ü), ß, diakritische Zeichen (é, ñ, ç)
- Nicht-lateinische Schriftsysteme (Kyrillisch, Arabisch, CJK) wurden nicht berücksichtigt
- Führte zu zahlreichen inkompatiblen Erweiterungen (ISO-8859-1, Windows-1252, etc.)
WARUM NOCH HEUTE RELEVANT?
- Abwärtskompatibilität: UTF-8 ist vollständig ASCII-kompatibel (Zeichen 0-127 identisch)
- Internetprotokolle basieren auf ASCII: HTTP-Header, SMTP, URLs
- Programmiersprachen: Schlüsselwörter und Syntax sind ASCII
- Ein 60 Jahre alter Standard, der durch Kompatibilitätszwänge fortbesteht
HISTORISCHE RANDNOTIZ:
- Das @-Zeichen wurde nachträglich aufgenommen
- Heute unverzichtbar für E-Mail-Adressen weltweit
-->
---
<!-- _header: '' -->
<!-- _footer: '' -->
![bg fit](./assets/ascii-table-colored.png)
<!--
Vorgeschichte:
US-ASCII (1967) Code Chart
- 7 Bit = 128 Zeichen
- Erste 32: Steuerzeichen (nicht druckbar)
- Zeichen 32-126: Druckbar (Buchstaben, Ziffern, Satzzeichen)
- Keine Umlaute, kein ñ, kein é
- "American Standard" → Rest der Welt ausgeschlossen
"Ich möchte, dass ihr das mit mir jetzt gemeinsam lesen lernt; stellt euch vor ihr seid ArchäologInnen."
"Wie würdet ihr vorgehen?"
-->
---
![bg right:40%](./assets/matrix-code.png)
# WTF!?
@@ -882,63 +941,6 @@ Model Collapse: AI trainiert auf AI-Output → Qualitätsverlust
<!-- _class: lead -->
# ASCII
## One *Zeichensatz* to rule them all
<!--
WARUM 7 BIT STATT 8?
- 1963: Fernschreiber (Teletype) arbeiteten mit 7-Bit-Codes
- Das 8. Bit diente der Paritätsprüfung (Fehlererkennung bei Übertragung)
- Speicher war kostspielig: jedes eingesparte Bit zählte
- 128 Zeichen galten als ausreichend für den englischsprachigen Raum
KULTURHISTORISCHER KONTEXT:
- "American Standard Code for Information Interchange" (1963)
- Entwickelt für US-amerikanische Bedürfnisse
- Keine Unterstützung für: Umlaute (ä, ö, ü), ß, diakritische Zeichen (é, ñ, ç)
- Nicht-lateinische Schriftsysteme (Kyrillisch, Arabisch, CJK) wurden nicht berücksichtigt
- Führte zu zahlreichen inkompatiblen Erweiterungen (ISO-8859-1, Windows-1252, etc.)
WARUM NOCH HEUTE RELEVANT?
- Abwärtskompatibilität: UTF-8 ist vollständig ASCII-kompatibel (Zeichen 0-127 identisch)
- Internetprotokolle basieren auf ASCII: HTTP-Header, SMTP, URLs
- Programmiersprachen: Schlüsselwörter und Syntax sind ASCII
- Ein 60 Jahre alter Standard, der durch Kompatibilitätszwänge fortbesteht
HISTORISCHE RANDNOTIZ:
- Das @-Zeichen wurde nachträglich aufgenommen
- Heute unverzichtbar für E-Mail-Adressen weltweit
-->
---
<!-- _header: '' -->
<!-- _footer: '' -->
![bg fit](./assets/ascii-table-colored.png)
<!--
Vorgeschichte:
US-ASCII (1967) Code Chart
- 7 Bit = 128 Zeichen
- Erste 32: Steuerzeichen (nicht druckbar)
- Zeichen 32-126: Druckbar (Buchstaben, Ziffern, Satzzeichen)
- Keine Umlaute, kein ñ, kein é
- "American Standard" → Rest der Welt ausgeschlossen
"Ich möchte, dass ihr das mit mir jetzt gemeinsam lesen lernt; stellt euch vor ihr seid ArchäologInnen."
"Wie würdet ihr vorgehen?"
-->
---
<!-- _class: lead -->
# Teil 2: Die MP3-Revolution
## Psychoakustik & Audio-Kompression
@@ -1063,18 +1065,18 @@ Paradox: Gerade die Perfektion wurde zum "Problem"
# Das Speicherproblem der Digitalisierung
**CD-Qualität (1982):**
Ziel: Analoge Schallwelle möglichst originalgetreu rekonstruieren
44.100 Hz × 16 Bit × 2 Kanäle = **10,584 MB/Minute**
**Ziel: Analoge Schallwelle möglichst originalgetreu rekonstruieren**
*CD-Qualität (1982): 44.100 Hz × 16 Bit × 2 Kanäle = 10,584 MB/Minute*
<!-- 44100 Hz ×16 Bit × 2 ÷ 8 ÷ 1000 ÷ 1000 × 60 = 10,584 MB/Minute -->
| Inhalt | Größe | Problem (1990er) |
|--------|-------|------------------|
| 1 Song (4 Min) | ~42 MB | Passt gerade so |
| 1 Album (60 Min) | ~635 MB | Ganze Festplatte! |
| 1 Song (4 Min) | ~42 MB | Ausreichend Speicher |
| 1 Album (60 Min) | ~635 MB | Gesamte Festplatte |
**→ Digital ist super, aber zu groß für Speicher & Internet**
<!--
"Springen wir nochmal zurück in die 90er, bevor das Internet den Globus umspann ..."
@@ -1192,7 +1194,7 @@ BITTIEFE = Wie genau messen wir jeden einzelnen Punkt?
| **Abtastrate** (Sample Rate) | Messungen pro Sekunde (horizontal) | 44.100 Hz |
| **Bittiefe** (Bit Depth) | Genauigkeit pro Messung (vertikal) | 16 Bit |
**44.100 Hz × 16 Bit** × 2 Kanäle
**44.100 Hz × 16 Bit** × 2 Kanäle = 10,584 MB/Minute
<!--
Analogie: Digitalisierung = Raster über Schallwelle legen
@@ -271,11 +271,16 @@ Konvertierung:
<!-- _class: lead -->
# JPEG
# Menschliche Sinne
## Psychovisuell komprimieren
---
<!-- _class: klausur -->
<!-- _header: '' -->
<!-- _footer: '' -->
<!-- _backgroundColor: #e3f2fd -->
# Die Schwächen des Auges
**Menschen sehen:**
@@ -346,7 +351,7 @@ Banding: Zu wenig Bits für feine Farbabstufungen.
**Sweet Spot: 85-90**
~10× Kompression, für Menschen kaum unterscheidbar.
<small>¹ je nach Programm andere Einstellungen beim Kodieren</small>
<small>¹ je nach Programm seine eigene Bedeutung von bspw. f80%</small>
<!--
Quality 100 ist nicht "unkomprimiert".
@@ -356,11 +361,22 @@ Für Web und Social Media: 60-80 oft ausreichend.
Für Archivierung: 90-100 oder gleich PNG/RAW.
-->
---
# JPEG: Schritt 1 – Farbraum
<!-- _class: lead -->
**RGB → YCbCr** (auch 3 Werte pro Pixel, nur anders aufgeteilt)
# JPEG
## Vier Schritte der Kompression
---
![bg right:20%](./assets/Barn-yuv.png)
# JPEG: Schritt 1 – Farbraum wechseln
**RGB → Y'CbCr** (seltener Y'UV)
- **Y** = Helligkeit (Luminanz) – Was das Auge am besten sieht
- **Cb** = Blau-Gelb-Anteil (Chrominanz)
@@ -380,14 +396,6 @@ Der Clou: Jetzt können wir Helligkeit und Farbe getrennt behandeln.
---
<!-- _header: '' -->
<!-- _footer: '' -->
![bg contain 70%](./assets/Common_chroma_subsampling_ratios_YCbCr_CORRECTED.svg.png)
---
# JPEG: Schritt 2 – Chroma Subsampling
**Die Notation `J:a:b`** (bezogen auf einen 4×2 Pixel-Block):
@@ -401,7 +409,7 @@ Der Clou: Jetzt können wir Helligkeit und Farbe getrennt behandeln.
| 4:2:2 | Jedes 2. Pixel horizontal | 50% |
| 4:2:0 | Jedes 4. Pixel (2×2 Block teilt sich Farbe) | 25% |
**4:2:0 ist JPEG-Standard** – kaum sichtbarer Unterschied.
**4:2:0 ist JPEG-Standard** – kaum sichtbarer Qualitätsverlust
<!--
Beispiel 4:2:0: In einem 2×2-Block haben alle 4 Pixel denselben Cb/Cr-Wert,
@@ -411,6 +419,13 @@ Das Auge merkt es kaum, weil Helligkeit erhalten bleibt.
---
<!-- _header: '' -->
<!-- _footer: '' -->
![bg contain 70%](./assets/Common_chroma_subsampling_ratios_YCbCr_CORRECTED.svg.png)
---
# JPEG: Schritt 3 – DCT
**Discrete Cosine Transform:**
@@ -421,9 +436,10 @@ Jeden Block in **räumliche Frequenzen** zerlegen.
- **Niedrig:** Große, gleichmäßige Flächen (Himmel)
- **Hoch:** Schnelle Wechsel, feine Details (Haare, Kanten)
<!--
**Vorteil:** Die meiste Bildinformation steckt in niedrigen Frequenzen.
<!--
NICHT Tonhöhe! Räumliche Frequenz = Änderungsrate der Helligkeit im Raum.
Niedrige Frequenz: Langsamer Übergang von hell zu dunkel
@@ -441,9 +457,6 @@ DCT ist wie ein Prisma: Zerlegt das Bild in seine Frequenzkomponenten.
Hohe räumliche Frequenzen (Details) → grob speichern oder weglassen
Niedrige Frequenzen (Flächen) → erhalten
**Der Quality-Schieberegler steuert das:**
- Quality 100: Minimale Quantisierung
- Quality 50: Aggressive Quantisierung
<!--
Quantisierung = Division durch Quantisierungsmatrix + Rundung.
Binary file not shown.

After

Width:  |  Height:  |  Size: 425 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB