赞
踩
量化噪声/伪影介绍 现代视频编解码技术(包括 H.264/AVC, H.265/HEVC, Mpeg2/4 等)概括起来都可以认为是基于块的混合编码技术,技术上编码器将每一帧划分称为宏块的非重叠正方形。可以用帧内 Intra 预测和帧间 Inter 预测来处理压缩每一个宏块。在帧内模式中编码器仅使用当前帧来重构数 据,帧间模式中编码器使用先前处理的参考帧来重构数据。
如上图所示,一般用“残差”Dn 来表示当前块和参考块之间的误差。将残差 Dn 进一步进行离散余弦变换 DCT后对变换系数进行量化可以进一步压缩数据量。其中该压缩过程是有损的,一般地随着量化参数QP的扩大,图像的损失将变大。解码过程需要进行一次反量化-反变换IDCT 还原残差,后再根据参考宏块还原原始图像。应用量化-反量化的过程将导致数据丢失和失真。 因此,原始数据和重构数据之间的差称作“量化噪声”。视频压缩过程中的量化噪声导致称作“伪影” 的特定视觉误差。在伪影当中有块状、环状以及飞蚊噪声,其中块状、环状是块中的竖线和横线, 飞蚊噪声看起来像图像强边缘周围的一团昆虫。
由于量化-反量化的数据有损性,因此可以说现代视频压缩技术都难以避免量化噪声和其所 带来的伪影现象。
量化是在不降低视觉效果的前提下减少图像编码长度,减少视觉恢复中不必要的信息。 H264 采用标量量化技术,它将每个图像样点编码映射成较小的数值。一般标量量化器的原 理为:FQ = round(y/Qstep)。其中,y 为输入样本点编码,Qstep 为量化步长,FQ 为 y 的 量化值。其相反过程即反量化为:y' = FQ ·Qstep。
量化参数 QP 是量化步长 Qstep 的序号,因此越小的量化参数 QP 预示着越小的量化 步长,随之量化损失也越小,量化误差也越低。量化参数 QP 越大则反之。
实际上现有的码率控制算法主要是通过调整离散余弦变换的量化参数大小输出目标码 率。实际上,量化参数(QP)反映了空间细节压缩情况,如 QP 小,大部分的细节都会被保留,码 率增大。QP 增大,一些细节丢失,码率降低,但图像失真加强和质量下降。也就是说,QP 和比特率成反比的关系,而且随着视频源复杂度的提高,这种反比关系会更明显。
但是相反这样的逻辑关系并不成立。码率越高的视频并不一定 QP 值越小,这与编码器 的预测算法和预测策略有很大的关系。好的编码器压缩率较高,在较低的码率下就能够实现 较小的 QP 值,视频还原误差小。而差的编码器往往码率较大,反而视频还原效果也不好。 往往也跟压缩场景有很大的关系。因此用码率去衡量视频的质量和压缩误差是不准确的。
例如我们的测试片源同样的编码器指定 540p 400k 的码率编码:
第一个视频就明显呈现出大量的量化噪声、 伪影现象。 而第二个视频则呈现画面清晰,细节丰富,无明显量化噪声的现象。 因此第一幅图片需要进行去压缩伪影 AF 的算法,而第二幅加上 AF 反而会使细节丢失,画面模糊。
以上是两个不同的场景。 让我们在看一下同一个场景下,前后不同的两帧:
前后差距几帧的视频也表现出不同的现象。 图片 3 在蛇的头部和字体边缘有伪影现,图片 4则画面清晰自然。
实际上这是由于残差 Dn 的大小造成的,在运动量较大的场景中,宏块的残差 Dn 矩阵的值较大,在恒定码率的情况下,QP 就必须取的大一些以降低量化后的矩阵系数值,进行量化造成损伤的概率较高。 反之,在静止情况下,宏块残差 Dn 矩阵的值较小,甚至很大部分是 0,因此在恒定码率下,QP 值可以取得很小,量化造成的损伤也较小,量化噪声和伪影也较轻。
通过解码过程统计平均的 QP 值:
序号 图片 QP 值 量化噪声/伪影强度
1 Pic1 38 非常强
2 Pic2 22 无明显
3 Pic3 34 较强
4 Pic4 23 无明显
因此通过解码统计出宏块的平均 QP 值 Avg QP 可以作为衡量量化噪声、 伪影强度的直接指标。
优点是衡量相对客观准确,对于量化操作的衡量直接准确。
缺点是需要修改解码器记录宏块的 QP 值并计算平均 QP。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。