Präsentation herunterladen
Veröffentlicht von:Josef Hummel Geändert vor über 8 Jahren
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 : 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
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
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.