AV1技术学习: Compound Prediction

news2024/9/22 13:30:09

一、双向 Compound Prediction

AV1支持两个参考帧的预测通过多种复合模式线性组合。复合预测公式为

其中,权重m(x, y) is scaled by 64 以进行整数计算,R1(x, y)和R2(x, y)表示两个参考块中位于(x, y)的像素。P(x, y)将按比例缩小 1/64 以形成最终的预测。 

1. Distance weighted prediction

让 d1 和 d2 分别表示当前帧与其两个参考帧之间的时间距离。权值 m(x, y) 由 d1 和 d2 的相对值决定。假设 d1≤d2,则权重定义为

 当d1≥d2时,分布是对称的。

2. Average predictor

距离加权预测的一种特殊情况,两个参考的权重相等,即 m(x, y) = 32。

3. Difference weighted predictor

加权系数是基于两个参考像素之间的差异逐像素计算。当像素差超过一定阈值时,每个编码块发送一个二进制符号来决定哪个参考块占上风

注意,m(x, y)的上限为[0,64]。

4. Wedge mode

为每个符合条件的块大小预设了一组16个系数数组。将编码块分成两个子区域,并以不同的斜角。M (x, y)在大分区设置为64,在另一个分区设置为0,除了在过渡边缘附近,从64逐渐变为0,在实际边缘处为32。

我们使用下图来演示复合选项及其效果。为了实现其潜在的编码增益,众多的复合模式增加了大量的编码复杂性。尤其对于运动估计过程,因为每个参考块都与自己的运动向量相关联。同时对给定复合模式的两个运动向量进行优化,使得搜索空间呈指数级增长。先前的研究提出了一种联合搜索方法,迭代地固定一个运动向量,搜索另一个运动向量,直到结果收敛,可以显著减少复合模式的运动向量搜索点的数量。

二、单向 Compound Prediction 

AV1 支持的单个参考帧的 Compound Prediction 模式,包括包括重叠块运动补偿和 inter-intra 组合 prediction 模式。

1. Overlapped block motion compensation

重叠块运动补偿(Overlapped block motion compensation)利用直接空间邻居的运动信息来提高其顶部和左侧边界附近像素的预测质量,其中真实的运动轨迹与两侧的运动向量相关
首先扫描上侧相邻块,并找到最多四个与当前块具有相同参考帧的相邻块作为参考块,如下图 (a) 所示,并且相邻块根据扫描顺序所标记。使用每个选定的参考块的运动矢量来生成从上边界向当前块的中心延伸的运动补偿块。其宽度与参考块宽度相同,高度为当前块高度的一半,如下图 (a) 所示。

 中间区域融合结果为

其中 R1(x, y) 是使用当前块的运动向量 mv0 在位置(x, y)处的原始运动补偿像素,Rabove(x, y)是来自重叠参考块的像素。权值m(x, y)遵循一个升余弦函数,如下图所示,其中y = 0,1,…,H/2−1为行索引,H为当前块高度。

  H = 16 时的权重分布如下图所示。

接下来,该方案对左侧相邻块进行处理,提取可用的运动向量,并构建从左边界向中心延伸的重叠参考块,如图 (b) 所示。

 最终预测计算为:

 其中Rleft(x, y)是左侧重叠参考块的像素。权值m(x, y)是列索引x的升余弦函数

 式中x = 0,1 …,W/2−1,W为当前块宽度

2. Compound inter–intra-predictor

该模式结合了帧内预测和 translational interprediction块。其中帧内预测在 DC、垂直、水平和 Smooth 模式中。这种组合可以通过类似于上述复合夹层的楔形掩模或一个预设系数集来实现,该系数集沿其预测方向逐渐减小预测内权重。每个模式预设权重系数的示例如下图所示:

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

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

相关文章

十五、【机器学习】【监督学习】- 神经网络回归

系列文章目录 第一章 【机器学习】初识机器学习 第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression) 第三章 【机器学习】【监督学习】- 支持向量机 (SVM) 第四章【机器学习】【监督学习】- K-近邻算法 (K-NN) 第五章【机器学习】【监督学习】- 决策树…

MyPostMan 迭代文档管理、自动化接口闭环测试工具(自动化测试篇)

MyPostMan 是一款类似 PostMan 的接口请求软件,按照 项目(微服务)、目录来管理我们的接口,基于迭代来管理我们的接口文档,文档可以导出和通过 url 实时分享,按照迭代编写自动化测试用例,在不同环…

定制QCustomPlot 带有ListView的QCustomPlot 全网唯一份

定制QCustomPlot 带有ListView的QCustomPlot 文章目录 定制QCustomPlot 带有ListView的QCustomPlot摘要需求描述实现关键字: Qt、 QCustomPlot、 魔改、 定制、 控件 摘要 先上效果,是你想要的,再看下面的分解,顺便点赞搜藏一下;不是直接右上角。 QCustomPlot是一款…

Spring中IoC容器和Bean

目录 IoC(Inversion of Control)控制反转思想 Spring技术对IoC思想的实现 DI(Dependency Injection)依赖注入 目标 最终效果 IoC入门案例 传统方法,不使用IoC思想调用dao层 使用IoC思想调用dao层 第一步:导入Spring坐标 第二步:创建…

stm32:CAN通讯

目录 介绍 协议层 CAN的 帧/报文 种类 数据帧 远程帧(遥控帧) 错误帧 过载帧 帧间隔 总线仲裁 stm32的CAN外设 工作模式 测试模式 功能框图 时序 标准时序 例子 环回静默模式测试 寄存器代码 HAL版本 介绍 一种功能丰富的车用总线标…

【ffmpeg命令入门】重新编码媒体流、设置码率、设置帧速率

文章目录 前言ffmpeg的描述重新编码媒体流重新编码媒体流的命令ffmpeg支持的媒体流 设置视频码率视频码率是什么设置视频的码率 设置文件帧数率帧数率是什么ffmpeg设置帧数率 总结 前言 在数字媒体处理领域,ffmpeg是一款非常强大的工具,它可以用来进行媒…

自动化产线 搭配数据采集监控平台 创新与突破

自动化产线在现在的各行各业中应用广泛,已经是现在的生产趋势,不同的自动化生产设备充斥在各行各业中,自动化的设备会产生很多的数据,这些数据如何更科学化的管理,更优质的利用,就需要数据采集监控平台来完…

解决Ubuntu 20.04下外接显示屏无信号问题【多次尝试无坑完整版!!!】

解决Ubuntu 20.04下外接显示屏无信号问题【多次尝试无坑完整版!!!】 一、引言 作为一名开发者,我经常在Windows和Ubuntu之间切换,以满足不同的开发需求。最近,我在使用惠普暗影精灵9(搭载RTX 4…

HLS加密技术:保障流媒体内容安全的利器

随着网络视频内容的爆炸性增长,如何有效保护视频内容的版权和安全成为了一个亟待解决的问题。HLS(HTTP Live Streaming)加密技术作为一种先进的流媒体加密手段,凭借其高效性和安全性,在直播、点播等场景中得到了广泛应…

隐性行为克隆——机器人的复杂行为模仿学习的新表述

介绍 论文地址:https://arxiv.org/pdf/2109.00137.pdf 源码地址:https://github.com/opendilab/DI-engine.git 近年来,人们对机器人学习进行了大量研究,并取得了许多成果。其中,模仿学习法尤其受到关注。这是一种从人…

JavaEE初阶 - IO、存储、硬盘、文件系统相关常识 (二)

🎇🎉🎉🎉点进来你就是我的人了 博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 人生格言: 当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友…

appium2.0 执行脚本遇到的问题

遇到的问题: appium 上的日志信息: 配置信息 方法一 之前用1.0的时候 地址默认加的 /wd/hub 在appium2.0上, 服务器默认路径是 / 如果要用/wd/hub 需要通过启动服务时设置基本路径 appium --base-path/wd/hub 这样就能正常执行了 方法二…

HarmonyOS NEXT学习——@BuilderParam装饰器

初步理解,相当于VUE的插槽slot Builder function overBuilder() {}Component struct Child {label: string ChildBuilder customBuilder() {}Builder customChangeThisBuilder() {}BuilderParam customBuilderParam: () > void this.customBuilder; // 使用自定…

【TDA4板端部署】基于 Pytorch 训练并部署 ONNX 模型在 TDA4

1 将torch模型转onnx模型 Ti转换工具只支持以下格式: Caffe - 0.17 (caffe-jacinto in gitHub) Tensorflow - 1.12 ONNX - 1.3.0 (opset 9 and 11) TFLite - Tensorflow 2.0-Alpha 基于 Tensorflow、Pytorch、Caffe 等训练框架,训练模型:选择…

Hadoop3:HDFS存储优化之小文件归档

一、情景说明 我们知道,NameNode存储一个文件元数据,默认是150byte大小的内存空间。 那么,如果出现很多的小文件,就会导致NameNode的内存占用。 但注意,存储小文件所需要的磁盘容量和数据块的大小无关。 例如&#x…

【5G Sub-6GHz模块】专为IoT/eMBB应用而设计的RG520NNA、RG520FEB、RG530FNA、RG500LEU 5G模组

推出全新的5G系列模组: RG520NNADB-M28-SGASA RG520NNADA-M20-SGASA RG520FEBDE-M28-TA0AA RG530FNAEA-M28-SGASA RG530FNAEA-M28-TA0AA RG500LEUAA-M28-TA0AA ——明佳达 1、5G RG520N 系列——专为IoT/eMBB应用而设计的LGA封装模块 RG520N 系列是一款专为 IoT…

Kafka Producer发送消息流程之Sender发送线程和在途请求缓存区

文章目录 1. Sender发送数据1. 发送数据的详细过程:2. 关键参数配置 2. 在途请求缓存区 1. Sender发送数据 Sender线程负责将已经在RecordAccumulator中准备好的消息批次发送到Kafka集群。虽然消息在RecordAccumulator中是按照分区组织的,但Sender线程在…

百日筑基第二十三天-23种设计模式-创建型总汇

百日筑基第二十三天-23种设计模式-创建型总汇 前言 设计模式可以说是对于七大设计原则的实现。 总体来说设计模式分为三大类: 创建型模式,共五种:单例模式、简单工厂模式、抽象工厂模式、建造者模式、原型模式。结构型模式,共…

【JavaEE】synchronized原理详解

本文使用的是JDK1.8 目录 引言 Java对象在JVM的结构 对象头 Mark Word Monitor Owner EntryList WaitSet 加锁过程 锁消除 偏向锁 偏向锁使用 重偏向 撤销偏向 轻量级锁 重量级锁 自旋优化 引言 对于synchronized原理讲解之前,我们需要知道Java对象…

如何通过DBC文件看懂CAN通信矩阵

实现汽车CAN通信开发,必不可少要用到DBC文件和CAN通信矩阵。 CAN通信矩阵是指用于描述 CAN 网络中各个节点之间通信关系的表格或矩阵。它通常记录了每个节点能够发送和接收的消息标识符(ID)以及与其他节点之间的通信权限。 通信矩阵在 CAN 网…