3.2 帧内预测模式对照:方向模式的军备竞赛


3.2 帧内预测模式对照:方向模式的军备竞赛

本节摘要:帧内预测的模式数是四代标准最直观的军备竞赛:H.264 九个方向,HEVC 三十三个方向,VVC 六十五个,AV1 不比数量比密度——在关键角度附近以三度步长加密,再叠加平滑类、Paeth 与 CFL,大块的候选可达上百个。本节对照四套词汇量的构成,并算清"模式变多"在码率与复杂度两端的账。

一、为什么方向模式是核心资产

帧内预测的本质是空间外推:块内还没编码的像素,用上边和左边的已重建像素沿某个方向"推"出来。推的方向对不对,直接决定残差有多大——斜向的栅栏、发丝、百叶窗,方向差一度,残差能量差一截。方向模式库就是编码器的"角度词汇表",词汇越密,能精确描述的纹理越多。

但词汇表不是白来的。每个候选模式都要写进码流(哪怕是用上下文编码的短符号),更要命的是编码器在率失真优化时要把每个模式都试一遍。模式数每翻一倍,帧内决策的编码时间大致翻倍。这场军备竞赛的每一轮扩编,都是在"压缩收益"与"编码时间"之间重新报价。

二、四代词汇表逐项对照

标准 方向模式 非方向模式 参考像素处理 特殊机制
H.264 8 个方向 + DC(4×4 与 16×16 略有差异) DC、Plane 单行参考 4×4 亮度预测为主
HEVC 33 个等步长方向 DC、Planar 一次平滑滤波 参考行替换(SRF)类工具有限
AV1 基础方向 + 关键角度附近三度步长加密 DC、SMOOTH、SMOOTH_H/V、PAETH 参考像素可平滑/可复制 色度 CFL、帧内复制
VVC 65 个等步长方向 DC、Planar 多参考行可选 MIP 矩阵预测、ISP、TDPCM

HEVC 把方向从九个扩到三十三个,等步长铺满半圆,这是第一轮"广撒网";VVC 再翻倍到六十五个,同时引入多参考行——不再只看紧邻的一行像素,可以选更远的参考行躲开被滤波污染的边界。两代走的是"等间距铺满"的路子。

AV1 的思路不同:它保留等间距的八类基础方向,但在水平与垂直角度附近(真实图像纹理最集中出现的区间)把角度步长加密到三度,远端区间步长较粗。这相当于承认纹理分布不均匀——斜四十五度的内容远比斜七十度的常见。再叠加三个非方向成员:DC(平坦块)、双向与单向 SMOOTH(渐变阴影)、PAETH(取相邻像素差值最小的经典启发式,来自无损图像压缩领域)。

# AV1 帧内模式信令示意(伪结构) intra_frame_y_mode : 逐块编码 ├─ DC_FILTER / DC_128 # 平坦块 ├─ V / H # 垂直、水平 ├─ H_114 / V_94 / ... # 关键角度加密成员(3 度步长) ├─ SMOOTH / SMOOTH_H / SMOOTH_V ├─ PAETH └─ 方向成员后附 angle_delta # 在基础角度上再做 ±3 度内的微调

注意最后一行:AV1 允许在选中某个方向后再附加一个角度增量,等于把"固定菜单"变成"菜单加微调"。这是它用较少的模式枚举实现更细角度覆盖的技巧。

三、账怎么算:收益与代价

收益端看一组量级:在静止斜纹理内容上,从九方向到三十三方向的编码增益约在百分之几的量级;从三十三方向到 AV1 的加密角度加微调,增益继续累积但边际递减。真正的乘法效应发生在组合上——方向模式 × 调色板 × 帧内复制 × CFL,屏幕内容与普通相机内容的工具互补,收益才能叠起来。

代价端则是乘性增长:帧内候选上百个,编码器逐个试错的时间不可接受。主流实现都做两级筛选——先用低成本指标(SAD/SATD)海选,再对前几名做率失真精算。这也是为什么同样号称"慢工出细活",不同编码器在同一标准上的速度差可达十倍:快的那个海选更聪明,而不是词汇表更短。

⚠️ 做编码参数调优时别关掉方向模式的加密成员来提速——收益损失远大于时间节省。正确的提速位置是海选阶段的候选上限与下钻深度,第 7 章 preset 对照会回到这个话题。

帧内模式怎么和变换联动

选方向模式不只是预测的事:残差的方向性决定了哪个变换核效率最高。AV1 因此把帧内方向与变换选择联动(方向性变换 ADST/FLIP_ADST 的引入位置与预测方向挂钩),VVC 的 MTS 同理。孤立背"AV1 有几种方向模式"意义有限,把它与第 5 章的变换核对照连起来读,才能理解为什么各家模式表长得不一样。

常见追问

问:为什么 H.264 只有九个方向也"够用"了这么多年?
答:够用是相对码率水平而言的。低码率下残差本来就大,方向预测的精度差异被量化误差淹没,九个方向与三十五个方向的差距体现不出来;高码率下差距才显性化。H.264 服役的年代主流码率低,工具的边际收益撑不起复杂度——工具适配时代,时代变了工具跟着换。

问:非方向模式(平滑、Paeth)什么时候会赢?
答:渐变阴影、虚化背景这类"没有方向的方向"归平滑族;金属光泽、屏幕玻璃反光这类"像素值等于邻居极值"的质感归 Paeth。有趣的规律是:这些非方向模式在照片里是配角,但在合成图形与 UI 内容里常常反客为主——内容类型决定谁是主角。

问:角度微调(angle_delta)为什么不干脆做成更多固定方向?
答:信令与搜索的双重经济。固定方向每加一个都要占模式表的枚举位、都要进海选;微调只对已选中的方向加一个小增量符号,信令按需付费。这种"粗枚举加精修正"的组合拳,在后面参考帧槽位、量化分段的设计里还会反复看到。

本节要点回顾

  • 词汇表对照:九方向 → 三十三方向 → AV1 密度化 + 微调 → 六十五方向,两条技术路线(铺满 vs 加密)殊途同归。
  • 分布驱动设计:AV1 承认纹理角度分布不均,把精度花在水平垂直附近,是"按需加密"的典型工程判断。
  • 边际递减:模式数的压缩增益递减、时间代价乘性增长,主流实现靠两级筛选保住速度。
  • 联动思维:方向模式与变换核、色度工具(下一节的 CFL)是一个整体,拆开背表会丢掉设计意图。

补一个工程视角的对照观察:帧内预测的方向模式数量必须与块划分粒度配套理解才有意义——大块(32×32 以上)用 56 个细分角度才划得来(一个方向误差在几百个像素上会被放大),而 4×4 小块干脆退回少数几个粗方向加 DC/PAETH 就够(小块本身已贴合边缘,精细方向的收益覆盖不了角度编码的码字开销)。这个"块越大方向越细"的耦合正是 AV1 对照 HEVC 时最常被误读的数字——56 对 35 的对比忽略了两者在小块档位上的处理完全不同。做码流分析时遇到帧内块反复切换方向模式的序列,优先怀疑内容纹理周期与块尺寸的错配,这是实拍噪声源的典型指纹。


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