5.2 量化技术与依赖标量量化


5.2 量化技术与依赖标量量化

本节摘要:量化是有损压缩发生的地方——变换系数除以步长取整,"舍"掉的部分永远回不来。本节先补齐标量量化的基础账(QP、步长、码率失真的跷跷板),再拆VVC在这步上的核心创新:依赖标量量化(Dependent Quantization)——让相邻系数共享一个带状态的量化网格,四两拨千斤地省码率。

变换把能量聚好了(5.1节),本节决定"保留到什么精度"。5.3节的熵编码将接手幸存下来的符号。

标量量化的基础账

标量量化一句话:系数除以步长、四舍五入、存整数。步长大,多数小系数被舍成零(码率降、失真升);步长小,细节保住(码率升)。标准用**QP(量化参数)**间接控制步长——QP每加6,步长翻一倍(对数刻度),这个杠杆贯穿所有编码器调参实践。

量化重建有个常被忽略的细节:反量化不是简单乘回步长,而是用加权重建——重建值在几个"格点"间选择,偏向更贴近率失真最优的位置。VVC在重建格点的组织上做了新文章,这就是本节主角。

码率与失真的跷跷板

QP的调节本质是在率失真曲线上滑动:编码器内部的RD决策统一用λ(拉格朗日乘子)折算"多一个比特值不值",QP与λ绑定。第9.2节的实测复盘会把这条跷跷板画成可操作的码率-质量曲线,这里先立起直觉:

QP 的调节直觉(其他设置不变): QP 小 → 步长小 → 非零系数多 → 码率高、失真低 QP 大 → 步长大 → 大片系数归零 → 码率低、失真高 经验刻度(主观质量随内容浮动): 点播级画质区间通常落在中低QP段; 监控/低码率场景常用中高QP段; QP拉满边缘会出现"色带/块感"——量化把平滑渐变压成了台阶。

依赖量化:带状态的网格

传统(独立)量化里,每个系数各自四舍五入,互不知晓。依赖量化(Dependent Scalar Quantization,也叫依赖标量量化)的核心动作:量化输出不再是固定的单一网格,而是两个错开半个步长的网格,系数之间通过一个状态机决定当前用哪个网格

三步机制:

  1. 双网格:定义两个量化格点集合,相互错开半个步长。同一系数值在两个网格下的重建结果不同;
  2. 状态机:每处理一个系数,状态在两个网格之间按规则切换(依据前一个系数的量化输出)。于是当前系数的量化选项,取决于前一个系数的选择——这就是"依赖"二字的含义;
  3. 编码端联合搜索:编码器在量化一个系数序列时,必须把状态转移考虑进去做联合决策(近似维特比的搜索),解码端则按同样规则推导网格切换——两端共演,码流里一个比特的状态都不用传(老朋友了:能推导的绝不传)。

收益从哪来:两个错开半格的网格等于把重建格点加密了一倍(等效更细的量化精度),而码率没有按"步长减半"的代价增长。粗略地说,它用状态机的逻辑换来了物理格点的密度。JVET测试中它是VVC单项收益居前的工具。

状态机图解

状态机图解

依赖量化的代价与边界

天下没有免费的网格密度,代价记在两处:

  • 编码端:量化从"逐系数独立取整"变成"序列联合决策",搜索空间膨胀,编码时间上升(又一次呼应第9.3节的复杂度总账);
  • 解码端:反量化也变成有状态过程——系数必须按扫描顺序串行处理,状态不能并行推进。硬件流水线为此专门设计状态传递通路,这是VVC解码器比HEVC"贵"的具体来源之一。

边界条件同样清晰:依赖量化对非零系数较多、系数间相关性强的内容收益大;大片全零区域里状态机空转,收益归零(但也不亏多少)。所以编码器实现里有按块统计快速预判的开关策略。

相关的量化配套工具

除了依赖量化,VVC量化环节还有几件配套小工具,一并记下:

  • QP映射与色度QP表:亮度QP到色度QP的映射表可自定义(第8.3节LMCS的色度残余缩放还与其联动),给色度带宽分配留了手柄;
  • 量化矩阵的取舍:HEVC的量化矩阵(按频率加权步长)在VVC主档中被依赖量化等工具替代,语法显著简化——工具做减法也是标准演进的一部分;
  • 残差DQ与变换的联动:依赖量化与MTS/LFNST组合使用时,状态机的起点受变换类型影响,实现时按标准伪代码逐条对齐。

⚠️ 实现陷阱:依赖量化的状态转移规则与系数扫描顺序强绑定——如果你在解码器里改动了扫描顺序(哪怕只是调试用的重排序),反量化结果会整体漂移,且症状是"全序列逐渐劣化"而非立刻报错,排查极难。解码对齐测试请把依赖量化与扫描顺序放在同一组用例里验证。

案例:监控场景的QP与依赖量化联动

用一个工程场景把本节工具串起来。素材:夜间停车场监控(大面积暗部、少量灯光高光、缓慢运动),目标是把存储成本压到预算内。

背景:这类素材的亮度分布高度偏斜——暗部占绝对多数,码字利用极不均匀。操作:先拉高基础QP试探存储目标;再开依赖量化(暗部大片近零系数之间状态机开销近零、非零段格点加密受益);配合8.3节LMCS把暗部区间适当拉伸(暗部原本被压缩在极少码字里)。结果(示例口径):三步组合后同等主观质量下存储码率比单一拉QP的做法再省一截——而且色带伪影(暗部量化最刺眼的症状)出现更晚。解读:高QP不是终点,"QP+依赖量化+亮度映射"是三个正交的旋钮,分别作用于步长、格点相位与码字分布——叠加使用才是暗部场景的完整答案。变式:换成白天停车场(动态范围收窄),LMCS收益归零,只留QP与依赖量化两个旋钮;换成电脑屏幕监控(第7.1节主场),量化策略让位于IBC与调色板。

两问两答

问:依赖量化可以按需关闭吗?
可以。它是编码端可选工具(码流里有总开关),生产编码器的档位里常提供开关或简化模式——快档关它换编码速度,慢档开它换效率。解码端则必须完整实现(码流开了就得解),这也是解码器实现清单里绕不开的一课。

问:重建格点的"加权"与取整有什么区别?
取整是确定性四舍五入(只有一个答案);加权重建是在若干候选格点间按率失真倾向选择——正因为有两套网格(依赖量化的A/B),"选择"才有空间。理解成"格点加密+择优"就对了,这也是它比独立量化省码率的微观机理。

本节要点回顾

  • 量化是失真的发生地:QP每加6步长翻倍,码率失真跷跷板的全局手柄;
  • 依赖量化双网格+状态机:错开半步长的两套格点按系数输出切换,等效格点加密而码率不按比例涨;
  • 能推导的不传:状态转移两端共演,码流零开销,信令哲学一以贯之;
  • 代价两笔:编码端联合搜索变慢,解码端反量化被迫串行;
  • 配套工具做减法:量化矩阵退场,色度QP映射保留手柄。

作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U