hm编码工具使用_H.265视频编码与技术全析(下)

H.265视频编码与技术全析(下)

四.帧内预测模式

共35个(h264有9个),包括Planar,DC,33个方向模式:

30eb15940658d7a0c8c792a37427d973.png

0ea4db70e2b06b69117185b642f51fa7.png

除了Intra_Angular预测外,HEVC还和H.264/MPEG-4 AVC一样,支持Intra_Planar, Intra_DC预测模式;
. Intra_DC 使用参考像素的均值进行预测;
. Intra_Planar 使用四个角的参考像素得到的两个线性预测的均值;

划分模式:帧内只能使用PART_2Nx2N、PART_NxN两种

五、帧间预测

Skipped模式:无MV差异和残差信息的帧间预测模式

针对运动向量预测,H.265有两个参考表:L0和L1。每一个都拥有16个参照项,但是唯一图片的最大数量是8。H.265运动估计要比H.264更加复杂。它使用列表索引,有两个主要的预测模式:合并和高级运动向量(Merge and Advanced MV.)。

1. 运动估计准则

最小均方误差(Mean Square Error,MSE)
最小平均绝对误差(Mean Absolute Difference,MAD)
最大匹配像素数(Matching-Pixel Count,MPC)
绝对误差和(Sum Of Absolute Difference,SAD)
最小变换域绝对误差和(Sum Of Absolute Transformed Difference,SATD)

一般用SAD或者SATD。SAD不含乘除法,且便于硬件实现,因而使用最广泛。实际中,在SAD基础上还进行了别的运算来保证失真率。

2. 搜索算法

· dia 菱形

· hex (default) 六边形

· umh 可变半径六边形搜索(非对称十字六边形网络搜索)

· star 星型

· full 全搜索

全搜索: 所有可能的位置都计算两个块的匹配误差,相当于原块在搜索窗口内一个像素一个像素点的移动匹配
菱形搜索: 在x265中实际是十字搜索,仅对菱形对角线十字上的块进行搜索
HM的则是全搜索和TZSearch以及对TZSearch的优化的搜索。

3. MV预测

HEVC在预测方面提出了两种新的技术–Merge && AMVP (Advanced Motion Vector Prediction)都使用了空域和时域MV预测的思想,通过建立候选MV列表,选取性能最优的一个作为当前PU的预测MV,二者的区别:

· Merge可以看成一种编码模式,在该模式下,当前PU的MV直接由空域或时域上临近的PU预测得到,不存在MVD;而AMVP可以看成一种MV预测技术,编码器只需要对实际MV与预测MV的差值进行编码,因此是存在MVD的

· 二者候选MV列表长度不同,构建候选MV列表的方式也有所区别

Merge
当前块的运动信息可以通过相邻块的PUs运动信息推导出来,只需要传输合并索引,合并标记,不需要传输运动信息。

空间合并候选:从5个不同位置候选中选择4个合并候选

462837a224219a9205ae849413b798cd.png

图中便是5个PU,但是标准规定最多四个,则列表按照A1–>B1–>B0–>A0–>(B2)的顺序建立,B2为替补,即当其他有一个或者多个不存在时,需要使用B2的运动信息。

时间合并候选:从2个候选中选择1个合并候选
从C3、H中选择一个:

39cae9668bccb3a833ffce945d73419c.png

AMVP
构造一个时空PUs的运动矢量候选列表,当前PU遍历候选列表,通过SAD选择最优预测运动矢量。

空间运动矢量候选:从5个位置中左侧、上侧分别选1个共2个候选

而AMVP的选择顺序,左侧为A0–>A1–>scaled A0–>scaledA1,其中scaled A0表示将A0的MV进行比例伸缩。
上方为B0–>B1–B2–>(scaled B0–>scaled B1–>scaled B2)。

然而,x265并不在乎标准,我们要的就是速度,所以在x265的代码中,只能看到它使用AMVP且对应的变量是

1cd7813cd121b72c151b1974b2e876f8.png

且对左侧和上侧分别if-else,选出两个。

时间运动矢量候选:从2个不同位置候选中选择1个候选

C0(右下) represents the bottom right neighbor and C1(中心) represents the center block.

e0b165f9c25f74826c131a66e056d3d9.png

Skip vs Merge:

ccb94da0cde68c95f6f1f14fbbf5d3d9.png

分数像素内插:
用于产生非整数采样位置像素值的预测样本。

六、量化变换

七、其它

熵编码
目前HEVC规定只使用CABAC算术编码。

去块效应滤波器
消除反量化和反变换后由于预测误差产生的块效应,即块边缘处的像素值跳变。

34d265066c3026ce16617399a4ebba95.png

自适应样点补偿
通过对重建图像进行分类,对每一类图像像素值进行加减1,从而达到减少失真,提高压缩率,减少码流的作用。

目前自适应样点补偿分为带状补偿,边缘补偿:

1. 带状补偿,按像素值强度划分为不同的等级,一共32个等级,按像素值排序,位于中间的16个等级进行补偿,将补偿信息写进码流,其余16个等级不进行补偿,减少码流。

2. 边缘补偿,选择不同的模板,确定当前像素类型,如局部最大,局部最小,或者图像边缘。

Wavefront Parallel Processing (WPP)
WPP的并行技术是以一行LCU块为单位进行的,但是不完全截断LCU行之间的关系,如下图,Thread1的第二个块的CABAC状态保存下来,用于Thread2的起始CABAC状态,依次类推进行并行编码或解码,因此行与行之间存在很大的依赖关系。通常该方法的压缩性高于tiles。

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

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

相关文章

redmine安装指引

为什么80%的码农都做不了架构师?>>> 1 前言 本文记录了在window7下面安装redmine的操作过程,同时也为其他有兴趣安装redmine的同学提供帮助。 2 环境说明 操作系统:window7 64位 数据库:mysql-5.5.36-winx64 Red…

.NET 诞生已20周年,您的 .NET 技能是否还停留在2010 年?

20年来,我们见证了超过上千万.NET 开发员,当前有600万.NET 开发者正在使用.NET技术构建各类解决方案。今天,IT市场对.NET 开发人员的需求达到了前所未有的程度,特别是在中国,各大公司对.NET 程序员的需求用火爆来形容都不为过&…

实验 5 性能测试脚本录制和开发实验报告--软件功能测试与性能测试实验

实验内容: 下载链接: https://download.csdn.net/download/qq_44872173/20031769

MySQL-5.5.33主从复制

搭建主从同步需要在两个电脑上分别安装 MySQL ,我这里安装的是 CentOS6.7 64位,MySQL-5.5.33。MySQL 是二进制包安装的:http://aby028.blog.51cto.com/5371905/1892818两台的操作是一样的,要求能够登陆 mysql 数据库即可。主从地址…

C#中的数据字典Dictionary

前言今天上午和往常一样在网上冲浪,看到码甲哥微信群里面在聊一个面试题,比较有意思,这里简单分享下结论中的Dictionary字典。有50w个int类型的数字,现在需要判断一下里面是否存在重复的数字,请简要说明下。假如这个题目让我做&am…

实验 6 场景创建与执行 实验报告--软件功能测试与性能测试实验

下载链接: 下载链接: https://download.csdn.net/download/qq_44872173/20031798 内容:

改成中文版的_lol手游怎么改成中文版?英雄联盟手游中文版更改教程

阅读本文前,请您先点击上面的蓝色字体,再点击“关注”,这样您就可以继续免费收到文章了。每天都有分享,完全是免费订阅,请放心关注! 【免责声明】本文部分文字与图片资源来自于网络&#xff0c…

dotnet 替换 ASP.NET Core 的底层通讯为命名管道的 IPC 库

这是一个用于本机多进程进行 IPC 通讯的库,此库的顶层 API 是采用 ASP.NET Core 的 MVC 框架,其底层通讯不是传统的走网络的方式,而是通过 dotnetCampus.Ipc 开源项目提供的基于 NamedPipeStream 命名管道的方式进行通讯。相当于替换掉 ASP.N…

好想写点儿什么,但是不知道怎么写

自己已经上班了,但是有好多的时候还是做起事情没有一点毅力,不论是学习,还是追女生,还是想学习音乐。就像没有毕业的时候看C语言的书籍,看了一个星期,不想看了然后就不看了。书上面自己做的笔记过不了几天也…

上帝的玩偶:haXe语言

在动画片《我叫MT》中,有个“五火球神教”,五火球神教的口号是“征服世界”。在小说《风姿物语》中疯狂的白家的某代家主白拉登,他手中的扇子上写着“世界征服”四个大字。 疯狂!只能用疯狂来形容。少年们,下面请看一群…

实验 7 场景运行监控及性能测试结果分析_实验报告--软件功能测试与性能测试实验

下载链接: 下载链接: https://download.csdn.net/download/qq_44872173/20031824 内容:

中yeti不能加载_将 PQ 查询加载到 Excel 中进行分析的三种常用的方式

点击上方蓝字 关注星标★不迷路岁月本长,忙者自促虽然大部分时候经过PQ清洗的数据都是加载到Excel工作表中,但是PQ中还有另外两种将数据返回Excel中进行分析的方法。三种不同的数据加载方式:Excel 智能表格仅限链接PowerPivot 数据模型一、加…

SQLite3.8.4.2在Windows平台下的编译和使用

2019独角兽企业重金招聘Python工程师标准>>> SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. SQLite is the most widely deployed SQL database engine in the world. The …

【招聘(北京武汉)】北京高远华信科技 .NET 高级工程师

职位名称:.NET Core 高级工程师培养方向:架构师、技术总监月薪:15k-20k工作地点:北京、武汉职位信息1、理解后端架构,与后端工程师配合,为项目提供最优化的.NET Core技术解决方案;2、根据项目要…

通过邮箱远程控制电脑

转自本人在知乎上面的答案印如意Fitz 通过往邮箱发送邮件,从而达到控制电脑or开始抓取数据or播放音乐等系列操作。 like that: 先用我的常用邮箱给我备胎邮箱发送一封主题为“shutdown”的邮件 然后我要关机的电脑检测到了自动关机并发挥一封主题为“already shutdo…

上海纳税百强2016,邢台2017纳税百强,深圳百强企业

上海纳税百强企业名单公布。市税务部门组织的税收收入达到11847.0亿元,同比增长5.5%,增收616.6亿元;剔除证券交易印花税后,税收收入完成11380.6亿元,同比增长15.1%,其中,第三产业税收收入完成81…

Oracle DBA

实验7 Oracle数据库安全管理 1.实验目的 (1)掌握Oracle数据库安全控制的实现。 (2)掌握Oracle数据库用户管理。 (3)掌握Oracle数据库权限管理。 (4)掌握Oracle数据…

c++ 对象起始地址 指针靠齐_你需要知道的各种指针运算

数组的某个成员可以用数组的基地址加上一个偏移量来表示。我们可以声明一个指针double *p;,把它作为基地址,然后就可以像数组一样在这个基地址上使用偏移量。在基地址上,我们可以找到第1个成员p[0]的内容,在基地址上前进一步可以找…

2014,成为更好程序员的7个方法

2019独角兽企业重金招聘Python工程师标准>>> // 译注:英文原文发布今年年初,所以开头提到了”新年“,请不要惊讶~ 程序员总是有很多的决定,不是吗?如果你的新年待办事项还是空白的话,那么可以考…