宏块划分的原理
宏块划分并不是物理上的划分,而是逻辑上的划分。 宏块的划分是编码器在处理视频帧时的一种逻辑操作,用于将视频帧分解为更小的编码单元,以便后续的预测、变换、量化和编码等操作。视频帧的物理存储方式(如 YUV 数据的存储顺序)并不会因为宏块的划分而发生改变。
接下来,我们详细分析为什么宏块划分是逻辑上的,而不是物理上的,并解释它在编码中的作用。
1. 什么是宏块划分?
在 H.264 中,宏块(Macroblock) 是视频帧的基本编码单元。每个宏块通常包含:
- 亮度(Y)分量:16x16 像素。
- 色度(U 和 V)分量:8x8 像素(在 4:2:0 采样格式下)。
宏块划分的目的是将视频帧分解为更小的单元,便于后续的编码处理。划分宏块后,编码器会对每个宏块单独进行预测、变换、量化和编码。