26.11.2009, 11:55
|
#1 (permalink)
|
|
Erfahrener Benutzer
Registriert seit: 28.09.2009
Ort: Flaches Oberbayern
Beiträge: 264
|
Video Codierung der GH1 - Das Aha-Erlebnis
Hallo miteinander,
meine Bemühungen, die Aufgezeichneten Videos der GH1 smart zu rendern sind bislang fehl geschlagen. Für mich gilt encodieren = codieren = neu berechnen = rendern. Manchmal wird rendern auch für die allgemeine Bearbeitung des gesamten Videos verwendet. Smart Rendern bedeutet: Nur die Phasenbilder (Frames) neu berechnen, bei denen es unbeding notwendig ist (z.B. Überblendungen und sonstige Effekte). Das Programm PowerDirector 8 Ultra von Cyberlink beherrscht das prinzipiell, aber mit Material der GH1 will es mir nicht gelingen.
Deshalb habe ich mir die Videoaufzeichnung der GH1 genauer angesehen. - Und ich hatte ein großes Aha-Erlebnis. Weil mich speziell das 1080-Zeilen Format interessiert, beschränken sich meine Ausführungen darauf. In diesem Text tauchen die Begriffe I- P- und B-Frame auf. Die hatte ich vor längerer Zeit einmal erklärt.
Zum Betrachten habe ich die Demo-Version des inzwischen sehr teuren Elecard SreamEye genommen. Das stellt die Folge der Frames (Phasenbilder) als farbige Balken dar. Deren Höhe entspricht dem Informationsinhalt des entsprechenden Frames. Ich muss manchmal etwas orakeln, weil die Demo einige Informationen zurückhält.
Das erste Bild zeigt ein typisches Mpeg4/H264 Video einer BluRay. Die I-Frames (schwarzbraun) sind vollständige Bilder, die Jpeg-ähnlich codiert sind. Die blauen P-Frames enthalten eine Differenzinformation zum vorangegangenen I-Frame. Die grünen B-Frames enthalten Infos, die zur Interpolation aus den davor und dahinter liegenden P-Frames (oder statt dessen I-Frame) nötig sind.
Prinzipiell kann man bei der Encodierung auf B-Frames verzichten. So ein Video ist im zweiten Bild dargestellt (erzeugt durch PowerDirector). Das dritte Bild zeigt eine unbearbeitete GH1-Aufzeichnung. Auch die GH1 verzichtet offenbar auf B-Frames, ihre GOP-Struktur lautet IPPPPPPPPPPPP. Allerdings tauchen zwischen den blauen P-Frames jetzt rote Frames auf. Die Bedeutung der roten Farbe ist mir unklar. Ich nehme einmal an, dass auch das I-Frames sind. Aber irgendwie andere. Deshalb mag PowerDirector offenbar die GH1-Aufzeichnungen nicht smart rendern, obwohl ich ein Ausgabeformat entsprechend Bild 2 eingestellt habe.
Was bedeutet der Verzicht auf B-Frames?
Zunächst entfällt der komplizierteste Teil der Mpeg-Encodierung. Auch die Datenausgabe vereinfacht sich. Die GH1 kommt auf diese Weise mit einer drastisch geringeren Rechenleistung aus als bei vollständiger Mpeg4/H264-Codierung. Für den Videoschnitt hat es auch seine Vorteile. Es ist leichter, schneller und weniger fehlerbehaftet, einzelne Phasenbilder (Frames) zu rekonstruieren. Bei harten Schnitten brauchen für das Cut-Out theoretisch überhaupt keine Frames neu encodiert zu werden, weil man nach einem P- oder I-Frame problemlos mit dem I-Frame der nächsten Einstellung weiter machen kann.
B-Frames umfassen die wenigsten Daten. Eine starke Kompression ist deshalb nur möglich, wenn auch B-Frames vorhanden sind. Bei vergleichbarer Bildqualität benötigt eine Kompression ohne B-Frames mehr Datenrate bzw. Speicherplatz. Oder anders herum: Die recht hohe Datenrate einer GH1-Aufzeichnung (durchschnittlich 15 MBit/s) sorgt keinesfalls für eine bessere Bildqualität als bei anderen H264-Videos (mit B-Frames). Die Bildqualität hängt nicht allein von der Datenrate ab sondern auch von Art und Aufwand der Encodierung.
Bei Camcordern ist es nicht allgemein üblich, auf B-Frames zu verzichten. Die Bilder 4 und 5 zeigen Testaufzeichnungen der AVCHD-Camcorder Panasonic HDC-TM350 und JVC GZ-HM400 (beide schreiben wie die GH1 auf SDHC-Karten). Diese Aufzeichnungen stammen von der Heft-DVD der letzten Computer-video (6/2009) und sollen unbearbeitet sein. Die TM350-GOP-Struktur entspricht dem Üblichen. Der HM400 liegt zwischen TM350 und GH1, zwischen zwei P-Frames gibt es nur genau ein B-Frame. Die Videos meines älteren HDV_Camcorders (Sony HC3) ähneln im Aussehen dem TM350-Video. Es gibt natürlich einen Unterschied: HDV verwendet Mpeg2 und eine noch höhere (konstante) Datenrate.
Das 6. Bild zeigt uns das Ergebnis eines GH1-Videos, das durch PowerDirector gerendert wurde. Auffallend ist, dass P- und B-Frames ungefähr gleich viele Daten enthalten. Das ist prinzipiell nicht sinnvoll. Besser wäre es, wenn die B-Frames weniger Daten enthielten und die anderen dafür mehr. Aber wo sollten diese Daten herkommen? In der Praxis wäre es also ausreichend, ohne nennenswerte Qualitätseinbußen ein Video, das B-Frames enthält mit einer geringeren Datenrate auszugeben.
Ich habe mich recht ausführlich mit der Mpeg-Codierung beschäftigt. Mit Mpeg4/H264 kenne ich mich aber nur grob aus. Deshalb bitte ich Euch um Korrekturen oder Ergänzungen. Sollte ich selbst mehr heraus finden, werde ich es Euch nicht vorenthalten. Mein Hauptanliegen ist es natürlich, ein echtes Smart Rendering mit so wenig wie möglich neuer Encodierung zu erlangen.
__________________
Gruß RoBernd
|
|
|