7.H.264的效率
H.264将视频压缩技术提升到一个新的高度。在H.264中,将通过新的高级帧内预测方法对I帧进行编码。这种方法通过对帧中每个宏块内较小的像素块进行连续预测,可以大大减少I帧所占的数据位并保持较高的质量。这一点可通过在与进行帧内编码的新4×4像素块相邻接的前几个编码像素中,寻找匹配的像素来实现。通过重复利用已编码的像素值,可以极大地减少需要编码的位数。新的帧内预测功能是H.264技术的关键部分,实验证明,这种方法非常有效。与只使用I帧的M-JPEG视频流相比,只使用I帧的H.264视频流的文件大小要小得多。
图6.在由16个像素块构成的宏块中,对其中1个像素块内的4×4像素进行编码时,帧内预测所采用的几种模式的图示。在宏块的16个像素块中,每个像素块都可以使用不同的模式进行编码。
上图文字:
In this mode, four bottom pixels from the block above are copied vertically into part of an intra-coded macroblock. | 在这种模式中,上方像素块中的四个底部像素被垂直拷贝至经过帧内编码的宏块中。 |
In this mode, four right-most pixels from the block to the left are copied horizontally into part of an intra-coded macroblock. | 在这种模式中,左边像素块中的最右侧四个像素被水平拷贝至经过帧内编码的宏块中。 |
In this mode, eight bottom pixels from the blocks above are copied diagonally into part of an intra-coded macroblock. | 在这种模式中,上方像素块中的八个底部像素被沿对角线方向拷贝至经过帧内编码的宏块中。 |
图7.以上是H.264帧内预测方法的效率图示。通过这种方法,帧内预测图像将“免费”发送。只需对残留图像和帧内预测模式进行编码,就可以生成输出图像。
对P帧和B帧进行编码时所采用的基于块的运动补偿,在H.264中也得到了改进。H.264编码器可以在一个或多个参考帧的少数或众多区域内,以低至子像素的精度搜索匹配的块。为了提高匹配率,可以对块的大小和形状进行调整。在参考帧中,对于找不到匹配块的区域,将会使用帧内编码的宏块。H.264基于块的运动补偿具有高度的灵活性,非常适合人群比较拥挤的监控场所,因为它能够保证较高的质量,以满足严格的应用要求。运动补偿是视频编码器要求最严格的一个方面,H.264编码器实施运动补偿的不同方式以及其实施程度,将会影响视频压缩的效率。
对于H.264,通过使用环内去块效应滤波器,可以减少在使用M-JPEG和MPEG标准(而不是H.264标准)的高度压缩视频中通常出现的图像模糊现象。此过滤器能够通过自适应强度使块边缘变得平滑,从而确保输出几乎完美无缺的解压缩视频。
图8.从右边的图中我们可以看到,在应用了去块效应滤波器之后,左图中高度压缩图像的块状效应已经大大降低。