一、H264编码原理
对于每一帧图像,是划分为一个个块进行编码,就是我们说的宏块
宏块大小一般是16x16(H264、VP8),32x32(H265、VP9),64x64(H265、VP9、AV1),128x128(AV1)
1.宏块扫描
对于一个 YUV 图像,可以把划分成一个个16x16的宏块(以H264 为例),Y、U、V 分量块小分别是 16x16、8x8、8x8。这里我们只对Y分量进行分析(U、V分量同理)。假设Y分16x16 个像素就是一个个数字,采用“之"字方式扫描每一个像素值,则可以得到一个"像素值"
压缩的目的是使得编码器当前的字符出现连续相同的字符比如1,1,1,1,1,1,1,1,我们可以描述为8个1.
比如一连串数字很小数字,越小越容易用更少的bit做压缩,(比如0,1,2,1,0)的“像素串”,因为0在二进制中只占1个位,2只占2个位即可。
2.帧内预测
1.帧内预测就是在已经编码完成的块中找到与将要编码