Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Image compression Seminar : Bildverarbeitung und Computer Vision

Ähnliche Präsentationen


Präsentation zum Thema: "Image compression Seminar : Bildverarbeitung und Computer Vision"—  Präsentation transkript:

1 Image compression Seminar : Bildverarbeitung und Computer Vision
Betreuer : Prof. Dr.-Ing. Andrés Bruhn Wintersemester 2015/16 Cagri Tasci

2 Bildkomprimierung : Idee & Motivation
Digitale Bilder : Benötigen viele Bits zur Darstellung & Speicherung Erzeugen große Datenmengen Bildkompression: Reduziert Anzahl der benötigten Bits : Durch effizientere Codierung Durch Erkennung & Entfernung von Redundanz Durch Qualitätsverlust in akzeptablem Rahmen Erhöht somit Anzahl speicherbarer Bilder. Vorteilhaft für Bildverarbeitung & Anwendungen. Verlustfreie oder Verlustbehaftete Kompression 2 Cagri Tasci

3 Verlustfreie / Verlustbehaftete Kompressions
Verlustfreie Kompressionsverfahren sämtliche Informationen bleiben Erhalten Dekomprimierung möglich Verfahren erzielen effizientere Kodierung Grad der Komprimierung begrenzt Verlustbehaftete Kompressionsverfahren Nehmen Qualität-/ Informationsverlust in kauf Verlust möglichst unmerklich!! Nutzen Eigenschaften des Menschlichen Sehvermögens Original Bild wird verändert Dekomprimierung nicht möglich 3 Cagri Tasci

4 Huffman Coding 1952 von David A. Huffman entworfen
Algorithmus zur effizienteren Kodierung Reduziert Anzahl zur Kodierung benötigter Bits: Ordnet jedem Symbol Kodierung mit variabler Länge zu Häufigere Symbole werden kürzer kodiert Code ergibt sich durch entstandene Baumstruktur. Baumstruktur wird für Dekodierung gebraucht. Quelle: 4 Cagri Tasci

5 Huffman Coding : Verfahren
Input : Bild mit n unterschiedlichen Symbolen Beginne mit „Alphabet“ der Größe n Ordne jedem Symbol eine Auftrittswahrscheinlichkeit zu zwei Symbole mit geringster WS werden Kinder eines neuen Knotens Erhalte Alphabet der Größe n-1 Neuer Knoten hat Summe der Wahrscheinlichkeiten seiner Kinder Wiederhole Schritt 3 für alle Symbole Kodiere jedes linke Kind mit 0 Kodiere jedes rechte Kind mit 1 Speichere Huffman Kodierten Input 1 4/7 1 3/7 2/7 2/7 1 1 1 H U F M A N 1/7 1/7 2/7 1/7 1/7 1/7 Speichere : 5 Cagri Tasci

6 Run length Encoding Einfaches Verfahren Reduziert Redundanz
Effizient bei sich häufig wiederholenden Symbolen Übertrage nur Symbol mit jeweiligem Multiplikator Für : AAAABBBCCCCCC => 4A3B6C Besonders für simple Bilder ( z.B. Binary ) geeignet PROBLEM : Symbole mit nur sehr geringer Wiederholrate Kontinuierlicher Helligkeitsverlauf/-wechsel ist gewöhnlich LÖSUNG : Modifizierter RLE mit Bitplane Encoding 6 Cagri Tasci

7 Bitplane Encoding Übersetze jeden Grauwert in seine 8 Bit Darstellung
Beispiel 181 = Zerlege das Gesamte Bild in Bitplanes : Für jede Bitstelle wird jeweils ein Bitplane generiert. Bitplane berücksichtigt nur diese eine Bitstelle Jeder Pixel wird im Bitplane mit seinem Wert an jeweiliger Bitstelle dargestellt Es entstehen also 8 Binärbilder Die „höherwertigen“ Bitplanes enthalten kaum Störungen , können also effizient kodiert werden. PROBLEM: Selbst bei geringer Wertänderung können sich viele Bitstellen ändern LÖSUNG: Gray Code : Kodiert den Wert so das beim Inkrementieren sich jeweils nur eine Bitstelle ändert Quelle : Alessio Damato 7 Cagri Tasci

8 Verlustbehaftete Kompression
Quelle : Cagri c. Tasci 8 Cagri Tasci

9 JPEG Image Compression Standard
1992 von Joint Photographic Experts Group eingeführt Bietet 4 Kompressions Modi Bekanntester Modus basiert Auf Diskreter Cosinus Transformation Kompression erfolgt in 6 Schritten Farbraumwechsel Subsampling DCT auf 8x8 Pixeln Quantisierung der Koeffizienten Neuordnung der Koeffizienten Modifizierte Huffman Kodierung 9 Cagri Tasci

10 JPEG : Schritt 1 : Farbraumwechsel
Konvertiere den Farbraum von (R,G,B) zu (Y,Cb,Cr) Luminanz (Y) Originalbild (R,G,B) Chroma ( Cb & Cr) Quelle : wikipedia Quelle : 10 Cagri Tasci

11 JPEG : Schritt 2 : Subsampling
Luminanzinformation Chromainformation Quelle : wikipedia 11 Cagri Tasci

12 JPEG : Schritt 3 : DCT Idee: Vorgehen:
Übersetzt einzelne Helligkeitswerte vom Ortsraum in Frequenzraum Frequenz soll Farb-/ Helligkeitswechsel repräsentieren Vorgehen: Bild wird in 8x8 Pixel Blöcke zerlegt Jeder Pixel erhält Koeffizienten im Frequenzraum Für 0. Pixel wird Mittelwert des Blocks eingetragen Für alle anderen Pixel eine Veränderung zum Mittelwert DCT wird angewandt auf Jeden der 8x8 Blöcke Jede Komponente des Farbraumes ( Y,Cb,Cr) 12 Cagri Tasci

13 JPEG : Schritt 3 : DCT DC = F(0,0) AC = F(0,1)….F(7,7)
Niedrige Frequenzen = langsame Änderung DC AC (7,7) F(7,7): Hohe Frequenz = Rasche Änderung DC = F(0,0) enthält Mittelwert des Blockes AC = F(0,1)….F(7,7) Speichert Veränderung zum DC 13 Cagri Tasci

14 JPEG : Schritt 3 : DCT Quelle : Wikimedia commons Bei gewöhnlichen Bilder : kontinuierlicher Farbverlauf / Helligkeitswechsel Daher : Großteil der Informationen liegt in niedrigen Frequenzen => Werte konzentrieren sich in der oberen Linken Ecke 14 Cagri Tasci

15 JPEG : Schritt 4 : Quantisierung
Hierbei entsteht der Großteil der Reduktion & Verlust Hohe Frequenzen werden aus den Blöcken entfernt. Niedrige Frequenzen bleiben erhalten Sämtliche Einträge werden auf simplere zahlen „getrimmt“ Dividiere Jeden DCT Eintrag durch Eintrag in einer Matrix => Matrix hat sehr hohe Werte in der unteren rechten Ecke Wahl dieser Matrix entscheidet über Qualität der Kompression. Wird für gewünschten Kompressionsgrad erstellt Je Kompressionsgrad : größere Quantisierung 15 Cagri Tasci

16 JPEG Schritt 5 : Anordnung der Koeffizienten
Generiert den Mittelwert (DC) am Anfang der Kette Gefolgt von den Frequenzen im Verhältnis zum DC Und anschließend viele „0“ in Folge Ermöglicht effizientere Kodierung Quelle : https://www.imperialviolet.org/binary/jpeg/ 16 Cagri Tasci

17 JPEG Schritt 6 : Modifizierte Huffman Kodierung
Kodiert die entstandene Bitfolge mit modifiziertem Huffman Code Häufig auftretende Werte werden mit weniger Bits kodiert. Anschließend werden durch die Neuordnung entstandenen „0“-Ketten mit RLE kodiert. Es werden deutlich weniger Bits zum kodieren benötigt 17 Cagri Tasci

18 JPEG : Auftretende Artefakte
Quelle: 18 Cagri Tasci

19 JPEG 2000 Verwendet Wavelet Transformation anstatt von DCT
Keine periodischen Funktionen sondern „kurze Pulse“ Frequenz wird mit Ortsinformation kombiniert Gewisser Grad an Lokalität bleibt erhalten Stärkere aber auch gezieltere Informationsreduktion Blockartefakte werden somit vermieden Effizientere Komprimierung möglich JPEG 2000 unterstützt zudem Alphakanäle Quelle : Wikimedia commons 19 Cagri Tasci

20 JPEG & JPEG 2000 vergleich 20 04.12.2015 Cagri Tasci
Quelle : home.htwg_konstanz.de 20 Cagri Tasci

21 Literaturnachweis & Quellen
The JPEG still picture compression standard (1992) Gregory K. Wallace An Image Multiresolution Representation for Lossless and Lossy Compression Amir Said and William A. Pearlman, Digital Image Compression Techniques (1991) Majid Rabbani; Paul W Jones Wie funktioniert eigentlich JPEG? (2011) Florian Kniedler The Data Compression Book Mark Nelson , Jean-loup Gailly Computergrafik.informatiker-wissen.de Progressive biplanes coding for lossless image compression K. Funahashi, H. Kikuchi, and S. Muramatsu, JPEG2000 Image Compression Standard (2012) David Taubman, Michael Marcellin Compressed Image File Formats (1999) John Miano JPEG: Still Image Data Compression Standard William B. Pennebaker, Joan L. Mitchell 21 Cagri Tasci

22 Literaturnachweis & Quellen
https://www.imperialviolet.org/binary/jpeg/ A fast computational algorithm for the discrete Cosine Tranform Wen-hsiung chen, Harrison Smith, S.C. Fralick Bitplane coding of DCT coefficients for image and video compression Fan Ling, Weiping Li, Hongqiao Sun Grafikkodierung und –Kompression Prof. Dr. Christoph Meinel 22 Cagri Tasci

23 Vielen Dank für ihre Aufmerksamkeit
23 Cagri Tasci


Herunterladen ppt "Image compression Seminar : Bildverarbeitung und Computer Vision"

Ähnliche Präsentationen


Google-Anzeigen