H264量化参数QP

量化参数

编码我们一般采用就是两种思想,在空间域上采用帧内压缩,利用数据的空间相关性进行压缩,这种压缩思想实现基本就是图片的压缩算法。另外一种就是一种利用时域的数据相关性进行压缩,采用参考参考帧和预测帧之间的宏块计算残差在此基础上进行压缩。一般用“残差”Dn 来表示当前块和参考块之间的误差。将残差 Dn 进一步进行离散余弦变换 DCT后对变换系数进行量化可以进一步压缩数据量。其中该压缩过程是有损的,一般地随着量化参数QP的扩大,图像的损失将变大。解码过程需要进行一次反量化-反变换IDCT 还原残差,后再根据参考宏块还原原始图像。

实际上现有的码率控制算法主要是通过调整离散余弦变换的量化参数大小输出目标码 率。实际上,量化参数(QP)反映了空间细节压缩情况,如 QP 小,大部分的细节都会被保留,码 率增大。QP 增大,一些细节丢失,码率降低,但图像失真加强和质量下降。也就是说,QP 和比特率成反比的关系。

量化参数取值:
在这里插入图片描述
量化参数QP是量化步长Qstep的序号,QP取最小值0 时,表示量化最精细;相反,QP取最大值51时,表示量化是最粗糙的。

在H.264中,量化参数分3个级别给出:图像参数集(pps)、片头(slice_header)、宏块(mb)。

图像参数集

pps.pic_init_qp_minus26:初始值,取值范围是-26, + 25
在这里插入图片描述

片头

slice_header.slice_qp_delta:当前片所有宏块的量化参数初始值QPy
SliceQPy = 26 + pic_init_qp_minus26 + slice_qp_delta,取值范围是0, 51
在这里插入图片描述
一帧图像的统计
在这里插入图片描述

宏块

mb.mb_qp_delta:宏块量化参数偏移值, 取值范围是-26, + 25,指示的偏移是前后两个宏块的偏移
片中第一个宏块的QP = 26 + pic_init_qp_minus26 + slice_qp_delta
后续宏块的QP = (QPprev + mb_qp_delta + 52) % 52
在这里插入图片描述

编码流控策略

常见的x264编码器为例

CQ

Constants Quantize:表示完全不控制码率,尽最大可能保证图像质量,对于质量要求高、不在乎带宽(例如本地存文件)、解码器支持码率剧烈波动的情况,显然 CQ 是不二之选。

CBR

Constants Bits Rate, 静态比特率,表示编码器会尽量把输出码率控制为设定值,使用CBR编码时,比特率在流的进行过程中基本保持恒定并且接近目标比特率,始终处于由缓冲区大小确定的时间窗内。CBR编码的缺点在于编码内容的质量不稳定。因为内容的某些片段要比其他片段更难压缩,所以CBR流的某些部分质量就比其他部分差。此外,CBR编码会导致相邻流的质量不同。通常在较低比特率下,质量的变化会更加明显,所以这种情况适用于流媒体传输,对带宽有严格要求的适合这种编码方式,缺点就是画面剧烈变化时,视频质量下降比较明显,如果是长时间静态画面这种,也有点浪费带宽。

VBR

Variable Bit Rate,动态比特率,表示编码器会根据图像内容的复杂度(实际上是帧间变化量的大小)来动态调整输出码率,图像复杂则码率高,图像简单则码率低。输出码率会在一定范围内波动,对于小幅晃动,方块效应会有所改善,但对长时间剧烈晃动仍无能为力。这种编码方式适用于本地存储本地编码这种情况对视频和音频质量要求比较高但是又不关心带宽的场景可以采用该编码方式。

方块效应

主要是由视频图像采用基于块的编码方式和量化造成相邻块之间存在明显差异的现象,在视频编码中人眼察觉到的小块边界处的不连续。简单说就是视频编码的最小单元不是帧是宏块,每个宏块可能编码细节处理不一样,这样解码出来会发现视频中出问题总是一小块一小块的,一帧画面出现马赛克的地方有些区域很严重有些则能好点。

在固定码率情况下,画面剧烈运动产生编码数据量大,编码器为了保证产生固定码率,则此时的量化系数肯定比较高,因此容易出现方块效应。

呼吸效应

视频编码中的呼吸效应是指由于I帧的插入造成图像质量忽然变好,切换到P帧后又忽然变差,特别是在画面静态时,如果周期性的出现则容易发现这个问题。

在固定码率情况下,I帧把全部带宽都吃掉了,P帧就只能编的更模糊一些,静止的场景下比较容易发现呼吸效应,运动场景中,大部分的图像内容都在变化,不容易发现。

  • 9
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值