我目前正在研究在 H.264 编码器上支持 4K(3840x2160)。 当我研究H.264的规范时,它说Level-5.2(XAVC)支持4K分辨率。 为了检查实现情况,我使用 FFMPEG 中的 x264 对全高清(1920x1080)比特流进行了三个不同级别(Level-4、4.1 和 5.2)的编码。
这是我注意到的 - 所有三个编码比特流,针对不同级别进行编码,逐个像素匹配。 - 我想知道如果编码是针对不同级别(Level-4、4.1和5.2)完成的,为什么比特流没有变化。
我有一个高422 Level-4.1的解决方案,Transformation、Quantazition、CAVLC等核心模块是否有任何变化以支持4K(3840 x 2160)/XAVC。
或者所有Level-5.2的处理与Level-4.1相同。
如果有人可以向我推荐任何解释 H.264/AVC 和 XAVC 处理差异的文档,那将非常有帮助
最佳答案
级别只是一种通知编码器/解码器每秒需要处理多少个宏 block 的方法。它根本不会改变压缩。如果您告诉编码器以 5.2 级别进行编码,然后为其提供 1080p 内容,则它可以生成每秒高达 121.4 帧的文件。 983,040/((1920 × 1080)/(16 × 16))
。 4k 高达 30.34 fps 983,040/((3840x2160)/(16 × 16))
级别 4.1 为每秒 245,760 个宏 block 。因此,1080p 可达 30.34 fps,4k 可达 7.5 fps。
关于ffmpeg - 升级现有Level-4.1的h.264解决方案以支持4K(Level-5.2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31917700/