Quellencodierung NTM, 2006/05, 9.3 Quellencodierung, Rur, 1 Referenzen [1]Proakis, Salehi, „Grundlagen der Kommunikationstechnik“, Pearson, 2004. [2]D.

Slides:



Advertisements
Ähnliche Präsentationen
Audio & Videoformate Max Rennhofer.
Advertisements

Dateiformate Tobias Rolle IT takes more than systems …
Motivation Bisher: Codes mit möglichst kurzer Codelänge.
christiane, steffen und stephan
Suche in Texten (Stringsuche )
Audioformate in der Unterhaltungselektronik
Dr. Monique Jucquois-Delpierre
2.1 Kodierung von Zeichen 2.2 Kodierung von Zahlen
Berechnung von digitalen Signalen Jonathan Harrington.
Kompressionsverfahren für Texte
Kompressionsverfahren (für Texte)
Grundlagen Videokompression
Huffmans Kompressionsverfahren
Mathematische Grundlagen der Video – Kompression
Algorithmen und Komplexität
Grafikkomprimierung Andreas Pretzsch.
Multimediatechnik / Audio Dipl. -Ing. Oliver Lietz
Audio-Kompression MPEG Audio MPEG Moving Pictures Experts Group
Medien- Technik Datei-Formate: TIFF Tagged Image File Format.tif.tiff.
Huffman Entropie-Codierung Codierung mit variabler Länge
Digital Audio Medientyp digital audio representation
Digital Audio Medientyp digital audio representation
Wie funktionniert das Musikklauen denn im Detail?
Kakuro Regeln und Strategien
FHP - Fachbereich Bauingenieurwesen
Gierige Methoden "kurzsichtig handeln, langfristig gewinnen"
BILDFORMATE von Margarita Isjurowa.
Computational Thinking Online Algorithmen [Was ist es wert, die Zukunft zu kennen?] Kurt Mehlhorn Konstantinos Panagiotou.
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation
Information und Kommunikation
Java, Java, Java R. Morelli
Theorie Praktische Beispiele
MATHEMATIK UND AKUSTISCHE SIGNALVERARBEITUNG
Analog-Digital Umsetzer NI USB 6009 Blockschaltbild
Daniela Wurhofer und Ismail Karagöz
Theorie Praktische Beispiele
Rechnersysteme Marcel Waldvogel. Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 2  Wer bin ich?  Die Vorlesung.
Videoformate ... gibt es nicht?! Gute Quellen:
Kap Multimedia.
Theorie Praktische Beispiele
Audiowandlung und Formate
JPEG Joint Photographic Experts Group Thomas Leinmüller
Dateiformate in der Bildbearbeitung
Kompressionsverfahren
Softwaretechnologie für Fortgeschrittene Teil Thaller Stunde III: Bildverarbeitung III Köln 2. Dezember.
Wichtige Transformationen
Quantisierung Seminar Multimediadatenformate Oliver Richter.
Ein Referat von Robert Becker
Seminar Computergrafik
Analog-Digital-Wandler
Grafikformate Nicolas Ruh.
und Informationen über den Scanner
Florian Hutter & Nicole Waibel
Binärbäume.
Sükün_Karatas Grundlagen der Codes Sükün_Karatas 3aFD.
Teilnahmeformular Beste Mediastrategie Out of Home.
JPEG Ingo Kregel Layout: R G B Lila: Blau:
X. Übungsblatt – Aufgabe X a)Erstellen Sie den Huffman-Codierungsbaum für die folgende Zeichenkette: ABRAKADABRASIMSALABIM Vorgehensweise: 1.Tabelle mit.
Image compression Seminar : Bildverarbeitung und Computer Vision
Programmiersprachen II Fortsetzung Datenstrukturen Balancierte Bäume 3 Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Random Access: Einleitung TDMA-, FDMA- oder CDMA-Mehrfachzugriffssysteme Benutzertrennung über die Zeit, die Frequenz oder über Codes Random Access Systeme.
Kapitel 7.12 OFDM-Modulation
Quellencodierung NTM, 2006/05, 9.3 Quellencodierung, Rur, 1 Referenzen [1]Proakis, Salehi, „Grundlagen der Kommunikationstechnik“, Pearson, [2]D.
Faltungscodes Vorteile
Systeme II 2. Die physikalische Schicht Christian Schindelhauer Technische Fakultät Rechnernetze und Telematik Albert-Ludwigs-Universität Freiburg Version.
Spärliche Kodierung von Videos natürlicher Szenen Vortragender: Christian Fischer.
 Präsentation transkript:

Quellencodierung NTM, 2006/05, 9.3 Quellencodierung, Rur, 1 Referenzen [1]Proakis, Salehi, „Grundlagen der Kommunikationstechnik“, Pearson, [2]D. Salomon, „Data Compression“, Springer, [3]D. Pan, „A Tutorial on MPEG/Audio Compression“, [4] Verlustlose Quellenkomprimierung (Redundanz-Reduktion) ursprüngliche Daten können exakt rekonstruiert werden Statistische Kompressionsmethoden wie z.B. Huffman-Coding Wörterbuch-basierende Kompression (LZW-Coding): z.B. winzip Verlustbehaftete Quellenkomprimierung (Irrelevanz-Reduktion) nur für Senke (z.B. Ohr) relevante Information wird übertragen Kompressionsrate bzw. Wiedergabequalität oft wählbar Beispiele: (LPC-) Vocoder, MPEG/Audio und JPEG, MPEG

Quellencodierungstheorem NTM, 2006/05, 9.3 Quellencodierung, Rur, 2 diskrete Quelle X[0], X[1], X[2],... mit H bit / Symbol Information Voraussetzung Quellencodierungstheorem (Shannon, 1948) Die Quelle kann verlustlos codiert werden, solange die Coderate R ≥ H. Umgekehrt, wenn R < H, kann die Quelle auf keinen Fall verlustlos codiert werden. Quelle ohne Gedächtnis (DMS): H = H(X) Quelle mit Gedächtnis: Entropierate H = lim n->∞ H(X[0],...,X[n-1]) / n Das Theorem gibt Bedingungen für die Existenz von Quellencodes an. Es liefert aber keine Algorithmen.

Huffman-Codierung Grundidee Häufig vorkommende Blöcke werden mit kurzen Codeworten codiert. Problem mit Codeworten variabler Länge: Synchronisation! man bevorzugt präfixfreie Quellencodes Kein Codewort ist ein Präfix (Vorsilbe) eines anderen Codeworts. eindeutig und sofort (ohne Verzögerung) decodierbar Beispiel Der Code { [0], [10], [110], [1110], [1111] } ist präfixfrei. Detektion Codewortende, wenn „0“ kommt oder nach vier „1“ Huffman-Codes sind optimal haben minimale mittlere Codewortlänge unter allen präfixfreien Codes Huffman Encoder Blöcke fester Länge Codeworte variabler Länge NTM, 2006/05, 9.3 Quellencodierung, Rur, 3

Huffman-Algorithmus 1. Symbole Knoten eines Baums zuweisen 2.zwei Symbole mit kleinster Wahrscheinlichkeit in neuem Symbol zu- sammenfassen, neuer Knoten hat Summe der Wahrscheinlichkeiten 3.wenn nur noch 2 Symbole bzw. Knoten übrig bleiben, 4. sonst 2. 4.von der Wurzel aus bei jeder Verzweigung nach oben eine „0“ und nach unten eine „1“ eintragen (auch umgekehrt möglich) Beispiel: DMS mit H(X) = 2 bit / Symbol, Alphabet A = {A,B,C,D,E} 0A1/2 100B1/8 101C1/8 110D1/8 111E1/8 1/4 1/ Wurzel R = E[L] = (1/2)·1+4·(1/8)·3 = 2 bit / Symbol Code ist optimal! D. Huffman (1952) NTM, 2006/05, 9.3 Quellencodierung, Rur, 4

Huffman-Codierung (2) Rate bzw. mittlere Codewortlänge L(x): Länge des dem Symbolwert x zugeordneten Codeworts Codierung von n Symbolen einer DMSH(X) ≤ R < H(X) + 1/n gilt auch für Quellen mit Gedächtnis, wenn H die Entropierate darstellt => R -> H(X) von oben, Gleichheit wenn P X (x m )=2 -α M-wertige Huffman-Codes => Algorithmus einfach erweiterbar Nachteile 1.Huffman-Codes hängen stark von der Quellenstatistik ab 2.Quellenstatistik muss im voraus bekannt sein (ev. zuerst „messen“) 3.Komplexität wächst exponentiell mit der Blocklänge n NTM, 2006/05, 9.3 Quellencodierung, Rur, 5

Daten-Kompression mit Wörterbuch Referenz D. Salomon, „Data Compression: The Complete Reference“, 3rd Edition, Springer-Verlag, 2004 Statistische Kompressionsmethoden basieren auf statistischem Datenmodell (siehe z.B. Huffman) Qualität hängt davon ab, wie gut das Modell ist Wörterbuch-basierende Kompressionsmethoden encodieren Symbolstrings mit Wörterbuch-Referenzen fester Länge Wörterbuch ist statisch oder dynamisch (zu bevorzugen) sind Entropie-optimal, wenn grosse Files komprimiert werden im Prinzip bessere Kompression als mit statistischen Methoden normalerweise sind Dekoder einfacher als Encoder J. Ziv und A. Lempel entwickelten LZ77 und LZ78 Methoden => grosse Variantenvielfalt, breit eingesetzt, vor allem auch LZW NTM, 2006/05, 9.3 Quellencodierung, Rur, 6

LZ77 (Sliding Window) FISCHERS FRITZ FISCHT FRISCHE F Sliding Window Such-Buffer = Wörterbuch (schon verarbeitet) Vorschau- Buffer S (typ. einige KBytes)L (typ. einige 10 Bytes) Input Symbole FISCHERS FRITZ FISCHT FRISCHE FISCHE 1.Erstes Symbol des Vorschau-Buffers im Such-Buffer suchen rückwärts von rechts nach links, hier: Leerschlag 2.Token der längsten (letzten) Übereinstimmung ausgeben Token = (Offset, Länge, nächstes Symbol), hier: (13,4,“S“) Token-Länge: [log 2 (S)] + [log 2 (L-1)] + 8, typisch: = 24 Bit wenn keine Übereinstimmung: (0,0,nächstes Symbol) 3.Fenster um Länge+1 nach rechts verschieben Output Token NTM, 2006/05, 9.3 Quellencodierung, Rur, 7

LZ77 (Sliding Window) Beispiel Decoder ist viel einfacher als Encoder Buffer gleicher Grösse wie im Encoder erforderlich findet Übereinstimmung mit Offset und Länge (kein Suchen!) LZ77 vergleicht Vorschau-Buffer mit benachbartem Input-Text Daten mit nahe beieinander liegenden „Mustern“ komprimieren gut Daten mit weit auseinander liegenden „Mustern“ komprimieren schlecht Bessere Kompression mit grösseren Buffern Vorschau-Buffer muss aber klein gehalten werden (# Vergleiche!) Such-Buffer darf auch nicht allzu gross sein (Suchzeit!) Verwendung in embedded systems mit Huffman kombiniert im vielbenutzten Deflate-Algorithmus Zip, Gzip => HTTP, PPP, PNG, MNG, PDF Kompressionsfaktoren 1/R = 2.5 … 3 für Text ANAN=> (0,0,“A“) ANANA => (0,0,“N“) ANANAS=> (2,3,“S“) Vergleich auf Vorschau-Buffer ausgedehnt! ANANAS=> fertig, da Vorschau-Buffer leer NTM, 2006/05, 9.3 Quellencodierung, Rur, 8

JPEG Gemeinsames Standardisierungsprojekt von CCITT und ISO JPEG steht für Joint Photographic Experts Group Start 1987, erster Draft-Standard 1991, heute weit verbreitet verlustbehaftetes Kompressionsverfahren für natürliche Bilder für Grafiken usw. PNG-Bilddatenkompression vorteilhafter Wichtigste Schritte 1.Transformation Farbbilder RGB => Luminanz / Chrominanz Auge ist viel empfindlicher auf kleine Helligkeitsunterschiede (Luminanz) als auf kleine Farbunterschiede (Chrominanz) Vorbereitung für Datenkompression, kein Informationsverlust 2.Downsampling der beiden Chrominanz-Komponenten Reduktion 2 Chrominanz-Komponenten um Faktor 2 oder 4 NTM, 2006/05, 9.3 Quellencodierung, Rur, 9

JPEG 3.Pixel-Gruppierung Farbkomponenten in 8x8 Blöcke Ausnützung der horizontalen und vertikalen Korrelation Blöcke werden separat komprimiert (Schwachstelle!) 4.Diskrete Cosinus Transformation (8x8 DCT) Transformation in den Frequenzbereich Vorbereitung für Datenkompression DC und 3-4 tieffrequente AC-Werte enthalten „Bildinformation“ 5.Individuelle Quantisierung einzelner Frequenzkomponenten Prinzip: Frequenzkomponenten mit viel bzw. wenig Bildinformation werden fein bzw. grob quantisiert 6.Entropy-Coding der quantisierten Frequenzkomponenten verlustlos, Kombination von RLE und Huffman 7.Addition von Header und JPEG-Parameter NTM, 2006/05, 9.3 Quellencodierung, Rur, 10

JPEG Blockverarbeitung 2D- DCTQuantizer Entropy Encoder Compressed Data 8x8 Blöcke 2D- IDCTDequantizer Entropy Decoder rekonstruierte Blöcke NTM, 2006/05, 9.3 Quellencodierung, Rur, 11

24 Bit / Pixel Originalbild mit True Color Auflösung Bit / Pixel (Kompressionsfaktor ) Normalerweise nicht vom Original unterscheidbar. Genügt den höchsten professionellen Anforderungen Bit / Pixel (Kompressionsfaktor ) Exzellente Qualität. Genügt den meisten Anforderungen Bit / Pixel (Kompressionsfactor ) Gute bis sehr gute Qualität. Genügend für viele Anwendungen Bit / Pixel (Kompressionsfaktor ) Bescheidene bis gute Qualität. Genügend für gewisse Anwendungen. JPEG - Kompressionsfaktor und Bildqualität NTM, 2006/05, 9.3 Quellencodierung, Rur, 12

Audiokompression Schritte der Digitalisierung Abtastung: verlustlos wenn Rate f s [Sps] > 2 x Signalbandbreite Quantisierung: verlustbehaftet, ca. 6 dB SNR pro Bit Auflösung Referenz-Datenraten PCM-Telefonie: 8 kSps x 8 Bit/S = 64 kb/s Hz für Sprachverständlichkeit ausreichend CD-Audio: 2 x 44.1 kSps x 16 Bit/S ≈ 1.4 Mb/s (netto, Stereo) 20-20‘000 Hz und 90 dB Dynamik, Ziel klangtreue Wiedergabe Kompressionsfaktoren (LPC)-Vocoder: typ. Datenreduktion 1:5 => 13 kb/s (GSM-Qualität) MP3: typ. Datenreduktion 1:10…12 => 128…112 kb/s NTM, 2006/05, 9.3 Quellencodierung, Rur, 13

Übersicht LPC-Sprachkompression Approximation Entstehungsprozess des Sprachsignals Modellierung menschlicher Vokaltrakt (à priori Wissen) Kompression durch Übertragung Filterparameter, benutzte Quelle, Pitch-Frequenz, Lautstärke GSM-Vocoder: 13 kb/s Rausch- generator Puls- generator Allpol- Filter Parameter Approximation ms Sprachburst Pitchfrequenz NTM, 2006/05, 9.3 Quellencodierung, Rur, 14

MPEG / Audio MPEG: Motion Pictures Experts Group Audio- und Videokompression im Auftrag ISO und IEC MPEG Audio Standard umfasst 3 Layers hierarchische Kompressionsmethoden jeder Layer ohne Video für Audiokompression verwendbar auch in DAB, DVB und DRM eingesetzt Arbeiten dauerten von 1988 bis 1992 Layer 3 am bekanntesten (MP3) beste Kompression, aber am kompliziertesten Typische Datenreduktion bzw. Datenrate (Stereo) (Quelle: [4]) Layer 1: typ. Datenreduktion 1:4 => 384 kb/s Layer 2: typ. Datenreduktion 1:6…8 => 256…192 kb/s Layer 3: typ. Datenreduktion 1:10…12 => 128…112 kb/s kleinere Datenraten bei kleinerer Audiobandbreite NTM, 2006/05, 9.3 Quellencodierung, Rur, 15

Ruhehörschwelle und Lautstärkeempfindung stark frequenzabhängig im Bereich 20-20‘000 Hz max. Empfindlichkeit im Bereich 2-4 kHz Frequenz-Maskierung leise Töne in der Nähe eines dominanten Tons werden „verdeckt“ Maskierungseffekt hängt von der Frequenz ab 27 kritische Bänder identifiziert (0-50 Hz, …, Hz) Zeitliche Maskierung kurzzeitige Empfindlichkeitsreduktion nach prägnantem Hörereignis 10ms wenig empfindlich, ab 200ms wieder voll empfindlich f Mithörschwelle unhörbare Töne hörbare Töne Menschliches Hörsystem NTM, 2006/05, 9.3 Quellencodierung, Rur, 16

MPEG-Audiokompression Filterbank psychoakust. Modell Quantisierer Codierer Grundstruktur (MUSICAM: masking pattern universal subband integrated coding and multiplexing) Multiplexer Coder berechnet für jedes Teilband Mithörschwelle + Quantisierungsstufenhöhe Layer 1 (mono) 32 Teilbänder je mit einer Abtastfrequenz von 48/32 kHz = 1.5 kHz 12 Samples werden zu einem Block von 8ms Dauer zusammengefasst Header 12 Bit Sync 20 Bit Info Kanalcode (16 Bit, optional) Bit- Zuweisung 4 Bit/Band Skalen- faktoren 6 Bit/Band 32x12 Samples je mit 0…15 Bit NTM, 2006/05, 9.3 Quellencodierung, Rur, 17

576 Teilbänder (polyphase + MDCT) Huffmann-Coding (häufige kleine Werte => kürzere Codeworte) nichtlinear Quelle: [4] MP3 NTM, 2006/05, 9.3 Quellencodierung, Rur, 18