HEVC(十七):CQP

HEVC(十七):CQP 在视频编码如 H.264/AVC、H.265/HEVC、H.266/VVC的各种码率控制模式中CQPConstant Quantization Parameter恒定量化参数是最基础、最直接同时也是数学上最纯粹的一种模式。它跳过了所有复杂的感官模型和带宽预测直接作用于视频压缩的核心步骤——量化Quantization。一图总结一句话总结CQP 是一种不考虑人眼视觉特性的纯数学编码模式它通过将固定的量化步长QP死板地应用到所有画面中追求绝对的客观失真度恒定虽适合学术研究与标准跑分但因无法动态优化码率而极易造成带宽和空间的巨大浪费。什么是 CQPCQP即恒定量化参数模式。在这种模式下编码器被显式指定一个固定的量化参数Quantization Parameter简称QP。量化的物理本质视频编码的核心流程通常包括预测帧内/帧外→ \rightarrow→残差变换DCT/DST→ \rightarrow→量化→ \rightarrow→熵编码。其中变换后的残差系数是连续且精细的浮点数而量化就是将这些连续的值除以一个量化步长Quantization Step Size简写为Q s t e p QstepQstep并取整的过程。QP 与 Qstep 的数学关系在主流编码标准中QP 是一个整数通常范围为0 ∼ 51 0 \sim 510∼51。QP 与实际的量化步长Q s t e p QstepQstep成指数正相关关系。以 H.264/H.265 为例QP 每增加 6量化步长Q s t e p QstepQstep就会翻倍Q s t e p 0.625 × 2 Q P 6 Qstep 0.625 \times 2^{\frac{QP}{6}}Qstep0.625×26QP​当 QP 很小如 10时Q s t e p QstepQstep极小量化非常精细保留了绝大部分残差高频细节视频质量极高但数据量巨大。当 QP 很大如 40时Q s t e p QstepQstep极大大量微小的残差系数被直接除成 0被过滤掉数据量剧烈平滑但画面会出现严重的块效应Blockiness和模糊。当 QP 0 时代表无损量化Lossless残差完全不作丢弃。在 CQP 模式下用户指定的 QP 值会强制应用到视频的所有宏块/编码单元CU以及所有帧I/P/B 帧或根据配置微调中不再随画面的复杂度变化而动态调整。CQP 的工作机制CQP 的核心逻辑是完全不考虑人眼视觉特性HVS也不考虑网络带宽它只追求数学空间上的失真度恒定。无论画面如何量化尺子不变静态画面 vs. 剧烈运动在一个静止的风景画面里CQP 使用设定的 QP 压制突然画面转切到爆炸、飙车的激烈动作场景CQP依然使用完全相同的 QP压制。平滑天空 vs. 复杂纹理无论面对的是一片没有任何细节的纯色蓝天还是一面写满密密麻麻文字的墙壁CQP 对残差系数除以的Q s t e p QstepQstep都是完全一样的。宏块级别的微调IPB 帧差异虽然被称为“恒定”但在实际的编码器如 x264/x265实现中为了照顾视频序列的参考关系CQP 允许对不同帧类型I 帧、P 帧、B 帧进行固定的 QP 偏移OffsetI 帧关键帧作为后续帧的参考基准通常会获得最精准的 QP即用户设定的基准 QP。P/B 帧预测帧由于它们依赖 I 帧其 QP 通常会被编码器自动加上一个微小的偏移量例如Q P P Q P I 2 QP_P QP_I 2QPP​QPI​2,Q P B Q P I 4 QP_B QP_I 4QPB​QPI​4以在保证参考质量的前提下轻微压缩体积。但这个偏移关系在整个编码过程中是死板、恒定不变的。CQP 的优势与致命缺陷优势为什么算法研究员最爱 CQP客观失真度恒定无噪干扰它是衡量编码器底层优化如运动估计、帧内预测算法改进最完美的基准线。排除掉动态码率控制算法的干扰后CQP 能最纯粹地反应变换与量化阶段的性能。编码速度快、开销小编码器不需要花费 CPU 算力去分析宏块的时空复杂度也不需要计算人眼视觉掩蔽效应Masking更不需要为了保码率而进行前向 lookahead 预测。残差出来后直接除以固定的Q s t e p QstepQstep算法执行效率极高。严格的可重复性只要输入源和参数不变编码出来的每一帧的数学失真和结构PSNR/SSIM高度可预测。缺陷为什么商业流媒体和日常压制绝不使用纯 CQP极低的码率效率浪费带宽这是 CQP 无法用于商业的核心原因。对于高动态/高纹理画面为了维持相同的数学 QP编码器不得不输出天文数字般的暴涨码率而事实上这些画面由于运动太快人眼根本看不清细节高达80 % 80\%80%的码率是被白白浪费掉的。完全无法预测和控制文件体积与 CRF 类似CQP 模式下最终的文件大小取决于视频源的复杂度。一段 10 分钟的动作片和 10 分钟的静态会议在相同 CQP 下文件体积可能相差数十倍。主观听觉/视觉的不平衡人眼对平滑区域的噪点极其敏感对运动区域的噪点很不敏感。CQP 在这两处一视同仁导致主观体验上静态画面表现一般动态画面码率虚高整体“性价比”极低。CQP 与 CRF 的深度对比很多人容易混淆 CQP 和 CRF因为它们的数值范围完全一样0 ∼ 51 0 \sim 510∼51且都是 1-Pass单次编码。但两者的底层哲学完全相反特性维度CQP (Constant QP)CRF (Constant Rate Factor)控制核心数学空间上的物理量化步长恒定人类视觉感知上的主观质量恒定人眼视觉模型 (HVS)完全忽略。宏块复杂度不影响 QP。全面引入。根据空间/时间掩蔽效应动态调 QP。复杂场景表现码率暴增以维持相同的数学精度。QP 主动变大允许引入肉眼难察的失真以省带宽。简单/平滑场景码率极低但可能因为 QP 不够小而出现色带。QP 主动变小用足码率保护平滑人脸和天空。主要应用场景视频编码学术研究、编码器性能跑分、Debug。离线影视压制、网络视频流媒体、高保真备份。一句话理解CQP 是“死脑筋的机器思维”不管人眼看没看到每个像素的残差都要拿同一把尺子去量CRF 是“聪明的用户思维”人眼注意不到的地方就偷懒划水注意到的地方就精雕细琢。