h.264 MVD MVP 解释

2024-05-01 04:18
文章标签 解释 mvp h.264 mvd

本文主要是介绍h.264 MVD MVP 解释,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MVP是根据帧内相领块A,B,C的MV预测得到的,然后把当前点o加上MVP,获得新的匹配点x,在新点x的基础上进行搜索,获得mcost最小的点y,y与x的差为MVD,那么o 与y之间的向量为MV=MVP+MVD

(相邻块的运动矢量通常有很高的相关性,因而每个运动矢量可以用其相邻的预先编码的矢量进行预测。一个预测矢量MVp建立于先前运动矢量的计算,并且一般只有MVD(当前运动矢量与MVp的差值)被编码和传输。这种方法建立基于运动预测矢量与运动补偿分割和附近矢量的可用性的相关性上。

 

帧间预测简要说明
首先根据当前帧和参考帧的搜索算法求出宏块(或者子块)的MV,MV本来足够说明最佳匹配块的位置,但是对MV的编码需要较大的数据量;根据相邻块之间的较强相关性,相邻块的MV之间的残差较小,这样,就可以利用以前块的MV对当前块进行预测形成MVP,二者差值为MVD=MV-MVp,MVD相对来讲数据量较小。利用MVD进行网络传输…同时当前帧的宏块像素值与最佳比配块的像素值求残差, 经过进行变换和量化后同MVD一起传输….
…解码时通过根据相邻块MV对当前块进行预测的MVP和已解码的MVD计算当前MV,然后根据参考帧和当前MV查找到当前块的最佳匹配块,这些最佳匹配块重建成为预测参考像素值,把解码的残差变换和量化得出的像素值和预测值相加即得到当前像素值.
对 MV 进行预测主要是利用你所说的 MV 相关性,目的是为了减小码流。

这篇关于h.264 MVD MVP 解释的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/950696

相关文章

hevc和H.264格式的区别

HEVC(High Efficiency Video Coding)和H.264(也称为Advanced Video Coding,AVC)都是视频压缩标准,但它们之间存在一些显著的区别,主要集中在压缩效率、资源需求和兼容性方面。 压缩效率 HEVC,也被称为H.265,提供了比H.264更高的压缩效率。这意味着在相同的视频质量下,HEVC能够以大约一半的比特率进行编码,从而减少存储空间需求和

matlab fspecial 用法解释

fspecial 函数用于建立预定义的滤波算子,其语法格式为: h = fspecial(type) h = fspecial(type , para) 其中 type 指定算子的类型, para 指定相应的参数; type 的类型有: 1 、 'average' averaging filter 为均值滤波,参数为 hsize 代表模板尺寸

深度学习常见概念解释(四)——损失函数定义,作用与种类(附公式和代码)

损失函数 前言定义作用种类1. 均方误差损失(Mean Squared Error Loss,MSE)公式特点和优点缺点使用场景示例代码在机器学习框架中的使用总结 2. 交叉熵损失(Cross-Entropy Loss)公式特点和优点使用场景示例代码在机器学习框架中的使用总结 总结 前言 在机器学习和深度学习中,损失函数(Loss Function)起着至关重要的作用。它是模型

Linux学习笔记-目录解释、添加删除用户、更新密码

vim hello.c  --编写c程序 gcc hello.c  --编译c程序 ./a.out      --运行c程序 root 存放root用户的相关文件 是一级目录 home 存放普通用户的相关文件 是二级目录 bin 存放常用命令的目录 sbin 存放的是要有一定的权限才可以使用的命令 mnt 默认挂载光驱和软驱的目录 boot 存放引导相关的文件的目录 etc 存放配置相关的

hash算法的具体解释

这个问题有点难度,不是很好说清楚. 我来做一个比喻吧.  我们有很多的小猪,每个的体重都不一样,假设体重分布比较平均(我们考虑到公斤级别),我们按照体重来分,划分成100个小猪圈.  然后把每个小猪,按照体重赶进各自的猪圈里,记录档案. 好了,如果我们要找某个小猪怎么办呢?我们需要每个猪圈,每个小猪的比对吗?  当然不需要了. 我们先看看要找的这个小猪的体重,然后就找到了对应的猪

【CSS】深入解释CSS 2D变换

CSS 2D变换(CSS 2D Transformations)是CSS3引入的一组功能,允许你对HTML元素进行2D空间内的移动、旋转、缩放和倾斜等操作。这些变换不会影响到页面的布局,因为它们只是视觉上改变元素的呈现方式,而不是改变其在文档流中的位置或大小。 以下是CSS 2D变换的详细解释: 1. transform 属性 transform 属性用于在2D或3D空间中移动、旋转、缩放或

c++解释

Visual Studio是微软的可视化工具集,其中包含Visual C++, Visual Basic, Visual C#等等许多工具。就象Microsoft Office包含Word, Excel, PowerPoint等 你写论文,涉及到软件平台,确定了用什么语言呢?如果用C++语言,就选择用Visual C++,如果准备用C#语言,那就选择Visual C# ========

Dragger2与MVP与Retrofit实战

1:MVP模块 1.1:MVP与MVC区别,有何应用场景1.2如何写mvp2:dragger2框架 2.1:为什么要用dragger2?2.2:深入解析dragger2?2.3:dragger2的使用3:retrofit的使用 MVP模块 MVP与MVC区别,有何应用场景       在我们传统的mvc开发中经常会遇到M(javabean),V(layout,activity),C(acti

Ubuntu常见命令解释

编译类命令 sudo ./configure/sudo make/sudo make install 参考博客这几条命令常见于安装 sudo./configure 命令就是执行当前目录名为configure的脚本,主要的作用是对即将安装的软件进行配置,检查当前的环境是否满足安装软件的依赖关系。 sudo make 命令是根据makefile里的命令来编译源文件 sudo make instia

通俗解释resultType和resultMap的区别

【 1 对于单表而言: 注:以下都是摘抄过来的,做了让自己更能理解的版本 如果数据库返回结果的列名和要封装的实体的属性名完全一致的话用 resultType 属性 如果数据库返回结果的列名(起了别名)和要封装的实体的属性名有不一致的情况用 resultMap 属性 查询接口方法不需要改变,还是照样接收 List 作为查询的结果。 【 2 对于多表而言: 对于多表操作,无论是一