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

libaom 源码分析:AV1 帧内预测模式 Paeth 模式

Peath模式原理Paeth预测模式AV1引入的新的帧内预测模式由计算机科学家Alan W. Paeth在开发PNG格式时提出因此以他的名字进行命名该模式原理是一种加权预测如图所示根据其顶部T、左侧L和左上角TL的参考样本预测每个样本。在这些参考样本中与T L – TL的值最接近的那个值被选为预测样本。应用Paeth预测模式特别适合于图像的平滑区域因为它可以有效地减少预测误差提高压缩效率。在AV1中这种模式是多种帧内预测模式之一与其他模式一起使用以适应不同类型的图像内容。libaom相关源码分析libaom 模式序号为 12在 enums.h 中定义。libaom 源码相关函数关系paeth_predictor函数外层循环遍历块的高度bh。内层循环遍历块的宽度bw。paeth_predictor_single函数被调用来计算每个像素的预测值该函数接受三个参数左侧像素值left[r]上方像素值above[c]以及左上角像素值ytop_left。计算得到的预测值被存储在dst[c]中。每次内层循环结束后dst指针增加stride以移动到下一行的目标缓冲区。staticINLINEvoidpaeth_predictor(uint8_t*dst,ptrdiff_tstride,intbw,intbh,constuint8_t*above,constuint8_t*left){intr,c;constuint8_tytop_leftabove[-1];for(r0;rbh;r){for(c0;cbw;c)dst[c](uint8_t)paeth_predictor_single(left[r],above[c],ytop_left);dststride;}}paeth_predictor_single函数计算基础值basebase 是通过将顶部像素值 top 和左侧像素值 left 相加然后减去左上角像素值 top_left 来计算的。这个基础值用于后续的差值计算。计算绝对差值p_left 是 base 和 left 之间的绝对差值。p_top 是 base 和 top 之间的绝对差值。p_top_left 是 base 和 top_left 之间的绝对差值。这些差值用于确定哪个参考像素left、top 或 top_left最接近 base。选择最接近的像素值函数使用三元运算符来确定哪个参考像素的差值最小即最接近 base。如果 p_left 是三个差值中最小的返回 left。如果 p_top 小于 p_top_left 且不大于 p_left返回 top。否则返回 top_left。返回预测值函数返回最接近 base 的像素值这个值被认为是当前像素的最佳预测。staticINLINEuint16_tpaeth_predictor_single(uint16_tleft,uint16_ttop,uint16_ttop_left){constintbasetopleft-top_left;constintp_leftabs_diff(base,left);constintp_topabs_diff(base,top);constintp_top_leftabs_diff(base,top_left);// Return nearest to base of left, top and top_left.return(p_leftp_topp_leftp_top_left)?left:(p_topp_top_left)?top:top_left;}abs_diff 函数用于计算两个整数 a 和 b 之间的绝对差值。这个函数的实现非常简单且高效它通过一个条件表达式三元运算符来确定 a 和 b 中哪个更大并返回两者之间的差值。staticINLINEintabs_diff(inta,intb){return(ab)?a-b:b-a;}
http://www.rkmt.cn/news/1405987.html

相关文章:

  • UVa 309 FORCAL
  • AB Download Manager深度解析:如何构建高性能多线程下载引擎
  • 避开这些坑!用Python复现AlphaZero五子棋AI时的常见问题与调试指南
  • 告别论文熬夜焦虑!okbiye AI 毕业论文写作,让你高效拿捏学术任务
  • 避坑指南:用Hugging Face Transformers库导出BGE模型到ONNX时,你可能会遇到的3个问题
  • 5分钟掌握PS3终极神器:webMAN MOD完整功能解析与实战指南
  • 伊辛机硬件加速抽取式文本摘要:原理、映射与能效优势
  • D2-Net:从‘检测-描述’到‘联合学习’的特征点检测范式演进
  • DrBERT-7GB在下游任务中的微调:医学文本分类与临床推理应用
  • SwipeMenuViewController高级定制指南:如何设计独特的Tab样式与动画效果
  • I.MX6U-ALPHA/Mini 开发板硬件生态全景解析
  • 大模型注意力机制核心原理与优化技术详解
  • 鸣潮自动化工具ok-ww终极指南:从零开始实现后台自动战斗与声骸刷取
  • 2026年度防爆配电箱TOP5厂家:综合实力、定制周期、售后服务全解析 - 深度智识库
  • 告别手动!Word公式一键批量转MathType的终极方案与OMML2MML疑难杂症攻克
  • NFS挂载疑难解析:从“access denied by server”错误到安全端口配置实战
  • 5分钟上手!原神帧率解锁工具终极指南:告别60帧限制,畅享丝滑体验
  • Windows系统res-downloader证书配置终极指南:3步解决HTTPS嗅探难题
  • 【数据萃取】Browser-Use 提取结构化数据:结合 Pydantic 实现强类型 JSON 输出
  • Bloom-1b7多语言能力实测:中文/英文/法文生成效果对比及优化技巧
  • 3天搭建你的专属缠论量化分析系统:告别手动划线,拥抱算法交易
  • 25+初老肌选什么面霜?2026年测评:主打淡化细纹提亮,适配全肤质抗初老 - 资讯焦点
  • ChatGPT角色设定不是写故事!——基于LLM注意力机制的8项可量化评估指标(附Python自动化检测脚本)
  • 从零到一:基于Xilinx FIR IP核的通信信号滤波实战指南
  • MuseScore 4.7.2正式发布:启动稳定性提升,新增多项实用音乐制谱功能
  • 告别高价与故障!Arturia Memory V 模拟器 149 美元带你享受经典 Moog 音色
  • 数字孪生与AI融合:构建数据驱动的环境设计优化系统
  • 从混乱 HTML 到干净表格:用智能采集 API 啃下非规范电商页面
  • 【限时开源】ChatGPT用户画像生成SaaS套件v1.0(含12个预训练细分场景模型):仅开放首批200个API密钥
  • Python 获取 1688 商品采集 API 接口 | 工厂货源自动化对接商品信息 | 无需选品