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