宏区块
宏区块或宏块(英语:Macroblock)是一种影像压缩的术语。
宏块是运动预测的基本单位,一张完整的帧通常会被切割成几个宏块,MPEG-2和较早期的编解码器定义宏块都是8×8像素,现代的一点编解码器像是H.263和H.264的宏块通常都是16×16像素和相应区域内的Cb、Cr色差信号阵列共同组成。
宏块为基准来选择特定的预测类型,而非整个图像都使用同样的类型:
- I图像(Intra pictures)只可含有节点宏块。
- P图像(Predictive pictures)可含有节点宏块或预测宏块 。
- B图像(Bi-predictive pictures)可含有节点、预测和前后预测宏块。
宏块编码
+------+------+-------+--------+-----+----+----+--------+ | ADDR | TYPE | QUANT | VECTOR | CBP | b0 | b1 | ... b5 | +------+------+-------+--------+-----+----+----+--------+
- ADDR:block在image的地址
- TYPE:宏块的类型(intra-frame, inter frame、视频压缩略图像类型)
- QUANT:quantization value to vary quantization
- VECTOR:运动向量
- CBP:编码后区块样式,some blocks in macroblock match well, some match poorly - this is bit mask indicating which one is present.
- bN:the blocks(4 Y, 1 Cr, 1 Cb)
较先进的解码器可以隐藏一些型式上的影像残缺,这类的技术被称为error concealment,在消费性产品上则称为MPEG Noise Reduction。[1]
注释
- ^ PC Magazine, Definition of blocking artifacts. [2020-10-06]. (原始内容存档于2012-10-07).