2010-12-17 7 views
0

Über welchen Zeitraum wird die variable Bitrate für die Mittelung verwendet? Angenommen, ich möchte 60 Sekunden Video mit 640 x 280 25 fps bei 2000 Kilobit pro Sekunde codieren.Wie wird die Videokomprimierung mit variabler Bitrate pro Frame gemittelt?

Sieht der Codec in der ersten Sekunde (25 Frames) des Videos, wie diese 25 Frames in 2000 Kilobit komprimiert werden, dann auf die nächste Sekunde des Videos (25 Frames) verschieben?

Oder analysiert es das gesamte Video (vielleicht sind die ersten 10 Sekunden rein schwarz) und berechnet, dass es in den letzten 50 Sekunden mehr als 2000 Kilobit verwenden kann, aber trotzdem einen Durchschnitt von 2000 Kilobit über das gesamte Video beibehalten?

Oder basiert es auf dem Schlüsselbildintervall des bestimmten Codec. Wenn ich das Keyframe-Intervall auf 250 (10 Sekunden Video) eingestellt hätte, würde der Codec dann 20.000 Kilobits über diesen Zeitraum von 10 Sekunden zuweisen?

Ich bin sicher, dass es für alle verschiedenen Codecs tatsächlich anders ist, aber ich denke, es muss eine Best Practice sein (oder zumindest ein Begriff, den ich Google kann).

Antwort

1

Ich weiß nicht, die Definitionen eines bestimmten Codecs oder Implementierungen von Encodern, aber ich bin vertraut mit der rationalen und Motivation hinter VBR (mehr als es Audio betrifft , aber ich glaube, das Konzept ist das gleiche).

Hier gibt es zwei Hauptkategorien: Single Pass und Multi Pass. Single-Pass (On-the-Fly) codiert viel schneller. Es passiert nur einmal das Video und codiert. Dies kann in Echtzeit für Sendungen und andere Situationen erfolgen, in denen das gesamte Video für eine vorherige Analyse nicht verfügbar ist. Ihre Frage scheint hauptsächlich Multipass zu betreffen. Obwohl es Multi-Pass genannt wird, bedeutet es normalerweise nur zwei. Mehr noch, Sie scheinen nach Multi-Pass-VBR-Kodierung zu fragen, bei der ein Durchschnitt (ABR) spezifiziert ist und eingehalten werden muss.

VBR ermöglicht höhere Bitraten für Sektionen, die es aufgrund der höheren Farbtiefe, Menge, Anzahl der Kanten usw. (oder in Audio - viel Polyphonie, gemischte Frequenzen usw.) und niedrigere Raten für "plainer" Abschnitte erfordern mit weniger dieser Qualitäten (Audio: einzelne Stimme, Abschnitte mit nur Rhythmus, usw.) das Extrem davon sind ganze Rahmen von einer Farbe oder in der Nähe davon (Stille). Grundsätzlich die gleichen Kriterien, die die Komprimierung von Standbildern beeinflussen.

Daher scheint es mir, dass der effektivste Weg für einen Encoder, sich an einen bestimmten Durchschnitt zu halten, das Abtasten einzelner Frames mit einer bestimmten periodischen Frequenz in der gesamten Datei ist. Sag mal, zweimal pro Sekunde für das gesamte Video. (Ich weiß nicht, ob das noch im Vorfeld einer realistischen Schätzung steht, aber man bekommt die Idee). Dies gibt hoffentlich eine gute Schätzung des Videos-Charakters (mangels eines besseren Wortes) und ermöglicht eine höchst effiziente Verteilung dieser wertvollen Ressourcen.

Es sollte auch angemerkt werden, dass manchmal ein Bereich von minimalen und maximalen Bitraten verwendet werden kann, so dass die Bitrate zu keiner Zeit kleiner als X oder mehr als Y sein kann. Gut ausgewählte Bereiche hängen offensichtlich davon ab die Auflösung.

Wie für Begriffe zu google - versuchen Multi-Pass-Codierung und AVR. Und wie üblich, skizziert Wikipedia ein ziemlich gutes grobes Bild, genug, damit Sie wissen, wo Sie weiterlesen können http://en.wikipedia.org/wiki/Variable_bitrate#Multi-pass_encoding_and_single-pass_encoding

1

Ein Begriff, den Sie googeln könnten - Multi-Pass-Codierung & Rate Vorhersage.

Was es (abgesehen von der Bereitstellung der besten Qualität encodiert) ist, dass der Codec effektiv das Video zweimal codiert, erstmalige Aufnahme der Qualitätsverlust aufgrund einer festen Bitrate, zweites Mal, die diese Informationen integriert, um das gleiche Niveau zu halten von Qualität unabhängig von der Menge der Änderungen im Video.

Rate Vorhersage/Rate Control, ist ein sehr faszinierendes Thema, vor allem für Echtzeit, One-Pass-Encoding. Der Codec muss eine gute Schätzung der zukünftigen Szenenkomplexität vornehmen, um die Gesamtbitrate auf dem Zielwert zu halten.

Einschränkungen für die maximale Bitrate, die vom Kanal zugelassen wird (z. B. eine durchschnittliche Bitrate von 1 MBit/s, aber der Inhalt länger als 5 s nicht länger als 5 MB sein darf, aufgrund der Pufferung der Player) herausfordernd.

Werfen Sie einen Blick hier für weitere Hinweise: http://www.pixeltools.com/rate_control_paper.html