AV1技术学习:Intra Prediction

对于帧内预测模式编码块,亮度分量的预测模式和色度分量的预测模式在比特流中分别发出信号。亮度预测模式是基于相邻左侧和上侧两个编码块预测上下文的概率模型进行熵编码的。色度预测模式的熵编码取决于色度预测模式的状态。帧内预测以变换块为单位,并使用先前解码的边界像素作为参考像素。

一、Directional Intraprediction

AV1扩展了VP9中的定向帧内预测模式,以支持更高的粒度。VP9中原有的8个方向模式作为 AV1 的基础角度,并加入补充信号对预测角度进行微调:包括顺时针和逆时针的三个偏移角度(以3度为单位调整)如下图所示。

当定向预测指向亚像素位置时,使用双抽头双线性滤波器对参考像素进行插值。对于小于8 × 8的编码块大小,只允许使用8个基本方向模式。

 二、Nondirectional Smooth Intraprediction

VP9具有两种非定向平滑内预测模式:dc_PRED和TM_PRED。AV1 增加了三种新的平滑预测模式,即 SMOOTH_V_PRED, SMOOTH_H_PRED 和 SMOOTH_PRED,它们使用距离加权线性组合来预测像素。它们使用左下(BL)和右上(TR)参考像素填充最右列和最底行,从而形成插值的闭环边界条件。

以上图为例:

 其中,w(x)表示基于距离边界x的权重,其值是预设的。

AV1使用 PAETH_PRED模式取代了TM_PRED模式,其计算如下:

PAETH_PRED 模式中的非线性允许预测引导参考角度与最高相关性的方向对齐。

三、Recursive Intraprediction

像素间相关被建模为二维一阶马尔可夫场。设X(i, j)表示位置(i, j)的一个像素,其预测由

其中,右边的X' 是相邻可用重建像素,或者是上侧和左侧的预测像素。系数集{α, β, γ}形成基于空间相关性的线性预测器。AV1共定义了五组不同的线性预测因子;每个代表不同的空间相关模式。

为了提高硬件吞吐量,AV1不是递归地预测每个像素,而是从相邻的像素patch中预测一个4×2像素patch,例如下图中蓝色patch x0−x7的p0−p6,其系数{α, β, γ}可以直接通过展开递归,这种扩展避免了4×2 patch 中的像素间依赖,从而允许硬件解码器并行处理预测。

四、 Chroma From Luma Prediction

色度预测像素通过亮度重建像素的线性模型计算得到,如下图所示,将亮度重建像素进行下采样并去除平均像素(剩下AC),并进行传输得到的缩放因子进行缩放,最后将色度块的 DC 添加作为最终的预测像素。

五、Intrablock Copy

 AV1允许帧内运动补偿预测,它使用同一帧已经编码的像素,即块内复制(IntraBC)。使用整像素运动矢量,这可能意味着色度分量可能使用的半像素精度运动位移,在这种情况下,使用双线性滤波器进行亚像素插值。IntraBC模式仅适用于 intracoding 帧,可以通过帧头信息打开和关闭。

典型的硬件解码器将像素重建和后处理滤波阶段流水线化,使得后处理滤波应用于解码的superblocks,同时对同一帧中的后续 superblocks 进行解码。因此,经过后处理滤波后,从像素中检索IntraBC参考块。

相比之下,典型的编码器将处理帧内的所有编码块,然后决定将重构误差最小化的后处理滤波参数。因此,IntraBC模式有可能在进行速率失真优化的后处理过滤器之前访问编码像素。这种差异影响了IntraBC模式的效率。为了避免这个问题,如果一个intra-only coded帧允许使用IntraBC模式,所有的后处理滤波模式被禁用。

在实践中,IntraBC模式最有可能用于包含大量文本内容或类似重复模式的图像,在这种情况下,后处理滤波模式的效果较差。对于像素主要形成自回归(AR)模型的自然图像,编码器在使用IntraBC模式时需要谨慎,因为缺乏后处理滤波模式可能会在粗量化时出现视觉伪影。

六、 Color Palette

在这种模式下,为每个亮度/色度平面构建一个介于2到8个基色(即像素值)之间的调色板,其中每个像素被分配一个颜色索引。基色的数量是编码器决定的,它决定了保真度和紧凑度之间的权衡。基色在比特流中使用相邻块的基色作为参考进行预测编码。使用以先前编码的颜色索引为条件的概率模型对颜色索引逐像素进行编码。亮度和色度通道可以独立决定是否使用调色板模式。此模式特别适用于包含有限像素变化的像素块。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VB之制作一个简易计算器

文章目录 创建制作界面设置文本样式技巧双击控件实现功能完整代码vb.net十分适合用于快速开发windows下的桌面程序 创建 制作界面 20个button 一个richtextbox 设置文本样式技巧 ‘左键框选全部控件,进行统一属性设置!’ 双击控件实现功能 注意控件ID与函数对应 完整代码…

首个WebAgent在线评测框架和流程数据管理平台来了,GPT-4、Qwen登顶闭源和开源榜首!

在当今科技迅速发展的时代,大型语言模型(Large Language Model,LLM)正以前所未有的速度改变着我们与数字世界的互动方式。基于LLM的智能代理(LLM Agent),从简单的信息搜索到复杂的网页操作&…

压缩pdf大小的方法 指定大小软件且清晰

在数字化时代,pdf文件因其良好的兼容性和稳定性,已成为文档分享的主流格式。然而,高版本的pdf文件往往体积较大,传输和存储都相对困难。本文将为您详细介绍几种简单有效的方法,帮助您减小pdf文件的大小,让您…

MacOS M1 安装item2 并配置Zsh

文章目录 1 下载item22 美化item22.1 配置主题2.2 设置黑色的主题:2.3 配置显示状态栏 status bar 3 安装 Oh my zsh3.1 设置主题3.2 设置插件3.3 安装第三方插件1 下载仓库解压2 使用 git clone 一些常用插件以及其作用 参考 1 下载item2 MacOS自带终端&#xff0…

使用小波分析实现文字种类自动识别

文章目录 数据简介开始实验小波分解得出结果结果分析误差分析参考文献 数据简介 各找一篇中文,日文,韩文,英文,俄文较长的学术论文。将论文转化为JPG格式。拆分每张JPG生成更多小的JPG。最终获得很多5个不同语言的JPG并且自带标签…

go中map

文章目录 Map简介哈希表与Map的概念Go语言内建的Map类型Map的声明Map的初始化Map的访问Map的添加和修改Map的删除Map的遍历 Map的基本使用Map的声明与初始化Map的访问与操作Map的删除Map的遍历Map的并发问题实现线程安全的Map 3. Map的访问与操作3.1 访问Map元素代码示例&#…

python—爬虫爬取视频样例

下面是一个使用Python爬虫爬取视频的基本例子。创建一个Python爬虫来爬取视频通常涉及到几个步骤:发送HTTP请求、解析网页内容、提取视频链接、下载视频文件。 import jsonimport requests from lxml import etreeif __name__ __main__:# UA伪装head {"User…

持续集成07--Jenkins配置Allure测试报告

前言 在持续集成(CI)流程中,自动化测试报告是评估软件质量和追踪问题的重要工具。Allure Framework作为一个轻量级且功能丰富的测试报告工具,能够生成详细的测试报告,帮助团队更好地理解测试结果。本章节“持续集成07-…

深度学习每周学习总结N4:中文文本分类-Pytorch实现(基本分类(熟悉流程)、textCNN分类(通用模型)、Bert分类(模型进阶))

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制 目录 0. 总结:1. 基础模型a. 数据加载b. 数据预处理c. 模型搭建与初始化d. 训练函数e. 评估函数f.拆分数据集运行模型g. 结果可…

Qt QProcess 进程间通信读写数据通信

本文介绍了如何使用Qt的QProcess 进行程序开发,包括启动进程间通信、设置环境变量、通用方法;方便在日常开发中使用; 1.使用Qt进行程序开发,可以通过QProcess类用于启动外部程序并与其进行通信.; 进程A(…

Grafana :利用Explore方式实现多条件查询

背景 日志统一推送到Grafana上管理。所以,有了在Grafana上进行日志搜索的需求,而进行日志搜索通常需要多条件组合。 解决方案 通过Grafana的Explore的方式实现多条件查询。 直接看操作步骤: 在主页搜索框中输入“Explore” 进入这个界面…

Linux下开放指定端口

比如需要开放82端口: #查询是否开通 firewall-cmd --query-port82/tcp#开放端口82 firewall-cmd --zonepublic --add-port82/tcp --permanent#重新加载防火墙 firewall-cmd --reload

[计算机网络] VPN技术

1. 概述 虚拟专用网络(VPN)技术利用互联网服务提供商(ISP)和网络服务提供商(NSP)的网络基础设备,在公用网络中建立专用的数据通信通道。VPN的主要优点包括节约成本和提供安全保障。 优点&#…

Android RSA 加解密

文章目录 一、RSA简介二、RSA 原理介绍三、RSA 秘钥对生成1. 密钥对生成2. 获取公钥3. 获取私钥 四、PublicKey 和PrivateKey 的保存1. 获取公钥十六进制字符串1. 获取私钥十六进制字符串 五、PublicKey 和 PrivateKey 加载1. 加载公钥2. 加载私钥 六、 RSA加解密1. RSA 支持三…

[HTML]一文掌握

背景知识 主流浏览器 浏览器是展示和运行网页的平台, 常见的五大浏览器有 IE浏览器、火狐浏览器(Firefox)、谷歌浏览器(Chrome)、Safari浏览器、欧朋浏览器(Opera) 渲染引擎 浏览器解析代码渲…

Go语言 Import导入

本文主要介绍Go语言import导入使用时注意事项和功能实现示例。 目录 Import 创建功能文件夹 加法 减法 主函数 优化导入的包名 .引入方法 总结 Import 创建功能文件夹 做一个计算器来演示,首先创建test文件夹。 加法 在test文件夹中创建add文件夹&#xff…

高性能分布式IO系统BL205 OPC UA耦合器

边缘计算是指在网络的边缘位置进行数据处理和分析,而不是将所有数据都传送到云端或中心服务器,这样可以减少延迟、降低带宽需求、提高响应速度并增强数据安全性。 钡铼BL205耦合器就内置边缘计算功能,它不依赖上位机和云平台,就能…

大语言模型-Transformer-Attention Is All You Need

一、背景信息: Transformer是一种由谷歌在2017年提出的深度学习模型。 主要用于自然语言处理(NLP)任务,特别是序列到序列(Sequence-to-Sequence)的学习问题,如机器翻译、文本生成等。Transfor…

上位机图像处理和嵌入式模块部署(香橙派AI Pro开发板试用)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 和工控机相比较,linux嵌入式开发板使用上面方便很多、也容易很多。很多的第三方库都可以通过yum、apt-get这样的方法直接下载到,不需要自己通过源代码重新进行编译、安装。因为自…

单链表<数据结构 C版>

目录 概念 链表的单个结点 链表的打印操作 新结点的申请 尾部插入 头部插入 尾部删除 头部删除 查找 在指定位置之前插入数据 在任意位置之后插入数据 测试运行一下: 删除pos结点 删除pos之后结点 销毁链表 概念 单链表是一种在物理存储结构上非连续、非顺序…