kompression but life is short and information endless... aldous huxley a

Post on 05-Apr-2015

123 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Kompression

“But life is short and information endless...”

Aldous Huxley

A

Überblick Einführung & Grundlagen Dekorrelation

DCT (JPEG) DWT (JPEG2000)

Quantisierung Entropiekodierung

Huffman Run Length Encoding Arithmetische Codes Bitplane Coding Predictive Coding

Fraktale Kompression Videokompression

Einführung

Rasterung und Abtastung einer Intensitätsfunktion von Licht erzeugt große Datenmengen

→ hohe Anforderungen an die Datenspeicherung Datenübertragung

Wunsch nach kompakterer Darstellung/ Repräsentation digitaler Bilder und Videos

Einführung

Multimedia Data Grösse/DauerBits/Pixel bzw.

Bits/SampleUnkomprimierte Größe (in bytes)

Übertragungs-bandbreite (in

bits)

1 Seite Text A4variable

Auflösung4-8 kB

32-64 kbit/Seite

Telefon (Sprachqualität)

10 sec 8 bps 80 kB 64 kbit/s

Graustufenbild 512x512 8 bps 262 kB 2.1 Mbit/Bild

Farbbild 512x512 24 bpp 786 kB 6.29 Mbit/Bild

Medizinische Bilddaten 2048x2048 12 bpp 5.16 MB 41.3 Mbit/Bild

7.2 Megapixel Bild 3000x2400 24 bpp 20.59 MB 165 MBit/Bild

SD-Video(PAL Auflösung)

720x576, 1 min, 25 FPS

24 bpp933.12 MB

(1 min.)124.42 Mbit/s

HD-Video1920x1080 (interlaced)

24 bpp9.33 GB (1 min.)

1.24 GBit/s

Einführung

Problemstellungen: Reduktion der Daten zur Repräsentation einer

gegebenen Menge an visueller Information

Elimination von RedundanzAlgorithmische Transformation in einen statistisch

unkorrellierten Datensatz und anschließender Kodierung

Reduktion von Information, die für eine bestimmte Anwendung nicht interessant ist

Elimination von IrrelevanzVerringerung der Genauigkeit der Darstellung

Grundlagen

Information: Reduktion von Unsicherheit (Claude Shannon) Die minimale Anzahl an ja/nein Fragen um eine

Information eindeutig zu bestimmen

Informationsgehalt einer Information mit der Auftrittswahrscheinlichkeit p

12log)( ppI

Grundlagen

Shannon Entropie: Maß zur statistischen Bestimmung des Informationsgehaltes einer

Informationsquelle erlaubt die Bestimmung der minimalen Länge einer kodierten

“Nachricht”

Entropie einer Quelle dessen Alphabet aus den Symbolen i mit Auftrittswahrscheinlichkeit pi besteht

Annahme: Statistische Unabhängigkeit der Symbole

ii

i ppH 2log

Grundlagen

Daten Mittel zur Darstellung von Information Folgen von 0 und 1 Existenz mehrerer verschiedener Datendarstellungen

für dieselbe Information Teile der Daten enthalten keine Information

Datenredundanz

Kompression

Modell

Klassifikation

Verlustlose KompressionVerlustbehaftete Kompression

Kompression

KomprimierteDaten

Dekompression

Originaldaten

Rekonstruktion

Rate-Distortion-Theory: Rate

Datenrate

Kompressionsrate

Redundanz

CodeBits

SourceBitsr n

nC

RCd

r

11

(nBits-Source: Quell-Wortlänge , nBits-Code: Kodierungs-Wortlänge)

][bpsn

nR

Samples

Bits

Rate-Distortion-Theory: Distortion Größe des „Fehlers“ der durch die Kompression entstanden

ist Äussert sich in Form von Kompressionsartefakten Gemessen durch Vergleich einer Rekonstruktion mit dem

Original durch eine Metrik Typische Metrik: Mean Squared Error (MSE)

Abgeleitete Qualitätsmetrik: Peak Signal to Noise Ratio (PSNR)

Faustregel: 1 bpp mehr an Datenrate 6dB mehr an Qualität

Rate-Distortion-Theory: R/D - Kurve

Redundanzen

Kodierungen Nachbarschaftsbeziehungen

räumlichzeitlich (Video)

Nachbarschaftsbeziehungen

Histogramm Histogramm

Psychovisuelle Eindrücke

Wahrnehmungsmodell des Menschen→ z.B. Farbauflösung des menschlichen Auges

Abhängig von der Anwendung

Psychovisuelle Eindrücke

256 Graustufen 16 Graustufen (normal) 16 Graustufen mit Improved Gray-Scale Quantization (IGS)

KompressionspipelineKompression

KomprimierteDaten

Dekompression

Originaldaten Farbtrafo QuantisierungDekorrelationsTransformation

EntropieKodierung

Ratenallozierung

Rekonstruktion InverseFarbtrafo Dequantisierung

InverseDekorrelationsTransformation

EntropieDekodierung

Farbtransformation

RGB YCbCr Effekte:

DekorrelationAnpassung an Psychovisuelle Eindrücke

Gröbere Darstellung der FarbkanäleSubsampling in JPEG

Dekorrelation: Wahl der Transformation

Fourier Discrete Cosine Transform

(JPEG) Walsh-Hadamard Discrete Wavelet Transform

(JPEG 2000)

Dekorrelation: DCT in JPEG

DCT:

Pseudofrequenzdarstellung Exzellente Datendekorrelation

Energie im Direct Current Koeffizient konzentriert Alternating Current Koeffizienten üblicherweise klein

Koeffizienten enthalten keine Ortsinformation Aufteilung in Blöcke erforderlich

Effiziente SW, beschleunigte HW

01

0,2

1

f

fC f

n

ftpC

nG

n

ttff 2

)12(cos

2 1

0

Dekorrelation: DCT in JPEG

Differenzsignal

Dekorrelation: DCT in JPEG

Dekorrelation: DWT in JPEG2000 (Kontinuierliche) Wavelet-Transformation:

mit „Mutter“-Wavelet:

Verwandt mit Fourier-Transformation, aber mit lokalem Support durch „Fensterung“!

Beispiele für Mutter-Wavelets

Dekorrelation: DWT in JPEG2000 Diskrete Wavelet-Transformation kann als „Multi-

skalenfilter“ implementiert werden→ Diskretisierung der Parameter a und b!

Originalbild 1. Iteration 2. Iteration …

Dekorrelation: DWT in JPEG2000

DWT vs. DCT

Quantisierung Quantisierung: Abbildung einer wertkontinuierlichen

Quelle in eine wertdiskrete Quelle

Dequantisierung:Rekonstruktion der wertkontinuierlichen Quelle aus einer wertdiskreten Quelle

Reduktion von Irrelevanz (Verlustbehaftet!)

Quantisierung: Schwellwert-Kodierung

691636 543 203301429 161211

12 63 95 8110694 17 -39

-7 -26 -4 2957 17 -8

0 -1 0 -0-11 -1 0

8 6 -6 -1-93 0 14

-1 1 1 013 0 1

-6 -2 -3 431 4 -11

0 0 -0 002 6 1

691636543 203301429 161211

63 95 8110694 -39

-26 29

Standard-Basis(Ortsbereich)

Transformierte Basis(„Frequenzbereich“)

Transformation

Quantisierung

Rücktransformation

→ resultierender Fehler im Ortsbereich: ~37.4

Quantisierung in JPEG

691636543 203301429 161211

12 63 95 8110694 17 -39

-7 -26 -4 2957 17 -8

0 -1 0 -0-11 -1 0

8 6 -6 -1-93 0 14

-1 1 1 013 0 1

-6 -2 -3 431 4 -11

0 0 -0 002 6 1

Standard-Basis(Ortsbereich)

Transformierte Basis („Frequenzbereich“)

Transformation

Quantisierung

Rücktransformation

10 15 25 665137 82 100

15 19 28 675239 83 101

25 28 35 725845 88 105

100101105 130119111 142156

37 35 45 796654 94 111

82 83 88 11410394 127142

51 52 58 897666 103119

66 67 72 1018979 114130

690630550 198306444 164200

15 57 84 6710478 0 0

0 -28 0 000 0 0

0 0 0 000 0 0

0 0 0 000 0 0

0 0 0 000 0 0

0 0 0 000 0 0

0 0 0 000 0 0

69 42 22 3612 2 2

1 3 3 122 0 0

0 -1 0 000 0 0

0 0 0 000 0 0

0 0 0 000 0 0

0 0 0 000 0 0

0 0 0 000 0 0

0 0 0 000 0 0 Dequantisierung

Quantisierung in JPEG

© Girod – Video and Image Compression

Quantisierung in JPEG

25%

50% 5640 byte

3815 byte75% 8065 byte

10% 2334 byte

5% 1685 byte

1% 1310 byte100% 31810 byte

Original 142738 byte

Entropiekodierung

Variable-Length CodingHuffman CodeArithmetischer Code

Bit-Plane CodingBit-Plane Slicing / Run-Length Coding

Predictive Coding

Entropiekodierung: Huffman Code

Codewörter variabler Länge (ganzzahlige Anzahl von Bits)

Repräsentation von Zeichen mit größerer Wahrscheinlichkeit durch kürzere Codewörter

Codierung durch Erzeugen eines Huffman-Codebaumes

Präfix-Eigenschafteindeutige Dekodierung

Anwendung in JPEG

Entropiekodierung: Huffman Code

0.36

0.12

0.22

0.10

0.08

0.02

0.06

0.04

a7

a3

a5

a4

a6

a0

a1

a2

a2,a5,a6,a7

a2,a5,a6,a7

0.60

0.40

a0,a2,a5,a6,a7

a1,a3,a4

0.40

0.24

0.36

a1,a3,a4

a0

0.36

0.22

0.24

0.18a3,a4

a0

a1

0.36

0.18

0.22

0.12

0.12

a3,a4

a5,a6,a7

a0

a1

a2

0.36

0.12

0.22

0.10

0.08

0.06

0.06a6,a7

a0

a1

a2

a3

a4

a5

0.36

0.12

0.22

0.12

0.10

0.08

a5,a6,a7

a0

a1

a2

a3

a4

Entropiekodierung: Huffman Code

0.36

0.12

0.22

0.10

0.08

0.02

0.06

0.04

0.36

0.12

0.22

0.10

0.08

0.06

0.06

0.36

0.12

0.22

0.12

0.10

0.08

0.36

0.18

0.22

0.12

0.12

0.36

0.22

0.24

0.18

0.40

0.24

0.36

0.60

0.400

1

1

00

01

00

01

10

11

00

11

10

010

011

000000

101010

010 010 010

011

110

111

110 110

111 111

0111

01100110

01110

01111

a3,a0,a4,a0,a2 1100011100010

a7

a3

a5

a4

a6

a0

a1

a2

aufwendige Konstruktion !

Entropiekodierung: Arithmetischer Code

Codierung der gesamten Nachricht als ein Codewort

keine Diskrepanz zwischen Codewortlänge und Informationsgehalt

Repräsentation eines Codewortes durch ein Intervall reeller Zahlen zwischen 0.0 und 1.0

Codierung durch sukzessive Verkleinerung des Intervalls

Anwendung eines binären adaptiven arithmetischen Coders (MQ-Coder) in JPEG2000

Entropiekodierung: Arithmetischer Code

a7

a3

a5

a4

a6

a0

a1

a2

0

0.36

0.58

0.70

0.80

0.88

0.94

1 a7

a3

a5

a4

a6

a0

a1

a2

0.7

0.736

0.758

0.77

0.78

0.788

0.794

0.8 a7

a3

a5

a4

a6

a0

a1

a2

0.7

0.71296

0.72088

0.7252

0.7288

0.73168

0.73384

0.736 a7

a3

a5

a4

a6

a0

a1

a2

0.7288

0.7298368

0.7304704

0.730816

0.731104

0.7313344

0.7315072

0.73168 a7

a3

a5

a4

a6

a0

a1

a2

0.7288

0.729173248

0.729401344

0.72952576

0.72962944

0.729712384

0.729774592

0.7298368

a3 a0a4a0 a2

0.7295

Entropiekodierung: Run-Length Coding

3 4 4 21 6

Binärbild Kodierung Ausnutzung der Redundanz benachbarter Pixel

3 3 2110 3 10 3 3

2 Bit Code

0

3 Bit Code

3 4 214 6

24 bit

20 bit

18 bit

Entropiekodierung: Bit-Plane Coding

Bit-Plane Slicing

Entropiekodierung: Bit-Plane Coding

Bit-Plane Slicing: Binäre Kodierung

1 → 00002 → 00013 → 00104 → 0011

Entropiekodierung: Bit-Plane Coding

Bit-Plane Slicing: Gray Code

1 → 00002 → 00013 → 00114 → 00105 → 0110

Entropiekodierung: Bit-Plane Coding

Graycode Graycode

Entropiekodierung: Bit-Plane Coding in JPEG2000 (EBCOT)

DWT+ Quantisierung

Bitplane Coding + Binäre adaptive

arithmetische Kodierung (MQ-Coder)

Berechnung von

Datenrate / Distortion

Sortierung nach Rate/Distortion

Verhältnis

Komprimierter Datenstrom

Entropiekodierung: Bit-Plane Coding in JPEG2000 (EBCOT) Embedded Block Coding with Optimal Truncation

A posteriori Ratenallozierung Implizierte Quantisierung durch Weglassen von einzelnen

Bitplanes Abbruch des Kodierens/Dekodierens an einem beliebigen

Zeitpunkt: Optimale Beschreibung des Bildes für gegebene Datenrate

Ideal für Progressive Decoding (z.B. Erzeugung von Thumbnails)

Entropiekodierung: Predictive Coding

PredictorNearestInteger

SymbolEncoderImage

CompressedImage

+

_

SymbolDecoder

Predictor

ImageCompressed

Image

+

+

Entropiekodierung: Predictive Coding

6218. 1347.

H 6 93. H 4 83.

Weitere

Lempel-Ziv-Welch-Algorithmus (LZW)GIF,TIFF, … “Online”-CodebucherstellungKombination von Variable Length und Run-

Length Coding Löschen niederwertiger Bits beim Bit-plane

coding

Fraktale Kompression Nutzung von Redundanz in Bildern durch

Selbstähnlichkeit Fraktale - Selbstähnliche Geometrische Figuren:

… und in der Natur

Künstlich erzeugt …

Fraktale Kompression Prinzip Kodierung:

(1) Modelliere das Bild als Resultat eines iterativen Kopiervorgangs(= iteriertes Funktionensystem)

Fraktale Kompression Prinzip Kodierung:

(2) Ermittle die Parameter der Kopiermaschine.

Suche für alle Blöcke in Domain

den best-passenden Block in Range, unter

Nutzung erlaubter Transformationen

(z.B. Rotation, Helligkeitsanpassung,

Spiegelung, …)

iT

Fraktale Kompression Das komprimierte Bild besteht nur aus den Parametern

der in der Kodierung gefundenen Transformationen Dekodierung: Kopiere wiederholt ein Ausgangsbild mit

der Kopiermaschine

Fraktale Kompression

Fraktale Kompression vs JPEG

Fraktal Komprimiert (72:1) JPEG Komprimiert (71:1)

Fraktale Kompression Weitere Varianten: Quadtree-Zerlegung, … Hohe Kompressionsraten erzielbar (bis zu 1000:1) Asymmetrisches Verfahren: Kodierung wesentlich

aufwendiger als Dekodierung Dekodierung vom Ausgangsbild abhängig Fractal Image Format (FIF) Keine Durchsetzung am Markt, u.a. wegen Patentschutz

und mangelnder Verbreitung im Internet Moderne verwandte Verfahren: Bild-Interpolation (Up-

scaling)

Video

Folge von Einzelbilder PAL-Format

720x576 Pixel - 24 Bit Farbtiefe25 Bildern pro SekundeY (Helligkeitsinformation), Cb (blau-gelb-

Balance) und Cr (rot-grün-Balance) YCbCr 4:2:2 240 MBit/s oder 30 MByte/s drastische Reduzierung der Datenmenge

notwendig

Einzelbildkompression JPEG/JPEG2000 für jedes Bild?

JPEG-Video, Motion-JPEG, Moving JPEG JPEG 2000 – Part 3: Motion JPEG 2000 (Digitales Kino)

Kompressionsraten bis zu 1:20 Kompression / Dekompression mit gleichem

Zeitaufwand Zugriff auf jedes Einzelbild unmittelbar möglich

Kompression von Bildgruppen Intraframekompression

Einzelbildkompression (räumlichen Redundanz) Interframekompression

Kompression durch Vergleich aufeinanderfolgender Bilder (zeitlichen Redundanz)

Gruppenaufteilung (Group of Pictures – GOP) Gruppen von Bildern, die zusammenhängend komprimiert werden

Bildgruppen

Intrapicture (I-Bild) komprimiert / dekomprimiert wie einzelnes Standbild Referenz für nachfolgende P-Bilder sowie vorhergehende und

nachfolgende B-Bilder Predicted picture (P-Bild)

Interframe-Kodierung mit Bezug auf vorhergehendes I-Bild bzw. P-Bild (Referenzbild)

Speicherung des Verschiebungsvektor eines Bildbereiches Bidirectional picture (B-Bild)

Bezug auf vorhergehendes und nachfolgendes Bild Idee: Bewegliche Bildteile verdecken Hintergrund (in I-Bild zu

finden) oder geben ihn frei (in P-Bild zu finden)

B-Frames Bilder können durch vorausgegangene und nachfolgende

Frames geschätzt werden.

Beispiel: In Frame n+1 kann das schwarze Objekt nicht aus Frame n, aber aus Frame n+2 geschätzt werden (wegen Verdeckung).

Frame n Frame n+1 Frame n+2

… …

B-Frame Kodierung

Videokompression

Transformationskodierung Bewegungskompensation

Beispiel MPEG2

Datenrate von 2 bis 6 MBit üblich GOP = 12 Bilder Standardformat bei DVD, DVB Kompressionsrate bis zu 1:60 Nachfolger ist MPEG4 + H.264 (HDTV)

Erweiterung von MPEG2, u.a. mit Objektkodierung, Zerlegung des Bildes in Szenenelemente, …

top related