Qualit¨atsvergleich g¨angiger Videocodecs

Transcription

Qualit¨atsvergleich g¨angiger Videocodecs
Qualitätsvergleich gängiger Videocodecs
Meyer Harald
Matrikelnummer: 0225448
http://studium.harrym.nu
22. Januar 2005
Zusammenfassung
In den letzten Jahren erfuhr die Entwicklung von Videocodecs einen enormen Aufschwung - gefördert durch das Aufkommen von Tauschbörsen und Video-DVDs. Videocodecs basieren und kombinieren diverse verlustbehaftete (Quantisierung, Transformation,
Motion Estimation- und Compensation) und verlustfreie (Run Lenght Encoding, Huffmanencoding) Verfahren. Bei verlustbehafteten Verfahren treten häufig Artefakte wie Blockbildung, fehlende Schärfe und Rauschen auf. In dieser Arbeit werden gängige und ältere
Codecs auf solche Artefakte, abhängig von der Datenrate und anderen Parametern, verglichen und bewertet, indem sie auf ein Testvideo angewendet werden. Die Testergebnisse
zeigen große Qualitätsunterschiede auf, wobei auch ältere Codecs gute Resultate erzielen.
Inhaltsverzeichnis
1 Einleitung
4
2 Einführung in Videocodecs
2.1 Cinepak . . . . . . . . . . . . . . .
2.1.1 Funktionsweise . . . . . . .
2.1.2 Parameter . . . . . . . . . .
2.2 Indeo 5 . . . . . . . . . . . . . . .
2.2.1 Funktionsweise . . . . . . .
2.3 Sorenson . . . . . . . . . . . . . .
2.4 Sheervideo . . . . . . . . . . . . .
2.5 MPEG-1 . . . . . . . . . . . . . . .
2.6 MPEG-2 . . . . . . . . . . . . . . .
2.7 MPEG-4 . . . . . . . . . . . . . . .
2.8 Windows Media Video 9 . . . . . .
2.9 Vanguard Software Solutions H.264
4
5
5
5
5
5
6
6
7
7
8
8
8
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
3 Analyse von Videocodecs
3.1 Testumgebung . . . . . . . . . . . . .
3.1.1 VirtualDub . . . . . . . . . .
3.1.2 AviSynth . . . . . . . . . . .
3.1.3 VirtualDubHelper . . . . . . .
3.1.4 Videocodecs . . . . . . . . .
3.2 Videomaterial . . . . . . . . . . . . .
3.3 Bewertungskriterien . . . . . . . . . .
3.3.1 Codierzeit . . . . . . . . . . .
3.3.2 Datenrate . . . . . . . . . . .
3.3.3 Artefakte . . . . . . . . . . .
3.3.4 Qualität . . . . . . . . . . . .
3.3.5 Qualität/Bitrate . . . . . . . .
3.4 Testdurchführung . . . . . . . . . . .
3.4.1 Vorbereitung . . . . . . . . .
3.4.2 Codierung . . . . . . . . . . .
3.4.3 Ermittlung der Ergebnisswerte
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
8
8
9
9
9
9
10
14
14
14
14
15
15
16
16
16
16
4 Auswertung
4.1 Cinepak, Cinepak Pro . . . . . . . .
4.1.1 Ergebnis . . . . . . . . . .
4.2 Indeo 3.2 und Indeo 4.5 . . . . . . .
4.2.1 Ergebnis . . . . . . . . . .
4.3 Indeo 5.1 . . . . . . . . . . . . . .
4.3.1 Ergebnis . . . . . . . . . .
4.4 Quicktime MPEG-4 . . . . . . . . .
4.4.1 Ergebnis . . . . . . . . . .
4.5 Sorenson Pro . . . . . . . . . . . .
4.5.1 Ergebnis . . . . . . . . . .
4.6 Sorenson MPEG-4 . . . . . . . . .
4.6.1 Ergebnis . . . . . . . . . .
4.6.2 Optimierung der Parameter .
4.7 Vanguard Software Solutions H.264
4.7.1 Ergebnis . . . . . . . . . .
4.8 XVid . . . . . . . . . . . . . . . . .
4.8.1 Ergebnis . . . . . . . . . .
4.8.2 Optimierung der Parameter .
4.9 DivX . . . . . . . . . . . . . . . . .
4.9.1 Ergebnis . . . . . . . . . .
4.9.2 Optimierung der Parameter .
4.10 Microsoft Windows Media Video 9 .
4.10.1 Ergebnis . . . . . . . . . .
4.10.2 Optimierung der Parameter .
4.11 MPEG-1 . . . . . . . . . . . . . . .
4.11.1 Ergebnis . . . . . . . . . .
4.11.2 Optimierung der Parameter .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
19
19
19
22
22
25
25
27
27
29
29
31
31
33
33
33
35
35
37
39
39
40
40
40
42
42
42
43
2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4.12 MPEG-2 . . . . . . . . . . . . . .
4.12.1 Ergebnis . . . . . . . . .
4.12.2 Optimierung der Parameter
4.13 Vergleich der Codecs . . . . . . .
4.13.1 Datenrate vs. Qualität . . .
4.13.2 Kompressionszeit . . . . .
5 Fazit
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
44
44
45
46
46
49
50
3
1 Einleitung
Vor wenigen Jahren bestand der Hauptzweck von Videocodecs darin, Daten derart zu komprimieren, dass sie über eine Telefonverbindung gestreamt, oder zumindest in einer vernünftigen
Zeit heruntergeladen werden konnten. Meistens war das resultierende Video gerade einmal
Briefmarken-groß. Häufig verwendete Codecs aus dieser Zeit sind zum Beispiel Indeo und Cinepak.
Mit fortschreitender Technologie änderten sich auch die Anforderungen an Videocodecs. Heute stehen einem Großteil der europäischen und amerikanischen Haushalte Breitbandinternetzugänge mit geringen Übertragungskosten zur Verfügung. Neue Technologien bieten immer
mehr Performance und Speicherplatz. CD- und DVD-Brenner gehören mittlerweile zur Standardausrüstung eines jeden Consumer-PCs. Moderne Codecs müssen primär eine gute Bildund Tonqualität bei akzeptablen Datenraten liefern. Einen enormen Aufschwung erlebte die
Entwicklung von Videocodecs nach dem Erscheinen von DivX. Dieser Codec erlaubt das Speichern eines kompletten Spielfilms auf 1 bis 2 CDs bei annähernder DVD-Bildqualität. Das
Aufkommen von Peer-to-Peer-Netzwerken und Tauschbörsen verstärkte den Boom. Heute sind
Codecs wie DivX oder Windows Media Video weit verbreitet und können teilweise schon mit
normalen DVD-Playern abgespielt werden.
Die Übertragung und Speicherung von unkomprimierten Video ist sehr ineffizient, da viel
redundante Information in den Bilddaten enthalten ist. Weiters nimmt der Mensch bestimmte
Eigenschaften stärker war, und andere ignoriert er wiederum. Diese beiden Eigenschaften wenden Videocodecs zur Kompression an.
In der folgenden Seminararbeit wird zuerst auf die Funktionsweise und die Eigenschaften diverser Videocodecs eingegangen. Es werden sowohl verlustbehaftete (z.B. MPEG), als auch
verlustfreie (z.B. HuffYUV) Videocodecs betrachtet. Anschließend folgt eine Beschreibung
des Testaufbaus und der Testdurchführung. Es wird ein Beispielvideo präsentiert und auf die
Fallen“ für Videocodecs eingegangen. Schließlich werden die Ergebnisse präsentiert und in”
terpretiert. Abschließend folgt ein Vergleich aller Codecs.
2 Einführung in Videocodecs
Man unterscheidet zwischen verlustbehafteten (Cinepak, DivX, MPEG,...) und verlustfreien Videocodecs (SheerVideo1 , Huffyuv2 , ...). Bei verlustbehafteten Codecs werden auf Kosten der
Qualität zum Beispiel Ähnlichkeiten zwischen Bildern oder homogene Flächen ausgenützt, um
die Datenrate zu reduzieren. Verlustfreie Codecs komprimieren die Daten meistens mit Hilfe
von Kompressionsverfahren wie RLE (Run Lenght Encoding) [13] und Huffmancodierung [9],
wobei sich die Qualität der Daten nicht ändert (das komprimierte Bild stimmt mit dem Originalbild eindeutig überein).
1
2
4
http://www.bitjazz.com/sheervideo/de/
http://neuron2.net/www.math.berkeley.edu/benrg/huffyuv.html
2.1 Cinepak
Cinepak ist ein Videokompressionscodec, der ursprünglich von Apple3 für Quicktime4 zum
Abspielen auf 386er und 030er Rechnern von einem Single-Speed CD-ROM Laufwerk entwickelt wurde. Seine größte Stärke liegt in der geringen CPU-Beanspruchung bei der Decodierung. Die Anwendung von Cinepak ist dann sinnvoll, wenn das Videomaterial auf einem großen
Spektrum von unterschiedlichen Rechnern abgespielt werden soll. Eine Weiterenticklung von
Cinepak ist Cinepak Pro5 , welches eine bessere Qualität, sowie Bugfixes bietet. [3]
2.1.1 Funktionsweise
Der Cinepak-Codec basiert auf Vektorquantisierung. Dabei wird das Bild in 4x4 große Blöcke
unterteilt und die Ähnlichkeit der Blöcke untereinander ermittelt. Ähnliche Blöcke werden
durch generische Blöcke ersetzt. Die generischen Blöcke sind in einer Lookup-Table ( Code”
book“) gespeichert, wobei häufig vorkommenden Blöcken kürzere Codes zugewiesen werden.
Die Ermittlung der Häufigkeit von Blöcken und die Ähnlichkeit zwischen Blöcken ist rechenintensiv. Daher ist der Encodierungsprozess langsam.
Die Decodierung ist jedoch sehr schnell, da die einzelnen Blöcke direkt aus der Lookup-Table
gelesen werden können.
Die Kompressionsrate kann mithilfe der Größe der Lookup-Table gesteuert werden. Je kleiner
die Lookup-Table, desto geringer die Qualität. [7], [12]
2.1.2 Parameter
• Farbbild oder Graubild
• Keyframeabstände (Pro Version)
• Auflösung der Keyframes (Pro Version)
• Qualität (Skala 1=schlechteste bis 100 beste)
2.2 Indeo 5
Indeo Video Interactive (IVI) ist ein auf (Hybrid-)Waveletkompression basierender Videocodec
(im Gegensatz zu Indeo 3, welcher auf Vektorquantisierung basiert). Indeo unterstützt Transparenz und Sprites. Indeo wurde ursprünglich von Intel6 entwickelt, und später an Ligos7 verkauft. [11]
2.2.1 Funktionsweise
Indeo 5 basiert auf der Diskreten Wavelet Transformation (DWT). Hierbei wird ein Signal (das
Bild) durch einen Hochpassfilter und einen Tiefpassfilter geschickt. Der Tiefpassfilter liefert ei3
www.apple.com
www.quicktime.com
5
www.cinepak.com
6
www.intel.com
7
www.ligos.com
4
5
Abbildung 1: Diskrete Wavelet Transformation
ne schlechter aufgelöste Version des Eingangssignals, der Hochpassfilter liefert ein Differenzsignal bzw. ein Signal mit erhöhtem Detailgrad. Dieser Vorgang kann beliebig oft wiederholt
werden, wobei als Eingangssignal das Ausgangssignal des vorhergehenden Tiefpassfilters verwendet wird (siehe Abb. 1).
Bis jetzt wurde noch keine Kompression durchgeführt und das Signal ist durch Kombination der
Filter wieder eindeutig herstellbar. Als Ergebnis der Transformationen kommen Transformationskoeffizienten heraus. Die Kompression erfolgt mit Hilfe von Quantisierung (verlustbehaftet)
oder nur mit RLE und Huffman (verlustfrei). [12], [15]
2.3 Sorenson
Der Sorenson-Codec8 ist Teil des Apple QuickTime Pakets und basiert auf Vektorquantisierung, wobei genauere Details nicht bekannt sind. Sorenson unterstützt unter anderem folgende
Features: Datenratenkontrolle, Schwelle für Keyframedetektierung, Frameratenkontrolle und
variable Bitrate (VBR). [4]
2.4 Sheervideo
Sheervideo ist ein verlustfreier Codec für QuickTime, der laut Hersteller die Videogröße um
durchschnittlich 60 Prozent reduziert. BitJazz, der Hersteller von Sheervideo, stellt keine wei8
6
www.sorenson.com
teren Information bezüglich der verwendeten Kompressionstechniken zur Verfügung.
2.5 MPEG-1
Der MPEG-1 Standard wurde 1993 verabschiedet.
Jedes Bild besteht aus 3 Komponenten: Luminanz und zwei mal Chrominanz (mit halber
Auflösung), wobei die Pixelgenauigkeit 8 Bit beträgt. Das Bild wird in Makroblöcke unterteilt,
wobei jeder Makroblock weiter in 16x16 Pixel für Luminanz und 8x8 Pixel für Chrominanz
aufgeteilt wird.
Um effiziente Codierung, schnellen Zugriff und hohe Komprimierung zu erreichen werden 4
verschiedene Frametypen unterschieden:
• I-Frame (Intra Frame) sind vollständige Bilder, die zur Codierung von anderen Bildern
als Referenz benutzt werden können. Sie werden wie JPEGs mit DCT (Diskrete Cosinus
Transformation) komprimiert.
• P-Frame (Predicted Frame) benötigen Information eines vorhergehenden I- bzw. PFrames zur Codierung. Sie reduzieren zeitliche und räumliche Redundanzen mit Hilfe
von Bewegungsabschätzungen (unter Verwendung von Bewegungsvektoren) und können
als Referenzbilder verwendet werden.
• B-Frame (Bidirectional Predictive Frame) benötigen Information vom vorhergehenden
und nachfolgenden I- bzw. P-Frame.
• D-Frame (DC coded Frame) bestehen nur aus dem DC-Koeffizienten der DCT-Matrix
(Wert an der Stelle A[0][0]). Sie dienen zum schnellen Vor- und Rückspulen.
Eine Folge von I-, B- und P-Frames bildet eine Group of Pictures“ (GOP).
”
2.6 MPEG-2
MPEG-2 unterstützt höhere Datenraten und Auflösungen als MPEG-1 und kann sogar verlustfrei komprimieren. In MPEG-2 werden drei Frametypen unterschieden: I-Frame, P-Frame und
B-Frame.
Die wesentlichen Neuerungen gegenüber MPEG-1 sind:
• Einführung von Profilen, die Auflösung, Bildwiederholrate, Farbraum, maximale Datenrate und Skalierbarkeit definieren.
• Mehr zur Verfügung-stehende Farbräume
• Die Quanitisierung kann mit einer Genauigkeit von bis zu 10 Bit durchgeführt werden
(MPEG-1: 8 Bit).
• Methoden für das Interlacing-Verfahren.
7
2.7 MPEG-4
Das MPEG-4 Format bietet zusätzlich zu der Video- und Audiokomprimierung auch Spezifikationen zur Integration von interaktiven Inhalten, variable Datenraten (diese sind bei neueren
MPEG-1 und MPEG-2 Codecs auch implementiert), Sprachgenerierung und Synchronisation
und vieles mehr. Weiters wurde die Videokomprimierung durch die Diskrete Wavelet Transformation erweitert.
Heute sind eine Vielzahl von verschiedenen MPEG-4 Implementationen (bzw. MPEG-4 konformen Codecs) im Umlauf, wie zum Beispiel:
• Microsoft MPEG-4
• Quicktime MPEG-4
• DivX und OpenDivX gehört zur Klasse der MPEG-4 Codecs und enstand aus dem Versuch heraus, den Microsoft MPEG-4 Codec zu replizieren. DivX besitzt im Gegensatz
zum Microsoft MPEG-4 Codec eine wesentlich höhere maximale Datenrate von 4000
kBit/s (Microsoft: 256 kBit/s). DivX 3.1 verwendet weiters einen Weichzeichner (Blur)
vor der Kompression, da hohe Kontrastsprünge hohe Datenraten verursachen [10]. In
aktuellen Version ist der Weichzeichner nicht mehr enthalten.
• XVid
• Sorenson MPEG-4
2.8 Windows Media Video 9
Windows Media Video 9 (WMV) ist ein proprietärer Videostandard von Microsoft. Er ist sowohl für Streaming, als auch für DVD und HD (High Definition) Videos geeignet.
2.9 Vanguard Software Solutions H.264
Der H.264 Standard ist Teil 10 des MPEG-4 Standards [8] und definiert Realtime Encodierung
und Decodierung von Videomaterial. Der VSS H.264 Codec bietet laut Hersteller ab 3 GHz
CPUs eine realtime Encodierung.
3 Analyse von Videocodecs
3.1 Testumgebung
Alle Tests wurden auf einem Pentium 4, 2533 GHz, mit 512 MB RAM und einer GeForce II
Grafikkarte ausgeführt. Als Betriebssystem wurde Windows XP SP 1 gewählt. Zur Videokompression dienten Adobe Premiere Pro9 , Quicktime Pro 6.5.2 (für alle Codecs die auf Quicktime
aufsetzen), VirtualDub10 (für alle Video für Windows konformen Codecs), sowie Sorenson
Squeez 4 (für Sorenson 3 Pro, Sorenson MPEG-4). Zur Analyse wurde AviSynth11 und ein
9
www.adobe.com
www.virtualdub.org
11
www.avisynth.org
10
8
selbstgeschriebenes Java-Test-Automatisationprogramm - VirtualDubHelper“ - verwendet. In
”
Excel wurden die Messergebnisse grafisch dargestellt.
3.1.1 VirtualDub
VirtualDub ist ein Videoumwandlungs- und Bearbeitungsprogramm für Windows, welches unter der GPL (General Public License) erhältlich ist. Es unterstützt Video für Windows (VfW)
und kann damit alle VfW-konformen Codecs ansteuern. Arbeitsabläufe können mit Hilfe einer
Skriptsprache automatisiert werden.
3.1.2 AviSynth
Avisynth ist ebenfalls ein frei erhältliches Open-Source-Tool. Es erlaubt die Manipulation und
Auswertung von Video und wird durch eine Skriptsprache gesteuert. Es kann auch als Frameserver dienen, d.h. Programme die ein bestimmtes Videoformat nicht unterstützen, können über
AviSynth auf Daten in diesem Format zugreifen. Diese Fähigkeit wurde in den Tests teilweise
bei Quicktime und MPEG-x Videos angewendet. AviSynth ist außerdem durch Dll’s erweiterbar.
3.1.3 VirtualDubHelper
Mit dem VirtualDubHelper können über eine GUI Quell- und Zielvideos ausgewählt werden.
VirtualDubHelper generiert daraus fertige AviSynth-, sowie VirtualDub Jobscripts. Nach dem
Processing durch VirtualDub können die als Textfile vorliegenden Ergebnisse mit Hilfe von
VirtualDubHelper zu Windows-CSV (Comma Seperated Value) Files konvertiert und verschiedene Messergebnissfiles automatisch in benötigter Tabellenform formatiert werden.
3.1.4 Videocodecs
Die Videocodecauswahl umfasst ein weites Spektrum an Codecs. Es wurden sowohl alte“
”
Codecs wie Cinepak, als auch moderne Codecs analysiert:
• Cinepak
• Indeo 3.2, 4.5
• Indeo 5
• Sorenson Pro 3
• MPEG-1 (Premiere Encoder)
• MPEG-2 (Premiere Encoder)
• Quicktime MPEG-4
• DivX 5.2.1
• XVid Build 13. Dez. 2004 (Version 1.1)
9
• Sorenson MPEG-4
• Windows Media Video 9
• Vanguard Software Solutions H.264
3.2 Videomaterial
Als Testvideos wurden zehn Videoclips von der Quality Video Experts Group“ 12 (QVEG)
”
gewählt, wobei jeder dieser Clips spezielle Anforderungen an den Videocodec stellt (Tabelle
1).
Die Clips lagen im NTSC-Format (29,97 Frames/Sekunde, 720x480 Pixel bei 24 Bit, unkomprimiertes AVI) vor, wobei der Ton entfernt wurde. Am Anfang und am Ende jedes Clips sind
jeweils 10 Frames für die Codecstabilisation und dazwischen 8 Sekunden relevantes Videomaterial. Um den Zeitaufwand etwas zu reduzieren, wurden die Clips zu einem unkomprimierten
AVI-File verschmolzen. Außerdem wurden die Clips mit dem DeInterlace-Filter von VirtualDub deinterlaced.
Video
Fun Park, Abb. 2(a)
Panorama New York, Abb. 2(b)
Eisenbahn und Kalender, Abb. 3(a)
Computeranimation, Abb. 3(b)
Buchstaben, Abb. 4(a)
Wasserfall, Abb. 4(b)
Football, Abb. 5(a)
Schiff, Abb. 5(b)
Telefongespräch, Abb. 6(a)
Blumengarten, Abb. 6(b)
Fokus
gesättigte Farben, schnelle Bewegung,
viele Objekte
langsame Bewegung
gesättigte Farben, langsame Bewegung, viele Objekte
Farbe, Bewegung, Szenenschnitt, homogene Flächen
Farbe, Bewegung, homogene Flächen
Farbe, langsames Herauszoomen
Farbe, Bewegung
viele Details, keine Bewegung
Hautfarbe, natürliche Bewegungen
schnelle Bewegungen, viele Objekte
Tabelle 1: Testsequenzen und ihre Eigenschaften
12
http://www.its.bldrdoc.gov/vqeg/
10
(a)
(b)
Abbildung 2: (a) Fun Park, (b) Panorama New York
(a)
(b)
Abbildung 3: (a) Eisenbahn und Kalender, (b) Computeranimation
11
(a)
(b)
Abbildung 4: (a) Buchstaben, (b) Wasserfall
(a)
(b)
Abbildung 5: (a) Football, (b) Schiff
12
(a)
(b)
Abbildung 6: (a) Telefongespräch, (b) Blumengarten
13
3.3 Bewertungskriterien
Die Hauptbewertungskriterien für einen guten Videocodec sind Videoqualität und Kompressionsrate. Bei Echtzeitcodierung ist auch die Encodierungszeit wichtig, wobei diese in diesem
Test eine untergeordnete Rolle spielt.
3.3.1 Codierzeit
Die Codierzeit wurde, soweit möglich, in Sekunden gemessen. Die Messung erfolgte in VirtualDub über die Joblist. War die Messung nicht direkt möglich, so wurden die Dateiattribute
betrachtet. Hierbei subtrahiert man die Erstellungszeit vom letzten Schreibzugriff und erhält eine sekundengenaue Zeit (voraussgesetzt, dass die Datei nach der Kompression nicht verändert
wurde).
3.3.2 Datenrate
Es wird die durchschnittliche Datenrate angegeben. Teilweise wird auch die maximale Datenrate angegeben. Die maximale Datenrate ist ein wichtiges Kriterium, da sie entscheidet, ob ein
Videocodec (bzw. bestimmte Einstellungen) für ein bestimmtes Medium (CD-ROM, Modemverbindung, etc.) geeignet ist. In diesem Test wurde die Datenrate vorgegeben (siehe 3.4.2).
3.3.3 Artefakte
Die meisten verlustbehafteten Videocodecs basieren auf Motion Compensation und auf
DCT/DWT-Transformation von Blöcken von Pixel. Die Ergebniskoeffizienten werden anschließend quantisiert. Die Quantisierung ist der Hauptgrund von Artifaktbildung.
Die Haupttypen“ an Artefakten in komprimierten Video können wie folgt zusammengefasst
”
werden [6]:
• Blockbildung: Durch die unabhängige Bearbeitung der einzelnen Blöcke kommt es zu
Unregelmäßigkeiten an den Blockgrenzen zwischen nebeneinanderliegenden Blöcken.
• Blurring (Verwischungen) ist ein Effekt, der normalerweise über das gesamte Bild auftritt
und es verschwommen erscheinen lässt. Blurring tritt auf, wenn hochfrequente Koeffizienten aufgrund eines groben Quantisierungsparameter beim Encodieren entfernt werden.
• Zeitlich begrenzt auftretende Störungen und Mosquito-Effekt: Der Mosquito-Effekt tritt
meistens an starken Kanten auf und macht sich z.B. durch pixelige“ Kanten bemerkbar.
”
Der Grund dafür ist ein Überschwingen“ bei der Rückwandlung vom Frequenzraum in
”
den Ortsraum.
• Zackige Bewegung: Tritt aufgrund schlechter Bewegungsabschätzung auf. Die blockbasierte Bewegungsabschätzung funktioniert am besten, wenn sich alle Pixel in einem
Block gleich bewegen. Ansonsten ist die Bewegungsvorhersage fehlerhaft.
• Sprunghafte Bewegung: Bewegungen erscheinen abgeschnitten. Der Grund dafür ist meistens, dass Bilder ausgelassen werden.
• Andere Artifakte: z.B. verwischte oder falsche Farben, zufällig auftretende Störungen.
14
Artefakte können durch Postprocessing, oft auf Kosten der Genauigkeit, wieder entfernt werden. Beispiele für solche Maßnahmen sind Gauß-, Mittelwert- und Durchschnittsfilter.
3.3.4 Qualität
Die Videoqualität wird in diesem Test einerseits objektiv durch den PSNR (Peak Signal-toNoise Ratio) und die SSIM [18] (Structural SIMilarity), als auch durch subjektive Beurteilung
festgestellt.
Bei dem PSNR handelt es sich um ein mathematisches Verfahren, bei dem die Abweichung zwischen dem Original und dem komprimierten Bild ermittelt wird [5]. Je höher der PSNR-Wert,
desto geringer die Abweichung. Der PSNR-Wert muss nicht mit dem menschlichen Empfinden
übereinstimmen. So werden vom Menschen zum Beispiel Helligkeitsänderungen stark wahrgenommen, während der PSNR kaum darauf reagiert. Wie man später sehen wird, reagiert der
PSNR auch kaum auf Blockartefakte.
SSIM ist ein weiteres mathematisches Beurteilungsverfahren mit einer Skala zwischen 0 (keine
Übereinstimmung) und 1 (perfekte Übereinstimmung). Der Gesamt-SSIM-Wert wird in Prozent angegeben (0-100 Prozent).
Andere objektive Beurteilungsverfahren sind zum Beispiel Objective Video Quality Metrics
(VQM), Full-Reference (FR) Modelle und JNDMatrix13 .
Die subjektive Beurteilung erfolgte durch Beurteilung von auftretenden Artefakten, und
durch den Gesamteindruck des Videos. Es wurden diverse subjektive Beurteilungsverfahren
entwickelt, wie zum Beispiel der Mean-Opinion-Score (MOS) Test, die Double Stimulus Continuous Quality Scale (DSCQS), die Double Stimulus Impairment Scale (DSIS) und die Single
Stimulus Continuous Quality Evaluation (SSCQE), wobei deren Ausführung den Rahmen dieser Arbeit bei weitem sprengen würde [6].
3.3.5 Qualität/Bitrate
Der Parameter Qualität kann beim Codieren direkt, oder über die Beschränkung der Datenrate gewählt werden. Die Festlegung einer diskreten Qualitätsstufe legt intern die Werte für die
Quantisierungsmatrix fest - in manchen Codecs wird daher nicht die Qualitätsstufe, sondern der
Quantisierungsfaktor eingestellt. Ein derart codiertes Video hat im gesamten Verlauf eine konstante Qualität und damit eine variable Bitrate (VBR), die in Abhängigkeit von der Dynamik
des Bildinhalts schwankt. Eine Beurteilung, wie sich eine Modifikation von Eingangsparametern auf die Codiereffizienz auswirkt, ist nur durch Vergleich von mit gleicher Quantisierung
komprimierten Videodaten möglich.
Oft ist es nötig, die Bitrate des Videos konstant zu halten (CBR), wenn z.B. die Daten über Netzwerke mit begrenzter Bandbreite gestreamt werden. Diese Konstanz der Bitrate wird dadurch
erreicht, dass die Quantisierungsparameter während der Codierung stetig angepasst werden,
was bei Sequenzen mit hoher Dynamik zu sichtbaren Qualitätseinbrüchen führt.
Neuere Codecs unterstützen die Kombination dieser beiden Verfahren als durchschnittliche
Bitrate (ABR) und wenden dafür Multi-Pass-Codierung an. Dabei wird das Video im ersten Durchlauf analysiert, um in folgenden Schritten die Quantisierungswerte so zu wählen,
dass eine vorgegebene Größe des komprimierten Videos eingehalten wird (um z.B. das Video
bestmöglich auf CD zu kopieren). [1]
13
JNDMatrix ist nicht mehr erhältlich.
15
3.4 Testdurchführung
Im folgenden wird die Testdurchführung genauer beschrieben.
3.4.1 Vorbereitung
Zuerst wurden, wie in 3.2 beschrieben, die Videoclips zu einem unkomprimierten Avi-File
kombiniert. Eine Änderung der Auflösung war nicht notwendig, da AviSynth diese dynamisch
durchführen kann.
3.4.2 Codierung
Das Video wurde sukzessive mit allen Codecs komprimiert. Traten Artefakte auf, so wurde
versucht, die Parameter derart zu ändern, dass die Artefakte minimal wurden. Auf die Parameter
wird in der Testauswertung genauer eingegangen. Manche Codecs versagten bei bestimmten
Auflösungen.
Für die Codierung wurden drei Zielbitraten ausgewählt:
• 1300 kBit/s: entspricht ca. 158 kByte/s
• 2000 kBit/s: entspricht ca. 244 kByte/s
• 4000 kBit/s: entspricht ca. 488 kByte/s
Weiters wurde das Video mit best-möglicher Qualität komprimiert (d.h. keine Datenratenbeschränkung).
3.4.3 Ermittlung der Ergebnisswerte
Die Codierzeit wurde mit VirtualDub bzw. über Dateiattribute, wie in 3.3.1 beschrieben, ermittelt. Die für die objektive Qualitätsermittlung benötigten Skripte wurden automatisch mit
VirtualDubHelper generiert. Im einzelnen sind das ein AviSynth-Skript je Codec und ein
VirtualDub-Joblistskript.
Ein Beispiel für ein AviSynth-Skript ist in Abb. 7 gegeben. Hier wird das Sourcevideo Al”
le.avi“ mit dem mit Cinepak komprimierten Video AlleCinepakNormal.avi“ verglichen und
”
das PSNR Ergebnis in die Datei AlleCinepakNormal.psnr“ geschrieben. Für MPEG-1 und
”
MPEG-2 (Abb. 9), sowie für Quicktime-Videos (Abb. 10) wurde ein leicht modifiziertes Skript
verwendet.
Ein Auszug aus einem VirtualDub-Joblistenkript ist in Abb. 8 dargestellt. Dieses öffnet
das AviSynth-Skript AlleCinepakNormalpsnr.avs“ und führt es über die Funktion Virtual”
”
Dub.Preview()“ aus.
In Abb. 11 ist der Inhalt eines PSNR-Ausgabefiles dargestellt. Für die Auswertung wurden
sowohl die PSNRs der einzelnen Frames (zur Ermittlung und Darstellung des PSNR-Verlaufs
entlang der Zeitachse), als auch der gesamt-PSNR (Vergleich von Codecs in Abhängigkeit diverser Parameter) betrachtet.
Die Messergebnisse wurden mit Hilfe von Excel zu Charts zusammengefasst. In Abbildung 12 ist der Aufbau eines Charts dargestellt.
16
source=AviSource("D:\Alle.avi")
ssource=ConvertToRGB24(source)
target=AviSource("D:\AlleCinepakNormal.avi")
psnr=("D:\AlleCinepakNormal.psnr")
ttarget=ConvertToRGB24(target)
Compare(ssource,ttarget,"",psnr)
Abbildung 7: Beispiel AviSynth-Skript zum berechnen des PSNR
VirtualDub.Open("D:\\AlleCinepakNormalpsnr.avs", 0, 0);
VirtualDub.Preview();
Abbildung 8: Auszug aus einem VirtualDub-Joblistenkript
LoadPlugin("MPEGDecoder.dll")
source=AviSource("D:\Alle.avi")
rgbsource=ConvertToRGB(source)
target=MPEGSource("D:\mpg1.m1v")
psnr=("D:\mpg1.psnr")
rgbtarget=ConvertToRGB24(target)
Compare(rgbsource,rgbtarget,"",psnr)
Abbildung 9: Avisynth-Skript mit MPEG-1-Video
LoadVFAPIPlugin("QTReader.vfp", "QTReader")
source=AviSource("D:\Alle.avi")
rgbsource=ConvertToRGB(source)
target=QTReader("D:\quicktime.mov")
target=ConvertToRGB(target)
target = target.ChangeFPS(29.97)
target=FlipVertical(target)
psnr=("D:\quicktime.psnr")
rgbtarget=ConvertToRGB24(target)
Compare(rgbsource,rgbtarget,"",psnr)
Abbildung 10: Avisynth-Skript mit Quicktime-Video
17
Comparing channel(s) RGB
Mean
Max
Max
Absolute
Mean
Pos.
Neg.
Frame
Dev.
Dev.
Dev.
Dev. PSNR (dB)
----------------------------------------------------0
7.8922
+0.0979
90
-136
28.3374
1
11.3896
+3.5157 253
-136
20.2471
...
2598
9.5412
-1.3056 246
-251
23.0283
2599
9.1976
-0.9711 253
-250
23.8517
Total frames processed: 2600
Mean Absolute Deviation:
Mean Deviation:
PSNR:
Overall PSNR:
Minimum
2.2855
-71.7200
6.4410
17.2533
Average
14.8225
-1.9424
20.9072
Maximum
94.2976
+84.3136
37.1147
Abbildung 11: Auszug aus einem VirtualDub-Joblistenkript
Abbildung 12: Aufbau eines Charts: Die einzelnen Clips sind durch unterschiedliche Hintergrundfarben gekennzeichnet.
18
4 Auswertung
4.1 Cinepak, Cinepak Pro
Für die Codierung wurden die Parameter wie folgt gesetzt:
• Farbtiefe: Farbbild
• alle anderen Parameter auf Standardeinstellung (Pro Version)
• Qualität: 100
4.1.1 Ergebnis
Die Codierzeit des 720x480 Pixel Testvideos bei bester Qualität mit dem Cinepak Codec betrug
41,03 Minuten, die Dateigröße 209,78 MB (Megabyte). Beim Cinepak Pro Codec benötigte die
Codierung 57,54 Minuten und die Ausgabedateigröße betrug 250,6 MB (Zum Vergleich: das
Orignalvideo belegt 2696 MB Speicherplatz.). Daraus ergibt sich eine Datenrate von 2411,3
kbps (Kilobyte pro Sekunde) für Cinepak und von 2880,5 kbps für Cinepak Pro.
Abbildung 13: PSNR von Cinepak und Cinepak Pro bei 720x480 Pixel, Qualität: 100
In Abbildung 13 sind die PSNR Werte der beiden Codecs über das gesamte Video bei bester
Kompressionsqualität dargestellt.
Auffällig sind dabei die starken Werteschwankungen des Cinepak-Codecs innerhalb von allen
Clips außer bei Clip 3 (Szene mit Modelleisenbahn), während der Cinepak Pro Codec relativ
stabil bleibt. Die PSNR-Werte des Cinepak Pro liegen, mit Außnahme von Clip 3, über denen
von Cinepak, was sich auch in den Gesamt-PSNR-Werten (=PSNR über das gesamte Video)
ausdrückt: Cinepak Pro weist einen Wert von 23,5373 auf, während der von Cinepak nur bei
17,2533 liegt.
In Abb. 14 sind die PSNR-Werte der beiden Codecs bei unterschiedlichen Datenraten dargestellt. Der normale“ Cinepak-Codec versagte bei den Datenraten von 1300 kBit/s und 2000
”
kBit/s. Der PSNR des Cinepak Codec bei 4MBit/s liegt nahezu immer unter dem PSNR des
Cinepak Pro (bei allen getesteten Datenraten).
19
Abbildung 14: PSNR von Cinepak und Cinepak Pro bei 720x480 Pixel bei unterschiedlichen
Datenraten. Cinepak versagte bei 1,3MBit/s und bei 2MBit/s.
Beide Codecs zeigen bei allen Datenraten (auch bei maximaler Qualität) starke Blockbildung, wobei der Cinepak Pro Codec eine etwas geringere Blockbildung bei gleicher Datenrate
aufweist. Außerdem wirken nicht-homogene Flächen homogen. Dieses ist auf die Arbeitsweise
vom Cinepak Codec zurückzuführen. Wie in 2.1 beschrieben, wird das Bild in Blöcke aufgeteilt, diese verglichen, und ähnliche Blöcke durch generische Blöcke ersetzt.
Die Clips Panorama“, Computeranimation“, Wasserfall“, Telefongespräch“ und Blumen”
”
”
”
”
garten“ sind subjektiv beurteilt qualitativ brauchbar. Die Hautfarbe der Dame beim Telefongespräch wirkt sehr realistisch. Schlecht ist jedoch die Darstellung der ersten Szene Fun Park“.
”
Hierbei ist die Blockbildung sehr störend. Der Clip Schiff“ (ruhiges Bild) flimmert, da leich”
te (vom Menschen garnicht wahrgenommene) Helligkeitsänderungen zu einer Blockänderung
führen. Beim Cinepak Pro Codec wird dieser Effekt durch zwischengeschaltete I-Frames noch
verstärkt - das Bild erscheint sehr gut wenn das I-Frame angezeigt wird, und ansonsten stark
geblockt.
Bei der Datenrate von 1,3MBit/s ist das Video unbrauchbar: Blöcke von voherigen Frames
bleiben hängen“. Dadurch sieht es so aus, als ob bewegte Objekte einen Schweif (wie ein
”
Kommet) nach sich ziehen würden. Außerdem erscheinen Bewegungen nicht linear, sondern
sie ruckeln.
Bei 2MBit/s läuft das Video flüssig und Objekte haben nur noch einen kurzen Schweif. Die
Blockbildung ist sehr stark und störend. Nur Clip 6 (Wasserfall) bietet ein halbwegs ruhiges
Bild.
Das mit bester Qualität komprimierte Video weist - außer der leichten Blockbildung, geringen Farbfehlern und einem leichten Mosquitoeffekt - keine Artefakte auf. Das Verhältnis
Kompression-Darstellungsqualität ist jedoch sehr schlecht.
Die Subjektive Beurteilung deckt sich mit den Tendenzen der PSNR bei 4MBit/s. So hat z.B.
der Clip 4 (Computeranimation) relativ hohe PSNR-Werte, währende Clip 3 (Lokomotive) geringere Werte hat. Die PSNR-Werte bei den niedrigeren Datenraten differieren von der subjektiven Wahrnehmung, d.h. das Video weist viele Artefakte auf obwohl die PSNR-Werte konstant
und nahe an den Werten bei 4MBit/s bleiben (Abb. 15). Zum Vergleich wurden die SSIM-Werte
für den Cinpak Pro Codec bei 1,3MBit/s und bei 4MBit/s ermittelt (Abb. 16). Beim SSIM wer-
20
(a)
(b)
Abbildung 15: Sowohl bei Cinepak (a), als auch bei Cinepak Pro (b) ist eine starke Blockbildung sichtbar (Datenrate: 4MBit/s).
den die Ähnlichkeitswerte zwischen 0 (schlecht) und 1 (Übereinstimmung) skaliert. Es ist deutlich zu sehen, dass das mit 1,3MBit/s komprimierte Video wesentlich geringere Werte aufweist,
was sich auch mit der subjektiven Wahrnehmung deckt (der Gesamt-SSIM-Wert für 1,3MBit/s
beträgt 2,15 und der für 4MBit/s 21,5).
Abbildung 16: SSIM von Cinepak Pro bei 1,3MBit/s und 4MBit/s
In Tabelle 2 sind die Gesamt-PSNR-Werte, Codierzeiten und Dateigrößen bei unterschiedlichen (Richt-)Datenraten angegeben.
21
Codec
Cinepak
Cinepak
Pro
Cinepak
Pro
Cinepak
Pro
Cinepak
Pro
Cinepak
Auflösung
(Pixel)
720x480
720x480
Datenrate
(kBit/s)
4000
1300
Dateigröße Codierzeit
(Minuten)
45,8
6,19
14,73
8,53
PSNR
SSIM
11,4014
16,3951
0,22
2,15
720x480
2000
22,11
10,5
19,2722
7,47
720x480
4000
23,3
12,42
21,6763
21,5
720x480
23 044
250,6
57,54
23,5373
28,98
720x480
19 290
209,78
41,03
17,2533
32,26
Tabelle 2: PSNR-Werte, SSIM-Werte, Codierzeiten und Dateigrößen bei verschiedenen Datenraten beim Cinepak- und Cinepak Pro Codec
4.2 Indeo 3.2 und Indeo 4.5
Folgende Parameter wurden gewählt:
• Bidirectional Prediction (für Indeo 4.5)
• Beste Qualität
4.2.1 Ergebnis
Indeo 3.2 versagte bei der Auflösung von 720x480 Pixel und konnte daher nicht näher betrachtet
werden. Indeo 4.5 brauchte 47,2 Minuten bei 207,6 MB Gesamtgröße für das Komprimieren
des 720x480 Pixel großen Testvideos bei maximaler Qualität. Daraus ergibt sich eine Datenrate
von 2386,2 kbps.
Über alle Clips hinweg ist eine leichte Blockbildung sichtbar. Diese ist, wie beim Cinepak
Codec, auf die Einteilung des Bildes in Blöcke zurückzuführen. In Clip 1 (Funpark) und Clip
10 (Blumengarten) ist ein starker Mosquito-Effekt z.B. an dem roten Luftballon (Abb. 17), bzw.
am Gartenzaun zu erkennen. Videoclip 6 (Wasserfall) weist eine leichte ruckartige Bewegung
auf und Clip 2 (Panorama) wirkt leicht verschwommen (Blurring).
Bei einer Zieldatenrate von 1,3MBit/s treten sehr starke Blockartefakte auf. Bilder mit vielen
Bewegungen sind ruckelig. Dies liegt anscheinend daran, dass durch die begrenzte Datenrate
Bilder herausgenommen bzw. sehr schlechte Bewegungsabschätzungen durchgeführt werden,
um eine Datenratenüberschreitung zu vermeiden. Besonderst störend wirkt dieser Effekt bei
Clip 5 (Buchstaben) und 7 (Footballspiel). Nur Clip 8 (Schiff) und 9 (Telefongespräch) ruckeln
kaum aufgrund der geringen Bewegung. Die Hautfarbe der Dame bei Clip 9 wirkt realistisch.
Bei der Datenrate von 2MBit/s treten die gleichen Artefakte und Eigenschaften wie bei
1,3MBit/s auf. Einzig die Bewegungen sind flüssiger. Clip 2 (Panorama) wirkt jetzt sehr sauber
(von der Bewegung, und vom Gesamteindruck).
Bei der Datenrate von 4MBit/s läuft das Video flüssig. Die Blockartefakte sind nur noch bei
Clip 4 (Computeranimation) und 6 (Wasserfall) leicht sichtbar. An den Kanten, speziell beim
22
Abbildung 17: Mosquito-Effekt
letzten Clip (Blumengarten) an den Zaunkanten, ist der Mosquito-Effekt zu beobachten. Generell wirkt das Bild etwas unsauber und ein leichtes Flimmern ist bemerkbar (speziell bei der
Computeranimation). Der Grund dafür dürften Quantisierungsfehler sein, die bei kleinen Farbund Helligkeitsänderungen, die normalerweise garnicht wahrgenommen werden, auftreten und
diese Farb- und Helligskeitsänderungen verstärken.
In Abb. 18 sind die PSNR-Werte und in Abb. 19 die SSIM-Werte des Testvideos bei Kompression mit Indeo 4.5 bei verschiedenen Datenraten dargestellt. Interessant dabei ist, dass die Werte
bei unterschiedlichen Datenrate, sowohl beim PSNR, als auch bei den SSIM-Werten, sehr nahe aneinander liegen, d.h. mathematisch gesehen sind die Testvideos sehr ähnlich. Der Grund
dafür ist, dass Blockbildung nur einen geringen Einfluss auf die Werte der beiden Verfahren
hat. Abgesehen von den Blockartefakten und den Ruckeln bei niedrigen Datenraten sind sich
die Videos tatsächlich sehr ähnlich.
23
Abbildung 18: PSNR von Indeo 4.5 bei 1,3MBit/s, 2MBit/s, 4MBit/s und bester Qualität
Abbildung 19: SSIM von Indeo 4.5 bei 1,3MBit/s, 2MBit/s, 4MBit/s und bester Qualität
In Tabelle 3 sind schließlich noch die Messergebnisse bei unterschiedlichen Datenraten aufgelistet.
Codec
Indeo 4.5
Indeo 4.5
Indeo 4.5
Indeo 4.5
Auflösung
(Pixel)
720x480
720x480
720x480
720x480
Datenrate
(kBit/s)
1300
2000
4000
19089
Dateigröße Codierzeit
(Minuten)
14,25
42,37
21,86
51,31
43,42
58,15
207,6
47,2
PSNR
SSIM
15,0232
15,2891
15,4574
15,3893
2,2
2,84
3,26
3,17
Tabelle 3: PSNR-Werte, SSIM-Werte, Codierzeiten und Dateigrößen bei verschiedenen Datenraten beim Indeo 4.5 Codec
24
4.3 Indeo 5.1
Folgende Parameter wurden gewählt:
• Beste Qualität
4.3.1 Ergebnis
Die Komprimierung des Testvideos mit dem Indeo 5.1 Codec bei bester Qualität dauerte genau
17 Minuten bei 199,9 MB. Daraus ergibt sich eine Datenrate von 2297,7 kbps.
Indeo 5.1 basiert auf der Diskreten Wavelet Transformation. Das Video wirkt insgesamt sehr gut
und ist kaum vom Originalvideo zu unterschieden. Ein Mosquito-Effekt ist bei Clip 4 (Computeranimation) bei extremen Übergängen und bei Clip 10 (Blumengarten) am Zaun erkennbar.
Die Wangen des Mannes im orange-farbenen T-Shirt in Clip 1 (Funpark) wirken kurzfristig
etwas übersteuert (anstatt eines Farbüberganges ist nur noch ein heller Fleck sichtbar). Die Ursache dieses Phenomäns ist die Quantisierung bei der DWT. In Abb. 22 ist schön zu erkennen,
dass das Video bei bester Qualität konstant einen hohen SSIM-Wert hat, d.h. es ist dem Originalvideo sehr ähnlich.
Bei einer Datenrate von 1,3MBit/s weist das komprimierte Video bei Bewegungen starke
Blockartefakte auf. Schnelle Bewegungen, bzw. Bewegungen wo sich viel Bildinformation
ändert ruckeln. Übergänge erscheinen oft unscharft und verwischt (Abb. 20) und homogene
Flächen unsauber. Clip 2 (Panorama), Clip 8 (Schiff) und 9 (Telefongespräch) wirken sehr sauber - es treten kaum Artefakte auf.
Abbildung 20: Bei Indeo 5.1 wirken Übergänge oft verwischt
Bei der Datenrate von 2MBit/s sind die Blockartefakte nahezu verschwunden. Bis auf Clip 3
sind alle Clips ruckelfrei. Auch die unschärfe und die unsauberen homogenen Farbflächen sind
wesentlich geringer.
Bei 4MBit/s sind fast alle homogenen Farbflächen sauber und das Video läuft flüssig.
In Abb. 21 und Abb. 22 sind die PSNR bzw SSIM-Werte bei unterschiedlichen Datenraten
dargestellt. Die Clips 2, 4, 6, 8 und 9 sind den Originalclips bei allen Datenraten schon sehr
ähnlich.
25
Abbildung 21: PSNR von Indeo 5.1 bei 1,3MBit/s, 2MBit/s, 4MBit/s und bester Qualität
Abbildung 22: SSIM von Indeo 5.1 bei 1,3MBit/s, 2MBit/s, 4MBit/s und bester Qualität
In Tabelle 4 sind die Messergebnisse bei unterschiedlichen Datenraten aufgelistet.
Codec
Indeo 5.1
Indeo 5.1
Indeo 5.1
Indeo 5.1
Auflösung
(Pixel)
720x480
720x480
720x480
720x480
Datenrate
(kBit/s)
1300
2000
4000
18382
Dateigröße Codierzeit
(Minuten)
14,13
6,31
21,77
8
43,22
11,04
199,9
17
PSNR
SSIM
18,7485
21,2208
27,2882
30,8881
18,86
33,58
62,36
82,71
Tabelle 4: PSNR-Werte, SSIM-Werte, Codierzeiten und Dateigrößen bei verschiedenen Datenraten beim Indeo 5.1 Codec
26
4.4 Quicktime MPEG-4
Folgende Parameter wurden gewählt:
• Beste Qualität
4.4.1 Ergebnis
Das mit dem Quicktime MPEG-4 Codec komprimierte Video mit bester Qualität ist 380,22 MB
groß und benötige 8,26 Minuten zum codieren auf der Testmaschine. Daraus ergibt sich eine
Datenrate von 4370,3 kbps. Das Video wird artefaktfrei dargestellt. Durch die hohe Datenrate
kommt jedoch die Festplatte ab-und-zu nicht nach und daher ruckelt das Video.
Der Encoder hielt sich nicht an die Datenrate von 1,3MBit/s. Stattdessen entsprach die Datenrate ca. 2MBit/s. Dementsprechend sind die beiden Videos mit den Zieldatenraten von 1,3MBit/s
und 2MBit/s nahezu identisch. Das gesamte komprimierte Video weist starke Blockartefakte
auf. Grund dafür ist wahrscheinlich die DCT mit anschließender Quantisierung.
Auch bei 4MBit/s sind durchgehend starke Blockartefakte sichtbar (Abb. 23). Nur Clip 2 (Panorama) und Clip 9 (Telefongespräch) weisen etwas geringere Artefakte auf.
Abbildung 23: Starke Blockartefakte bei 4MBit/s beim Quicktime MPEG-4 Codec
In Abb. 24 und Abb. 25 sind die PSNR bzw. SSIM-Werte bei unterschiedlichen Datenraten dargestellt. Laut SSIM entspricht das Video mit bester Kompressionqualität nahezu dem
Originalvideo.
27
Abbildung 24: PSNR von Quicktime MPEG-4 bei 1,3MBit/s, 2MBit/s, 4MBit/s und bester
Qualität
Abbildung 25: SSIM von Quicktime MPEG-4 bei 1,3MBit/s, 2MBit/s, 4MBit/s und bester
Qualität
In Tabelle 5 sind schließlich die Messwerte bei unterschiedlichen Datenraten dargestellt.
Auffällig dabei ist die enorm hohe Datenrate von 34962 kBit/s bei der besten Kompressionsqualität.
28
Codec
QT
4
QT
4
QT
4
QT
4
Datenrate
(kBit/s)
1300
Dateigröße Codierzeit
(Minuten)
22,97
9,48
PSNR
SSIM
Mpeg-
Auflösung
(Pixel)
720x480
21,7185
15,08
Mpeg-
720x480
2000
23,57
4,46
21,7438
15,52
Mpeg-
720x480
4000
42,65
4,43
22,4811
30,03
Mpeg-
720x480
34962
380,22
8,26
24,2352
61,87
Tabelle 5: PSNR-Werte, SSIM-Werte, Codierzeiten und Dateigrößen bei verschiedenen Datenraten beim Quicktime MPEG-4 Codec
4.5 Sorenson Pro
Der bei Quicktime inkludierte Sorenson Codec besitzt keine Einstellungsmöglichkeiten und die
Standardparameter sind ungünstig gesetzt. Daher wurde die Pro-Version für den Test verwendet.
Folgende Parameter wurden gewählt:
• Bildglättung: deaktiviert
• Bidirectional Frame: allowed
Das Testvideo wurde auf die maximale Auflösung des Sorenson Codec von 640x480 Pixel
herunterskaliert.
4.5.1 Ergebnis
Sorenson Pro benötigt für die Ausgabe eines Videos eine maximale Datenratenangabe. Daher
wurde eine Rate genommen, die in etwa den Datenraten der anderen Codecs bei bester Qualität
entsprich, nämlich rund 2500 kbps. Zum Codieren wurden 15,16 Minuten benötigt. Die Qualität
des Videos ist konstant sehr gut. Lediglich ein leichtes Rauschen und ein geringes Auftreten des
Mosquito-Effekts beim Clip 10 (Blumengarten) entlang der Zaunkante sind sichtbar.
Bei der Datenrate von 1,3MBit/s treten bei Bewegungen starke Blockartefakte auf. Besonderst
gut sind diese bei der Footballszene (schnelle Bewegungen) sichtbar. Grund dafür dürfte eine schlechte Bewegungsabschätzung und zu hohe Datenraten (die durch starke Quantisierung
reduziert werden) sein. Blockartefakte treten auch auf Flächen mit leichten Helligkeitsunterschieden wie dem blauen Himmel in Clip 1 und 10, den bewölkten Himmel in Clip 7 und dem
Hintergrund von Clip 9 auf. Der Mosquito-Effekt ist in Clip ein stark sichbar (z.B. an Ballonkanten). Die Clips 2 (Panorama) und 4 (Computeranimation) weisen kaum Artefakte auf.
Eine Erhöhung der Datenrate auf 2MBit/s führt zu einer Reduktion von Blockartefakten. So
sind die Blöcke bei schnellen Bewegungen im Footballclip nahezu verschwunden. Eine weitere Erhöhung der Datenrate auf 4MBit/s reduziert die Blockartefakte weiter. So sind am Himmel
kaum noch Störungen sichtbar.
In Abb. 26 bzw. Abb. 27 sind die PSNR und SSIM-Werte grafisch dargestellt. Die SSIM-Werte
bei maximaler Qualität sind konstant hoch. Die Messwerte bei den anderen Datenraten sind
29
Abbildung 26: PSNR von Sorenson Pro bei 1,3MBit/s, 2MBit/s, 4MBit/s und bester Qualität
Abbildung 27: SSIM von Sorenson Pro bei 1,3MBit/s, 2MBit/s, 4MBit/s und bester Qualität
nahezu identisch (in den Abbildungen überdeckt die Datenrate von 4MBit/s die anderen Datenraten. Tatsächlich haben alle Flächen jedoch fast die gleiche Form).
In Tabelle 6 sind schließlich wieder die Messwert bei unterschiedlichen Datenraten zusammengefasst.
30
Codec
Sorenson
Pro
Sorenson
Pro
Sorenson
Pro
Sorenson
Pro
Auflösung
(Pixel)
640x480
Datenrate
(kBit/s)
1300
Dateigröße Codierzeit
(Minuten)
14,35
2,35
PSNR
SSIM
20,4159
26,86
640x480
2000
22,1
2,43
20,4794
28,99
640x480
4000
44,17
3,59
20,5418
31,08
640x480
20000
217,6
15,16
26,5421
70,09
Tabelle 6: PSNR-Werte, SSIM-Werte, Codierzeiten und Dateigrößen bei verschiedenen Datenraten beim Sorenson Pro Codec
4.6 Sorenson MPEG-4
Folgende Parameter wurden gewählt:
• B-Frames: Aus (Bei Aktivierung traten Wiedergabeprobleme auf)
• Beste Qualität (100)
Das Testvideo wurde auf die maximale Auflösung des Sorenson MPEG-4 Codec von 640x480
Pixel herunterskaliert.
4.6.1 Ergebnis
Als Richtdatenkompressionsrate wurden 2500 kbps angenommen. Die Dateigröße beträgt
222,15 MB bei einer Kompressionszeit von 25,6 Minuten. In Clip 1 sind leichte Blockartefakte
an den Ballonrändern zu beobachten. Das Bild wirkt insgesamt etwas verwischt und gestört.
Grund dafür dürfte die DCT Transformation mit anschließender Quantisierung sein.
Genauso wie beim Sorenson Pro Codec stimmen beim Sorenson MPEG-4 Codec die PSNR
und SSIM-Werte nahezu überein (bei Zweiterem stimmen sogar die Messwerte bei bester
Qualität überein). Die Werte sind in Abb. 28 und Abb. 29 dargestellt. Der Verlauf ist relativ
gleichtmäßig. Nur bei Clip 5 (Buchstaben) kommt es zu stärkeren Schwankungen.
Bei allen drei Testdatenraten treten Blockartefakte auf - je höher die Datenrate, desto genauer
die Quantisierung und desto geringer die Blockbildung. An diesem Beispiel ist auch wieder gut
zu erkennen, dass die beiden mathematischen Verfahren PSNR und SSIM kaum auf Blockartefakte reagieren.
In Tabelle 7 sind die Messergebnisse mit Standardeinstellungen zusammengefasst.
31
Abbildung 28: PSNR von Sorenson MPEG-4 bei 1,3MBit/s, 2MBit/s, 4MBit/s und bester Qualität bei Standardparametern
Abbildung 29: SSIM von Sorenson MPEG-4 bei 1,3MBit/s, 2MBit/s, 4MBit/s und bester Qualität bei Standardparametern
Codec
Sorenson
MPEG-4
Sorenson
MPEG-4
Sorenson
MPEG-4
Sorenson
MPEG-4
Auflösung
(Pixel)
640x480
Datenrate
(kBit/s)
1300
Dateigröße Codierzeit
(Minuten)
14,78
6,13
PSNR
SSIM
19,7342
25,47
640x480
2000
22,26
5,58
19,8965
28,45
640x480
4000
44,78
5,39
20,0407
31,52
640x480
20000
222,15
25,26
20,0942
32,89
Tabelle 7: PSNR-Werte, SSIM-Werte, Codierzeiten und Dateigrößen bei verschiedenen Datenraten beim Sorenson MPEG-4 Codec mit Standardeinstellungen
32
4.6.2 Optimierung der Parameter
Sorenson MPEG-4 bietet eine Menge an Parametern zur Optimierung der Ausgabe. Ziel ist es,
die Blockartefakte durch Änderung dieser Parameter zu minimalisieren. Am einfachsten geht
dies durch Erhöhung der Datenrate. Aber wie man im letzten Kapitel gesehen hat, sind sogar bei
einer Datenrate von 20 MBit/s noch leichte Blockartefakte sichtbar. So hohe Datenraten sind
oft nicht zumutbar (z.B. ein CD-Laufwerk ist damit überfordert). Daher wird hier versucht, die
Artefakte bei einer Datenrate von 4MBit/s zu reduzieren. In Tabelle 8 sind die Ergebnisse bei
bestimmten Parametern gegenübergestellt.
Der Parameter MPEG-4 Quantisation aktiv“ verringert die Artefakte etwas. Generell fällt je”
doch auf, dass bestimmte Blockartefakte, wie z.B. an den Kanten des Luftballons, auch bei
hohen Datenraten und geringen Auflösungen existieren. Anscheinend sind diese eine Folge des
Algorithmus.
Parameter
1 Pass bzw. 2 Pass VBR
anstatt 1 Pass CBR
MPEG-4 Quantisation aktiv
Global Motion compensation
Reduzierung
der
Auflösung auf 320x240
Pixel
Ergebnis
Blockartefakte verstärken sich
Artefakte reduzieren sich
keine Veränderung
Artefakte reduziert aber noch vorhanden
Tabelle 8: PSNR-Werte, SSIM-Werte, Codierzeiten und Dateigrößen bei verschiedenen Datenraten beim Sorenson MPEG-4 Codec mit Standardeinstellungen
4.7 Vanguard Software Solutions H.264
Folgende Parameter wurden gewählt:
• Standardeinstellungen
4.7.1 Ergebnis
Als Richtdatenkompressionsrate wurden 2500 kbps angenommen. Die Kompressionszeit betrug 27,2 Minuten bei 117,28 MB. An starken Kanten sind Blockartefakte sichtbar wie z.B. bei
Clip 3 (Lokomotive). Das Bild wirkt teilweise leicht verschwommen. Bei schnellen Bewegungen, insbesondere bei Clip 6 (Footballspiel) sind zackige Artefakte an den Rändern der Dressen
der Footballspieler zu erkennen.
Bei der Datenrate von 1,3MBit/s tritt ein leichter Mosquito-Effekt an den Rändern von Gegenständen auf. Eine Blockbildung ist selten zu erkennen. Stattdessen wirken Fächen glatt und
homogen, was darauf zurückzuführen ist, dass die einzelnen Blöcke mit einem Filter (z.B.
Gaußfilter) Codec-intern geglättet wurden. Mit steigender Datenrate verschwindet dieser Effekt - bei 4MBit/s ist er kaum noch sichtbar. Wie in Abb. 30 und Abb. 31 zu sehen ist liegen die
Bildwerte der einzelnen Datenraten sehr knapp beisamen. Probleme bereiten besonderst Clip
33
1, 5 und 7. In diesen Szenen kommen viele schnelle Bewegungen vor.
In Tabelle 9 sind die Messergebnisse bei unterschiedlichen Datenraten zusammengefasst. Bemerkenswert ist, dass die PSNR und SSIM-Werte über die verschiedenen Datenraten kaum
varieren.
Abbildung 30: PSNR von VSS H.264 bei 1,3MBit/s, 2MBit/s, 4MBit/s und bester Qualität
Abbildung 31: SSIM von VSS H.264 bei 1,3MBit/s, 2MBit/s, 4MBit/s und bester Qualität
34
Codec
VSS
H.264
VSS
H.264
VSS
H.264
VSS
H.264
Auflösung
(Pixel)
720x480
Datenrate
(kBit/s)
1300
Dateigröße Codierzeit
(Minuten)
14,68
11,7
PSNR
SSIM
19,3247
19,92
720x480
2000
22,34
12,25
19,3325
21,14
720x480
4000
43,12
14,22
19,3299
21,97
720x480
20000
117,28
27,2
19,3255
21,96
Tabelle 9: PSNR-Werte, SSIM-Werte, Codierzeiten und Dateigrößen bei verschiedenen Datenraten beim VSS H.264 Codec
4.8 XVid
Folgende Parameter wurden gewählt:
• Single Pass
• Standardeinstellungen
4.8.1 Ergebnis
Die Codierung des Videos dauerte 3,3 Minuten bei 101,75 MB. Das Bild wirkt etwas verschwommen - speziell bei Szene 2 beim direkten Vorbeiflug an einem Wolkenkratzer. Hier
muss der Codec die Quantisierung vergröbert damit die maximale Datenrate nicht überschritten wird. An Kanten treten sehr selten und zufällig verteilt ca. 1x1 Pixel große Störflecken in
weiß bis grau auf.
Bei 1,3MBit/s treten bei schnellen Bewegungen Blockartefakte auf. Grund dafür sind die
Quantisierungs- und Motion Estimationfehler. Bei höheren Datenraten verschwinden diese und
sind nur noch geringfügig bei dem Footballspiel sichtbar. Das Video wirkt schon bei 1,3MBit/s
sehr gut.
In Abb. 32 und Abb. 33 sind die PSNR und SSIM-Werte bei unterschiedlichen Datenraten
dargestellt. In Tabelle 10 befindet sich eine Zusammenfassung der Messwerte mit Standardeinstellungen.
35
Abbildung 32: PSNR von XVid bei 1,3MBit/s, 2MBit/s, 4MBit/s und bester Qualität mit Standardeinstellungen
Abbildung 33: SSIM von XVid bei 1,3MBit/s, 2MBit/s, 4MBit/s und bester Qualität mit Standardeinstellungen
Codec
XVid
XVid
XVid
XVid
Auflösung
(Pixel)
720x480
720x480
720x480
720x480
Datenrate
(kBit/s)
1300
2000
4000
10000
Dateigröße Codierzeit
(Minuten)
14,15
3,3
26,61
3,32
42,97
2,49
101,75
3,3
PSNR
SSIM
16,8246
16,7896
16,7390
16,7110
7,54
7,76
7,76
7,6
Tabelle 10: PSNR-Werte, SSIM-Werte, Codierzeiten und Dateigrößen bei verschiedenen Datenraten beim XVid Codec mit Standardeinstellungen
36
4.8.2 Optimierung der Parameter
Das mit 2MBit/s und höher komprimierte Video weist kaum Artefakte auf. Daher wurde das
Video mit 1,3MBit/s ausgewählt. Hier sollten die störenden Blockartefakte durch Optimierung
der Parameter entfernt werden. [17]
XVid bietet massenhaft Einstellungsmöglichkeiten. Zuerst wird ein MPEG-4 Profil gewählt hier AS @ L5“. Unter Erweiterte Optionen“ können dann folgede Parameter gewählt werden:
”
”
• Quantisierungstyp: H.263 ist für niedrige Datenraten geeignet und glättet die Ausgabe.
MPEG bzw MPEG Custom (Abb. 34) sind für höhere Datenraten ausgelegt, wobei bei
MPEG Custom die Quantisierungsmatrizen händisch eingegeben werden können. Für
das Testvideo wurde MPEG“ ausgewählt.
”
• Adaptive Quantisation: Wird in sehr hellen oder dunklen Szenen aktiv. Hier wird die
Quantisierung für helle und dunkle Texturen vergröbert, da diese Vergröberung normalerweise nicht wahrgenommen wird.
• Ermöglicht die Ausgabe von interlaced-Video. Diese Option wurde für den Test deaktiviert.
• Quarterpixel: Bei MPEG-1/2 werden Bewegungen auf ein halbes Pixel genau gespeichert. XVid kann sie bis auf ein viertel-Pixel genau speichern. Dies kann jedoch bei
manchen Playern zu Schlierenbildung führen. Weiters steigt die CPU-Beanspruchung
beim Decodiern durch Quarterpixel an.
• Global Motion Compensation (GMC): XVid unterstützt 3 Warppoints. Wird ein Warppoint verwendet, so werden Verschiebungen erkannt. Bei zwei Warppoints werden
zusätzlich noch Rotation und Größenänderung und bei drei Warppoints geometrische
Verzerrungen erkannt.
• Reduced Resolution: Dient zur Blockartefaktreduktion auf Kosten der Auflösung, d.h.
dort wo Blockartefakte auftreten, wird die Auflösung reduziert. XVid unterstützt im Moment nur die Reduktion über das gesamte Video. Daher wird diese Option im Test deaktiviert.
• B-VOPS: Wenn aktiviert, dann werden auch nachfolgende Frames bei der Encodierung
betrachtet.
Zum Encodieren wird ein 2-Passverfahren ausgewählt. Im ersten Pass wird das Video analysiert, und im 2. Encodiert. Folgende Paramter stehen zur Verfügung:
• I-Frame boost: ermöglicht die Erhöhung der Datenrate von I-Frames damit diese eine
bessere Qualität aufweisen.
• I-Frame closer than ... frames: Gibt an, wieviele nicht-I-Frames zwischen zwei I-Frames
sein müssen, so dass die Datenrate des 2. I-Frames nicht reduziert wird. Unter are redu”
ced by“ kann der Prozentsatz an Reduktion angegeben werden.
• Curve compression: Hier kann man festlegen, wie auf zu hohe bzw. niedrige Datenraten
reagiert werden soll (durch einen Gewichtungswert)
37
Abbildung 34: Quantisierungstabelle bei XVid
Schließlich bietet XVid noch Advanced Options“ an:
”
• Motion search precision: Gibt an, wie genau die Bewegungserkennung ist.
• VHQ: Errechnet die Anzahl an Bits, die ein Makroblock in verschiedenen Szenen erreichen kann. Gewählt wird dann jene Szene mit der geringsten Bitzahl.
• VHQ for B-Frames too: Optimierung nicht nur für I- und P-Frames, sondern auch für
B-Frames.
• Chroma motion: XVid verwendet zur Bewegungserkennung Helligkeitsänderungen. Ist
diese Option aktiviert, so werden auch Farbänderungen mit einbezogen.
• Cartoon Mode: Optimiert die Enkodierung von großen Flächen, wie sie häufig in Zeichentrickfilmen auftreten.
Die Parameter wurden sukzessive durchgetestet, wobei mit folgenden Parametern die Blockartefakte reduziert werden konnten:
• Quantisierungstyp: MPEG
• Adaptive Quantisation deaktiviert
• Quarterpixel aktiviert
• 2-Passverfahren mit Standardparameter
• Reduced Resolution: deaktiviert
• GMC aktiviert
• B-VOPs: aktiviert
• Motionsearch precision: Ultra high
• VHQ: 4 Wide
• VHQ for B-Frames too aktiviert
• Chroma motion aktiv
38
4.9 DivX
4.9.1 Ergebnis
Die im Test verwendete DivX Version 5.2.1 unterstützt eine maximale Datenrate von 4MBit/s.
Die Kompressionszeit betrug 8,19 Minuten bei 42,62 MB. Mit Standardeinstellungen treten bei
dieser Datenrate leicht zackige Ränder bei schnellen Bewegungen auf Grund schlechter Bewegungsabschätzung auf. Teilweise wirken die Kanten verschwischt. Bei niedrigeren Datenraten
treten leichte Blockartefakte und flimmernde Objektgrenzen auf. Clip 9 (Telefongespräch) ist
schon bei 1,3MBit/s subjektiv kaum mehr vom Originalclip zu unterscheiden.
In Abb. 35 und Abb. 36 sind die Messwerte bei unterschiedlichen Datenraten grafisch dargestellt. In Clip 1 und 5 (viel Bewegung bei vielen Farben) treten stärkere Schwankungen auf. In
Tabelle 11 findet man eine Auflistung der Messwerte.
Abbildung 35: PSNR von DivX bei 1,3MBit/s, 2MBit/s, 4MBit/s und bester Qualität mit Standardeinstellungen
Abbildung 36: SSIM von DivX bei 1,3MBit/s, 2MBit/s, 4MBit/s und bester Qualität mit Standardeinstellungen
39
Codec
DivX
DivX
DivX
DivX
(beste
Qualität)
Auflösung
(Pixel)
720x480
720x480
720x480
720x480
Datenrate
(kBit/s)
1300
2000
4000
4000
Dateigröße Codierzeit
(Minuten)
14,65
5,3
22,65
5,56
44,62
6,25
42,62
8,19
PSNR
SSIM
19,3842
19,3923
19,3892
19,4015
19,41
20,66
21,81
20,60
Tabelle 11: PSNR-Werte, SSIM-Werte, Codierzeiten und Dateigrößen bei verschiedenen Datenraten beim DivX Codec mit Standardeinstellungen. Die Datenrate von 4000
kBit/s erscheint zweimal, da es sich beim ersten Mal um die Richtdatenrate, und
beim weiten Mal um die Datenrate bei bester Bildqualität handelt.
4.9.2 Optimierung der Parameter
Gute Kompressionsergebnisse (d.h. geringe Blockartefakte) liefert DivX mit folgenden Parametern:
• Verschlüsselungsleistung: langsam
• Psychovisuelle Verbessung: langsam
• Quellvorverarbeitung: sehr stark
• Quantisierungstyp: MPEG-2
• 1-Passverfahren
Besonderst die Aktivierung von Psychovisuelle Verbessung“ führte zu einer starken subjekti”
ven Qualitätsverbesserung. Beim durchführen von mehreren Passes kam es zu einer vermehrten
Blockbildung bei Clip 5 (Buchstaben).
4.10 Microsoft Windows Media Video 9
Folgende Parameter wurden gewählt:
• Single Pass CBR
• maximale Bildqualität
4.10.1 Ergebnis
Die Komprimierung des Testvideos mit dem Microsoft Windows Media 9 (WMV 9) Codec
dauerte 29,12 Minuten bei 188,07 MB mit bester Qualität. Daraus ergibt sich eine Datenrate
von 2161 kbps. Abgesehen von einem leichten Flimmern an einigen starken Kanten (z.B. an
den Zähnen des Computeranimierten Tieres) sind keine Artefakte zu erkennen.
Bei einer Datenrate von 1,3MBit/s treten leichte Blockartefakte auf ähnlich-farbenen Flächen
auf. Farbverläufe gehen teilweise verloren. Grund für diese Artefakte ist die Quantisierung.
40
Beim Wasserfallclip scheinen die Bäume leicht zu schwingen. Die ist wahrscheinlich auf eine
schlechte Bewegungskompensation zurückzuführen. Bei den Footballspielern treten teilweise
zackige Artefakte an den Kanten auf - ein Indiz für eine fehlerhafte Bewegungsabschätzung.
Mit steigender Datenrate verschwinden die Artefakte immer mehr. Bei 4MBit/s sind noch leichte Blockartefake erkennbar.
In Abb. 37 und Abb. 38 sind die PSNR und SSIM-Werte grafisch dargestellt. In Tabelle 12 sind
die Messwerte zusammengefasst. Man erkennt die durchgehend guten PSNR und SSIM-Werte.
Nur bei Clip 5 (Buchstaben) kommt es kurzfristig zu einem Einbruch.
Abbildung 37: PSNR von WMV 9 bei 1,3MBit/s, 2MBit/s, 4MBit/s und bester Qualität mit
Standardeinstellungen
Abbildung 38: SSIM von WMV 9 bei 1,3MBit/s, 2MBit/s, 4MBit/s und bester Qualität mit
Standardeinstellungen
41
Codec
WMV 9
WMV 9
WMV 9
WMV 9
Auflösung
(Pixel)
720x480
720x480
720x480
720x480
Datenrate
(kBit/s)
1300
2000
4000
17288
Dateigröße Codierzeit
(Minuten)
14,42
23,6
21,88
23,26
42,31
24
188,07
29,12
PSNR
SSIM
28,9992
31,3428
33,4885
37,3551
64,69
73,64
82,63
92,83
Tabelle 12: PSNR-Werte, SSIM-Werte, Codierzeiten und Dateigrößen bei verschiedenen Datenraten beim WMV 9 Codec mit Standardeinstellungen
4.10.2 Optimierung der Parameter
WMV 9 bietet im Gegensatz zu XVid und DivX wenige Einstellungsmöglichkeiten. Die beste
Qualität erreicht man mit dem 2-Pass Verfahren bei maximaler Qualität.
4.11 MPEG-1
Folgende Parameter wurden gewählt:
• Single Pass CBR
• maximale Datenrate
4.11.1 Ergebnis
Zur Encodierung wurde der in Premiere inkludierte MainConcept MPEG-Codec verwendet.
Die Kompression dauerte bei maximaler Datenrate 4,04 Minuten bei 151,88 MB. Das Video
bei höchster Datenrate weist einen starken Mosquito-Effekt an Kanten auf. Weiters flimmert
das Bild durchgehen und es sind immer wieder Blockartefakte sichtbar. Besonderst stark ist
das Flimmern bei Farbverläufen zu erkennen. Weiters sind die Kanten der Footballspieler bei
schnellen Bewegungen zackig. Bei allen drei Testdatenraten traten starke Blockartefakte auf.
In Abb. 39, sowie in Tabelle 13 sind die Messwerte dargestellt und zusammengefasst. Bei der
Ermittlung der SSIM-Werte versagte das SSIM-Tool. Das komprimierte Video hat durchgehend
niedrige gesamt-PSNRs. Nach Clip 5 kommt es zu einem starken PSNR-Abfall. Clip 5 wurde
mit den selben Parametern nocheinmal codiert, und dabei kamen wesentlich höhere PSNR-Wert
heraus. Auch subjektiv wirkt der getrennt codierte Clip besser.
42
Abbildung 39: PSNR von MPEG-1 bei 1,3MBit/s, 2MBit/s, 4MBit/s und bester Qualität mit
Standardeinstellungen
Codec
MPEG-1
MPEG-1
MPEG-1
MPEG-1
Auflösung
(Pixel)
720x480
720x480
720x480
720x480
Datenrate
(kBit/s)
1300
2000
4000
14000
Dateigröße Codierzeit
(Minuten)
14,12
3,4
21,71
3,1
43,41
3,22
151,88
4,04
PSNR
SSIM
9,8527
10,0081
10,1993
10,1818
x
x
x
x
Tabelle 13: PSNR-Werte, SSIM-Werte, Codierzeiten und Dateigrößen bei verschiedenen Datenraten beim MPEG-1 Codec mit Standardeinstellungen
4.11.2 Optimierung der Parameter
Als Zielbitrate wurden 4MBit/s und als maximal bzw. minimal Bitrate 8 bzw. 0.1920 MBit/s angenommen. Weiters wurde mit VBR und 2-Passes codiert und automatisches GOP-Placement
aktiviert. Abb. 40 zeigt den PSNR-Vergleich bei 4MBit/s mit und ohne VBR. Die PSNRKurven sehen sehr ähnlich aus. Auch beim Betrachten des Videos fällt kein Unterschied auf.
Das Verändern der maximalen und minimalen Datenraten in Richtung der Extrema führte zu
einem deutlichen Qualitätsgewinn beim Testvideo. Diese Steigerung wird nur subjektiv wahrgenommen, und wirkt sich kaum im PSNR aus (Abb. 40, VBR-Extrema“).
”
43
Abbildung 40: PSNR von MPEG-1 4MBit/s und VBR bzw. CBR. VBR-Extrema“ stellt den
”
PSNR-Verlauf bei Maximaldaten für den maximalen Datenstrom und Minimaldaten für den minmalen Datenstrom dar.
4.12 MPEG-2
Folgende Parameter wurden gewählt:
• Single Pass CBR
• maximale Datenrate
4.12.1 Ergebnis
Die Kompression bei höchster Datenrate dauerte 6,55 Minuten bei 151,86 MB. Das Video bei
14 MBit/s weist einen leichten Mosquito-Effekt an Kanten auf. Weiters sind Objektgrenzen bei
schnellen Bewegungen leicht zackig.
Bei einer Datenrate von 1,3MBit/s treten starke Blockartefakte auf, die jedoch bei 4MBit/s
schon stark reduziert sind.
In Abb. 41, sowie in Tabelle 14 sind die Messwerte dargestellt und zusammengefasst. Bei der
Ermittlung der SSIM-Werte versagte das SSIM-Tool.
44
Abbildung 41: PSNR von MPEG-2 bei 1,3MBit/s, 2MBit/s, 4MBit/s und bester Qualität mit
Standardeinstellungen
Codec
MPEG-2
MPEG-2
MPEG-2
MPEG-2
Auflösung
(Pixel)
720x480
720x480
720x480
720x480
Datenrate
(kBit/s)
1300
2000
4000
14000
Dateigröße Codierzeit
(Minuten)
14,12
5,27
21,71
5,33
43,41
8,21
151,86
6,55
PSNR
SSIM
18,5736
19,3761
19,5213
19,5324
x
x
x
x
Tabelle 14: PSNR-Werte, SSIM-Werte, Codierzeiten und Dateigrößen bei verschiedenen Datenraten beim MPEG-2 Codec mit Standardeinstellungen
4.12.2 Optimierung der Parameter
Zur Codierung wurde auf VBR und 2-Passverfahren umgestellt. Die Zielbitrate wurde auf
4MBit/s gestellt. Folgende Parameter wurden als günstig, ermittelt:
• Maximale Bitrate: 4MBit/s
• Minimale Bitrate: 3MBit/s
• Intra DC Precision: 10 Bit
• VLC Format: Table 1
• Quantisation: non-linear/alternate
Je stärker die maximale und minimale Bitrate von der Zielbitrate differiert, desto stärker
wird die Blockbildung. Besonderst anschaulich ist dies bei extremen Einstellungen (max =
14 MBit/s, min = 0,1920 MBit/s).
45
4.13 Vergleich der Codecs
4.13.1 Datenrate vs. Qualität
Abbildung 42: Datenrate vs. PSNR der getesteten Codecs. Je höher der PSNR und je geringer
die Datenrate, desto besser ist der Codec.
In Abbildung 42 sind die Datenraten und die PSNRs bei maximaler Darstellungsqualität gegenübergestellt. Ein Codec ist umso besser, je weiter er in der linken oberen Ecke liegt, d.h. je
höher sein PSNR und je geringer seine Datenrate ist. Spitzenreiter bei der Qualität ist der Microsoft Windows Media Video 9 Codec bei einer durchschnittlichen Datenrate von gut 17MBit/s
gefolgt vom Indeo 5.1 Codec. Die höchste Datenrate weist der Quicktime MPEG-4 Codec bei
mittelmäßiger bis guter Qualität auf. Den schlechtesten PSNR-Wert hat MPEG-1 mit ca. 10.
Grund dafür ist ein starker Einbruch bei Clip 5. DivX, XVid und MPEG-2 liegen bei geringer
Datenrate im Mittelfeld bei den PSNR-Werten. Die restlichen Codecs gruppieren sich um eine
Datenrate von ca. 20 MBit/s bei PSNRs zwischen 15 und 30.
Abbildung 43: Datenrate vs. SSIM-Wert der getesteten Codecs. Je höher der SSIM-Wert und je
geringer die Datenrate, desto besser ist der Codec.
In Abbildung 43 sind die Datenraten und die SSIM-Messwerte bei maximaler Qualität dar-
46
gestellt. Wie bei der Gegenüberstellung Datenrate-PSNR gilt auch hier: je weiter links oben ein
Punkt ist, desto besser ist der Codec.
Spitzenreiter ist hier WMV9 mit einem sehr guten Wert von 92,83 bei einer Datenrate von
17,288 MBit/s gefolgt von Indeo 5.1. Quicktime MPEG-4 hat einen guten SSIM-Wert, aber
die Datenrate von fast 35MBit/s ist zu hoch. DivX weist einen durchschnittlichen SSIM-Wert
auf. Bei MPEG-1 und MPEG-2 funktionierte der SSIM-Test nicht. Indeo 4.5 bildet mit einem
SSIM-Wert von 3,17 das Schlusslicht. Sorenson Pro befindet sich im oberen Mittelfeld mit den
anderen Codecs bei Werten zwischen 20 und 40.
Abbildung 44: PSNR und SSIM bei 1,3MBit/s
In Abbildung 44 werden PSNR und SSIM-Werte der einzelnen Codecs verglichen. Die
SSIM-Werte von MPEG-1 und MPEG-2 konnten nicht ermittelt werden. Cinepak unterstützte
die Datenrate von 1,3MBit/s nicht.
MPEG-1 hat den schlechtesten PSNR. Die anderen Codecs liegen bezüglich PSNR alle gleich
auf. Nur WMV 9 hat einen höheren Ratio. Spitzenreiter beim SSIM ist WMV 9. Indeo 4.5 und
Cinepak Pro liegen am Ende. Dies deckt sich auch mit der subjektiven Erfahrung. Die anderen
Codecs liegen bezüglich SSIM alle in etwa gleich auf - bis auf XVid welches etwas unter dem
Durchschnitt liegt.
47
Abbildung 45: PSNR und SSIM bei 2MBit/s
Wie bei 1,3MBit/s ist auch bei 2MBit/s (Abbildung 45) WMV 9 Spitzenreiter bei beiden
Messwerten und konnte sich sowohl beim PSNR, als auch beim SSIM verbessern. Cinepak Pro
und Indeo 5.1 konnten ihre SSIM-Werte steigern, während Sorenson MPEG-4 einen Einbruch
beim PSNR verzeichnen musst. Alle anderen Codecs blieben relativ stabil.
Abbildung 46: PSNR und SSIM bei 4MBit/s
Bei 4MBit/s erfährt WMV 9 einen weiteren Schub nach vorne. Auch Sorenson MPEG-4,
Sorenson Pro, Quicktime MPEG-4 und Indeo steigern sich deutlich.
Betrachtet man die Messwerte über alle Datenraten, so kann man die Ergebnisse wie folgt
zusammenfassen:
• WMV 9 liefert durchgehend die besten Messwerte
• Die Messwerte der folgende Codecs bleiben stabil: MPEG-1, MPEG-2, DivX, XVid,
48
VSS H.264 und Indeo 4.5. Trotzdem werden bei unterschiedlichen Datenraten bei den
selben Codecs wesentliche Qualitätsunterschiede wahrgenommen. Der Hauptgrund dafür
ist, dass bei niedrigeren Datenraten häufig Blockartefakte entstehen, welche von den mathematischen Verfahren PSNR und SSIM kaum bewertet werden.
4.13.2 Kompressionszeit
Abbildung 47: Kompressionszeit bei bester Qualität
In Abbildung 47 sind die Kompressionszeiten bei maximaler Qualität dargestellt. Am schlechtesten schneidet hier Cinepak Pro mit knapp 60 Minuten ab. Am schnellsten war XVid mit 3,3
Minuten. Schnell waren außerdem die MPEG-1- und MPEG-2-, sowie die MPEG-4- (konformen) Codecs. WMV 9 liegt im oberen Mittelfeld
Weiters sind in Abbildung 48 die Kompressionszeiten bei unterschiedlichen Datenraten zusammengefasst. Am schlechtesten ist hier Indeo 4.5, gefolgt von WMV 9. Besonderst schnell sind
Sorenson Pro, XVid, DivX und MPEG-1.
49
Abbildung 48: Kompressionszeit bei 1,3MBit/s, 2MBit/s und 4MBit/s
5 Fazit
Die Anforderungen an Videocodecs haben sich in den letzten Jahren enorm geändert. Videodaten müssen primär nicht mehr durch eine beschränkte Telefonleitung gequetscht“ werden,
”
sonder werden über Breitbandverbindungen und Massenspeicher (DVD) verteilt.
Videocodecentwicklern stehen diverse Grundtechniken“ zur Entwicklung zur Verfügung. Zu
”
diesen gehören RLE, Huffmanencoding, Quantisierung, Transformation (DWT/DCT/DFT),
Bewegungsabschätzung und Motion Compensation. Die meisten Codecs verwenden mehrere dieser Techniken gleichzeitig. Jede verlustbehaftete Technik hat ihre Nachteile: So kann
Quantisierung zu unscharfen Bilder und Blockbildung (bei Einteilung des Bildes in Blöcke
und anschließender Quantisierung) und Bewegungsabschätzung und Motion Compensation zu
zackigen Kanten führen.
Die Beurteilung der Codecs basierte auf den mathematischen Verfahren PSNR und SSIM, sowie auf der Analyse der Blockartefakte bei Anwendung der Codecs auf ein Testvideo. Die
beiden mathematischen Verfahren ignorieren Blockartefakte, was dazu führte, dass Videos bei
unterschiedlicher Kompressionsrate und Blockbildung ähnliche, wenn nicht sogar identische,
Werte aufwiesen.
In dem hier durchgeführten Test wurden sowohl alte Codecs wie Indeo und Cinepak, als auch
moderne Codecs wie DivX und XVid getestet. Der Schluss, dass alte Codecs schlechter als
Neue seien ist falsch. So lieferte der betagte Indeo 5.1 Codec die 2.-besten Ergebnisse, nach
dem WMV 9, bei Komprimierung mit maximaler Qualität.
Der Test zeigte weiters, dass Kompressionszeit und Bildqualität nicht direkt proportional zueinander sind. So führte der Indeo 4.5 Codec die Spitze der Kompressionszeiten an, während seine
Bildqualität zu den schlechtesten der getesteten Codecs gehört. Die beliebten Codecs DivX und
XVid bieten gute Kompressionsraten bei guter Qualität. MPEG-1 entäuschte durch die starken
Blockartefake, welche selbst bei hohen Datenraten auftraten. MPEG-2 lieferte gute Ergebnisse
- allerdings erst ab Kompressionraten von 4MBit/s bei 720x480 Pixel.
50
Spitzenreiter in Sachen Qualität ist Microsofts WMV 9. Seine Bildqualitätsmesswerte lagen
durchgehend an der Spitze. Negativ war allerdings die hohe Kompressionszeit - WMV 9
brauchte teilweise wesentlich länger als der Durchschnitt. Außerdem läuft der WMV 9 im
Moment nur unter Microsoft Betriebssystemen. Wer also seine Videos auf unterschiedlichen
Plattformen betrachten möchte, sollte XVid oder DivX verwenden.
In Tabelle 15 sind die Messergebnisse und die auftretenden Artefakte nocheinmal zusammengefasst und einander gegenübergestellt.
51
52
Codec
Cinepak
Cinepak Pro
Indeo 4.5
Indeo 5.1
Quicktime
MPEG-4
Sorenson Pro
Sorenson
MPEG-4
VSS H.264
XVid
DivX
WMV 9
MPEG-1
MPEG-2
Datenrate
(MBit/s)
19,288
23,04
19,088
18,376
34,960
Verfahren
Artefakte
Vektorquantisierung
Vektorquantisierung, I-Frames
Vektorquantisierung
(Hybrid-)Wavelet-Transformation
DCT
Blockartefakte, Flimmern bei geringer Helligkeitsänderung
Blockartefakte, Flimmern bei geringer Helligkeitsänderung
Blockartefakte, Mosquito-Effekt, Blurring
Moquito-Effekt, Übersteuerung
Blockartefakte
20
20
Vektorquantisierung, I-Frames
DCT
Rauschen
Blockartefakte, Blurring
20
10
4
17,288
14
DCT
DCT, DWT
DCT, DWT
DCT, DWT
DCT
14
DCT
Blockartefakte, zackige Ränder bei Bewegungen
Blurring, zufällige 1x1 Pixel-Fehler
Blurring, zackige Ränder bei Bewegung, Blockartefakte
leichtes Flimmern an starken Kanten
Mosquito-Effekt, Flimmern, Blockartefakte, zackige Kanten bei
Bewegung
Mosquito-Effekt, zackige Kanten bei Bewegung
Tabelle 15: Zusammenfassung der Messergebnisse und auftretenden Artefakte.
Literatur
[1] A NDREAS K LEINSCHMIDT, Z EFIR K URTISI: Evaluation von Video-Codecs für Vorlesungsmaterialien, Juli 2003.
[2] C. A. G ONZALES , H. Y EO , C. J. K UO: Requirements for motionestimation search range in MPEG-2 coded video. http://www.research.ibm.com/journal/rd/
434/gonzales.pdf. Stand: Dezember 2004.
[3] Codec Central - Cinepak Codec. http://www.siggraph.org/education/
materials/HyperGraph/video/codecs/Cinepak.html. Stand: Dezember
2004.
[4] Codec Central - Sorenson Codec. http://www.siggraph.org/education/
materials/HyperGraph/video/codecs/Sorenson.html. Stand: Dezember
2004.
[5] Computation of SNR and PSNR. http://bmrc.berkeley.edu/courseware/
cs294/fall97/assignment/psnr.html. Stand: Dezember 2004.
[6] D IMITRIOS , M IRAS: On Quality Aware Adaption of Internet Video. Doktorarbeit, University of London, Mai 2004.
[7] F ERGUSON , D R . T IM: Cinepak (CVID) stream format for AVI and QT. http://www.
csse.monash.edu.au/∼timf/videocodec/cinepak.txt. Stand: Dezember
2004.
[8] H.264 Tutorials and white papers. http://www.vcodex.com/h264.html. Stand:
Dezember 2004.
[9] Huffman Coding - Wikipedia. http://en.wikipedia.org/wiki/Huffman
coding. Stand: Dezember 2004.
[10] KOLLER , BASTIAN: Open DivX, Vergangenheit, Gegenwart, Zukunft.
http:
//www2.informatik.uni-wuerzburg.de/mitarbeiter/holger/
lehre/osss01/koller/osss01 koller.pdf. Stand: Dezember 2004.
[11] M C G OWAN , J OHN: John McGowan’s AVI Overview: Audio and Video Codecs. http:
//www.jmcgowan.com/avicodecs.html. Stand: Dezember 2004.
[12] M C G OWAN , J OHN: John McGowan’s AVI Overview: Video Compression Technologies.
http://www.maxfeel.com/avioverview/avialgo.html. Stand: Dezember
2004.
[13] Run-length-encoding - Wikipedia.
http://en.wikipedia.org/wiki/
Run-length encoding. Stand: Dezember 2004.
[14] WARNER , DANIEL: Videokomprimierung und DVD-Ripping. SYBEX, 2002.
[15] WAVELETS - Transformationskodierung. http://www.fh-jena.de/contrib/
fb/et/personal/ansorg/ftp/wavelet/wavelet.htm. Stand: Dezember
2004.
53
[16] W OLFGANG E FFELSBERG , R ALF S TEINMETZ: Video Compression Techniques.
dpunkt.verlag, 1998.
[17] XVid for Developer.
http://www.xvid.org/modules.php?op=
modload&name=Sections&file=index&req=viewarticle&artid=
3&page=1. Jänner 2005.
[18] Z. WANG , A. C. B OVIK , H. R. S HEIKH und E. P. S IMONCELLI: The SSIM Index
for Image Quality Assessment. http://www.cns.nyu.edu/∼zwang/files/
research/ssim/index.html. Stand: Dezember 2004.
54