Multimediale Systeme
Zur Navigation springen
Zur Suche springen
Multimediale Systeme (MSys) | |
---|---|
Vertiefungsrichtung | MIKS |
Vorlesende | Wuttke |
Ort | Hs2 |
Klausurergebnisse
Abschluss
- Projektseminar
- Vortrag 20 min
- Abschluss: Vortrag + Ausarbeitung
oder
- Klausur zum letzten VL Termin
Vorlesung
Composite FBAS
- Helligkeit und Chrominanz in einem Signal für Kompatibilität mit S/W-Signal
Komponentenkodierung
- YCrCb: Y - ..., Cr - Chrominanz Rot, Cb - Chrominanz Blau
- 4:2:2 in einer Zeile teilen sich 4 Pixel 2 Cb und 2 Cr-Werte
- 4:2:0 2 Werte werden gespart; Flächenmäßig teilen sich 4 Pixel einen Farbwert, was das Bild bei Flächendarstellungen verbessert
Kodierung
Adaptive Huffman Codierung
- WÄHREND des Sendens Häufigkeiten-Baum zählen
- nach jedem Zeichen, das gesendet wurde, Baum neu berechnen und evtl umbauen
- es wird von einem initialen Baum ausgegangen
- Sender und Empfänger müssen synchron laufen und gleiche Algorithmen zum Baumumbauen haben
LZW -Comprimierung
- Häufigkeiten von Zeichen müssen nicht bekannt sein
- adaptiv
- verlustfrei
- nicht optimal bezüglich der Entropie (initiales Wörterbuch, welches ergänzt wird)
Hybrid Codierung
- Quellen- und Entropiecodierung
JPEG
- Farbraumumwandlung von zB RGB > YCbCr
- sparen, indem bei Farbanteilen schon mal geringer gesampled wird (also weniger Werte als Y)
z.B. 2Y + 1Cb + 1Cr
- Y = 0,299R + 0,587G + 0,114B
- Cb = (B - Y)/1,772 + 0,5
- Cr = (R - Y)/1,402 + 0,5
- Also aus 4x8 RGB-Matrix (jedes Element der Matrix ist ein Pixel mit RGB-Vektor) werden 3 Matrizen: 4x8 für Y, 4x4 Cr und 4x4 Cb
- DCT
- Bild in 8x8 Blöcke teilen und je Block DCT anwenden (Formel siehe Folien)
- Quantisierung
- ZickZach-Scan --> Vektor
- Lauflängenkomprimierung (RLC): AC-Werte werden codiert (wegen den vielen 0 bei höheren Frequenzen)
- DC-Wert wird DPCM codiert
- resultiert alles in der Hufman-Codierung
MPEG
- Codierungsvarianten für Bilder und Videotechnik fallen zusammen
- MPEG 1 1993 --> VHS auf CDROM bringen bei gleicher Qualität
- MPEG 2 1995 einige Vorteile (besser skalierbar, höhere Genauigkeit in den einzelnen Schritten,
andere Quantisierungsmatrix pro Bild möglich, Präzision der DCT variabel) ggb. 1, DVD Standard
- PAL 1 Stunde ca. 77 GByte Daten
- Bewegungsvektor
- Bewegtes Objekt
- Schwenk
- Zoom
- Suche nach Makroblöcken, die übereinstimmen (Makroblock im Suchfenster bewegen und maximale Übereinstimmung gefunden ergibt Bewegungsvektor)
- Schließlich wird Vektor und nicht Makroblock abgespeichert. Differenz wird noch einzeln mit geliefert
MPEG-Schnitt
- Bildfolge: IBBPBBIBBPBBI .. GOP (Group of Pictures)
- Schneiden
- GOP-Genau .. GOP bleibt erhalten, unabhängig vom gewählten Frame
- Frame-Genau ..
- vor I-Frame .. GOP wird verkleinert, alle Frames werden beibehalten
- P-Frame .. P wird zu I-Frame, Rest übernehmen
- B-Frame .. B wird zu I-Frame; zuerst aber ALLE B zu I-Frames machen, die nach dem letzten I-Frame kommen und Rest übernehmen
Einfluss der Medien auf die Rechnerarchitektur
MMX (Multi Media Extensions)
- häufigst 8-Bit Werte
- bei Bildern glätten, überblenden, komprimieren
- RGB 8-Bit werden getrennt berechnet
- 32-Bit Register unterfordert
- man könnte 64 Bit Register mit je 8x8Bit aufteilen, aber mit normalen Operationen geht das nicht (Überlauf hinterste 8Bit auf nächste 8Bit entstanden?)
- ODER einfach nur 8 aus 64 Bit benutzen -> uneffektiv
- 1997: MMX eingeführt: sollte Nachteile mit großen Registern abschaffen
- SIMD: single instruction multiple Data, z.B. schwärzen eines Bildes: jeder Pixel muss dunkler gerechnet werden
- andere Übertragsbehandlung notwendig
- Daten packen und entpacken: 8 8Bit-Werte in 64Bit Register und vom Register wieder raus, oder 4 16Bit in 64 Bit usw.
- Saturation (Sättigung): Max und Min Grenze für Werte: FEh + 05h => FFh anstatt 03h im Register für 8Bit Wert
- noch paar Befehlte: FFT, gewichtete Summenbildung, Maske (nur bestimmte Bereiche enes Bildes sehen)
- Kompatibilität = Kompromiß
- MMX erfordert Umschaltung: 64Bit Floating Point Register werden für die Multimedia Befehle missbraucht
- neue Datentypen: Packed Byte (8x8Bit), Packed Words, Packed DWords
- 100 "neue" Befehle ergeben sich aus paar Multimedia Befehle mit neuen Datentypen und noch irgendwas
- Befehl Vergleich: "normal": Substraktion, Flag-Beeinflussung, keine Registeränderung
- Bild: Objekt mit Hintergrund, Hintergrund soll erneuert werden
- Maske wird erstellt (Chroma Keying): dort wo Objekt ist, wird an jedem Pixel eine 0 gesetzt, Hintergrund wird 1 gesetzt
- Hintergrund: Vergleich aktuelles Pixel mit Hintergrundfarbe.
- Falls gleich, Wert im Register -> 1
- Falls ungleich, Wert im Register -> 0
- Register ergibt Maske
PCMPEQ Vergleich + Register setzen
- ohne Vergleichsbefehl müsste subtrahiert werden, Flag prüfen, Sprung Befehl, Register schreiben
CMP Reg,Hintergrund MOV Reg,00h JNZ MOV Reg,FFh
- Verknüpfen: Maske&Bild oder Maske&Hintergrund2 => neues Bild
- Alpha Blending: Mischen von Bildern