6.3.2 预测技术的演进(Evolution of Prediction)
帧内预测:9 种到 35 种
H.264 的 4×4 九模式(图 6-2)已经让人印象深刻,HEVC 直接把方向预测的密度提升了近四倍:33 种角度模式 + DC + Planar,共 35 种帧内模式 [6],覆盖从 4×4 到 32×32 的全部 PU 尺寸。
角度加密的价值在 4K 内容里尤为明显:分辨率越高,纹理边缘的方向分布越连续,粗粒度的 8 个方向就容易出现 "差几度对不上" 的尴尬,残差白白增大。33 个角度让外推方向几乎贴着真实纹理走。与此同时,参考像素在送入预测前可选做一次 平滑滤波,大块的 Planar 模式也有了更细致的边界处理——一切为了把空间冗余榨得更干净。
帧间预测:从 "传运动矢量" 到 "竞争上岗"
帧间环的演进更具思想性。H.264 的中值预测(6.2.3)只给运动矢量提供 一个 候选预测值,不中意就得老老实实传 MVD。HEVC 把它改造为 候选列表竞争 机制,两条路线并行 [6] [9]:
- Merge(合并)模式:当前块直接从候选列表中 继承 某个邻块(空域相邻块,或同位置时域块)的全部运动信息——参考帧、运动矢量、预测方向,一个索引全部搞定。候选列表通常有 5 个席位;若残差也为零,就是 HEVC 版的 Skip。回忆 6.2.3 的 Skip 模式:Merge 把它从 "只能沿用推断矢量" 推广成了 "可以从五个邻居里挑一个抄"
- AMVP(Advanced Motion Vector Prediction,高级运动矢量预测):需要传 MVD 的常规帧间模式,但运动矢量预测值也不再唯一——编码器从 2 个候选(空域 + 时域)中选一个,只传 候选索引 + MVD。预测值本身更准,MVD 自然更小
时域候选(同位置块在前序参考帧中的运动信息)是一个值得注意的新角色:它让运动信息的复用跨越了帧间——视频的时间冗余,在运动矢量层面又被利用了一次。
参考帧管理:RPS
多参考帧的管理也更加体系化。HEVC 引入 RPS(Reference Picture Set,参考图像集):每个 Slice 明确声明自己引用 DPB 中的哪些帧,并按 "短期参考 / 长期参考" 分类管理。随机访问点家族也更加细分——除了传统的 IDR(瞬时解码刷新),还有 CRA(Clean Random Access) 允许切点后先解码的帧引用切点前的内容,换来更灵活的码流调度(直播场景的关键工具,第九章会再见面)。
对照速览
| 能力 | H.264 | H.265 |
|---|---|---|
| 帧内模式 | 4×4 九模式 + 16×16 四模式 | 35 种(33 角度 + DC + Planar) |
| 帧间分块 | 宏块树状划分(16×16~4×4) | CU/PU 解耦 + AMP 非对称 |
| 运动信息 | 中值预测 + MVD;Skip | Merge 五候选竞争 + AMVP 双候选 |
| 参考帧管理 | 帧号列表 | RPS 体系 + 多种随机访问点 |
预测环的升级清单到此为止。下一节看后场:滤波、并行化,以及那笔 "码率减半" 的总账。