Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

JPEG Seminar: Kompressionsalgorithmen Ruslan Ragimov Theoretical Computer Science Prof. Peter Rossmanith Betreuer: Alexander Langer Felix Reidl 4.07.2012.

Ähnliche Präsentationen


Präsentation zum Thema: "JPEG Seminar: Kompressionsalgorithmen Ruslan Ragimov Theoretical Computer Science Prof. Peter Rossmanith Betreuer: Alexander Langer Felix Reidl 4.07.2012."—  Präsentation transkript:

1 JPEG Seminar: Kompressionsalgorithmen Ruslan Ragimov Theoretical Computer Science Prof. Peter Rossmanith Betreuer: Alexander Langer Felix Reidl 4.07.2012

2 Einführung – Bilddarstellung, R-G-B und Y-U-V Farbräume Übersicht Einführung – Bilddarstellung, R-G-B und Y-U-V Farbräume Folie: Ruslan Ragimov 2 Zusammenfassung Vergleich mit anderen Verfahren Komprimierungsstrategie JPEG Überblick Komprimierungsstufen im Detail Vor-/Nachteile von JPEG

3 Einführung. Bilddarstellung Digitalbild Folie: Ruslan Ragimov 3 Pixel – kleinstes Bildelement mit einem Farbton 1 Bit: s/w8 Bits: Graustufen24 Bits: Farbbild (8 R, 8 G, 8 B) 400 x 400 19,5 kB 400 x 400 156,25 kB 400 x 400 468,75 kB

4 Einführung. R-G-B Farbraum Rot – Grün – Blau: additiver Farbraum Sukzessives Hinzufügen einer Farbe hat einen anderen Farbeindruck Durch Mischen von R-G-B bekommt man jeden Farbton Folie: Ruslan Ragimov 4

5 Einführung. Bildkompression Bildkompression Folie: Ruslan Ragimov 5 Bestimmen und Zusammenfassen von Redundanzen: Run-Lenght Encoding Lempel-Ziv-Welch Huffman-Coding lossless Welche Informationen können weggelassen werden??? lossy

6 Einführung. Y-U-V Farbraum Menschliches Auge: Höhere Empfindlichkeit zur Helligkeit als zur Farbe Folie: Ruslan Ragimov 6 Problem bei R-G-B: Helligkeitsinformation ist in jeder Komponente gespeichert

7 Einführung. Lossy Kompressionsmöglichkeit Folie: Ruslan Ragimov 7 Originalbild: R-G-B: Y-U-V: 24 Bits 8 Bits 4 Bits Quelle: Wikipedia

8 Übersicht Folie: Ruslan Ragimov 8 Zusammenfassung Vergleich mit anderen Verfahren Komprimierungsstrategie JPEG Überblick Komprimierungsstufen in Details Vor-/Nachteile von JPEG Einführung – Bilddarstellung, R-G-B und Y-U-V Farbräume

9 JPEG. Überblick: Geschichte Folie: Ruslan Ragimov 9 Joint Photographic Experts Group: Gegründet im Juni 1987 von CCITT und ISO Erster Entwurf in 1991 Hauptziele: Hohe Kompressionsrate und Qualität Benutzung von mehreren Parameter Gutes Resultat beim jeglichen durchgehenden Ton Anspruchsvoller aber nicht zu komplexer Algorithmus

10 JPEG. Überblick: Strategien Folie: Ruslan Ragimov 10 Kompressionsstrategien: Sequenziell: Jede Farbkomponente von links nach rechts von oben nach unten Progressiv: Mehrfache Blöcke (Scans) von grober zu detaillierter Darstellung Hierarchisch: Mehrfache Auflösungen Verlustfrei (Lossless) Baseline

11 JPEG. Überblick: Stufen Folie: Ruslan Ragimov 11 (De-) Kompressionsstufen: Bildvorbereitung DCT Kodierung Quantisierung Headerbeschreibung Normales Bild Komprimiertes Bild Modus: Baseline Lossless

12 JPEG. Stufe I: Bildvorbereitung Folie: Ruslan Ragimov 12 Bildvorbereitung: 1. Transformation von RGB zur YUV ! Nicht für die monochromen Bilder 2. Downsampling Auflösung von Farbkomponenten verkleinern ! Nicht für die monochromen Bilder ! Nur für hierarchische Strategie 3. Aufteilung in 8x8 Blöcke Pixel von jeder Komponente in 8x8 Blöcke teilen

13 JPEG. Stufe I: Bildvorbereitung Folie: Ruslan Ragimov 13 Aufteilung in 8x8 Blöcke Bei unvollständigen Blöcken werden die letzten Pixeln wiederholt

14 JPEG. Überblick: Stufen Folie: Ruslan Ragimov 14 (De-) Kompressionsstufen: Bildvorbereitung DCT Kodierung Quantisierung Headerbeschreibung Normales Bild Komprimiertes Bild Modus: Baseline Lossless

15 JPEG. Stufe II: DCT Folie: Ruslan Ragimov 15 (Forward / Inverse) Discrete Cosine Transformation Transformiert Daten von Blöcken in eine mathematische Domäne, die besser für die Kompression geeignet ist.

16 JPEG. Stufe II: DCT Folie: Ruslan Ragimov 16 DCT (1x8 Block) Beispiel: FDCT 161381112101216 34,64823-0,237385,496851,1610254,242641-1,10122-1,5115-0,61886 IDCT FDCT IDCT GROB FEIN

17 JPEG. Stufe II: DCT Folie: Ruslan Ragimov 17 DCT (1x8 Block) Beispiel: FDCT 161381112101216 34,64823-0,237385,496851,1610254,242641-1,10122-1,5115-0,61886 IDCT 00000000 00000000 -16-13-8-11-12-10-12-16 Abweichung von Originaldaten: GROB FEIN

18 JPEG. Stufe II: DCT Folie: Ruslan Ragimov 18 DCT (1x8 Block) Beispiel: FDCT 161381112101216 34,64823-0,237385,496851,1610254,242641-1,10122-1,5115-0,61886 IDCT 350000000 IDCT 12,37437 -3,62563-0,625634,3743691,3743690,3743692,3743690,374369-3,62563 Abweichung von Originaldaten: GROB FEIN

19 JPEG. Stufe II: DCT Folie: Ruslan Ragimov 19 DCT (1x8 Block) Beispiel: FDCT 161381112101216 34,64823-0,237385,496851,1610254,242641-1,10122-1,5115-0,61886 IDCT 350000000 IDCT 12,37437 -3,62563-0,625634,3743691,3743690,3743692,3743690,374369-3,62563 Abweichung von Originaldaten: GROB FEIN

20 JPEG. Stufe II: DCT Folie: Ruslan Ragimov 20 DCT (1x8 Block) Beispiel: FDCT 161381112101216 34,64823-0,237385,496851,1610254,242641-1,10122-1,5115-0,61886 IDCT 350500000 IDCT 14,6840713,3310811,4176610,06467 11,4176613,3310814,68407 -1,315930,3310773,41766-0,93533-1,935331,417661,331077-1,31593 Abweichung von Originaldaten: GROB FEIN

21 JPEG. Stufe II: DCT Folie: Ruslan Ragimov 21 DCT (1x8 Block) Beispiel: FDCT 161381112101216 34,64823-0,237385,496851,1610254,242641-1,10122-1,5115-0,61886 IDCT 350510000 IDCT 15,099813,2335310,927279,78688510,3424511,9080513,4286214,26833 -0,90020,2335322,927267-1,21312-1,657551,9080531,428622-1,73167 Abweichung von Originaldaten: GROB FEIN

22 JPEG. Stufe II: DCT Folie: Ruslan Ragimov 22 DCT (1x8 Block) Beispiel: FDCT 161381112101216 34,64823-0,237385,496851,1610254,242641-1,10122-1,5115-0,61886 IDCT 350514000 IDCT 16,5140211,819329,51305411,201111,7566710,4938412,0144115,68255 0,514016-1,180681,5130540,201098-0,243330,4938390,014409-0,31745 Abweichung von Originaldaten: GROB FEIN

23 JPEG. Stufe II: DCT Folie: Ruslan Ragimov 23 DCT (1x8 Block) Beispiel: FDCT 161381112101216 34,64823-0,237385,496851,1610254,242641-1,10122-1,5115-0,61886 IDCT 350514 IDCT 15,9473413,049448,53783411,467111,8733510,5451811,7081715,86653 -0,052660,0494360,5378340,467098-0,126650,545179-0,29183-0,13347 Abweichung von Originaldaten: GROB FEIN

24 JPEG. Stufe II: DCT Folie: Ruslan Ragimov 24 FDCT Wichtige Informationen (z.B.: mittlerer Farbton) Detaillierte Informationen (z.B.: scharfe Kanten)

25 JPEG. Stufe II: DCT Folie: Ruslan Ragimov 25 64 Basisbilder von DCT... + 8x8 Originalblock niedrig hoch niedrig hoch Frequenz

26 JPEG. Stufe II: DCT Folie: Ruslan Ragimov 26 167173176177179182187188 135148157169181186189192 907892113145172190194 1188058546391138177 15313210180655666115 1131019611799989299 39365699117130120 42282736100140133128 947-144502019-27-4 258208-27-63 5 97-72-7828-23-404 49140-24-32101-5-11 -444273 -1046 -22-5603513 5-8-313-6411 13-16-22-632 FDCT DCT (8x8 Block) Beispiel: 947-144502019-270 258208-27-6300 97-72-7828-23000 49140-24-320000 -44427300000 -22-56000000 50000000 00000000 167174181176175184187188 136141156171184192190188 938390113142166185203 1138158566994133175 1591289977605577113 109103108112107928799 37385688121133125120 4527214798135 127 IDCT

27 JPEG. Stufe II: DCT Folie: Ruslan Ragimov 27 167173176177179182187188 135148157169181186189192 907892113145172190194 1188058546391138177 15313210180655666115 1131019611799989299 39365699117130120 42282736100140133128 DCT (8x8 Block) Beispiel: 167174181176175184187188 136141156171184192190188 938390113142166185203 1138158566994133175 1591289977605577113 109103108112107928799 37385688121133125120 4527214798135 127 |Differenz| 01514200 17123614 35203659 51026352 642351112 421258650 220114350 316 2521

28 JPEG. Stufe II: DCT Folie: Ruslan Ragimov 28 Nachteile von DCT: Blöcke werden unabhängig voneinander transformiert Bei hoher Kompressionsrate(Quantisierung) können diese erkannt werden 163,2 KB28,3 KB

29 JPEG. Stufe II: DCT Folie: Ruslan Ragimov 29 Nachteile von DCT: DCT eignet sich schlecht für nicht-durchgehende Töne. Keine gute Komprimierung möglich 2550000000 000000 00000 0000 000 00 0 FDCT 114758106101805 -5811282660480150 0-26612815103007 -610-151127980190 0-480-9812765010 -180-300-65127420 0-150-190-4212722 -50-70-100-22128 114758106101800 -581128266048000 0-2661281510000 -610-1511270000 0-48000000 -180000000 00000000 00000000 IDCT 22384-35-4373412-26 2671717215-13-17-212 28224718896-8-53-1734 25826625518267-8-137 2432602762521829615-43 24725326827625518872-35 25625125326026624717184 262256247243258282267223

30 Modus: Baseline Lossless JPEG. Überblick: Stufen Folie: Ruslan Ragimov 30 (De-) Kompressionsstufen: Bildvorbereitung DCT Kodierung Quantisierung Headerbeschreibung Normales Bild Komprimiertes Bild

31 JPEG. Stufe III: Quantisierung Folie: Ruslan Ragimov 31

32 JPEG. Stufe III: Quantisierung Folie: Ruslan Ragimov 32 Quantisierungstabellen (erste Variante): 1611101624405161 12 141926586055 1413162440576956 1417222951878062 182237566810910377 243555648110411392 49647887103121120101 7292959811210010399 1718244799 1821266699 24265699 476699

33 JPEG. Stufe III: Quantisierung Folie: Ruslan Ragimov 33 Quantisierungstabellen (zweite Variante): 13579111315 357911131517 5791113151719 79111315171921 911131517192123 1113151719212325 1315171921232527 1517192123252729 19172533414957 917253341495765 1725334149576573 2533414957657381 3341495765738189 4149576573818997 49576573818997105 576573818997105113

34 JPEG. Stufe III: Quantisierung Folie: Ruslan Ragimov 34 167173176177179182187188 135148157169181186189192 907892113145172190194 1188058546391138177 15313210180655666115 1131019611799989299 39365699117130120 42282736100140133128 947-144502019-27-4 258208-27-63 5 97-72-7828-23-404 49140-24-32101-5-11 -444273 -1046 -22-5603513 5-8-313-6411 13-16-22-632 FDCT DCT (8x8 Block) Beispiel: 1611101624405161 12 141926586055 1413162440576956 1417222951878062 182237566810910377 243555648110411392 49647887103121120101 7292959811210010399 59-13511000 22210000 7-6-51000 48 0000 -22200000 -2000000 00000000 00000000

35 JPEG. Überblick: Stufen Folie: Ruslan Ragimov 35 (De-) Kompressionsstufen: Bildvorbereitung DCT Kodierung Quantisierung Headerbeschreibung Normales Bild Komprimiertes Bild Modus: Baseline Lossless

36 JPEG. Stufe IV: Encoding Folie: Ruslan Ragimov 36 Im Normalfall: DC Werte stellen den mittleren Farbton eines 8x8 Blocks dar und unterscheiden sich deshalb nur gering voneinander AC Werte eines Blocks bestehen aus mehreren Nullen zwischen denen andere Zahlen vorkommen können Ansatz: Kodiere die DC und AC Werte getrennt voneinander DC mit Huffman AC mit Kombination von RLE und entweder Huffman oder Arithmetic Coding

37 JPEG. Stufe IV: Encoding Folie: Ruslan Ragimov 37 Kodierung von DC Werte: Kodiere den ersten DC Wert und die Differenzen zu den Nächsten 1118AC 1114AC 1119AC 1120AC 1118-451

38 JPEG. Stufe IV: Encoding Folie: Ruslan Ragimov 38 WertZeileZeilenkode 000 -1 1110 -3 -2 2 32110 -7 -6 -5 -4 4 5 6 731110 -15 -14 -13 … -8 8 … 13 14 15411110 ……… -16383 -16382 … -8192 8192 … 16382 1638314111111111111110 -32767 -32766 … -16384 16384 … 32766 32767151111111111111110 32768161111111111111111 Konvertierungstabelle für DC Werte:

39 59-13511000 22210000 7-6-51000 48 0000 -22200000 -2000000 00000000 00000000 FDCT + Quant. JPEG. Stufe IV: Encoding Folie: Ruslan Ragimov 39 AC Kodierung: 1.Ordne die AC Werte zig-zag nacheinander -13;22;7;2;5;1;1;-6;4;-2;8;-5;1;1;0;0;1;-1;2;-1;0;-2;2;-1;-1;0…0

40 JPEG. Stufe IV: Encoding Folie: Ruslan Ragimov 40 AC Kodierung: 1.Ordne die AC Werte zig-zag nacheinander -13;22;7;2;5;1;1;-6;4;-2;8;-5;1;1;0;0;1;-1;2;-1;0;-2;2;-1;-1;0…0 WertZeileZeilenkode 000 -1 1110 -3 -2 2 32110 -7 -6 -5 -4 4 5 6 731110 -15 -14 -13 … -8 8 … 13 14 15411110 ……… -16383 -16382 … -8192 8192 … 16382 1638314111111111111110 -32767 -32766 … -16384 16384 … 32766 32767151111111111111110 32768161111111111111111 01…15 0:1010(EOB)11111111001(ZRL) 1:001100…1111111111110101 2:0111011…1111111111110110 3:1001111001…1111111111110111 4:1011111110110…1111111111111000 5:1101011111110110…1111111111111001 ……………

41 JPEG. Stufe IV: Encoding Folie: Ruslan Ragimov 41 AC Kodierung: -13;22;7;2;5;1;1;-6;4;-2;8;-5;1;1;0;0;1;-1;2;-1;0;-2;2;-1;-1;0…0 10110010 1101010110 100111 0110 100101 001 001 1001 100100 011 10111000 10010 001 001 WertZeileZeilenkode 000 -1 1110 -3 -2 2 32110 -7 -6 -5 -4 4 5 6 731110 -15 -14 -13 … -8 8 … 13 14 15411110 ……… -16383 -16382 … -8192 8192 … 16382 1638314111111111111110 -32767 -32766 … -16384 16384 … 32766 32767151111111111111110 32768161111111111111111 111001 11100 012…15 0:1010(EOB)11111111001(ZRL) 1:00110011100…1111111111110101 2:011101111111001…1111111111110110 3:10011110011111110111…1111111111110111 4:1011111110110111111110100…1111111111111000 5:1101011111110110111111110001001…1111111111111001 ………………

42 JPEG. Stufe IV: Encoding Folie: Ruslan Ragimov 42 AC Kodierung: -13;22;7;2;5;1;1;-6;4;-2;8;-5;1;1;0;0;1;-1;2;-1;0;-2;2;-1;-1;0…0 10110010 1101010110 100111 0110 100101 001 001 1001 100100 011 10111000 10010 001 001 111001 000 0110 000 WertZeileZeilenkode 000 -1 1110 -3 -2 2 32110 -7 -6 -5 -4 4 5 6 731110 -15 -14 -13 … -8 8 … 13 14 15411110 ……… -16383 -16382 … -8192 8192 … 16382 1638314111111111111110 -32767 -32766 … -16384 16384 … 32766 32767151111111111111110 32768161111111111111111 012…15 0:1010(EOB)11111111001(ZRL) 1:00110011100…1111111111110101 2:011101111111001…1111111111110110 3:10011110011111110111…1111111111110111 4:1011111110110111111110100…1111111111111000 5:1101011111110110111111110001001…1111111111111001 ……………… 11011 1101101

43 JPEG. Stufe IV: Encoding Folie: Ruslan Ragimov 43 AC Kodierung: -13;22;7;2;5;1;1;-6;4;-2;8;-5;1;1;0;0;1;-1;2;-1;0;-2;2;-1;-1;0…0 10110010 1101010110 100111 0110 100101 001 001 1001 100100 011 10111000 10010 001 001 111001 000 0110 000 1101101 0110 000 000 WertZeileZeilenkode 000 -1 1110 -3 -2 2 32110 -7 -6 -5 -4 4 5 6 731110 -15 -14 -13 … -8 8 … 13 14 15411110 ……… -16383 -16382 … -8192 8192 … 16382 1638314111111111111110 -32767 -32766 … -16384 16384 … 32766 32767151111111111111110 32768161111111111111111 01…15 0:1010(EOB)11111111001(ZRL) 1:001100…1111111111110101 2:0111011…1111111111110110 3:1001111001…1111111111110111 4:1011111110110…1111111111111000 5:1101011111110110…1111111111111001 …………… 1010

44 10110010 1101010110 100111 0110 100101 001 001 1001 100100 011 10111000 10010 001 001 111001 000 0110 000 1101101 0110 000 000 1010 JPEG. Stufe IV: Encoding Folie: Ruslan Ragimov 44 AC Kodierung: -13;22;7;2;5;1;1;-6;4;-2;8;-5;1;1;0;0;1;-1;2;-1;0;-2;2;-1;-1;0…0 59 1111110111011 10110010 1101010110 100111 0110 100101 001 001 1001 100100 011 10111000 10010 001 001 111001 000 0110 000 1101101 0110 000 000 1010 + DC Wert 122 Bits für ein 64 Pixel-Block Für 8 Bits pro Komponente im Originalbild, wäre die Kompressionsrate ungefähr:

45 JPEG. Überblick: Stufen Folie: Ruslan Ragimov 45 (De-) Kompressionsstufen: Bildvorbereitung DCT Kodierung Quantisierung Headerbeschreibung Normales Bild Komprimiertes Bild Modus: Baseline Lossless Prediction

46 JPEG. Lossless-Modus: Prediction Folie: Ruslan Ragimov 46 Lossless Ansatz: Statt DCT und Quantisierung wende Prediction an ……… …AB …CX PredictorWert X 0keine Vorhersage 1A 2B 3C 4A+B-C 5A+(B-C)/2 6B+(A-C)/2 7(A+B)/2 ……… …108 …612 keine Vorhersage 10 8 6 12 11 10 9 Zu speichern: (4,0)

47 Modus: Baseline Lossless JPEG. Überblick: Stufen Folie: Ruslan Ragimov 47 (De-) Kompressionsstufen: Bildvorbereitung DCT Kodierung Quantisierung Headerbeschreibung Normales Bild Komprimiertes Bild Prediction

48 JPEG. Vor-/Nachteile Folie: Ruslan Ragimov 48 Vorteile: weit verbreitet hohe Kompressionsrate (insbesondere für Fotos) Nachteile: Qualitätsverlust (auch beim jeden Speichern) schlecht für harte Farbübergänge Transparenz und Animation nicht unterstützt

49 JPEG. Ausblick Folie: Ruslan Ragimov 49 Lossless JPEG Modus wurde nicht erfolgreich Entwicklung eines geeigneten Kompressionsverfahrens JPEG-LS

50 Übersicht Folie: Ruslan Ragimov 50 Zusammenfassung Vergleich mit anderen Verfahren Komprimierungsstrategie JPEG Überblick Komprimierungsstufen in Details Vor-/Nachteile von JPEG Einführung – Bilddarstellung, R-G-B und Y-U-V Farbräume

51 Zusammenfassung Folie: Ruslan Ragimov 51 Einführung JPEG Bildvorbereitung DCT 8x8 Blöcke (YUV) 8x8 Blöcke (Frequenzbereich) Quantisierung Kodierung 8x8 Blöcke (Quantisierte Freq.) Headerbeschreibung Komprim. Datenblöcke Prediction Komponenten YUV Daten im Differenzbereich Vergleich

52 Folie: Ruslan Ragimov 52 Datei #JPEG (KB) L / M / H PNG (KB)LZMA(KB)BZIP2 (KB) 114,7 / 18,5 / 24,414,211,612 2141 / 572 / 320086671011410098 382 / 174 / 414707569526 1. 300x100 px87,9 KB 2. 3456x2304 px 22,7 MB 3. 1600x1200 px 5,5 MB

53 Ende Folie: Ruslan Ragimov 53 Vielen Dank! Fragen ?!


Herunterladen ppt "JPEG Seminar: Kompressionsalgorithmen Ruslan Ragimov Theoretical Computer Science Prof. Peter Rossmanith Betreuer: Alexander Langer Felix Reidl 4.07.2012."

Ähnliche Präsentationen


Google-Anzeigen