Videocodierung: Wie viel nimmt die Videodatei mit fps zu?

15051
knweiss

Angesichts der Tatsache, dass die nächsten Blockbuster von z. B. Peter Jackson (The Hobbit) und James Cameron (Avatar 2) mit einer Bildrate von 48 Bildern pro Sekunde (oder sogar mehr) aufgenommen werden - dh mehr als die üblichen 24 Bilder pro Sekunde -, habe ich mich gefragt: Um wie viel nimmt die Dateigröße des kodierten Videos mit den fps zu ?

Mit zunehmenden fps wird die Differenz zwischen Bildern immer kleiner . Ich denke also, dass die Dateigröße weniger als linear wächst. Ist das wahr? Gibt es eine Faustregel? Oder hat jemand Beispieldateigrößen desselben Videos, das in 24, 48, 60 und 96 fps (mit einem modernen Videocodec) codiert ist?

(Nebenfrage: Um wie viel steigt die Videodatei mit der Bildgröße über Full HD hinaus - z. B. von Full HD auf 4k?)

6
Schnelle Antwort auf Ihre Nebenfrage: Direkt proportional zur Anzahl der Pixel eines einzelnen Bildes. Wenn Sie also von 1920 x 1080 die Breite und Höhe verdoppeln, vervierfachen Sie die Bitrate. Die Hauptfrage ist viel komplexer :) Bora vor 12 Jahren 1
Die Dateigröße wird nur von den tatsächlichen Frames beeinflusst (Container-Overhead nicht verfügbar), nicht von der Framerate. Sie könnten 24 physische Frames pro Sekunde im Video kodieren lassen, aber 48 oder pro Sekunde bei 48 Bildern pro Sekunde anzeigen lassen (der Player legt jedes zweite Frame ab). Umgekehrt können Sie 48 Frames pro Sekunde bei 24 abspielen (der Player spielt jeweils doppelt so lang). Der 48 @ 24 wird eine größere Größe haben als der 24 @ 48, da tatsächlich mehr Frames codiert sind. Synetech vor 10 Jahren 1

3 Antworten auf die Frage

4
Uninspired

Die EINZIGE Sache, die sich auf die Dateigröße auswirkt, ist die Bitrate. Sie können 1fps oder 120fps ausführen. Wenn Ihre Bitrate 1000 MBit / s beträgt, ist die Dateigröße genau gleich. Per Definition definiert die Bitrate die Dateigröße. Fühlen Sie sich frei, um zu testen - nehmen Sie ein Video auf und geben Sie es in 10 verschiedenen Dimensionen und 10 verschiedenen fps aus. Sie erhalten dann identische (oder vernachlässigbare) Dateigrößen.

Dies ist eine Vereinfachung. Wenn Sie jedoch die Dateigröße im Vergleich zur Qualität diskutieren möchten, ist dies eine völlig andere Diskussion.

Das ist ein sehr guter Punkt. Können wir für die Diskussion also von konstanter Qualität (nicht konstanter Bitrate) für alle Versionen ausgehen? knweiss vor 12 Jahren 1
3
slhck

Ich werde den theoretischen Ansatz ausprobieren. Ich würde gerne einige Beispiele aus der realen Welt sehen, die meine Theorie beweisen oder widerlegen würden. Gute Frage! Wenn Sie irgendwelche Kommentare haben oder Fehler finden, können Sie dies gerne kommentieren.


Für jeden aktuellen Encoder (nehmen wir als Beispiel MPEG-4 / AVC / h.264) ist die Framerate nicht so wichtig, wie Sie denken. Nehmen wir einfach an, es gibt keine Ratensteuerung und jedes Bild wird mit demselben Basis-QP (Quantisierungsparameter) kodiert.


Sie haben mit folgenden Punkten Recht: Die Bewegungsdifferenz (wie in ITU-R S.910 definiert, gute Lesbarkeit ) zwischen zwei Bildern eines 48-fps-Videos ist in 24 fps geringer als für das gleiche Video. Dies liegt daran, dass sich die Frames nicht so stark voneinander unterscheiden. Beachten Sie, dass die gesamte zeitliche Bewegung nicht zunimmt. Am Ende bewegt sich ein Objekt von Punkt A nach B, sodass der Bewegungsvektor unabhängig von der Anzahl der Bilder pro Sekunde gleich lang ist.

Da der Encoder die Differenz zwischen zwei (oder mehr) Frames sucht und nur die Restwerte codiert, bedeutet dies, dass er weniger Residuen pro Bild codieren muss. Im Durchschnitt ist dies die Hälfte des Residuums. Damit hast du recht. (Wir dürfen nicht vergessen, dass nur die Hälfte der Residuen nicht die Hälfte der für die Speicherung erforderlichen Daten bedeutet. Dies hängt von der implementierten algorithmischen Codierung ab.)

Andererseits haben Sie doppelt so viele Bilder pro Sekunde, was bedeutet, dass sich die codierten Informationen im Durchschnitt wieder verdoppeln.

Zusammenfassend lässt sich sagen, dass sich an dieser Seite nicht viel ändert. Der Encoder wird sein Bestes geben, um alle Bewegungen im Video zu codieren, was in der Summe die gleiche ist (nur in kleineren Schritten, wenn Sie wissen, was ich meine). Der einzige Overhead, den wir hinzufügen müssen, ist der Overhead aus kleinen Residuen, die nicht effizient arithmetisch codiert werden können.


Dies gilt nur für B- oder P-Bilder, die von anderen abhängig sind. Wir müssen jedoch ab und zu ein intracodiertes Bild einfügen, das von keinem anderen Bild abhängig ist. Wenn diese Rate von intracodierten Bildern nicht steigt, könnten wir von einem linearen Wachstum der Dateigröße ausgehen, vielleicht etwas mehr.

Wenn Sie jedoch den Abstand von intracodierten Bildern verringern, um mögliche Paketverluste oder Bitstream-Fehler zu kompensieren, tragen Sie mehr Aufwand mit sich. Daher ist der Anstieg mehr als linear, nicht viel, aber wahrscheinlich spürbar.

0
DanMan

Dies hängt wirklich von der Art der Kodierung ab. Wenn Sie das Video im RAW-Format aufnehmen, ist es möglich, dass mehr Bilder linear gespeichert werden müssen.

Wenn Sie die aufgenommenen Bilder direkt in ein komprimiertes Format kodieren, hängt alles davon ab, wie der Codec funktioniert.

In Bezug auf die Dateigrößen wird dies durch festgelegt bitrate × duration. Die Framerate ist also nicht direkt betroffen. Um die gleiche Qualität wie das gleiche Video zu erreichen, das mit einer niedrigeren Bildrate codiert ist, müssen Sie die Bitrate wahrscheinlich etwas erhöhen. Wie stark - wiederum - hängt vom verwendeten Codec ab.