Multimediale Systeme

Aus II-Wiki
Wechseln zu: Navigation, Suche
Multimediale Systeme (MSys)
Vertiefungsrichtung MIKS
Vorlesende Wuttke
Ort Hs2


Klausurergebnisse

Noten


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