AVS3中的AMVR和EMVR

在AVS2中运动预测中使用的MV都是1/4像素精度,通过在整像素间插值能显著提升非整像素运动预测的精度,同时带来的问题是随着MV精度的提高编码MVD所需的比特数也会增加。

AMVR


AMVR支持的MVD编码5种精度的MVR{1/4,1/2,1,2,4},索引为0到4,如下表。

编码端从5种精度中选择RD cost最小的,将MVR索引传输到解码端,其中索引使用截断二元码编码,解码端获取到MVR后将MVD和对应的MVP对齐到该精度。

注意,对于使用仿射模式的CU,AMVR仅支持3种精度{1/4,1,1/16}。CU的索引CPMV使用相同的精度。

EMVR


EMVR是在AMVR的基础上将MVR和HMVP绑定。当使用EMVR时,MVP候选项由HMVP构成,此时MVR和MVP共用同一个索引。

HMVP候选集由历史已编码CU的MV构成,距离当前越近分配的索引越大。EMVR将MVR和HMVP的索引绑定,绑定的规则基于这样的假设,离当前越近的MVP和当前的运动越相关。因此,MVR小的索引和MVP大的索引绑定,也即对越近的MVP使用的MV精度越高。

假设MVR的数量是N,HMVP中MVP的数量是M,则根据M和N的大小关系有两种情况:

  • 当M>=N时,如上图(a),MVR的索引0对应MVP的索引(M-1),MVR的索引(N-1)对应MVP的索引(M-N),此时对于MVR的每项HMVP中都有对应的MVP。

  • 当M<N时,如上图(b),MVR的索引0对应MVP的索引(M-1),MVR的索引(M-1)对应MVP的第一个索引。MVR的索引M到(N-1)都对应HMVP中的同一个索引(M-1)。

根据HMVP候选集构建规则可以得到运动信息,如果运动信息只有L0对应的mvH0,则L1中的mvH1由mvH0缩放得到,反之亦然。

缩放规则如上表,其中dE0和dE1分别是当前帧和L0和L1中参考帧的距离,dL0和dL1分别是当前帧和L0和L1中运动信息的参考帧的距离。

当前的MVP由下式求得:

  \begin{array}{c} MvEPred_x = Clip3(-32768,32767,Sign(mvH_x*D1*D2)\\ *((Abs(mvH_x*D1*(16384/D2))+8192)>>14))\\ MvEPred_y = Clip3(-32768,32767,Sign(mvH_y*D1*D2)\\ *((Abs(mvH_y*D1*(16384/D2))+8192)>>14)) \end{array}

经AMVR调整精度后:

  \begin{array}{c} MvEPred_x = Clip3(-32768,32767,Rounding\\ (MvEPred_x,amvr_index)<<amvr_index)\\ MvEPred_y = Clip3(-32768,32767,Rounding\\ (MvEPred_y,amvr_index)<<amvr_index) \end{array}

实验结果


下表是AMVR和EMVR在RA配置下的效果,实验平台为HPM6.0,anchor是AMVR和EMVR均关闭。

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

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

相关文章

无线网络视频监控系统基本概念和术语

无线网络视频监控系统基本概念和术语 1.网络摄像机与模拟摄像机的区别 模拟摄像机&#xff0c;或称摄像头&#xff0c;输出CVBS模拟视频信号&#xff0c;PAL制或者NTSC制。模拟摄像机多采用CCD器件&#xff0c;目前也有采用CMOS器件的。有枪机、半球、球机等多种形式&#xff0…

掌握Python的X篇_27_Python中标准库文档查阅方法介绍

前面的博文介绍了python的基本语法、模块及其导入方法。前人将各种方法封装成模块、库、函数供我们使用&#xff0c;如何去使用前人做好的东西&#xff0c;那就需要去查阅文档。今天就介绍python中官方文档的查阅方式。对于初学者而言&#xff0c;python自带的文档就已经足够好…

基本动态规划问题的扩展

基本动态规划问题的扩展 应用动态规划可以有效的解决许多问题&#xff0c;其中有许多问题的数学模型&#xff0c;尤其对一些自从57年就开始研究的基本问题所应用的数学模型&#xff0c;都十分精巧。有关这些问题的解法&#xff0c;我们甚至可以视为标准——也就是最优的解法。…

shell脚本安装nginx

shell脚本原理 以删除桌面文件的脚本为例&#xff0c;执行脚本后&#xff0c;shell脚本将代码给内核&#xff0c;内核读取后执行命令&#xff0c;如果shell脚本也在桌面上&#xff0c;执行后这个脚本文件也会被删除。 变量 echo $SHELL$符表示SHELL是一个变量&#xff0c;变量…

Python(七十九)字符串的常用操作——字符串内容对齐操作的方法

❤️ 专栏简介&#xff1a;本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中&#xff0c;我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 &#xff1a;本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

docker实现Nginx

文章目录 1.docker 安装2.docker环境实现Nginx 1.docker 安装 1.使用环境为红帽8.1,添加源 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo2.安装 yum install docker-ce docker-ce-cli containerd.io显示出错 Docker C…

Vue [Day7] 综合案例

核心概念回顾 state&#xff1a;提供数据 getters&#xff1a;提供与state相关的计算属性 mutations&#xff1a;提供方法&#xff0c;用于修改state actions&#xff1a;存放异步操作 modules&#xff1a;存模块 功能分析 https://www.npmjs.com/package/json-server#ge…

反介入/区域拒止:现代战争的演变

译者说明 本文译自美国空军Christopher J. McCarthy少校的一篇文章&#xff0c;略去了原文最后的作者简介。 原文地址&#xff08;可能需要科学上网&#xff09;&#xff1a; https://www.usnwc.edu/Lucent/OpenPdf.aspx?id95 本文仅为翻译&#xff0c;不代表译者赞成或反对原…

UE4莫名其妙崩溃的解决办法

pin error stack edgraph balabala...... 先检查蓝图把报错的节点全部去掉&#xff0c;有的运行不会提示蓝图报错&#xff0c;只能一个一个找。。。。 c报错一般都会有提示&#xff0c;所以基本都可以解决 把磁盘空间留大一点,玄学 总是在这里报错&#xff0c;这个不用管&am…

叛乱怎么自定义服务器,» 叛乱:沙漠风暴 服务器安装Mod教程

叛乱:沙漠风暴 服务器安装Mod教程 4.6 (78) 叛乱:沙漠风暴 服务器 租用 v2pg.com 获取API KEY 比如 59f0601123331222f0755f9e8551ea639 就是申请的KEY, 保存好。 打开后台 “服务器设置” 然后编辑 Engine.ini

叛乱联机服务器未响应,叛乱沙漠风暴怎么开服 叛乱沙漠风暴开服操作指南详解 安装准备-游侠网...

叛乱沙漠风暴怎么开服?游戏一款多人联机操作游戏&#xff0c;在开服前期要做好相应的准备工作&#xff0c;也就是设置一些选项&#xff0c;这里给大家带来了“xudong162”分享的叛乱沙漠风暴开服操作指南详解&#xff0c;详情一起看下文中介绍吧。 推荐阅读&#xff1a; 开服操…

叛乱联机服务器未响应,叛乱沙漠风暴开服注意事项及操作指南经验一览

叛乱沙漠风暴开服注意事项及操作指南经验一览&#xff0c;该游戏其实是一款多人联机的操作游戏&#xff0c;玩家在开服前期要做好相应的准备工作&#xff0c;其实也不是什么困难的事&#xff0c;就是设置一些选项方便操作&#xff0c;这里给大家带来了叛乱沙漠风暴开服注意事项…

叛乱2 linux服务器,叛乱沙漠风暴服务器配置教程 叛乱沙漠风暴怎么开服

第 2 页 服务器配置 服务器配置 大多数服务器配置是通过INI文件和启动参数执行的。 可以使用任何纯文本编辑器编辑INI文件&#xff0c;例如Notepad&#xff0c;Notepad &#xff0c;Sublime Text和VSCode。 配置文件的位置位于以下目录中(相对于安装目录)&#xff1a; Windows:…

叛乱找不到社区服务器,叛乱沙漠风暴常见问题及解决方法_叛乱沙漠风暴常见问题QA_游戏堡...

《 1.Q&#xff1a;游戏卡在读取页面怎么办 A&#xff1a;看看你按回车键没 一直读取进不去游戏说明网络不好 直接卡死说明电脑玩不了这游戏了&#xff0c;建议升级配置 2.Q&#xff1a;游戏什么配置可以玩 A&#xff1a;可游玩最低配置&#xff1a;GTX950M&#xff0c;i74700&…

叛乱沙漠风暴不显示服务器,叛乱沙漠风暴进服务器闪退怎么回事_叛乱沙漠风暴闪退解决方法...

相信大家在玩叛乱沙漠风暴的时候&#xff0c;偶尔也会遇到一进入服务器就闪退的情况吧&#xff0c;这非常的影响我们的游戏体验&#xff0c;那么出现这种状况的原因是什么呢&#xff1f;又该如何解决呢&#xff1f;就让我们一起来看一看吧&#xff01; 叛乱沙漠风暴进服务器闪退…

在Vue中动态引入图片为什么要用require

静态资源和动态资源 静态资源 动态的添加src 动态资源 我们通过网络请求从后端获取的资源 动态的添加src会被当成静态资源 动态的添加src最终会被打包成&#xff1a; 动态的添加图片最会会被编译成一个静态的字符串&#xff0c;然后再浏览器运行中会去项目中查找这个资源…

SpringSecurity 详解(通俗易懂)

SpringSecurity 详解 1、SpringSecurity讲解1.1、SpringSecurity完整流程1.2、认证流程 2、登录&#xff0c;退出&#xff0c;注册_分析说明2.1、登录2.2、校验2.3、退出2.4、注册2.5、SecurityContextHolder说明 3、代码实现3.1、引入依赖3.2、登录 退出 注册3.2.1、SpringSec…

一个在线的PS

http://www.uupoop.com/

代码实现ps切换工具

在下最近在研究制作ps的扩展插件&#xff0c;由于工作原因&#xff0c;设计使用ps较多&#xff0c;但是手动处理倒角还是比较麻烦&#xff0c;所以想开发了一款倒角用的小扩展插件&#xff0c;减少一下工作量&#xff0c;到网上找了些有关ps插件制作的教程&#xff0c;先实现一…

unity实现角色体力功能【体力条+体力计算】

导读&#xff1a;实现功能 1、角色体力计算 2、角色疲劳动画 3、体力条制作、跟随 默认做好角色的idle/run/walk动画、切换和玩家输入&#xff0c;我使用的是新输入系统&#xff0c;动画时单变量混合树&#xff0c;参数Sports。 【每一部分功能根据自己需求观看哦】 1、角色体…