当前位置: 首页 > news >正文

av1编码--非方向帧内预测

目录

4.3 非方向帧内预测

1. DC_PRED预测模式

2. SMOOTH系列预测模式

3. PAETH_PRED预测模式

4.3 非方向帧内预测

除了方向帧内预测之外,AV1 还定义了 5 种非方向帧内预测模式来模拟图像块的平滑区域。这 5 种非方向预测模式分别是DC_PREDSMOOTH_PREDSMOOTH_H_PREDSMOOTH_V_PREDPAETH_PRED

1.DC_PRED预测模式

DC_PRED预测模式中,AV1 使用当前变换块的左侧和上方参考像素的平均值来生成预测像素值。在DC_PRED预测模式下,预测像素生成过程具体描述如下:

  • 如果当前变换块的左侧和上方参考像素AboveRow[0:W-1]LeftCol[0:H-1]均可用,那么:

  • 否则,如果当前变换块的左侧参考像素LeftCol[0:H-1]可用,那么:

  • 否则,如果当前变换块的上方参考像素AboveRow[0:W-1]可用,那么:

  • 否则,如果AboveRow[0:W-1]LeftCol[0:H-1]均不可用,那么

2.SMOOTH系列预测模式

预测模式SMOOTH_V_PREDSMOOTH_H_PRED分别沿垂直和水平方向使用二次插值方式生成预测值,而预测模式SMOOTH_PRED则使用SMOOTH_V_PREDSMOOTH_H_PRED的二次插值结果的平均值生成预测值。

用于二次插值的参考像素包括来自顶部和左侧的参考像素以及右上角和左下角的参考像素。具体来讲:

  • SMOOTH_V_PRED使用顶部参考像素AboveRow[col]和左下角像素LeftCol[H-1]的加权平均作为预测值。
  • SMOOTH_H_PRED使用左侧参考像素LeftCol[row]和右上角参考像素AboveRow[W-1]的加权平均作为预测值。
  • SMOOTH_PRED则使用LeftCol[row]AboveRow[col]AboveRow[W-1]LeftCol[H-1]这 4 个参考像素的加权平均作为预测值。

图4-12所示为4x8变换块在SMOOTH_PRED预测模式下的预测像素和参考像素之间的位置关系。

图4-12 SMOOTH_PRED预测模式下的预测像素和参考像素之间的位置关系

在预测模式SMOOTH_V_PREDSMOOTH_H_PRED以及SMOOTH_PRED下,AV1 首先根据当前变换块的宽度W和高度H,使用表 4-3 中的水平和垂直权重对应关系选择合适的权重数组。表 4-3 中列出的权重数组是通过二次函数 y=ax^2+bx+c 拟合得到的,其中y是待预测像素位置的权重,x是待预测像素距离参考像素的距离,a,bc是拟合参数。由于权重smWeightsXsmWeightsY是通过二次函数拟合得到的,因此预测像素值可以视为使用二次插值来生成的。

表 4-3SMOOTH_PRED的水平和垂直权重选择方式

水平方向权重smWeightsX

垂直方向权重smWeightsY

log₂W

smWeightsX

log₂H

smWeightsY

2

Sm_Weights_Tx_4x4

2

Sm_Weights_Tx_4x4

3

Sm_Weights_Tx_8x8

3

Sm_Weights_Tx_8x8

4

Sm_Weights_Tx_16x16

4

Sm_Weights_Tx_16x16

5

Sm_Weights_Tx_32x32

5

Sm_Weights_Tx_32x32

6

Sm_Weights_Tx_64x64

6

Sm_Weights_Tx_64x64

  • 对于SMOOTH_V_PRED预测模式,预测值p[col][row]的计算方式如下:

  • 对于SMOOTH_H_PRED预测模式,预测值p[col][row]的计算方式如下:

  • 对于SMOOTH_PRED预测模式,预测值p[col][row]的计算方式如下:

3.PAETH_PRED预测模式

PAETH_PRED预测模式中,AV1 使用顶部参考像素AboveRow[col]、左侧参考像素LeftCol[row]和左上角参考像素AboveRow[-1]来生成预测值p[col][row]

图4-13为PAETH_PRED预测模式中参考像素的位置示意图。

图4-13 PAETH_PRED预测模式中参考像素的位置示意图

之后,PAETH_PRED预测模式按照下述公式来生成预测值p[col][row]

也就是说,PAETH_PRED预测模式从参考像素AboveRow[col]LeftCol[row]AboveRow[-1]中选择与base值最接近的参考像素作为预测值。这种非线性的预测像素生成方式可以控制预测方向,使其与具有最高相关性的纹理方向对齐。

为了传输非方向帧内预测,AV1 仍然使用语法元素intra_frame_y_modeuv_mode来指明亮度和色度的非方向帧内预测模式

http://www.jsqmd.com/news/881333/

相关文章:

  • ARM SME2指令集:UQCVT与UQRSHR指令详解
  • 别再格式化硬盘了!忘记Deep Freeze密码?用这招在Windows 10下无损卸载(保姆级避坑指南)
  • Unity本地HTTP服务器搭建:HttpListener实战指南
  • 从信息论与几何视角解析泛化误差:相对熵与吉布斯分布的应用
  • Keil C51中绝对地址变量初始化问题解析
  • 可微分量子化学与机器学习融合:从哈密顿量预测到分子性质计算
  • 机器学习数据最小化实战:从隐私保护到模型优化的技术全景
  • Unity角色状态机C#实现:解决跳跃乱跳、行为耦合等实战问题
  • 零基础掌握Godot:官方示例项目精读指南
  • 不只是配置:在AutoDL上为你的深度学习项目打造可复现、可迁移的专属环境(Python 3.8 + CUDA 11.3)
  • Mac抓包小程序流量失败的根源与实战排障指南
  • 避坑指南:Unity InputSystem 处理手机触摸屏输入时,如何解决多点触控冲突与误触问题?
  • Unity Timeline不写代码做过场动画:Playable API实战指南
  • 从动捕服到屏幕:UE5里用Xsens MVN插件搞定惯性动捕的完整配置与骨骼重定向指南
  • 图神经网络在天气预报中的应用:分层矩形图架构与实战评估
  • 从‘紫色错误’到视觉盛宴:避开Unity着色器与材质管理的3个新手大坑(含URP实战)
  • ARMv8架构AArch64缓存维护指令详解与实践
  • 2026年4月优秀的折弯中心品牌推荐,LC-RG激光切割机/CNC剪板机/钣金加工设备,折弯中心生产厂家怎么选择 - 品牌推荐师
  • Android SSL Hook四大方法实战:从TrustManager到Native层绕过
  • 告别协程!用UniTask在Unity里写异步代码,这5个实战场景让你效率翻倍
  • 从《空洞骑士》到你的项目:拆解Cinemachine Virtual Camera如何塑造游戏镜头语言
  • 从库仑定律到电偶极子:手把手推导电场强度分布(附Python可视化代码)
  • 渗透测试入门实战:从信息收集到权限提升的完整链路
  • 电能质量事件分类实战:Cubic SVM与XGBoost在电力故障诊断中的性能对比
  • Unity资源依赖分析原理与幽灵资源清理实战
  • Exchange渗透:从邮件服务器到AD特权代理的系统化利用
  • Unity DOTS Agents Navigation高性能导航系统架构解析
  • AST解混淆与JS签名算法Python复现实战指南
  • 基于特征解耦VAE的公平机器学习:消除工效学评估中的算法偏见
  • Unity物体世界坐标实时保存到TXT的稳健方案