--- marp: true theme: gaia paginate: true backgroundColor: #fff header: "Dateiformate, Schnittstellen, Speichermedien & Distributionswege" footer: "Michael Czechowski – HdM Stuttgart – WS 2025/26" title: Dateiformate, Schnittstellen, Speichermedien & Distributionswege --- ![bg cover opacity:0.2](./assets/radek-grzybowski-eBRTYyjwpRY-unsplash.jpg) # Dateiformate, Schnittstellen, Speichermedien & Distributionswege **223015b** · Modul "Technik 1" · 1. Semester Digital- und Medienwirtschaft Hochschule der Medien Stuttgart **Wintersemester 2025/26** [https://librete.ch/hdm/223015b/](https://librete.ch/hdm/223015b/) --- ![bg fit](./assets/qrcode-1.svg) --- # Termin 1 – 19.12.2025 ## Grundlagen, Text & Audio --- ![bg right:40%](./assets/matrix-code.png) # WTF!? ``` 89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44 52 00 00 01 90 00 00 01 2C ``` --- ![bg right:30%](./assets/matrix-code.png) # What the HEX-Code ``` 89 50 4E 47 ... ``` | Binär | Hex | Dez | ASCII | |-------|-----|-----|-------| | `1000 1001` | `89` | 137 | ✗ (> 127) | | `0101 0000` | `50` | 80 | **P** | | `0100 1110` | `4E` | 78 | **N** | | `0100 0111` | `47` | 71 | **G** | → **PNG**-Signatur! (Das `89` markiert: "Ich bin binär, kein Text!") --- ![bg](./assets/lightbulb-onoff.png) --- # Das Bit **Kleinste Informationseinheit** - **0 oder 1** - AN oder AUS - Strom fließt oder nicht --- # Das Byte --- # Das Byte **1 Byte = 8 Bits** ``` 0 1 0 0 1 1 0 1 ``` --- # Das Byte **1 Byte = 8 Bits** ``` 0 1 0 0 1 1 0 1 ``` 2⁸ = **256 Möglichkeiten** (0-255) --- # Dateneinheiten | Einheit | Bytes | Bits | Potenz | |---------|-------|------|--------| | **1 Byte** | 1 | 8 | 10⁰ | | **1 Kilobyte (KB)** | 1.000 | 8.000 | 10³ | | **1 Megabyte (MB)** | 1.000.000 | 8 Mio. | 10⁶ | | **1 Gigabyte (GB)** | 1 Mrd. | 8 Mrd. | 10⁹ | | **1 Terabyte (TB)** | 1 Bio. | 8 Bio. | 10¹² | --- # Dateneinheiten (Fortsetzung) | Einheit | Bytes | Potenz | Beispiel | |---------|-------|--------|----------| | **1 Petabyte (PB)** | 10¹⁵ | 1.000 TB | Netflix-Gesamtarchiv | | **1 Exabyte (EB)** | 10¹⁸ | 1.000 PB | Alle E-Mails weltweit/Tag | | **1 Zettabyte (ZB)** | 10²¹ | 1.000 EB | Internet-Traffic 2016 | | **1 Yottabyte (YB)** | 10²⁴ | 1.000 ZB | *Noch nie erreicht* | --- # Datenwachstum der Menschheit | Jahr | Datenmenge | Kontext | |------|------------|---------| | **100.000 v. Chr.** | 0 | Erste Menschen, nur Sprache | | **3.000 v. Chr.** | ~wenige KB | Keilschrift, Hieroglyphen | | **1450** | ~wenige GB | Gutenberg, Buchdruck | | **1986** | **2,6 EB** | 99% analog (Bücher, Vinyl, VHS) | | **2007** | **295 EB** | 94% digital | | **2025** | **181 ZB** | 90% unstrukturiert | --- # Der digitale Wendepunkt | Jahr | Analog | Digital | Digital-Anteil | |------|--------|---------|----------------| | **1986** | 2,6 EB | 0,02 EB | **1%** | | **2002** | — | — | **50%** (Wendepunkt) | | **2007** | 18 EB | 277 EB | **94%** | **Perspektive:** - 1986: "Petabyte" war ein theoretisches Konzept - 2025: ~181 Zettabyte jährlich produziert **Magnetband lebt:** LTO-Tapes bleiben günstigstes Archivmedium (AWS Glacier, Film-Archive, Rechenzentren) --- # 181 Zettabyte – Was bedeutet das? **2025:** Welt erzeugt **181 ZB** pro Jahr - **2,5 Quintillionen Bytes** täglich - **29 Terabyte** pro Sekunde - **90%** davon: unstrukturiert (Videos, Bilder, Audio) - **70%** davon: von Nutzern generiert **Zum Vergleich:** - 1 ZB = 250 Milliarden DVDs - 181 ZB = Jeder Mensch erzeugt ~23 TB/Jahr --- # AI-generierte Inhalte 2025 **Wie viel Content ist heute synthetisch?** | Bereich | AI-Anteil | |---------|-----------| | **Neue Webseiten** | ~74% enthalten AI-Content | | **Web-Text gesamt** | ~30-40% AI-generiert | | **Neue Artikel** | ~52% von AI geschrieben | | **Social-Media-Bilder** | ~71% AI-generiert | **Prognose 2026:** 90% des Online-Contents synthetisch --- # ASCII ## Ein Zeichensatz to rule them all --- ![bg fit](./assets/original-ascii-table.png) --- »256 Shades of Gray« ![bg fit](./assets/grayscale-gradient.png) --- # Was kann man mit 256 Zuständen machen? * **256 Zeichen** (Buchstaben, Zahlen, Symbole) * **256 Helligkeit bzw. Luminanz** (0 = Schwarz/Dunkel, 255 = Weiß/Hell) * **256 Lautstärkestufen** * **Zahlen 0-255** (oder -128 bis +127) * *Fällt Euch noch mehr ein?* --- ![bg fit](./assets/rgb-color-model.png) --- ![bg fit](./assets/rgb-color-model-with-title.png) --- ![bg right:50%](./assets/addaptive-substractive-colors.jpg) # Farben: RGB-Modell **1 Pixel = 3 Bytes** - **Rot:** 0-255 - **Grün:** 0-255 - **Blau:** 0-255 **Beispiele:** `FF 00 00` = Rot | `00 FF 00` = Grün `00 00 00` = Schwarz | `FF FF FF` = Weiß --- ![bg fit](./assets/hex-dec-lookup-table.png) --- # Das Problem: Sprachen **Die Welt hat mehr als 256 Zeichen!** - Englisches Alphabet: 52 (A-Z, a-z) - + Ziffern: 10 (0-9) - + Sonderzeichen: ~30 **≈ 90 Zeichen → passt in 1 Byte** **Aber:** ä, ö, ü, ß, é, à, ç, α, β, 中, 日, 😀 → **1 Byte reicht nicht!** --- # Unicode: Ein Standard für alle **Unicode (1991):** Jedes Schriftsystem der Welt **>150.000 Zeichen:** - Latein, Kyrillisch, Arabisch, Chinesisch, Japanisch... - Mathematische Symbole, Emoji, historische Schriften **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 --- # Beispiel: Bytes zählen **Text:** `"Why the heck braucht 💩 4 Bytes?!"` ``` W h y → je 1 Byte (4 Bytes) t h e → je 1 Byte (4 Bytes) h e c k → je 1 Byte (4 Bytes) → 1 Byte (Leerzeichen) b r a u c h t → je 1 Byte (7 Bytes) → 1 Byte 💩 → 4 Bytes! (0xF0 9F 92 A9) → 1 Byte 4 B y t e s ? ! → je 1 Byte (9 Bytes) ``` **Gesamt: 37 Bytes** --- # Hexadezimal: Lesbarkeit **Binär ist unleserlich:** `01001101 01010000 00110011` **Hexadezimal (Base 16):** `4D 50 33` (= "MP3" in ASCII) **Jede Hex-Ziffer = 4 Bits (ein "Nibble")** 0-9, A-F (10=A, 11=B, ..., 15=F) **ASCII Tabelle (0-127):** [https://www.asciitable.com](https://www.asciitable.com) --- ![bg fit](./assets/hex-code-hidden.png) --- ![bg fit](./assets/hex-code.png) --- ![bg fit](./assets/8bit-P-character.png) --- # Magic Numbers **Dateityp-Identifikation durch erste Bytes** | Format | Magic Number (Hex) | Lesbar? | |--------|-------------------|---------| | PNG | `89 50 4E 47` | ✗ P N G | | JPEG | `FF D8 FF` | ✗ ✗ ✗ | | PDF | `25 50 44 46` | % P D F ✓ | | ZIP | `50 4B 03 04` | P K ✗ ✗ | **Wichtig:** ASCII = nur 0-127! Werte darüber (z.B. `89` = 137) sind **nicht druckbar** (non-printable). *Hex-Editoren zeigen dafür `.` oder `ÿ` als Platzhalter.* --- ![bg right:25%](./assets/qr/hexed-it.png) # Hands-On: WTF Files **Aufgabe (30 Min):** 1. Drei Dateien ohne Extension: `wtf1`, `wtf2`, `wtf3` → Download: `materials/` Ordner 2. Öffne im Hex-Editor 3. Lies erste 16 Bytes 4. Identifiziere Format (Magic Number) 5. Benenne um und öffne **Tools:** [hexed.it](https://hexed.it) (online), HxD, Hex Fiend, Bless --- # Teil 2: Die MP3-Revolution ## Psychoakustik & Audio-Kompression --- ![bg](./assets/cassette-ipod.png) --- # Warum digital? Das Speicherproblem **Analog → Digital:** Kopieren ohne Qualitätsverlust, aber... **CD-Qualität (1982):** 44.100 Hz × 16 Bit × 2 Kanäle = **10,6 MB/Minute** | Inhalt | Größe | Problem (1990er) | |--------|-------|------------------| | 1 Song (4 Min) | ~42 MB | Passt gerade so | | 1 Album (60 Min) | ~635 MB | Ganze Festplatte! | **→ Digital ist super, aber zu groß für Speicher & Internet** --- ![bg cover](./assets/spectogram-chet-baker.png) --- # Was ist Sample Rate? **Analog → Digital ≙ Kontinuierlich → Diskret** ``` Analog (Vinyl): Digital (CD): ~~~~~~~~~~~~~~~ • • • • • • • • Kontinuierliche 44.100 Messpunkte Wellenform pro Sekunde ``` **Nyquist-Theorem:** > Um eine Frequenz zu rekonstruieren, braucht man mindestens **2× so viele Samples**. 44.100 Hz ÷ 2 = **22.050 Hz** max. darstellbare Frequenz (Mensch hört: ~20 Hz bis ~20.000 Hz → passt!) --- # Kompression ## Weniger Daten, gleiche(?) Information --- ![bg fit](./assets/compression-types.png) --- # Sample Rate vs. Bit Depth **Zwei Dimensionen der Digitalisierung:** | Dimension | Was bedeutet es? | CD-Qualität | |-----------|------------------|-------------| | **Sample Rate** | Messungen pro Sekunde (horizontal) | 44.100 Hz | | **Bit Depth** | Genauigkeit pro Messung (vertikal) | 16 Bit | **16 Bit = 2¹⁶ = 65.536 Lautstärkestufen** (von absoluter Stille bis maximaler Lautstärke) --- # Verlustfrei vs. Verlustbehaftet | | Verlustfrei (Lossless) | Verlustbehaftet (Lossy) | |---|---|---| | **Prinzip** | **Redundanz** entfernen | **Irrelevanz** entfernen | | **Reversibel** | Ja (Original wiederherstellbar) | Nein (Daten unwiederbringlich weg) | | **Reduktion** | 30-50% | 80-99% | | **Formate** | ZIP, PNG, FLAC, GIF | JPEG, MP3, H.264/H.265 | **Faustregel:** Code/Archiv → verlustfrei · Medien → verlustbehaftet --- # Verlustfrei: Lauflängenkodierung (RLE) **Original:** `AAAAABBBCCCCCCCC` (16 Zeichen) **Komprimiert:** `5A3B8C` (6 Zeichen) → **62% kleiner** **Prinzip:** Wiederholungen zählen statt wiederholen --- # Verlustbehaftet: Der Trick **Kernidee:** Entferne, was Menschen nicht wahrnehmen | Format | Nutzt Schwächen von... | Fachbegriff | |--------|------------------------|-------------| | **JPEG** | Auge (Farbe < Helligkeit) | Psychovisuell | | **MP3** | Ohr (Maskierungseffekte) | Psychoakustik | --- ![bg right:40%](./assets/karlheinz-brandenburg.jpg) # Karlheinz Brandenburg **"Vater der MP3"** * Diplom-Ingenieur, Universität Erlangen-Nürnberg * Fraunhofer IIS (Institut für Integrierte Schaltungen) * Forschung ab 1982, Patent 1988 * Hörte "Tom's Diner" über 10.000 Mal --- # Die Geburt der MP3 **1982:** Universität Erlangen-Nürnberg Karlheinz Brandenburg, Diplom-Ingenieur **1987:** Fraunhofer IIS entwickelt MPEG-1 Audio Layer III **1988:** Patentanmeldung **1992:** Erste Software-Implementierung **1995:** .mp3 Dateiendung offiziell --- ![bg right:50%](./assets/suzanne-vega.jpg) # Suzanne Vega **"Tom's Diner" (1987)** - A cappella (keine Instrumente) - Klare, hohe Frequenzen - Perfekter Stresstest für Kompression - Der erste Song, der als MP3 kodiert wurde --- # "Tom's Diner" **Warum dieser Song?** - A cappella (keine Instrumente) - Suzanne Vegas Stimme ist "schwierig" - Klare, hohe Frequenzen → Stresstest > If I could code Suzanne Vega's voice well, I could code anything. — Karlheinz Brandenburg --- # Wie funktioniert MP3? Ein Zusammenspiel aus vielen Faktoren: * **1. Frequenz-Analyse (FFT)** Audio → Frequenzspektrum * **2. Psychoakustisches Modell** Welche Töne hört Mensch nicht? * **3. Quantisierung** Unwichtige Frequenzen reduzieren * **4. Huffman-Coding** Lossless-Kompression der Restdaten --- # Bitrate: Der Qualitäts-Knopf | Bitrate | Qualität | Kompression | |---------|----------|-------------| | **128 kbps** | Hörbar schlechter | ~11x | | **192 kbps** | Akzeptabel | ~7x | | **256 kbps** | Gut | ~5,5x | | **320 kbps** | "CD-Qualität" | ~4,4x | **Original CD:** 1.411 kbps (unkomprimiert) --- ![bg fit](./assets/audio-spectrogram.png) --- # Der Patentkrieg **1990er:** Fraunhofer + Thomson halten MP3-Patente **Lizenzgebühren:** - $0,75 pro Decoder - $2,50 pro Encoder **Problem:** Napster (1999) → unkontrollierte Verbreitung **2017:** Patente laufen aus → MP3 ist frei --- ![bg right:50% fit](./assets/napster-interface.png) # Napster (1999) **P2P-Filesharing für MP3s** - Shawn Fanning, 19 Jahre alt - 80 Millionen User in 2 Jahren - Musikindustrie verklagt (2001) - Pandora's Box: Nicht mehr aufzuhalten --- # Napster & Musikindustrie **1999:** Napster startet **2001:** 80 Millionen User **Musikindustrie:** - CDs kosten $15-20 - MP3s gratis (illegal, aber egal) - Einzelne Songs statt Alben **2001:** Napster verklagt, geschlossen **Aber:** Pandora's Box offen → LimeWire, Kazaa, BitTorrent, später Spotify --- # Kulturelle Revolution **MP3 veränderte:** ✓ Musik wurde portabel (Walkman → iPod) ✓ Alben wurden irrelevant (Playlists) ✓ Musikkonsum explodierte (kostenlos/billig) ✓ Künstler verloren Kontrolle **Aber auch:** ❌ Künstler verdienen weniger pro Stream ❌ Audio-Qualität sank (Loudness War) ❌ Physische Medien starben --- # Hands-On: MP3 sezieren **Aufgabe (30 Min):** 1. Lade Lied runter (eigenes oder CC) 2. Konvertiere in verschiedene Bitraten: - 320 kbps, 128 kbps, 64 kbps 3. Tool: **Audacity** (kostenlos) 4. Höre Unterschiede (Kopfhörer!) 5. Vergleiche Dateigrößen **Spektrogramm:** Klick auf Track-Name → Spektrogramm [https://manual.audacityteam.org/man/spectrogram_view.html](https://manual.audacityteam.org/man/spectrogram_view.html) --- # Fragen & Diskussion **Kontakt:** mail@librete.ch **Folien:** Online verfügbar unter https://librete.ch/hdm/223015b --- # Lizenz & Attribution Diese Präsentation ist lizenziert unter **Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)** - Erlaubt Teilen & Anpassen mit Namensnennung - Adaptionen müssen unter gleicher Lizenz geteilt werden Vollständige Lizenz: https://creativecommons.org/licenses/by-sa/4.0/