AV1:帧内预测(一)

news2024/11/30 7:44:47

​VP9支持10种帧内预测模式,包括8种角度模式和非角度模式DC、TM(True Motion)模式,AV1在其基础上进一步扩展,AV1帧内预测角度模式更细化,同时新增了部分非角度模式。

扩展的角度模式


AV1在VP9角度模式的基础上进一步扩展,VP9的8种角度模式作为基础角度,对于尺寸大于8x8的块在每种基础角度上还有6个扩展角度,

图1 AV1角度模式

扩展角度在基础角度两侧以3°为步长分布,如图1。对于8x8的块只有8个基础角度,对于大于8x8的块共有56个帧内角度模式。对于有些预测角度若指向的参考像素不在整像素位置则通过一个2抽头双线性滤波器生成参考像素,

非角度Smooth模式


AV1新增了3个smooth模式,SMOOTH_V、SMOOTH_H和SMOOTH模式。它们通过距离加权计算预测值,

图2 Smooth距离加权

图2中深绿色块代表参考像素,浅蓝色块代表需要计算的预测像素。x和y分别表示当前待预测值距左侧参考列和上方参考行的距离,三种Smooth的预测值计算方法如下:

其中w表示权值,不同尺寸块的权值定义如下:

AV1还使用PAETH_PRED模式取代TM模式,PAETH_PRED模式的预测值计算方法如下:

Recursive Intra Prediction


RIP是AV1中新提出的帧内预测模式,它的预测不仅利用了当前块相邻行/列的信息,还利用了块内部的像素信息。

(a)

(b)

图3 RIP

对于RIP模式,如图3(a)它首先将块划分为互不重叠的4x2块,然后依次计算每个4x2块的预测值,当前4x2块的预测值可用作其他4x2块做参考。

对于第一个4x2预测值的计算如图3(b),它需要用到上一行和左侧列的7个参考像素p0~p6,对于8个预测像素x0~x7计算方法如下:

其中alpha、beta、gamma是预定义参数,一共5组。可以看见每个预测值都是由7个参考像素加权得到,可以看作每个预测值都是由参考像素被7抽头滤波器处理得到,预定义的5组参数如下:

对于其他4x2块预测值计算按同样方式进行,它们的参考像素可能是块内其他4x2块的预测值,这样便充分利用了同一块内相邻像素的相关性。

Chroma Predicted from Luma


CfL是利用亮度重建像素预测色度像素,CfL类似有VVC中的CCLM和AVS3中的TSCMP,它在亮度和色度间构建一个线性关系,如下式,通过这个线性关系利用亮度重建像素预测色度。

Pred_uv = alpha * AC + DC

图4 CfL过程

CfL过程如图4,首先对于420或422视频格式需要将重建的亮度分量下采样到和色度同样的大小,然后需要去除亮度中的DC信息只保留AC信息,其中DC信息即亮度像素的均值,将亮度重建值减去它们的均值即可得到对应的AC信息。然后将亮度AC乘以缩放因子alpha最后加上色度的DC信息便得到色度的预测值。这里alpha需要在码流中传输到解码端,色度的DC值由intra DC模式计算得到。

相关语法元素:

cfl_alpha_signs :包含U和V的alpha的符号信息。具体值的含义如下表。

cfl_alpha_signsName of signUName of signV
0CFL_SIGN_ZEROCFL_SIGN_NEG
1CFL_SIGN_ZEROCFL_SIGN_POS
2CFL_SIGN_NEGCFL_SIGN_ZERO
3CFL_SIGN_NEGCFL_SIGN_NEG
4CFL_SIGN_NEGCFL_SIGN_ZERO
5CFL_SIGN_POSCFL_SIGN_POS
6CFL_SIGN_POSCFL_SIGN_NEG
7CFL_SIGN_POSCFL_SIGN_POS

cfl_alpha_u :U分量alpha的绝对值。

cfl_alpha_v:V分量alpha的绝对值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1529570.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

漫谈微服务网关

一、什么是服务网关 服务网关 路由转发 过滤器 1、路由转发:接收一切外界请求,转发到后端的微服务上去; 2、过滤器:在服务网关中可以完成一系列的横切功能,例如权限校验、限流以及监控等,这些都可以通过…

AI智能客服的数据训练流程

实现智能客服的数据训练流程可以分为几个主要步骤,包括数据准备、模型选择、模型训练和评估。以下是一个基本的数据训练流程,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.数据准备&am…

软件开发项目管理/研发项目管理软件:国产EDA工具厂商行芯科技上线奥博思PowerProject项目管理软件平台

国内领先的EDA工具链提供商杭州行芯科技有限公司(以下简称:行芯科技)与北京奥博思软件技术有限公司达成战略合作,奥博思软件将基于PowerProject项目管理系统助力行芯科技实现研发项目的全生命周期管理,提升管理效能&am…

fastjson反序列化攻略

漏洞原理 Json.parseObject(json, User.class)方法中,通过指定type的值实现定位某类,会执行User类的构造方法和属性中的get,set方法 判断是否是fastjson/(jackson) 1.2.24-1.2.83都会有dnslog的payload {"zer…

基于Springboot的船运物流管理系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的船运物流管理系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构…

(总结)OpenOFDM接收端信号处理流程

Overview — OpenOFDM 1.0 documentation 本篇文章为学习OpenOFDM之后的产出PPT,仅供学习参考。

28-4 文件上传漏洞 - %00和00截断

环境准备:构建完善的安全渗透测试环境:推荐工具、资源和下载链接_渗透测试靶机下载-CSDN博客 一、白名单绕过、%00和O0截断 %00和O0截断定义: 在URL中,%00表示ASCII码中的0(零),而ASCII中0作为特殊字符保留,所以当URL中出现%00时就会认为读取已结束。这等同于一个结束…

springboot校服订购系统

摘 要 本文首先实现了校服订购系统设计与实现管理技术的发展随后依照传统的软件开发流程,最先为系统挑选适用的言语和软件开发平台,依据需求分析开展控制模块制做和数据库查询构造设计,随后依据系统整体功能模块的设计,制作系统的…

【c语言篇】每日一题-pta-实验11-2-9 链表逆置

题目如下&#xff1a; 裁判测试程序样例&#xff1a; #include <stdio.h> #include <stdlib.h>struct ListNode {int data;struct ListNode *next; };struct ListNode *createlist(); /*裁判实现&#xff0c;细节不表*/ struct ListNode *reverse( struct ListNod…

SCI一区 | Matlab实现GWO-TCN-BiGRU-Attention灰狼算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测

SCI一区 | Matlab实现GWO-TCN-BiGRU-Attention灰狼算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测 目录 SCI一区 | Matlab实现GWO-TCN-BiGRU-Attention灰狼算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测预测效果基本介绍模型描述程序…

Transformer的前世今生 day04(ELMO

ELMO 前情回顾 NNLM模型&#xff1a;主要任务是在预测下一个词&#xff0c;副产品是词向量Word2Vec模型&#xff1a;主要任务是生成词向量 CBOW&#xff1a;训练目标是根据上下文预测目标词Skip-gram&#xff1a;训练目标是根据目标词预测上下文词 ELMO模型的流程 针对Wor…

15届蓝桥杯备赛(2)

文章目录 刷题笔记(2)二分查找在排序数组中查找元素的第一个和最后一个位置寻找旋转排序数组中的最小值搜索旋转排序数组 链表反转链表反转链表II 二叉树相同的树对称二叉树平衡二叉树二叉树的右视图验证二叉搜索树二叉树的最近公共祖先二叉搜索树的最近公共祖先二叉树层序遍历…

实现el-table合并列

效果图如下 <el-table :data"atlasDataList" style"width: 100%" :span-method"spanMethod"><el-table-column prop"stationName" label"" width"180" /><el-table-column prop"atlasNumbe…

刷题日记:面试经典 150 题 DAY6

刷题日记&#xff1a;面试经典 150 题 DAY6 392. 判断子序列167. 两数之和 II - 输入有序数组11. 盛最多水的容器15. 三数之和209. 长度最小的子数组 392. 判断子序列 原题链接 392. 判断子序列 双指针&#xff0c;i指向s&#xff0c;j指向t 如果s[i]t[j]&#xff0c;则匹配…

ARM开发板实现24位BMP图片缩放

ARM开发板实现24位BMP图片缩放 一、linux平台bmp图片缩放 最近想在ARM开发板实现BMP图片的缩放&#xff0c;查看了一些资料&#xff0c;大家部分理论知识可参考&#xff1a; akynazh博主 &#xff0c;这位博主程序以window平台为主进行显示&#xff0c;发现在linux平台下编译…

【Leetcode】1793. 好子数组的最大分数

文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 结果总结 题目 题目链接&#x1f517; 给你一个整数数组 n u m s nums nums &#xff08;下标从 0 0 0 开始&#xff09;和一个整数 k k k 。 一个子数组 ( i , j ) (i, j) (i,j) 的 分数 定义为 m i n ( n u m s …

Livox激光雷达 mid360 跑 fastlio2 - 流程记录

mid360 跑 fastlio2 一、配置 mid360 环境1.1、主机配置静态IP为192.168.1.501.2、Livox-SDK21.3、Livox_ros_driver2二、Fast-lio22.1、下载源码2.2、修改代码2.3、编译、运行 提示一下&#xff0c;如果在一些板上&#xff08;比如rk3399&#xff0c;或者是树莓派 &#xff0…

蓝桥杯java组 螺旋折线

题目描述 如图所示的螺旋折线经过平面上所有整点恰好一次。 对于整点(X, Y)&#xff0c;我们定义它到原点的距离dis(X, Y)是从原点到(X, Y)的螺旋折线段的长度。 例如dis(0, 1)3, dis(-2, -1)9 给出整点坐标(X, Y)&#xff0c;你能计算出dis(X, Y)吗&#xff1f; 【输入格…

Spring-AOP面相切面编程示例(有详细注释)

前提知识Spring-IOC容器注解方式使用https://blog.csdn.net/m0_61160520/article/details/136784799?spm1001.2014.3001.5501切点表达式https://blog.csdn.net/m0_61160520/article/details/136782885?spm1001.2014.3001.5501 案例 1.创建项目 2.导入依赖 <dependencie…

CSS 三大特性 详细讲解

CSS 三大特性及代码解释 层叠性 当相同选择器设置相同样式且发生冲突时&#xff0c;此时后者的样式会覆盖&#xff08;层叠&#xff09;前者冲突样式。CSS的层叠性就是用于解决样式冲突问题。 Input&#xff1a; <style>div {color: red;}div { color: blue; <!-…