AV1:帧内预测(一)

news/2024/4/27 11:20:54

​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.cpky.cn/p/11056.html

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

相关文章

4G/5G视频记录仪_联发科MTK6765平台智能记录仪方案

视频记录仪主板采用了联发科MT6765芯片,该芯片采用12nm FinFET制程工艺,8*Cortex-A53架构,搭载安卓11.0/13.0系统,主频最高达2.3GHz,待机功耗可低至5ma,并具有快速数据传输能力。配备了2.4英寸高清触摸显示…

浅谈前端路由原理hash和history

1、认识前端路由 本质 前端路由的本质,是监听 url 地址或 hash 值的改变,来切换渲染对应的页面组件 前端路由分为两种模式 hash 模式 history 模式 两种模式的对比 2、hash 模式 (1)hash 定义 hash 模式是一种把前端路由的路…

C语言动态内存管理

CSDN成就一亿技术人 目录 一.为什么要存在动态内存分配 二.动态内存函数 1.malloc和free 2.calloc 3.realloc 三.常见的动态内存错误 1.对NULL指针的解引用操作 2.对动态开辟空间的越界访问 3.对非动态开辟内存使用free释放 4.使用free释放一块动态开辟内存的一…

Controller中接收数组参数

1、场景 需要根据用户id集合批量删除用户数据,前端使用post请求,controller中参数接收数组参数并根据用户id删除用户基本信息 2、分析处理: 2.1、前端请求类型contentType:application/json 请求体中为json字符串,后端新建一个U…

springboot网站开发如何配置log4j日志插件

springboot网站开发如何配置log4j日志插件!为了便于服务器等环境下的错误情况的排查根源,还是很有必要使用日志插件的,它可以记录下我们提前埋下的锚点信息。 在遇到故障,查看这些锚点记录的日志信息,可以快速高效的解…

基于单片机的实时水质监测系统设计

摘要:传统的水质监测存在人工成本高,取样时间长等诸多问题。为了解决这些问题,本文设计了一款基于单片机的实时水质监测系统,通过传感器采集到的数据,单片机通过zigbee 収送至云端,结合上位机软件可以实现实时的信息采集处理,实现了高敁、智能的水质监测工作。 兲键词:…