diff --git a/slides/223015b/02-bild-audio-video.md b/slides/223015b/02-bild-audio-video.md index d47f01d..b4701a8 100644 --- a/slides/223015b/02-bild-audio-video.md +++ b/slides/223015b/02-bild-audio-video.md @@ -220,7 +220,7 @@ Jeder Pixel speichert einen RGB-Farbwert (3 Bytes). **Aufbau:** Liste von Pixeln mit Farbwerten (2D-Array) **Speicherbedarf (unkomprimiert):** -Breite × Höhe × Farbtiefe (in Bytes) +Breite × Höhe × Farbtiefe (in Byte) **Beispiele:** JPEG, PNG, WebP @@ -361,6 +361,15 @@ Vektorgrafiken speichern keine Pixel, sondern mathematische Beschreibungen: Koor - Frage: "Warum verschickt euch der Grafiker das Logo als .ai oder .svg?" --> + +--- + + + + +![bg fit](./assets/demos/raster-vs-vektor.png) + + --- @@ -374,6 +383,14 @@ Vektorgrafiken speichern keine Pixel, sondern mathematische Beschreibungen: Koor - Wir nutzen seine Schwächen aus --> + +--- + + + + +![bg fit](./assets/lv-original-vs-fake.jpg) + --- @@ -498,6 +515,16 @@ Das Auge ist ein Tiefpassfilter: Hohe Frequenzen (feine Details) werden schwäch - Interaktive Demo: https://claude.ai/public/artifacts/452e62f1-8525-442d-aa88-bf3795cab2c5 --> + +--- + + + + +![bg fit](./assets/demos/jpeg-pipeline.png) + + + --- @@ -507,7 +534,7 @@ Das Auge ist ein Tiefpassfilter: Hohe Frequenzen (feine Details) werden schwäch ![bg right:20%](./assets/Barn-yuv.png) -# JPEG Schritt 1: Farbraumkonversion +# JPEG Schritt 1: Farbraumkonvertierung **RGB → Y'CbCr** @@ -530,11 +557,33 @@ KLAUSURRELEVANT: --- + + + +![bg fit](./assets/ybcbr.webp) + + +--- + + + + +![bg fit](./assets/Barn-rgb.png) + +--- + + + + +![bg fit](./assets/Barn-cmyk.png) + +--- + -# Farbraumkonversion – Vertiefung +# Farbraumkonvertierung – Vertiefung RGB→YCbCr nutzt die Biologie des menschlichen Auges: 120 Mio. Stäbchen (Helligkeit) vs. nur 6 Mio. Zapfen (Farbe) – ein 20:1-Verhältnis. Die Transformation erfolgt über eine lineare Matrix: @@ -546,7 +595,7 @@ Cr = 0.500·R − 0.419·G − 0.081·B + 128 Die Gewichtung (G dominiert mit 59%) entspricht der spektralen Empfindlichkeit des Auges bei Tageslicht. Y enthält alle Schärfeinformation; Cb/Cr können reduziert werden. -**Chroma Subsampling – Notation J:a:b** (bezogen auf 4×2 Pixel): +**Chroma Subsampling – Notation `J:a:b`** (bezogen auf 4×2 Pixel): | Schema | Farbdaten | Einsatz | |--------|-----------|---------| @@ -768,6 +817,13 @@ JPEG verwendet zwei Huffman-Tabellen: eine für DC-Koeffizienten (Durchschnittsw +![bg](./assets/demos/summary-kap02.png) + +--- + + + + ![bg](./assets/jpeg-artifacts.png) + -``` -┌─────────────────────────────┐ -│ Container (z.B. MP4) │ -│ ┌────────────────────────┐ │ -│ │ Video-Stream (H.264) │ │ -│ ├────────────────────────┤ │ -│ │ Audio-Stream (AAC) │ │ -│ ├────────────────────────┤ │ -│ │ Untertitel (SRT) │ │ -│ ├────────────────────────┤ │ -│ │ Metadaten │ │ -│ └────────────────────────┘ │ -└─────────────────────────────┘ -``` - - +![bg fit](./assets/demos/container-vs-codec.png) --- diff --git a/slides/223015b/assets/Barn-cmyk.png b/slides/223015b/assets/Barn-cmyk.png new file mode 100644 index 0000000..92089c0 Binary files /dev/null and b/slides/223015b/assets/Barn-cmyk.png differ diff --git a/slides/223015b/assets/Barn-rgb.png b/slides/223015b/assets/Barn-rgb.png new file mode 100644 index 0000000..906e0c0 Binary files /dev/null and b/slides/223015b/assets/Barn-rgb.png differ diff --git a/slides/223015b/assets/demos/aliasing-paar.html b/slides/223015b/assets/demos/aliasing-paar.html new file mode 100644 index 0000000..1b4c732 --- /dev/null +++ b/slides/223015b/assets/demos/aliasing-paar.html @@ -0,0 +1,205 @@ + + + + +Aliasing — derselbe Fehler in zwei Sinnen + + + +

Aliasing — derselbe Fehler in zwei Sinnen

+
Was im Ohr Brummen macht, macht im Auge Moiré. Wurzel: Sampling zu grob.
+ +
+ +
+
+ Audio + Unterabtastung +
+ +
+
+
Original (18 kHz)
+
+ + + + +
+
20 Schwingungen
schnelle Welle
+
+
+
Bei 22 kHz gesampelt
+
+ + + + + +
+
2 Schwingungen
Brumm-Frequenz
+
+
+ +
+
Was das Ohr hört
+ Ein schriller 18-kHz-Ton wird zu einem dumpfen 4-kHz-Brumm. Das hohe ist nicht leiser — es ist verloren und falsch ersetzt. +
+
+ +
+
+ Bild + Moiré-Effekt +
+ +
+
+
Original (feine Streifen)
+
+ + + + + + + + +
+
93 Linien
volle Auflösung
+
+
+
In niedriger DPI gerendert
+
+ + + + + + + + + + + + + + + + + + +
+
5 breite Bänder
Moiré-Frequenz
+
+
+ +
+
Was das Auge sieht
+ Feine Linien sind weg, dafür breite Streifen, die nie da waren. Aus 93 Linien werden 5 Bänder — das Bild lügt. +
+
+ +
+ +
+
Aliasing kennt keine Modalität. Es ist ein mathematischer Fehler — kein technischer.
+
Egal ob Ton, Bild, Video, Radar, GPS — Sampling muss immer mindestens doppelt so dicht sein wie das Signal. Sonst tauscht die Realität Frequenzen aus.
+
+ + diff --git a/slides/223015b/assets/demos/aliasing-paar.png b/slides/223015b/assets/demos/aliasing-paar.png new file mode 100644 index 0000000..f9da795 Binary files /dev/null and b/slides/223015b/assets/demos/aliasing-paar.png differ diff --git a/slides/223015b/assets/demos/byte-fuer-byte.html b/slides/223015b/assets/demos/byte-fuer-byte.html new file mode 100644 index 0000000..f029ed2 --- /dev/null +++ b/slides/223015b/assets/demos/byte-fuer-byte.html @@ -0,0 +1,117 @@ + + + + +Byte für Byte — drei Brillen + + + +

Byte für Byte

+
Eine Datei — drei Brillen. Beispiel: erste 8 Byte einer PNG-Datei.
+ +
+ +
+
+
Fenster 1
+
Bin · rohe 0 und 1
+
+
+
10001001
+
01010000
+
01001110
+
01000111
+
00001101
+
00001010
+
00011010
+
00001010
+
+
+ +
+
+
Fenster 2
+
Hex · 2 Ziffern pro Byte
+
+
+
89
+
50
+
4E
+
47
+
0D
+
0A
+
1A
+
0A
+
+
+ +
+
+
Fenster 3
+
Text · ASCII oder ✗ (> 126)
+
+
+
✗137 > 126
+
P80
+
N78
+
G71
+
CR13 · Steuerz.
+
LF10 · Steuerz.
+
SUB26 · Steuerz.
+
LF10 · Steuerz.
+
+
+ +
+ +
+ Mindestens ein Byte mit Wert > 126 → Binärdatei. Sonst: reine Textdatei. +
+ + diff --git a/slides/223015b/assets/demos/byte-fuer-byte.png b/slides/223015b/assets/demos/byte-fuer-byte.png new file mode 100644 index 0000000..b10fa1d Binary files /dev/null and b/slides/223015b/assets/demos/byte-fuer-byte.png differ diff --git a/slides/223015b/assets/demos/container-vs-codec.html b/slides/223015b/assets/demos/container-vs-codec.html new file mode 100644 index 0000000..350c9e3 --- /dev/null +++ b/slides/223015b/assets/demos/container-vs-codec.html @@ -0,0 +1,172 @@ + + + + +Container ≠ Codec + + + +

Container ≠ Codec

+
Die Hülle sagt nichts darüber, wie der Inhalt komprimiert wurde.
+ +
+ +
+ .mp4 +
Datei A — älterer Stand
+ +
+ Video + H.264 / AVC · 1080p · 8 Mbit/s +
+
+ Audio + AAC · 192 kbit/s · Stereo +
+
+ Untertitel + TTML · de + en +
+
+ Metadaten + Titel · Dauer · Datum · Bitrate +
+
+ +
+ .mp4 +
Datei B — modern
+ +
+ Video + AV1 · 4K · 25 Mbit/s +
+
+ Audio + Opus · 128 kbit/s · 5.1 Surround +
+
+ Untertitel + WebVTT · de + en + ja +
+
+ Metadaten + Titel · Dauer · Datum · HDR-Info +
+
+ +
+ +
+
Gleiche Endung. Anderes Innenleben.
+
Container = Verpackung (.mp4, .mkv, .webm). Codec = Komprimierer (H.264 / AV1 / AAC / Opus). Tool: mediainfo <datei> zeigt beides.
+
+ + diff --git a/slides/223015b/assets/demos/container-vs-codec.png b/slides/223015b/assets/demos/container-vs-codec.png new file mode 100644 index 0000000..f320d49 Binary files /dev/null and b/slides/223015b/assets/demos/container-vs-codec.png differ diff --git a/slides/223015b/assets/demos/drei-dateien.html b/slides/223015b/assets/demos/drei-dateien.html new file mode 100644 index 0000000..1b32c9f --- /dev/null +++ b/slides/223015b/assets/demos/drei-dateien.html @@ -0,0 +1,200 @@ + + + + +Drei Dateien — dasselbe Innenleben + + + +

Drei Dateien — dasselbe Innenleben

+
Außen völlig verschieden. Innen reden alle dieselbe Sprache: Byte für Byte.
+ +
+ +
+
+ Foto + .png +
+ + + + + + + + + + + + + +
+
Erste Bytes der Datei
+
+89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44 52 +
+
+
50 4E 47 = "PNG"
+
+ +
+
+ Sprachnachricht + .mp3 +
+ + + + + +
+
Erste Bytes der Datei
+
+49 44 33 03 00 00 00 00 03 76 54 49 54 32 00 00 +
+
+
49 44 33 = "ID3"
+
+ +
+
+ PDF-Dokument + .pdf +
+ + + + + + + + + + + + + + + + +
+
Erste Bytes der Datei
+
+25 50 44 46 2D 31 2E 37 0A 25 E2 E3 CF D3 0A 0A +
+
+
25 50 44 46 = "%PDF"
+
+ +
+ +
+
Drei verschiedene Dinge — eine Sprache.
+
Jede Datei beginnt mit ihrer Visitenkarte (Magic Number) und besteht ab da aus nichts als Byte. Foto, Audio, PDF — alle dieselben Bauteile, nur anders zusammengesetzt.
+
+ + diff --git a/slides/223015b/assets/demos/drei-dateien.png b/slides/223015b/assets/demos/drei-dateien.png new file mode 100644 index 0000000..7915352 Binary files /dev/null and b/slides/223015b/assets/demos/drei-dateien.png differ diff --git a/slides/223015b/assets/demos/jpeg-pipeline.html b/slides/223015b/assets/demos/jpeg-pipeline.html new file mode 100644 index 0000000..404fe72 --- /dev/null +++ b/slides/223015b/assets/demos/jpeg-pipeline.html @@ -0,0 +1,206 @@ + + + + +JPEG-Pipeline — 6 Schritte vom Foto zur Datei + + + +

JPEG-Pipeline — 6 Schritte vom Foto zur Datei

+
Nur einer dieser Schritte verliert Information. Die anderen fünf sind verlustfrei.
+ +
+ +
+ + + + + + + + + + + + +
Foto (Roh)
+
~36 MB
+
+ +
+
1
+
Farbraum
+
RGB → Y'CbCr
Helligkeit von Farbe trennen
+
+ +
+
2
+
Chroma-Subsampling
+
Cb & Cr auf ¼
Auge sieht Farbe grob
+
+ +
+
3
+
8×8 Blöcke
+
Bild in Kacheln
jeder Block einzeln
+
+ +
+
4
+
DCT
+
Frequenz-Zerlegung
häufige Muster
+
+ +
+
5
+
Quantisierung
+
Hier wird weggeworfen
hohe Frequenzen raus
+
+ +
+
6
+
Huffman
+
Verlustfrei kürzen
häufig → kurz
+
+ +
+ + + + + +
JPEG
+
~3,5 MB
+
+ +
+ +
+ verlustfrei (umkehrbar) + verlustbehaftet (Information weg) +
+ +
+
Der Quanten-Schritt ist das ganze Geheimnis von JPEG.
+
Schritte 1, 3, 4, 6 verlieren nichts. Schritt 2 wirft Farb-Detail weg (Auge merkt nicht). Schritt 5 entscheidet — je nach Qualitäts-Stufe — wie viel Frequenz-Detail verloren geht. Niedrige Quality = aggressivere Schritt-5-Quantisierung.
+
+ + diff --git a/slides/223015b/assets/demos/jpeg-pipeline.png b/slides/223015b/assets/demos/jpeg-pipeline.png new file mode 100644 index 0000000..4795fad Binary files /dev/null and b/slides/223015b/assets/demos/jpeg-pipeline.png differ diff --git a/slides/223015b/assets/demos/kap02-eroeffner.html b/slides/223015b/assets/demos/kap02-eroeffner.html new file mode 100644 index 0000000..e3cebcf --- /dev/null +++ b/slides/223015b/assets/demos/kap02-eroeffner.html @@ -0,0 +1,158 @@ + + + + +Dieselbe Aufnahme, zwei Formate + + + +

Dieselbe Aufnahme, zwei Formate

+
3 Sekunden Snare-Hit mit Cymbal-Tail · 44,1 kHz Sample-Rate · Stereo
+ +
+ +
+
+ Lossless + FLAC +
+
verlustfrei · alle Frequenzen 0–22 kHz erhalten
+ + + + + + + + + + + + + +
+
Dateigröße
5,3 MB
+
Bitrate
1.411 kbit/s
+
+
+ +
+
+ Lossy + MP3 128 kbit/s +
+
verlustbehaftet · hohe Frequenzen weggeworfen, Transienten geglättet
+ + + + + + + + + + + + + +
+
Dateigröße
0,48 MB
+
Bitrate
128 kbit/s
+
+
+ +
+ +
+
Hört man den Unterschied?
+
Auf dem Smartphone-Lautsprecher: meist nicht. Im Studio-Monitor mit Kopfhörer: oft schon. — MP3 wirft 91 % der Daten weg, die der Mensch im Alltag nicht vermisst.
+
+ + diff --git a/slides/223015b/assets/demos/kap02-eroeffner.png b/slides/223015b/assets/demos/kap02-eroeffner.png new file mode 100644 index 0000000..1a37960 Binary files /dev/null and b/slides/223015b/assets/demos/kap02-eroeffner.png differ diff --git a/slides/223015b/assets/demos/kap03-eroeffner.html b/slides/223015b/assets/demos/kap03-eroeffner.html new file mode 100644 index 0000000..1f0bf24 --- /dev/null +++ b/slides/223015b/assets/demos/kap03-eroeffner.html @@ -0,0 +1,119 @@ + + + + +Drei Modalitäten, ein Hebel + + + +

Drei Modalitäten — derselbe Hebel

+
Bild, Audio, Video schrumpfen alle dramatisch. Warum? Weil Wahrnehmung Lücken hat.
+ +
+
+
Roh
+
Lossy (modern)
+
Lossy (aggressiv)
+ +
Bild12-MP-Foto
+
+
RAW
+
36 MB
+
+
+
+
JPEG · Q 90
+
4 MB
+
+
+
+
JPEG · Q 50
+
800 KB
+
+
+ +
Audio30 s Stereo
+
+
WAV · 44,1 kHz · 16 bit
+
5,3 MB
+
+
+
+
MP3 · 192 kbit/s
+
720 KB
+
+
+
+
MP3 · 64 kbit/s
+
240 KB
+
+
+ +
Video30 s · 4K · 30 fps
+
+
Roh · 8 bit
+
12 GB
+
+
+
+
H.264 · 25 Mbit/s
+
94 MB
+
+
+
+
H.265 · 12 Mbit/s
+
45 MB
+
+
+
+ +
+
Bilder schrumpfen ×45. Audio ×22. Video ×270.
+
Jede Reduktion nutzt eine andere Wahrnehmungs-Lücke: Bild die geringere Farbschärfe, Audio die Maskierung, Video die Frame-zu-Frame-Ähnlichkeit.
+
+ + diff --git a/slides/223015b/assets/demos/kap03-eroeffner.png b/slides/223015b/assets/demos/kap03-eroeffner.png new file mode 100644 index 0000000..a7e7cad Binary files /dev/null and b/slides/223015b/assets/demos/kap03-eroeffner.png differ diff --git a/slides/223015b/assets/demos/kap04-eroeffner.html b/slides/223015b/assets/demos/kap04-eroeffner.html new file mode 100644 index 0000000..12f65b0 --- /dev/null +++ b/slides/223015b/assets/demos/kap04-eroeffner.html @@ -0,0 +1,182 @@ + + + + +Die Reise einer Datei + + + +

Die Reise einer Datei

+
Ein 4K-Trailer (1,2 GB) reist von der externen SSD auf den Monitor — jede Etappe ist ein eigener Engpass.
+ +
+
+
Quelle
+
SSD
extern
+
NVMe-Stick
+
+ + + +
+
Aufnahme
+
Laptop
+
RAM & CPU
+
+ + + +
+
Decoder
+
GPU
+
H.264-Hardware
+
+ + + +
+
Display
+
4K-Monitor
+
3840 × 2160
+
+ + + +
+
Ziel
+
Auge
+
Bewusstsein
+
+
+ +
+
Was hier passiert
+
+ Die 1,2 GB liegen verschlüsselt komprimiert auf dem Stick. Sie reisen über USB-C in den RAM, werden vom GPU dekodiert (H.264 → roher RGB-Strom), und über HDMI als unkomprimiertes Bild an den Monitor geschickt. Dort entstehen pro Sekunde 60 Bilder mit je rund 24 MB — also 1,4 GB/s an rohem Pixelstrom, der niemals als Datei vorliegt. +
+
+ +
+
Speicher und Schnittstelle sind keine zwei Themen — sie sind die zwei Seiten desselben Engpasses.
+
Wo Bytes wohnen entscheidet, wie schnell sie reisen können. Wo sie reisen entscheidet, wo sie wohnen müssen.
+
+ + diff --git a/slides/223015b/assets/demos/kap04-eroeffner.png b/slides/223015b/assets/demos/kap04-eroeffner.png new file mode 100644 index 0000000..cae1e16 Binary files /dev/null and b/slides/223015b/assets/demos/kap04-eroeffner.png differ diff --git a/slides/223015b/assets/demos/kap05-eroeffner.html b/slides/223015b/assets/demos/kap05-eroeffner.html new file mode 100644 index 0000000..f0d829a --- /dev/null +++ b/slides/223015b/assets/demos/kap05-eroeffner.html @@ -0,0 +1,254 @@ + + + + +Eine Datei reist — und erzählt + + + +

Eine Datei reist — und erzählt

+
Ein Smartphone-Foto geht von Stuttgart nach Tokyo. Was sieht der Empfänger — und was bekommt er noch dazu?
+ +
+ +
+
+ Inhalt + Was du siehst +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ HEIC · 4032 × 3024 + 3,2 MB +
+
+ + + +
+ +
+
Weg
+
+
+ Stuttgart + → + DNS + → + TLS 1.3 + → + CDN-Edge Tokyo + → + Tokyo +
+
+ HTTP/3 200 OK · content-type: image/heic · content-length: 3 220 480 · RTT 47 ms · cache: HIT (Edge tok-7) · age: 312 s +
+
+
+ +
+
Eine Datei = Inhalt + Gepäck + Weg.
+
Inhalt sieht der Empfänger. Gepäck verrät, wer sie gemacht hat — und wo. Weg entscheidet, wie schnell sie ankommt. Drei Schichten, eine Datei.
+
+ + diff --git a/slides/223015b/assets/demos/kap05-eroeffner.png b/slides/223015b/assets/demos/kap05-eroeffner.png new file mode 100644 index 0000000..55cd04f Binary files /dev/null and b/slides/223015b/assets/demos/kap05-eroeffner.png differ diff --git a/slides/223015b/assets/demos/kb-vs-kib.html b/slides/223015b/assets/demos/kb-vs-kib.html new file mode 100644 index 0000000..c8e851b --- /dev/null +++ b/slides/223015b/assets/demos/kb-vs-kib.html @@ -0,0 +1,194 @@ + + + + +1 TB verkauft, 931 GB angezeigt — wo gehen die 69 GB hin? + + + +

„1 TB" gekauft — 931 GB im Finder. Wo sind die 69 GB hin?

+
Nirgendwo. Es sind dieselben Byte. Nur zwei Welten zählen anders.
+ +
+ +
+
Auf der Verpackung
+
Marketing
+
+ 1 TB + externe SSD +
+
+ 1 TB = 1012 Byte
+ = 1 000 000 000 000 +
+
+ +
+ +
geteilt durch
230
+
+ +
+
Im Finder · Explorer
+
Betriebssystem
+
+ 931 GB + eigentlich: 931 GiB +
+
+ 1 GiB = 230 Byte
+ = 1 073 741 824 +
+
+ +
+ +
+
Die Rechnung
+
+ Marketing schreibt + 1 TB = 1 000 000 000 000 Byte (Basis 10) + Betriebssystem rechnet + 1 TiB = 1 099 511 627 776 Byte (Basis 2) + 1 TB in GiB umrechnen + 1012 ÷ 230 ≈ 931,3 GiB — der Finder zeigt also „931 GB" + Was die Studis sehen + Etikett: GB · Anzeige: GB · Bedeutung: zwei verschiedene Dinge +
+
+ +
+
Es fehlt nichts. Es wird nur in zwei Sprachen gezählt.
+
Korrekt wären GiB (binär, 1024) und GB (dezimal, 1000). In der Realität verwenden beide Welten GB und meinen verschiedene Zahlen.
+
+ + diff --git a/slides/223015b/assets/demos/kb-vs-kib.png b/slides/223015b/assets/demos/kb-vs-kib.png new file mode 100644 index 0000000..60df0f0 Binary files /dev/null and b/slides/223015b/assets/demos/kb-vs-kib.png differ diff --git a/slides/223015b/assets/demos/nyquist-diagram.html b/slides/223015b/assets/demos/nyquist-diagram.html new file mode 100644 index 0000000..b2d7ece --- /dev/null +++ b/slides/223015b/assets/demos/nyquist-diagram.html @@ -0,0 +1,232 @@ + + + + +Nyquist-Shannon — wie oft muss man messen? + + + +

Nyquist-Shannon — wie oft müssen wir messen?

+
Dieselbe Welle, drei Sample-Raten. Eine fällt durch, eine reicht knapp, eine ist sicher.
+ +
+ +
+
+
Zu wenig
+
Aliasing
+
fs = 0,9 · f
+
Die Sample-Punkte sitzen auf der Welle — aber verbunden sehen sie aus wie eine ganz andere, langsamere Welle.
+
+
+ + + + + + + + + + + + + +
+
+ +
+
+
Genau
+
Nyquist-Grenze
+
fs = 2 · f
+
Sample exakt auf Peak und Tal. Mathematisch reicht das — visuell sieht es kaputt aus.
+
+
+ + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
Sicher
+
Überabtastung
+
fs = 8 · f
+
Genug Punkte — die Welle wird Punkt für Punkt nachgezeichnet. So macht es eine CD.
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ +
+
fs ≥ 2 · fmax. So einfach. So endgültig.
+
Das Ohr hört bis 20 kHz. 2 × 20 = 40 kHz. Die CD nimmt 44,1 kHz — die 4,1 sind Sicherheits-Marge.
+
+ + diff --git a/slides/223015b/assets/demos/nyquist-diagram.png b/slides/223015b/assets/demos/nyquist-diagram.png new file mode 100644 index 0000000..9422ee1 Binary files /dev/null and b/slides/223015b/assets/demos/nyquist-diagram.png differ diff --git a/slides/223015b/assets/demos/pivot-signal-zu-byte.html b/slides/223015b/assets/demos/pivot-signal-zu-byte.html new file mode 100644 index 0000000..046fa57 --- /dev/null +++ b/slides/223015b/assets/demos/pivot-signal-zu-byte.html @@ -0,0 +1,173 @@ + + + + +Wir haben gelernt zu lesen — jetzt: wie kommt es rein? + + + +

Wir haben gelernt zu lesen. Jetzt: wie kommt es rein?

+
Die rechte Seite haben wir abgearbeitet. Die linke ist die nächste Stunde.
+ +
+ +
+
Quelle
+
Welt
+
+ + + + +
+
Schallwelle · Lichtwelle
kontinuierlich · analog
+
+ + + +
+
Mitte
+
Datei
+
+ 89 50 4E 47
+ 0D 0A 1A 0A
+ 00 00 00 0D +
+
+ +
+
schon durch
+
+ + + + +
+
Notation · Encoding · Format
+
+ +
+
Ziel
+
Mensch
+
+ + + + + + +
+
Text · Bild · Klang
Bedeutung
+
+ +
+ +
+
Die Datei ist die Mitte. Beide Wege führen durch sie hindurch.
+
Rechts: aus Byte wird Bedeutung — gerade gelernt.    Links: aus Welt wird Byte — jetzt.
+
+ + diff --git a/slides/223015b/assets/demos/pivot-signal-zu-byte.png b/slides/223015b/assets/demos/pivot-signal-zu-byte.png new file mode 100644 index 0000000..55e432a Binary files /dev/null and b/slides/223015b/assets/demos/pivot-signal-zu-byte.png differ diff --git a/slides/223015b/assets/demos/psychoakustik-grafik.html b/slides/223015b/assets/demos/psychoakustik-grafik.html new file mode 100644 index 0000000..3db3970 --- /dev/null +++ b/slides/223015b/assets/demos/psychoakustik-grafik.html @@ -0,0 +1,159 @@ + + + + +Psychoakustik — was MP3 weglässt + + + +

Psychoakustik — was MP3 wegwirft

+
Ein lauter Ton macht leise Nachbarn unhörbar. Was nicht hörbar ist, muss man nicht speichern.
+ +
+
+
Lautstärke (dB SPL) über Frequenz (Hz, logarithmisch)
+
+ lauter Ton (Masker) + hörbar · bleibt + maskiert · raus + Hörschwelle +
+
+ + + + + + dB + 100 + 75 + 50 + 25 + 0 + + + + + + + 20 + 100 + 500 + 1k + 5k + 10k + 20k + Frequenz [Hz] + + + + + + + + + + bleibt + + + bleibt + + + raus + + + raus + + + raus + + + bleibt + + + bleibt + + 1 kHz · 90 dB · "Masker" + Hörschwelle (in Ruhe) + Maskierungs-Bereich + +
+ +
+
MP3 kodiert nur, was über der kombinierten Schwelle liegt.
+
Alles unterhalb wird weggeworfen — das Ohr hört es ohnehin nicht. So spart MP3 typischerweise ~90 % der Daten, ohne dass der Mensch im Alltag etwas vermisst.
+
+ + diff --git a/slides/223015b/assets/demos/psychoakustik-grafik.png b/slides/223015b/assets/demos/psychoakustik-grafik.png new file mode 100644 index 0000000..be2de0d Binary files /dev/null and b/slides/223015b/assets/demos/psychoakustik-grafik.png differ diff --git a/slides/223015b/assets/demos/psychovisualitaet-grafik.html b/slides/223015b/assets/demos/psychovisualitaet-grafik.html new file mode 100644 index 0000000..477e2f3 --- /dev/null +++ b/slides/223015b/assets/demos/psychovisualitaet-grafik.html @@ -0,0 +1,222 @@ + + + + +Psychovisualität — Luminanz vor Chrominanz + + + +

Psychovisualität — Luminanz vor Chrominanz

+
Das Auge sieht Helligkeit scharf. Farbe darf grob bleiben — und das Bild sieht trotzdem identisch aus.
+ +
+ +
+
+ Ohne Subsampling + 4:4:4 +
+
jedes Pixel speichert Y · Cb · Cr in voller Auflösung
+ + + + + + + + + + + + + + + +
+
+ Y +
+ 100 % +
+
+ Cb +
+ 100 % +
+
+ Cr +
+ 100 % +
+
+ +
+ Datenmenge: + 100 % +
+
+ +
+
+ JPEG · H.264 Standard + 4:2:0 +
+
Y voll · Cb & Cr nur in 2×2-Pixel-Blöcken
+ + + + + + + + + + + + + + + +
+
+ Y +
+ 100 % +
+
+ Cb +
+ 25 % +
+
+ Cr +
+ 25 % +
+
+ +
+ Datenmenge: + 50 % +
+
+ +
+ +
+
Halbe Datenmenge. Identisches Bild — für dein Auge.
+
JPEG, H.264, H.265, WebP — alle reduzieren die Farb-Auflösung auf ein Viertel. Das ist Psychovisualität: was wir nicht scharf sehen, muss man nicht scharf speichern.
+
+ + diff --git a/slides/223015b/assets/demos/psychovisualitaet-grafik.png b/slides/223015b/assets/demos/psychovisualitaet-grafik.png new file mode 100644 index 0000000..a6a350d Binary files /dev/null and b/slides/223015b/assets/demos/psychovisualitaet-grafik.png differ diff --git a/slides/223015b/assets/demos/raster-vs-vektor.html b/slides/223015b/assets/demos/raster-vs-vektor.html new file mode 100644 index 0000000..4de5516 --- /dev/null +++ b/slides/223015b/assets/demos/raster-vs-vektor.html @@ -0,0 +1,212 @@ + + + + +Raster vs. Vektor — Pixel oder Anweisung? + + + +

Raster vs. Vektor — Pixel oder Anweisung?

+
Beide zeigen ein Häkchen. Wenn man reinzoomt, kommt die Wahrheit raus.
+ +
+ +
+
+ Raster + PNG · JPEG · GIF +
+
Ein Gitter aus Pixel-Farbwerten. Jede Position ist festgelegt.
+ +
+
+
Original (32 × 22 px)
+
+ + + + + + + + + + + + + + + + + +
+
+
+
4× Zoom
+
+ + + + + + + + + + + + + + + + + +
+
+
+ +
+
Speicher: 32 × 22 × 3 Byte = 2 112 Byte
+
Beim Zoom: pixelig — Information ist erschöpft
+
+
+ +
+
+ Vektor + SVG · PDF · Schriftarten +
+
Mathematische Anweisungen: polyline 30,110 → 90,170 → 250,30
+ +
+
+
Original
+
+ + + + +
+
+
+
4× Zoom
+
+ + + + +
+
+
+ +
+
Speicher: 3 Punkte + Strichbreite = ~80 Byte
+
Beim Zoom: scharf — wird neu berechnet
+
+
+ +
+ +
+
Pixel sind festgenagelt. Vektoren werden bei jedem Zoom neu berechnet.
+
Faustregel: Foto → Raster (kann nicht „neu berechnet" werden). Logo, Icon, Schrift → Vektor (skalierbar ohne Verlust).
+
+ + diff --git a/slides/223015b/assets/demos/raster-vs-vektor.png b/slides/223015b/assets/demos/raster-vs-vektor.png new file mode 100644 index 0000000..406556c Binary files /dev/null and b/slides/223015b/assets/demos/raster-vs-vektor.png differ diff --git a/slides/223015b/assets/demos/summary-kap02.html b/slides/223015b/assets/demos/summary-kap02.html new file mode 100644 index 0000000..85c20a8 --- /dev/null +++ b/slides/223015b/assets/demos/summary-kap02.html @@ -0,0 +1,189 @@ + + + + +Was wir über Kompression gelernt haben + + + +

Was wir über Kompression gelernt haben

+
Zwei fundamental verschiedene Wege, dasselbe Ziel: Daten kleiner machen.
+ +
+ +
+
+ Verlustfrei + Lossless +
+
+
Was passiert
+
Redundanz raus — Wiederholungen kürzer schreiben
+
Umkehrbar
+
Ja. Aus der komprimierten Datei wird das exakte Original wieder.
+
Verfahren
+
RLE, Huffman, Deflate, LZ77/LZ78
+
Formate
+
ZIP · PNG · FLAC · TIFF · RAW
+
Faktor
+
2× – 5× (typisch)
+
+
+ +
+
+ Verlustbehaftet + Lossy +
+
+
Was passiert
+
Irrelevanz raus — was Mensch nicht wahrnimmt, wird weggeworfen
+
Umkehrbar
+
Nein. Einmal weg, für immer weg.
+
Trick
+
Psychoakustik (MP3) · Psychovisualität (JPEG)
+
Formate
+
MP3 · AAC · JPEG · WebP · H.264 · H.265
+
Faktor
+
10× – 100× (typisch)
+
+
+ +
+ +
+
Entscheidungsmatrix — wann nehme ich welches?
+
+
Foto-Archiv (RAW)
+
Lossless
+
Spotify-Stream
+
Lossy
+ +
Code-Repository
+
Lossless (ZIP)
+
Instagram-Foto
+
Lossy (JPEG)
+ +
Studio-Master-Track
+
Lossless (FLAC)
+
YouTube-Video
+
Lossy (H.264)
+
+
+ +
+
Lossless für Archiv und Code. Lossy für Streaming und Anzeige.
+
Faustregel: Werkzeug (du arbeitest noch dran) → Lossless. Konsum (du schaust/hörst nur) → Lossy.
+
+ + diff --git a/slides/223015b/assets/demos/summary-kap02.png b/slides/223015b/assets/demos/summary-kap02.png new file mode 100644 index 0000000..69ac530 Binary files /dev/null and b/slides/223015b/assets/demos/summary-kap02.png differ diff --git a/slides/223015b/assets/demos/summary-organizer.html b/slides/223015b/assets/demos/summary-organizer.html new file mode 100644 index 0000000..3789378 --- /dev/null +++ b/slides/223015b/assets/demos/summary-organizer.html @@ -0,0 +1,188 @@ + + + + +Was wir in 90 Minuten gelernt haben + + + +

Was wir in 90 Minuten gelernt haben

+
Beide Wege gehen durch dieselbe Mitte. Du kennst jetzt alle Stationen.
+ +
+ +
+
Quelle
+
Welt
+
Schallwelle
Lichtwelle
kontinuierlich · analog
+
+ +
+
+ + + + +
+
Welt → Byte
+ +
+ +
+
Mitte
+
Datei
+
+ Byte-Strom
+ 89 50 4E 47
+ nichts als Zahlen +
+
+ +
+
+ + + + +
+
Byte → Bedeutung
+ +
+ +
+
Ziel
+
Mensch
+
Text · Bild · Klang
Bedeutung
verstehen
+
+ +
+ +
+
Eine Datei ist kein Mysterium. Es ist eine Reihe von Zahlen mit zwei Geschichten dran.
+
Eine Geschichte erzählt, woher die Zahlen kommen. Die andere, was sie bedeuten. Beide kennst du jetzt.
+
+ + diff --git a/slides/223015b/assets/demos/summary-organizer.png b/slides/223015b/assets/demos/summary-organizer.png new file mode 100644 index 0000000..234c7f3 Binary files /dev/null and b/slides/223015b/assets/demos/summary-organizer.png differ diff --git a/slides/223015b/assets/demos/usb-c-drei-achsen.html b/slides/223015b/assets/demos/usb-c-drei-achsen.html new file mode 100644 index 0000000..356be28 --- /dev/null +++ b/slides/223015b/assets/demos/usb-c-drei-achsen.html @@ -0,0 +1,217 @@ + + + + +USB-C — drei Achsen, eine Verwirrung + + + +

USB-C — drei Achsen, eine Verwirrung

+
Derselbe Stecker. Aber Kabel ≠ Kabel. Protokoll ≠ Protokoll.
+ +
+ +
+
+ Stecker + 1 · MECHANIK +
+
Die Form. Was reinsteckt, oval, beidseitig.
+
+ + + + +
+
+ Nur eine Sorte: USB-C (auch USB Type-C). 24 Pins. Beidseitig steckbar. Andere Stecker-Typen: USB-A, USB-B, Micro-USB — nicht mit C kompatibel. +
+
+ +
+
+ Kabel + 2 · WAS DURCH-PASST +
+
Die Adern. Was elektrisch transportiert werden kann.
+
+ + + + + +
+
+ Charge-only · billig, nur Strom · 5 W
+ USB 2.0 · 480 Mbit/s · 60 W (3 A)
+ USB 3.2 Gen 2 · 10 Gbit/s · 100 W
+ Thunderbolt 4 · 40 Gbit/s · 240 W +
+
+ +
+
+ Protokoll + 3 · WAS LÄUFT +
+
Die Sprache. Was die zwei Geräte miteinander reden.
+
+ + + + + +
+
+ USB-PD · Power Delivery (Laden)
+ USB 2/3/4 · Datenübertragung
+ Thunderbolt 3/4 · Daten + Display
+ DisplayPort Alt · Monitor anschließen
+ HDMI Alt · weiter HDMI rausführen +
+
+ +
+ +
+
Konkret: warum lädt der Laptop nicht?
+
+ USB-C-Port am Laptop ist da (Stecker stimmt). Aber der Aldi-Kabel ist Charge-only mit 5 W (Kabel kann nicht genug Strom liefern). Oder der Port am Laptop unterstützt nur USB-PD mit 100 W, das Netzteil meldet aber nur 65 W (Protokoll-Handshake scheitert). Eine der drei Achsen passt nicht. +
+
+ +
+
Drei Achsen. Drei unabhängige Fragen. Drei Gründe, warum's nicht funktioniert.
+
Beim nächsten „USB-C-Kabel funktioniert nicht": Stecker passt → Kabel-Spec checken → Protokoll-Support prüfen. In dieser Reihenfolge.
+
+ + diff --git a/slides/223015b/assets/demos/usb-c-drei-achsen.png b/slides/223015b/assets/demos/usb-c-drei-achsen.png new file mode 100644 index 0000000..0dde6a9 Binary files /dev/null and b/slides/223015b/assets/demos/usb-c-drei-achsen.png differ diff --git a/slides/223015b/assets/lv-original-vs-fake.jpg b/slides/223015b/assets/lv-original-vs-fake.jpg new file mode 100644 index 0000000..f6d5c6e Binary files /dev/null and b/slides/223015b/assets/lv-original-vs-fake.jpg differ