Zurück   Startseite > Foren > Heimkino und Technik > Digitale Audio- und Videobearbeitung

Antwort
 
LinkBack Themen-Optionen Thema durchsuchen
Alt 05.06.2012, 03:05   #1 (permalink)
Talk-König
 
Registriert seit: 06.2003
Ort: Berlin
Beiträge: 6.214
H.264/AVC Videostreams noch 20% komprimierbar?

Ich habe mir gerade ein Tool gebastelt, um "Fülldaten" aus MPEG-2 und H.264/AVC Videostreams zu entfernen. Um den Erfolg zu testen, versuchte ich, aus "Das Erste HD" bzw. "Das Erste" aufgenommene, von Fülldaten (zero byte stuffing bei beiden Formaten und zusätzlich NAL Filler Data Units bei H.264/AVC) bereinigte "nackte" Videostreams von etwa 200MB Größe mit RAR und ZIP zu packen, mit für mich überraschenden Ergebnissen:

Code:
Format    | Originalgröße |  ZIP-Datei  |  RAR-Datei
----------+---------------+-------------+-------------
MPEG-2    |  206.141.547  | 202.041.531 | 201.365.821 = -2,3%
H.264/AVC |  205.325.211  | 166.249.104 | 162.838.318 = -20,7%
Während sich der MPEG-2 Videostream also nur um 2% packen ließ, waren es beim H.264/AVC Videostream 20%. Ich habe die Datei im Hexeditor angeschaut, es sind keine offensichtlichen "Komprimierbarkeiten" erkennbar, es sind keine NAL Filler Data Units enthalten, es gibt auch nicht mehr als 3 Nullbytes und 5 0xFF-Bytes in Folge. Sieht also alles korrekt "bereinigt" aus, trotzdem ist der Stream noch so deutlich kompressibel. Bei mehreren Versuchen ergab sich das gleiche Bild - MPEG-2 nahezu inkompressibel, H.264/AVC um ca. 20% kompressibel.

Hat jemand eine Erklärung dafür? Ist H.264/AVC so ineffizient, sind die Encoder bei der ARD so schlecht, braucht man das, um genug IDR Frames zu senden, oder hat man soviel Bandbreite übrig, dass man ein wenig damit aast und viel Redundanz einkomprimiert?

Wenn die ARD bei ihren 4 HD-Programmen pro Transponder diese 20% einsparen könnten, hätten sie ja glatt Platz für ein fünftes, bei gleichbleibender Bildqualität...

Geändert von Robert Schlabbach (05.06.2012 um 03:11 Uhr)
Robert Schlabbach ist offline   Mit Zitat antworten
 
Anzeige
 
News
Alt 05.06.2012, 19:47   #2 (permalink)
Platin Member
 
Registriert seit: 05.2008
Beiträge: 2.571
AW: H.264/AVC Videostreams noch 20% komprimierbar?

Ohne den Code deines selbst gebastelten Tools oder deine Samples nach dem Bereinigen zu kennen, kann ich dazu natürlich nicht viel sagen.
Aber es liegt nahe, dass du bei H.264 irgendetwas übersehen hast. Ich bekomme bei einem bereinigten H.264 Sample gegenüber einer ZIP-Kompression desselben auf eine Ersparnis von ca. 3,4%.
Entfernst du die Filler auf ES-Ebene (also dem demuxten H.264 Stream) oder auf TS-Paketebene?
__________________
» Unitymedia Senderlisten «
Martin_K ist offline   Mit Zitat antworten
Alt 05.06.2012, 19:54   #3 (permalink)
Lexikon
 
Benutzerbild von hopper
 
Registriert seit: 04.2003
Ort: San Francisco | Sunnyvale
Beiträge: 20.833
AW: H.264/AVC Videostreams noch 20% komprimierbar?

AVC ist als Echtzeitencoder ungeeignet. War es schon immer, sowas wird halt von Leuten entschieden, die keine Ahnung haben und eine andere Motivation verfolgen.

Dennoch, 20% könnte daran liegen, dass die Frames temporal nicht enkoppelt sind. Mit anderen Worten, es sind statt 50 Vollbildern nur 25 Vollbilder, oder irgendwas dazwischen wegen der Umrechnung/Umsetzung. Denkbar wäre desweiteren, dass 2 Encoder in Kette eingesetzt werden und jeder encoded jedes 2 Frame, dabei entstehen Redundanzen, weil die Encoder einander nicht kennen. Genauso möglich sind schwarze Ränder. Und dann gibt's noch die Möglichkeit, dass die Filler-Daten nicht 00h sind, sie können ja jeden Wert annehmen. Desweiteren ist es möglich, dass als Filler-Daten bestimmte Slice-Sequenzen einfach wiederholt werden, das macht die P7S1 Gruppe gerne.

Oder Du hast einen Fehler in Deinem Programm.
__________________
Ausgelöscht - wir gehören nicht mehr zur Familie :p
hopper ist offline   Mit Zitat antworten
Alt 05.06.2012, 20:22   #4 (permalink)
Talk-König
 
Registriert seit: 06.2003
Ort: Berlin
Beiträge: 6.214
AW: H.264/AVC Videostreams noch 20% komprimierbar?

Zitat:
Zitat von hopper Beitrag anzeigen
Dennoch, 20% könnte daran liegen, dass die Frames temporal nicht enkoppelt sind. Mit anderen Worten, es sind statt 50 Vollbildern nur 25 Vollbilder,
[...]
Genauso möglich sind schwarze Ränder.
Bei meinen Tests gestern lief gerade ein Film im Pillarbox-Format (4:3 mit schwarzen Rändern links und rechts), und der wird wohl auch nur 25 Vollbilder gehabt haben (hat das nicht das meiste Quellmaterial?).

Also ist es normal, dass H.264/AVC Encoder unter solchen Bedingungen Streams produzieren, die noch sehr kompressibel sind...?

Ich habe mein Sample mal hier raufgeladen, falls jemand über entsprechende Analysetools verfügt, würde ich mich über ein Feedback freuen, woher die Komprimierbarkeit kommt:
http://user.cs.tu-berlin.de/~normanb..._HD_Sample.rar

Abspielen lässt sich die Datei z.B. mit ffplay (während VLC sie nicht mag).
Robert Schlabbach ist offline   Mit Zitat antworten
Alt 05.06.2012, 20:23   #5 (permalink)
Lexikon
 
Benutzerbild von hopper
 
Registriert seit: 04.2003
Ort: San Francisco | Sunnyvale
Beiträge: 20.833
AW: H.264/AVC Videostreams noch 20% komprimierbar?

Danach wollte ich fragen, mal den R&S ausleihen....
__________________
Ausgelöscht - wir gehören nicht mehr zur Familie :p
hopper ist offline   Mit Zitat antworten
Alt 05.06.2012, 20:35   #6 (permalink)
Lexikon
 
Benutzerbild von hopper
 
Registriert seit: 04.2003
Ort: San Francisco | Sunnyvale
Beiträge: 20.833
AW: H.264/AVC Videostreams noch 20% komprimierbar?

Die Kollegen benutzen eine 4-B Kette, sehr effizient. Lobenswert. Dynamische GOP Länge, ca. 1-1.5 Sekunden lang.

Haben die bekannten 3 PPS - benutzen aber nur #0. Wobei diese 3 verschiedene Matrixen verwendet. Wahrscheinlich je nach Zuführung. Der Stream ist nebenbei 100% AVC konform. Absolut konform. Fürs HIGH Profile. Da sitzen Profis bei der Sendeabwicklung. Hut ab!

Nebenbei, das Video ist 25 fps - jedes Frame wird 2x gesendet. Daher wohl die 20%
__________________
Ausgelöscht - wir gehören nicht mehr zur Familie :p
hopper ist offline   Mit Zitat antworten
Alt 05.06.2012, 20:39   #7 (permalink)
Lexikon
 
Benutzerbild von hopper
 
Registriert seit: 04.2003
Ort: San Francisco | Sunnyvale
Beiträge: 20.833
AW: H.264/AVC Videostreams noch 20% komprimierbar?

Das wird aber als 50 fps auf den AVC Encoder zugefüttert. Ich seh ein marginales Rauschen auf den zusammengehörigen Bildern. APSNR von ca. 70, das ist nur programmatisch zu erkennen - nicht visuell.
__________________
Ausgelöscht - wir gehören nicht mehr zur Familie :p
hopper ist offline   Mit Zitat antworten
Alt 05.06.2012, 20:44   #8 (permalink)
Lexikon
 
Benutzerbild von hopper
 
Registriert seit: 04.2003
Ort: San Francisco | Sunnyvale
Beiträge: 20.833
AW: H.264/AVC Videostreams noch 20% komprimierbar?



Schau Dir das mal in Supervergrößerung an, ist .png also lossless. Differenz mit Verstärker zwischen 2 Bildern auf dem Y-Kanal.
__________________
Ausgelöscht - wir gehören nicht mehr zur Familie :p
hopper ist offline   Mit Zitat antworten
Alt 05.06.2012, 20:55   #9 (permalink)
Talk-König
 
Registriert seit: 06.2003
Ort: Berlin
Beiträge: 6.214
AW: H.264/AVC Videostreams noch 20% komprimierbar?

Zitat:
Zitat von hopper Beitrag anzeigen
Nebenbei, das Video ist 25 fps - jedes Frame wird 2x gesendet. Daher wohl die 20%
Hmm, ich habe gerade ein Stück von "Die Villa" auf zdf_neo HD aufgezeichnet, als Kinofilm müsste das doch auch nur 25 fps haben - es ist aber völlig inkompressibel!?

Zitat:
Zitat von hopper Beitrag anzeigen
Schau Dir das mal in Supervergrößerung an, ist .png also lossless. Differenz mit Verstärker zwischen 2 Bildern auf dem Y-Kanal.
Zwischen 2 theoretisch gleichen Bildern wegen der fps-Verdopplung? Woher kommen die Unterschiede? Sind die erst im Encoder quasi als "Artefakte" entstanden, oder wurden die vorher erzeugt?

Warum macht man eigentlich nicht so etwas wie manche TVs, also richtige Zwischenbilder berechnen um aus 25fps Quellmaterial 50fps zu gewinnen?
Robert Schlabbach ist offline   Mit Zitat antworten
Alt 05.06.2012, 21:02   #10 (permalink)
Lexikon
 
Benutzerbild von hopper
 
Registriert seit: 04.2003
Ort: San Francisco | Sunnyvale
Beiträge: 20.833
AW: H.264/AVC Videostreams noch 20% komprimierbar?

So viele Fragen.

* Kino ist 24 fps, und je nachdem ob es direkt (24 fps) oder indirekt (30 fps, NTSC) kommt, ändern sich die "doppelten" Bilder.

* Der Encoder weiß nichts davon, dass Bilder doppelt sind. Und je nach Bitratenverfügbarkeit, die sich ja bei jedem Bild ändert, encodet er anders. Daraus entstehen verschiedene Koeffizienten in den DCT Matrizen und das erzeugt diese Artefakte. http://upload.wikimedia.org/wikipedi...23/Dctjpeg.png

Einige dieser Muster siehst Du auf dem blauben Bild oben, teilweise mehrere übereinander.

Außerdem, Encoder benutzen auch Zufallsgeneratoren. Ähnlich wie Schachprogramme, irgendwann müssen sie sich entscheiden, weil den optimalen Weg finden Encoder nicht. Deswegen ist AVC auch schlechter geeignet, als VC-2 (Dirac). Zu viele Entscheidungswege.

* Könnte die ARD machen, Felder zur Duplizierung (repeat_frame) gibt es. Aber wir kennen ja dann das Ergebnis, der Baumarkt-Schrott steigt dann aus und die ARD ist wieder Schuld.
__________________
Ausgelöscht - wir gehören nicht mehr zur Familie :p
hopper ist offline   Mit Zitat antworten
Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an



Alle Zeitangaben in WEZ +1. Es ist jetzt 03:46 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0 PL2
© Auerbach Verlag, Leipzig
Twitter