Überhasteter VP8-Release mit vielen Problemen

Überhasteter VP8-Release mit vielen Problemen

x264-Entwickler kritisiert VP8

Daniel Kottmair
20.05.2010 Der x264-Entwickler Jason Garrett-Glaser, besser bekannt als Dark Shikari, hat VP8 unter die Lupe genommen und kommentiert Patent- und Implementierungsprobleme sowie Performance und Effizienz, alles in Relation zu H.264.

Jason Garrett-Glaser ist einer der Hauptverantwortlichen für die unglaubliche Effizienz des freien H.264-Encoders x264, der im Vergleich zu anderen, kommerziellen Encodern sowohl extrem schnell ist, als auch ungeschlagene Qualität liefert bei niedrigeren Bitraten. Dank seinen Assembler-Optimierungen, die immer die neuesten Befehlserweiterungen von Intel und AMD nutzen, ist x264 nun fast fünf mal schneller als mit dem reinen C-Code.

In seinem Blog hat sich Jason nun die Speztifikation von VP8 genauestens angesehen und gibt als Codec-Experte sein Urteil darüber ab. Der von der frisch adoptierten Google-Tochter On2 entwickelte, gerade als Opensource freigegebene Codec kommt dabei nicht gut weg.

Beim wichtigsten Thema Patente kommt Jason zu dem Urteil, dass VP8 viel zu ähnlich ist zu H.264, als dass Patentprobleme ausgeschlossen werden könnten -- selbst Microsofts VC-1, so Shikari, sei viel unähnlicher zu H.264 als VP8. Einige der implementierten Techniken sind nahezu identisch zu den patentierten Techniken von H.264, wohingegen On2 andere, wichtige (wie etwa B-Frames, die etwa 10-20% bessere Qualität bringen) nicht implementiert hat -- wohl aus Angst vor Patentklagen.

Qualität

Auf der Qualitäts-Seite sieht Dark Shikari VP8 als insgesamt unterlegen zu H.264 -- obwohl H.264 viele Jahre älter ist. Seit der H.264-Spezifikation entwickelte neue Ansätze und Verbesserungen wurden größtenteils nicht umgesetzt. Das Fehlen einiger wichtiger Features wie B-Frames, adaptiver Quantisierung oder eines adaptiven Loop-Filters (genaue Erklärungen im Blogeintrag) wirkt sich negativ auf die Qualität aus. Jason schätzt die Qualität in etwa vergleichbar zu VC-1 oder H.264 Baseline-Profile ein -- das Niveau des besseren Main- und High-Profile erreicht VP8 nicht. In seinen PSNR-Vergleichen, welche die visuelle Qualität eines encodeten Videostreams mit den originalen Rohdaten vergleicht, ist H.264 High Profile 28% besser als VP8 bei gleicher Bitrate, während VP8 8,5% besser ist als H.264 Baseline.

Sowohl On2s VP8-Encoder als auch der -Decoder sind obendrein deutlich langsamer als x264 beziehungsweise libavc in ffmpeg. Und das obwohl sie doch relativ effizient umgesetzt und programmiert wurden -- mit Ausnahme der Assembler-Optimierungen, denen Garrett-Glaser kein gutes Zeugnis ausstellt. Beim Encoder sieht Shikari noch mögliches Optimierungspotential, insbesondere in der psychovisuellen Optimierung, beim Decoder gibt es ihm zufolge nicht mehr viele mögliche Verbesserungen.

Spezifizierungsprobleme

Auch für Hardware-Implementierungen sieht Jason einige Probleme kommen, da sich einige der integrierten Techniken nicht für Hardware-Decoding per DSP eignen. Auch Realtime-Streaming, wo es auf besonders niedrige Latenz ankommt, ist mit VP8 aufgrund einiger Teilaspekte wenn überhaupt nur sehr schwer möglich. Anstoß nimmt der Codec-Spezialist auch daran, dass die Spezifikation letztendlich nur der spärlich dokumentierte C-Quelltext von On2s En- und Decoder ist, und dass der Decoder in weiten Teilen identisch ist mit dem Encoder, da er aus diesem abgeleitet wurde. Dies ist problematisch, weil so Code-Fehler unbemerkt weitervererbt werden, die fehlerhaftes Verhalten zurfolge haben -- was später nicht mehr behoben werden kann, wenn die Videostreams einmal in Umlauf sind. Der sinnvollere Ansatz ist eine unabhängige Implementierung zweier Parteien aufgrund einer detaillierten Spezifikation. Und seine Ängste sind berechtigt: Ein anderer Entwickler berichtet, dass sein VP8-Decoder-Bugfix für Motion-Vektor-Clamping abgewiesen wurde, da er dazu führen würde, dass die von Google schon encodeten bestehenden Dateien fehlerhaft aussehen würden. "This is just like Internet Explorer 6 all over again, bugs in the Software become part of the spec" kommentiert Jason.

Shikari hätte sich gewünscht, dass Google den Sourcecode zuerst als "draft" zur Verfügung gestellt hätte, um Feedback der Entwicklergemeinde abzuwarten und den Codec vor der Finalisierung noch zu verbessern.

Lobende Worte

Positiv findet der x264-Entwickler, dass Google auf OGG als Audiocodec und das offene und streamingfähige Matroska als Containerformat setzt -- obwohl die Umbenennung als "WebM" Stirnrunzeln hervorruft. Auch die bessere Spezifikation und Implementierung im Vergleich zu VP3, was damals als Basis für Ogg Theora diente und was den Entwicklern viel Kopfzerbrechen bereitet hat, wird gelobt, ebenso wie die Code-Qualität und Optimierung. VP8 ist qualitativ ein großer Schritt vorwärts von VP3/Theora, dem Damokles-Schwert drohender Patentklagen sollte sich Google jedoch dringend annehmen.

Ähnliche Artikel

Kommentare
VP8 ist auf jeden Fall auf Augenhöhe mit H.264
tm8471 (unangemeldet), Montag, 31. Mai 2010 01:06:39
Ein/Ausklappen

Was ist denn das für eine tendenziöse Überschrift? "ÜBERHASTETER VP8-RELEASE MIT VIELEN PROBLEMEN". So ein Schwachsinn!

Zuerst muss man schon in der Überschrift und in der zweiten Überschrift deutlich machen: Das ist die Einzelmeinung von Garrett-Glaser. Es gibt auch andere Meinungen. Wieso setzt sich Herr Kottmair damit nicht auseinander? Keine Zeit für Recherche gehabt? Oder einfach mal schnell was hinschreiben um der erste sein zu wollen?

Dann sollte man zweitens mal selbst den Codec ausprobieren, und nicht irgendwas aus dem Netz nachplappern! Meines Erachtens ist der Codec ganz ordentlich. Auch die gescholtene Spezifikation ist in Ordnung.

Lieber Daniel Kottmair, das ist nicht seriös! Was Sie hier abliefern ist ein "überhasteter Release" Ihres Berichts!

Mit freundlichen Grüßen
tm8471


Bewertung: 289 Punkte bei 73 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
Unterschied zw x264 und h264...
Commander Data, Donnerstag, 20. Mai 2010 21:02:40
Ein/Ausklappen

ich dachte das ist das gleiche.
ist es aber offensichtlich nicht, da h264 lizensiert werden muss und x264 nicht.

kann mir jemand mal den unterschied erklären?

wäre nett, danke ....


Bewertung: 310 Punkte bei 71 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
-
Re: Unterschied zw x264 und h264...
Daniel Kottmair, Donnerstag, 20. Mai 2010 23:02:20
Ein/Ausklappen

Ein weit verbreiteter Irrglaube, dass es sich mit H.264 und x264 verhält wie mit DivX und Xvid! ;-) Liegt ja auch nahe... Ist aber ganz anders:
H.264 bzw. (MPEG-4) AVC heisst der Codec, x264 nur der Encoder!


Bewertung: 317 Punkte bei 77 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
-
Re: Unterschied zw x264 und h264...
Commander Data, Freitag, 21. Mai 2010 07:40:56
Ein/Ausklappen

Ahh jetzt ja, es kommt licht ins dunkel...

danke nochmals...

hoffe es gibt bald ne version die die GPU-power mit nutzt. das wäre das allerbeste, oder gibt es da schon was aus dem x264-Lager?





Bewertung: 280 Punkte bei 73 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
-
Re: Unterschied zw x264 und h264...
Daniel Kottmair, Freitag, 21. Mai 2010 12:32:03
Ein/Ausklappen

Auf ein CUDA/OpenCL x264 warte ich ja auch schon lange. Dazu gab's IIRC mal ein paar Google Summer-of-Code-Projekte (oder zumindest Vorschläge, was die Leute machen könnten für x264!), aber keine Ahnung, was draus geworden ist... Würde da was laufen, hätte man sicher davon gehört!

Für Windows und CUDA/Nvidia gibt's ja immerhin dieses BadaBoom, das soll in der neuen Version auch richtig was taugen von der Qualität her! Also GEHEN tut es technisch! Allerdings hätt ich wenn dann doch sehr gerne die bewährte x264-Qualität, als einem unbekannten encoder zu vertrauen...

Update: hier mal zwei Links zum Thema, wo sich Dark Shikari dazu äußert:
http://doom10.org/index.php?topic=75.0
https://sites.google.com/si.../communications-with-x264-devs



Bewertung: 308 Punkte bei 78 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

Aktuelle Fragen

added to access control list
Ingrid Kroll, 27.03.2018 07:59, 10 Antworten
Hallo allerseits, bin einfache Nutzerin und absolut Linux-unwissend............ Beim ganz norm...
Passwortsicherheit
Joe Cole, 15.03.2018 15:15, 2 Antworten
Ich bin derzeit selbständig und meine Existenz hängt am meinem Unternehmen. Wahrscheinlich verfol...
Brother drucker einrichten.
Achim Zerrer, 13.03.2018 11:26, 1 Antworten
Da mein Rechner abgestürzt war, musste ich das Betriebssystem neu einrichten. Jetzt hänge ich wi...
Internet abschalten
Karl-Heinz Hauser, 20.02.2018 20:10, 2 Antworten
In der Symbolleiste kann man das Kabelnetzwerk ein und ausschalten. Wie sicher ist die Abschaltu...
JQuery-Script läuft nicht mit Linux-Browsern
Stefan Jahn, 16.02.2018 12:49, 2 Antworten
Hallo zusammen, ...folgender goldener Code (ein jQuery-Script als Ergebnis verschiedener Exper...