Verlustbehaftete Kompression. Verfahren zur verlustbehafteten Bildkodierung (auch verlustfreier Modus vorhanden)

Ähnliche Dokumente
Verlustbehaftete Kompression. JPEG: Joint Photographic Experts Group

Invertierung, Separierbarkeit

Multimediatechnik / Video

5 JPEG. 5.1 Bayer Filter. 5.2 Überblick. 5.3 Diskrete Cosinus-Transformation. 5.4 Bildmodell. 5.5 Codierung. 5.6 Übertragungsmodi

Darstellung als Filterbank. Annahme für die Codierung: bestimmter Betrachtungsabstand, Wiedergabegröße Bestimmter Betrachtungswinkel für das Auge.

JPEG Kompression technische Realisierung

Nichtlineare Quantisierung

Bildkompression InTh, 2005, JPEG, Hak, Rur, 1

Grundlagen der Signalverarbeitung

JPEG - Kompression. Steffen Grunwald, Christiane Schmidt, Stephan Weck TIT01EGR BA-Mannheim 21. Mai 2002

Nichtlineare Quantisierung

Algorithmen und Datenstrukturen (für ET/IT)

(Bitte geben Sie bei der Beantwortung von Fragen eine Begründung bzw. bei der Lösung von Kurzaufgaben eine kurze Berechnung an!)

Image Compression. Kompression. Beseitigung der unnötigen Daten... Redundanz. Vorlesung FH-Hagenberg SEM. Backfrieder-Hagenberg. Backfrieder-Hagenberg

6. Licht, Farbe und Bilder

1 Einführung. Bildformate Analyse der LSB-Ersetzung Weitere steganographische Algorithmen. Syndromkodierung in der Steganographie

Image Compression. Kompression. Beseitigung der unnötigen Daten... Redundanz. Vorlesung FH-Hagenberg SEM. Backfrieder-Hagenberg. Backfrieder-Hagenberg

compressed domain image retrieval

Kompression. Kompression. Beseitigung der unnötigen Daten... Redundanz. Folie 2

Kompressionsverfahren

J.P.E.G. Standard. J.P.E.G. Eigenschaften. J.P.E.G. System. JPEG Verschlüsselungsschritte. Farbmodell

Diskrete Cosinustransformation (DCT)

ffl Die Portable Bitmap Utilities (PBM) manipulieren monochrome Bilder. ffl Die Portable Greymap Utilities (PGM) manipulieren Grauwert-Bilder.

Multimediatechnik / Video

Kap.4 JPEG: Bildkompression. Ziel: Gegeben sind Daten y R N. Bestimme C R N N mit C C T = I, so dass x = C y dünbesetzt ist.

DCT: Diskrete Kosinus-Transformation

Algorithmen und Datenstrukturen (für ET/IT)

6. Licht, Farbe und Bilder

Grafikformate. Grafikformate. Digitale Bildverarbeitung Bildkompression

Image Compression. Vorlesung FH-Hagenberg DSB

Schnelle Fouriertransformation (FFT)

Proseminar Datenkomprimierung Dr. U. Tamm. JPEG - Kompression WS 2002/03. Torsten Zichner

JPEG, MPEG & Co. Alex Titze Angewandte Informatik FHTW-Berlin

Relevante Frequenztransformationen

JPEG. Seminar: Kompressionsalgorithmen. Ruslan Ragimov. 5. September 2012

Übung: Computergrafik 1

Inhaltsverzeichnis. 1 Einführung 1

Ziel: Minimalität der Feature-Werte Ausnutzung Kompaktheit im Frequenzbereich Kompaktheit:

Mathematik III Die Fourier-Transformation in Bildern

, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2006w-MMK-D-VoD.fm, ]

6. Licht, Farbe und Bilder

Musterlösung zur Klausur Signale und Systeme

5. Licht, Farbe und Bilder

4. Licht, Farbe und Bilder

Bilddatenformate BMP GIF JPG. Digitale Bildverarbeitung Liedtke 7.1. Bezeichnung: Microsoft Windows Bitmap, BMP, DIB

Fundamentale Lösungen von linearen homogenen Differentialgleichungen. 1-E Ma 2 Lubov Vassilevskaya

Puls-Code-Modulation. Thema: PCM. Ziele

Diskrete Cosinus-Transformation (DCT)

Quantisierung, Umwandlung der Werte in Bits

Digitales Video. Digitales Video

Multimediale Werkzeuge 1, Audio-Berabeitung. normierte Frequenz (normiert auf die halbe Abtastrate, maximale Frequenz ist pi oder 1

Bildverarbeitung. Bildvorverarbeitung - Fourier-Transformation -

'LJLWDOH%LOGHUXQG'DWHLIRUPDWH

6. Licht, Farbe und Bilder

SYS_A - ANALYSIEREN. Statistik. NTB Druckdatum: SYS A. Histogramm (Praxis) Gaußsche Normalverteilung (Theorie) Gebrauch: bei n > 100

Die Fourier-Transformation

Fourier-Reihe mit komplexer Exponentialfunktion

Parallele FFT-Algorithmen

1. Filterung im Ortsbereich 1.1 Grundbegriffe 1.2 Lineare Filter 1.3 Nicht-Lineare Filter 1.4 Separabele Filter 1.

Systemtheorie Teil B

Mathematische Methoden der graphischen Datenverarbeitung

Mathematik, Signale und moderne Kommunikation

Beispiel für eine periodische Spline-Interpolationsfunktion: Wir betrachten f(x) = sin(πx) und geben die folgenden Stützstellen und Stützwerte vor:

Diskretisierung und Quantisierung (Teil 1) Prof. U. Rüde - Algorithmik kontinuierlicher Systeme

Kompression.pdf h. völz /17

Vorlesung Grundlagen der Videotechnik. Vorlesung 8 QAM, ESB, FM

6. Licht, Farbe und Bilder

Die diskrete Cosinustransformation

Audio-Bearbeitung. Diese Freq. Anteile «verschwinden» nach dem unterabtasten Filter muß schmal genug sein! Nach Unterabtastung

Datenkompression. 1 Allgemeines. 2 Verlustlose Kompression. Holger Rauhut

Grafikformate: JPG - PNG

Fourierreihen und Fouriertransformation

Universität Trier. Fachbereich IV. Wintersemester 2004/2005. Wavelets made easy. Kapitel 2 Mehrdimensionale Wavelets und Anwendungen

Bildkompression am Beispiel JPEG

Klausur zur Vorlesung Digitale Signalverarbeitung

Mathematische Erfrischungen III - Vektoren und Matrizen

Diskrete Fourier Transformation (DFT): Zeitfenster, Frequenzauflösung, Fensterfunktionen

Independent JPEG Group. JPEG Software Tools

16 Fourier-Reihe mit komplexer Exponentialfunktion

(Fast) Fourier Transformation und ihre Anwendungen

Mathematische Erfrischungen I. Folgen und Reihen Klaus Frieler

2. Digitale Codierung und Übertragung

Aufgabe: Summe Punkte (max.): Punkte:

Abtastung, Frequenz unterabgetastet Experiment in Python: horizontal und vertikal jedes N-te Pixel Unterabtastung Faktor N

6. Licht, Farbe und Bilder

Elektro- und Informationstechnik WS 2012/2013. Mathematik II - Übungsblatt 04 mit Lösungsvorschlägen. a 2, a 1, b 1,

2D-Fourieranalyse und Farbräume

Kompressionsverfahren- JPEG 2000

Grundlagen der Videotechnik

Was bisher geschah. digitale Bilder: Funktion B : pos col Matrix B col pos. Punktoperationen f : col 1 col 2

Lossy Bildkompression: Techniken und Bildqualität

Spektrale Analyse Fourier Transformation

Systemtheorie Teil A. - Zeitkontinuierliche Signale und Systeme - Musterlösungen. Manfred Strohrmann Urban Brunner

Standbildcodierung. Dipl.-Ing. Guido Heising. Digitale Videotechnik, SS 02, TFH Berlin, Dipl.-Ing. G. Heising G. Heising, K.

Diskretisierung und Quantisierung (Teil 1) Prof. U. Rüde - Algorithmik kontinuierlicher Systeme

Kontinuierliche Fourier-Transformation. Laplace-Transformation

Medien- Technik. Videotechnik

Transkript:

Verlustbehaftete Kompression JPEG: Joint Photographic Experts Group ITU T8.1 definiert Zusammenarbeit von ITU, IEC, ISO Verfahren zur verlustbehafteten Bildkodierung (auch verlustfreier Modus vorhanden) Schritte: Farbraumumrechnung von RGB nach YUV Tiefpass-Filterung und Unterabtastung von U,V Diskrete Cosinus Transformation des Bildes, angewendet auf 8x8 Pixel große Blöcke Quantisierung (angepasst an Empf. des Auges, CSF) Umsortierung: Zick-Zack Scan Entropie Codierung (Lauflängen Codierung, Huffman...) Performance: 1.2.. 2 Bit Pro Pixel: etwa visuell verlustfrei 0.7-1 Bit pro Pixel: "gute" Ergebnisse unter 0,3 Bit pro Pixel: Praktisch unbrauchbar.

Verlustbehaftete Bildcodierung, JPEG Farbtransformation von JPEG: [ Y C r]=[ b C 0,299 0,587 0,114 0,1688 0,331 0,5 0,5 0,4187 0,0813] [ R G B] C r =(R Y )/1,402 C b =(B Y )/1,772 Faktoren, neu im Vergleich zu Normierung der Wertebereiche von C b, C r auf -0.5. 0.5 R, G, B: Bereich 0,, 0.5 Nächster Schritt der Farbcodierung: Tiefpassfilterung (Glättung, notwendig für Unterabtastung nach Nyquist), gefolgt von der Unterabtastung, meist um Faktor 2 in horizontaler und vertikaler Auflösung. (sh. auch:http://en.wikipedia.org/wiki/downsampling) Anschaulich: 3 unterschiedlich große Teilbilder: C b C r Y Nächster Schritt: Diskrete Cosinus Transformation (DCT) Weniger Pixel zu speichern! (¼) Datenreduktion ohne viel Aufwandt!

Zweck: weitere Eigenschaften (Schwächen?) des Auges zu nutzen. Nämlich die unterschiedliche Empfindlichkeit des Auges für unterschiedliche Ortsfrequenzen. Beispiel Bildmuster Vertikal: Ortsfrequenz Null Schwarz-weisses Streifenmuster (sin funktion der Helligkeit, aöso allmähliche Übergänge) 1 0 Blickwinkel, 1 sw Steifenmuster Horizontal: Ortsfreq. 1 per/grad Hier: 1 Periode/Grad horizontale Ortsfrequenz S 1 0 Ort (Winkel) Höhere Ortsfrequenz -> feineres Linienmuster. Auge hat unterschiedliche Empfindlichkeiten für unterschiedlich feine Linienmuster/ Ortsfrequenzen.

Empfindlichkeit Farbe (U, V) Helligk (Y) Contrast Sensitivity Function Ortsfrequenz (per./grad) Grund für Anwendung der DCT für die Codierung: DCT zerlegt das Bild in unterschiedliche Ortsfrequenzen, horizontal und vertikal. Veranschaulichung: Örtliche begrenztes Signal (Bild, Teil vom Bild) Diskrete Fourier Transformation ist unendlich lange Discrete Time Fourier Transform des periodisch fortgesetzten Signales: Sprünge Anfang Ende Ort Ort DFT DTFT

bekommen so nur endlich viele diskrete Frequenzen. wichtig für Codierung Aber: Sprünge durch Periodisierung bedeuten Verschlechterung der Frequenzauflösung. Vermeidung der Sprünge: Periodisierung durch Spiegelung des Signals x(n) 0 N 2N Ort Pixelraster Haben Sprünge vermieden Funktion, die symmetrisch um 0 ist: Discrete Time Fourier Transformation hat nur reelle Anteile, der Imaginärteil wird 0. -> Realteil wird mit Cosinus erzeugt. Für die periodische Fortsetzung mit Spiegelung wird das Pixelraster so gelegt, dass Position 0 genau zwischen zwei Pixeln liegt. D.h. wir haben einen Offset von 0.5 Pixeln, Noch zu beachten: Durch die Spiegelung wird Periodenlänge für Fourier Transformation doppelt so groß -> doppelt so feines Frequenzraster, doppelt so viele Frequenzwerte nach Anwenden der DTFT, können aber die obere Hälfte des Fourier Spektrums weg

lassen, da es symmetrisch zur unteren Hälfte ist (weil reelles Signal). -> Haben nun komplettes "Kochrezept" für unsere DCT! N ist Größe des DCT Bereiches Nur untere Hälfte: nicht bis 2N N 1 y(k )= x(n) cos( 2 π n=0 2 N K (n+0.5)) K=0,, N-1 Ortsfrequenzindex Ortsindex Freq. index Verschiebung um halbes Pixel x(n): Pixelwert bei Position n. Es gibt mehrere DCT Typen, diese nennt sich DCT Typ 2 Python Beispiel 1: Das Beispiel-Signal x ist eine kurze Zeile von 4 Pixeln, eine Helligkeits-Rampe: python import scipy import scipy.fftpack x=scipy.arange(4)*1.0 #Wende die DFT an: scipy.fftpack.fft(x) #array([ 6.+0.j, 2.+2.j, 2.+0.j, 2. 2.j]) #Wende die DCT an: scipy.fftpack.dct(x) #array([ 12., 6.30864406,0., 0.44834153])

Beachte: Bei der FFT haben alle Koeffizienten eine signifikante Groesse (Betrag ist >=2), bei der DCT bekommen wir in der Tat eine deutlich bessere Energie-Kompaktierung in die ersten beiden Koeffizienten. Python Beispiel 2: Wir koennen die DCT vom Typ 2 der Länge N in Python mittels einer FFT der Länge 4N implementieren, ähnlich wie wir oben sahen: ipython pylab import scipy.fftpack as ftp a=arange(1,5) #Example signal block plot(a) #Implementation of DCT2 using FFT: arev=a[:: 1] #reverse order, flip asym=hstack((a,arev)) #symmetric extension plot(asym) asym_up=zeros(16) asym_up[1::2]=asym #upsample by 2 and starting at index 1, and later taking half of half the FFT spectrum, #gives an effect like shift of 0.5 in time or space. Asym_up=ftp.fft(asym_up) #apply FFT Asym=np.real(Asym_up[0:4]) #Take relevant part of it Asym #Out[31]: array([ 20., 6.30864406, 0., 0.44834153]) #Comparison with DCT2 from fftpack: ftp.dct(a) Out[32]: array([ 20., 6.30864406,0., 0.44834153]) #Identical!

Beachte: Der Output mittels gespiegeltem Signal und FFT ist in der Tat identisch zur DCT! Was ist mit den zu 2 Dimensionen eines Bildes? Antwort: DCT wird hintereinander auf Zeilen und Spalten angewendet. Das heisst hier: erst z.b. jede Zeile durch das Resultat der DCT ersetzten, dann darauf aufbauend jede Spalte durch das Resultat der DCT ersetzen. Mathematisch bedeutet dies: N 1 M 1 y(k,l)= x(n,m) cos( π n=0 m=0 N (K (n+0.5))) cos( π M (l(m+0.5))) Wobei n und m die Indizes in x und y Richtung des Bildes sind. k und l sind die Indizes für die Ortsfrequenzen in x und y Richtung. DC wird die Orstfrequenc k=0 und l=0 genannt (DC für Direct Current, also Gleichstrom, hier: konstanter Wert im Bild, der sie bei diesen Frequenzkoeffizienten zeigt) -> Reihenfolge von DCT (erst Spalte oder Zeile) ist egal, da es eine lineare Transformation ist -> separabel Beispiel: Zebra-Bild: y(0,0): Gleichanteil, y(1,0): Wert ungleich 0, y (0,1)=0, denn cos addiert sich bei konstantem x zu 0! DCT wird auf Bild angewendet, aber da die Ortsfrequenzen in verschiedenen Bereichen des Bildes sehr unterschiedlich sein können, wird das Bild in kleinere Komponenten aufgeteilt, auf die dann die DCT angewendet wird.

Bei JPEG: 8x8 Blöcke. 8x8 Blöcke, auf die DCT angewendet wird N=M=8 wir haben damit Zugriff auf die unterschiedlichen Ortsfrequenzen an unterschiedlichen Orten im Bild. Codieren, Quantisieren entsprechend Augenempfindlichkeit. -Beachte: Bei 8x8 kleinen Blöcken ist die Ortsfrequenz bei 0,0 recht breit, reicht noch ins Maximum der Contrast Sensitivity Function herein. Daher muss auch y(0,0) schon fein quantisiert werden. Z.B. y(7,7) kann aber grob quantisiert oder sogar weggelassen werden, weil es nur die feinsten Muster im Block enthält, für die das Auge weniger empfindlich ist (nach C.S.F.)! D.h. Maximum ist gleich bei den tiefsten Ortsfrequenzen des 8x8 Blocks.