Maximale H.264-Auflösung

Ich habe versucht, die technischen Gründe dafür zu finden, warum H.264 auf 4K beschränkt ist. Offensichtlich wird es in Bezug auf die Bitrate weniger effizient, aber die Codierung selbst ist begrenzt, und aus irgendeinem Grund konnte ich keine öffentlich verfügbaren Referenzen finden.

Jemand?

Antworten (2)

Eine der mit einem H264-Stream verbundenen Informationsbits ist sein Pegel . Der Pegel informiert den Decoder über die Rechenressourcen, die für eine erfolgreiche Decodierung benötigt werden. Es stellt sich heraus, dass die höchste Stufe 5.2 bis zu 9437184 Luma-Samples pro Frame unterstützt, was der Anzahl von Luma-Samples entspricht, die für einen Frame der Größe 4096 x 2304 benötigt werden. Es kann also Encoder geben, die höhere Auflösungen codieren (müssen), aber es gibt keinen gültigen Pegel, der für den Stream eingestellt werden kann, und wahrscheinlich keinen Decoder, der eine zuverlässige Wiedergabe garantieren kann.

Das ist nicht das Problem. Neue Stufen können hinzugefügt werden (5.2 wurde in der ITU-T-Empfehlung 2011-2012 hinzugefügt). Das Problem ist die Codierungseffizienz.
Natürlich können neue Ebenen hinzugefügt werden. Aber Encoder, die bereits auf dem Markt sind, gehen zum Zeitpunkt ihrer Produktion nicht über die Spezifikation hinaus. Welchen Pegel erwarten Sie also von einem heute kompilierten Encoder, wenn er beispielsweise mit 8K-Eingang gespeist wird?
Das Level ist nur eine Flagge. Einige Decoder ignorieren es vollständig.
Hier ist ein Beispiel aus der Praxis, warum Ihre Antwort unvollständig ist: Nvidia NVEC unterstützt H.264 mit bis zu 4096 x 4096, was außerhalb von 5.2 developer.nvidia.com/sites/default/files/akamai/cuda/files/… liegt.

H.264/AVCist in Bezug auf die maximale Auflösung nicht auf 4K beschränkt, da es DCI 4K(4092 x 2160) bei 60 fps auf Level 5.2 unterstützt. Zum Beispiel verwendet Sony bereits XAVC , was genau 4K AVC ist.

Für eine Weile war das maximale Level 5.1 und 5.2 wurde später eingeführt. Bei Bedarf können neue Levels eingeführt werden, solange die Hardware dies unterstützt.

Für zB. Nvidia NVEC unterstützt H.264 bis zu 4096x4096: https://developer.nvidia.com/sites/default/files/akamai/cuda/files/CUDADownloads/NVENC_AppNote.pdf

Das eigentliche Problem bei 4K sind die Bandbreitenanforderungen für das Streaming , nicht die Hardwareunterstützung. Um 4K-Streaming mit 12–15 Mbit/s durchzuführen, benötigt der Encoder eine Effizienzsteigerung von 40 % .

Das Problem H.264dabei ist, dass es für diesen Zweck nicht effizient genug ist. Das versucht das neue H.265/HEVC ( High Efficiency Video Coding ) zu erreichen.

Die von dir angegebene Auflösung ist geringer als die von mir als max. unter Level 5.2 möglich. Das Problem der Codierungseffizienz ist relevant für die Brauchbarkeit von H264 als Wahl für 4K-Streams angesichts einer Bandbreitenbeschränkung, nicht dafür, warum ein Encoder keine höhere Auflösung ausgibt.
Die maximale Auflösung wird bei 60 fps auf 5.2 nicht unterstützt und 60 fps werden ebenfalls zur Anforderung. Es gibt keinen Grund, warum AVC nicht mit höheren Auflösungen funktioniert, und es könnte beispielsweise für die Speicherung verwendet werden. Tatsächlich ist AVC viel schneller als HEVC.
Alle weiteren Kommentare werde ich hier posten. Die Abfrage des OP lautet, warum die Codierung "begrenzt" ist. Vermutlich wurde dies durch eine empirische Beobachtung provoziert. Die Frage ist also nicht, ob es in der Spezifikation theoretische Überlegungen gibt, die 8K-H.264-Streams verhindern, sondern warum Encoder keine größeren Größen ausgeben. Jetzt ist das Level nur noch ein Metadatum und Spieler können es ignorieren, aber nicht schlüsselfertige kommerzielle und FOSS-Encoder versuchen wahrscheinlich, konforme Streams zu generieren, und derzeit lässt die Spezifikation dies nicht zu.
Das OP fragte aus technischen Gründen. Das Niveau ist Konformität, nicht unbedingt ein technisches Problem mit dem zugrunde liegenden Codec. Codierungseffizienz ist ein technischer Grund.
Aber der Grund scheint nicht funktional, sondern legal zu sein. Dies ist der Grund, der von der Adobe-Kontaktperson unter forums.creativecow.net/thread/2/1046747 angegeben wird – „Adobe Media Encoder erzwingt die Beschränkungen für H.264-Video, die durch die MPEG-4-Spezifikation auferlegt werden.“
Genau darauf wollte ich hinweisen: Es gibt keine technische Grenze, nur eine Konformitätsgrenze, die sich ändern kann.
Diese Verwendung von „technisch“ ist offensichtlich eine allgemeine Verwendung seitens des OP. Wenn sie zwischen algorithmischen und bürokratischen Gründen unterscheiden wollten, würde dies im Q auftauchen. Da meine Antwort keinen technischen Grund (in Ihrem Sinne) vermittelt und dennoch vom OP akzeptiert wurde, zeigt dies, dass dies nicht der Fall war Denken Sie an Ihre Unterscheidung von "technisch".