hm编码工具使用_H.265视频编码与技术全析(下)
H.265视频编码与技术全析(下)
四.帧内预测模式
共35个(h264有9个),包括Planar,DC,33个方向模式:
除了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个合并候选
图中便是5个PU,但是标准规定最多四个,则列表按照A1–>B1–>B0–>A0–>(B2)的顺序建立,B2为替补,即当其他有一个或者多个不存在时,需要使用B2的运动信息。
时间合并候选:从2个候选中选择1个合并候选
从C3、H中选择一个:
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且对应的变量是
且对左侧和上侧分别if-else,选出两个。
时间运动矢量候选:从2个不同位置候选中选择1个候选
C0(右下) represents the bottom right neighbor and C1(中心) represents the center block.
Skip vs Merge:
分数像素内插:
用于产生非整数采样位置像素值的预测样本。
六、量化变换
七、其它
熵编码
目前HEVC规定只使用CABAC算术编码。
去块效应滤波器
消除反量化和反变换后由于预测误差产生的块效应,即块边缘处的像素值跳变。
自适应样点补偿
通过对重建图像进行分类,对每一类图像像素值进行加减1,从而达到减少失真,提高压缩率,减少码流的作用。
目前自适应样点补偿分为带状补偿,边缘补偿:
1. 带状补偿,按像素值强度划分为不同的等级,一共32个等级,按像素值排序,位于中间的16个等级进行补偿,将补偿信息写进码流,其余16个等级不进行补偿,减少码流。
2. 边缘补偿,选择不同的模板,确定当前像素类型,如局部最大,局部最小,或者图像边缘。
Wavefront Parallel Processing (WPP)
WPP的并行技术是以一行LCU块为单位进行的,但是不完全截断LCU行之间的关系,如下图,Thread1的第二个块的CABAC状态保存下来,用于Thread2的起始CABAC状态,依次类推进行并行编码或解码,因此行与行之间存在很大的依赖关系。通常该方法的压缩性高于tiles。
hm编码工具使用_H.265视频编码与技术全析(下)相关推荐
- H.265视频编码与技术全析
一. 概述 作为新一代视频编解码格式,H.265得到越来越广泛的应用.不久之前,苹果公司在翘首期盼中发布了iPhone6,该款手机较之以往的iPhone,不仅仅只是简单地增大了屏幕,其采用了H.265 ...
- H.265视频编码与技术全析(下)
H.265视频编码与技术全析(下) 四.帧内预测模式 共35个(h264有9个),包括Planar,DC,33个方向模式: 除了Intra_Angular预测外,HEVC还和H.264/MPEG-4 ...
- H.265视频编码与技术全析(上)
H.265视频编码与技术全析(上) 一. 概述 作为新一代视频编解码格式,H.265得到越来越广泛的应用.不久之前,苹果公司在翘首期盼中发布了iPhone6,该款手机较之以往的iPhone,不仅仅只是 ...
- Linux实现ffmpeg H.265视频编码
Linux实现ffmpeg H.265视频编码 几乎所有观看的视频,数字地面电视,电缆,卫星或互联网上的压缩.原始的,未压缩的视频太大,会浪费太多的带宽.在DVD和Blu-ray之前,有视频CD(VC ...
- android直播视频编码,Android手机直播之视频编码技术
今天我们继续给大家讲解Android手机直播流程中的编码技术,编码过程分为视频和音频解码,这篇文字先介绍视频编码的技术.图玩智能为企业提供直播平台的二次开发服务,为大家搭建更加完善的直播系统,欢迎随时 ...
- hm编码工具使用_HM中字典编码分析
LZ77算法基本过程http://jpkc.zust.edu.cn/2007/dmt/course/MMT03_05_2.htm 输入待字典编码的CU, CopyCuFromPicYuv444(pcP ...
- 高效视频编码 (HEVC) -H.265(结构解析)
版本 HEVC (H.265) 规范的第一个版本于 2013 年 4 月发布.该标准的版本如下: ITU-T H.265 (V1) (04/2013) http://handle.itu.int/11 ...
- 视频编码(3):H.266 编码性能比 H.265 再提升 49% 的关键丨音视频基础
我们在前文视频编码(2):H.265 如何比 H.264 提升 40% 编码效率丨音视频基础_音视频开发老马的博客-CSDN博客中探讨了 H.264 视频编码的基本概念.编码工具.编码流程及码流结 ...
- FFmpeg入门详解之20:视频编码原理简介
视频为何需要压缩? 原因:未经压缩的数字视频的数据量巨大 ● 存储困难 ○ 一G只能存储几秒钟的未压缩数字视频. ● 传输困难 ○ 1兆的带宽传输一秒的数字电视视频需要大约4分钟. 主要压缩了什么东西 ...
最新文章
- mysql 存储过程 invoker invoker
- 关于PostgreSQL的GiST索引之四
- 转载:thread的六种状态
- python对json的操作总结
- 大数据中,机器学习和数据挖掘的联系与区别
- JavaScript得到鼠标指针相对于浏览器页面(或客户区)的水平坐标(兼容ie,ff)...
- TextView的跑马灯效果(AS开发实战第二章学习笔记)
- 数据结构 创建顺序栈
- mysql replace into语句学习
- org.tigris.subversion.javahl.ClientException: Attempted to lock an already-locked dir异常解决方法...
- ODOO从哪里开始??OpenERP的第一根线头儿
- LoadRunner测试ajax框架,回放后系统中没有产生数据解决方法
- SVM中对偶、凸优化与KTT条件问题
- 字符串练习:手机号码屏蔽,身份证号码信息查看,游戏骂人敏感词替换
- 【通信系统仿真系列】基于Matlab的汉明码(Hamming Code)纠错传输以及交织编码(Interleaved coding)仿真
- Android实现按住缩小 松开放大的效果
- CentOs解决下载速度慢 更换下载源
- CISCO 3750交换机堆叠
- 有关酸雨,最近淋雨易得皮肤病!!!!!!!!!!!!!!!
- 软件工程概述,软件工程的基本原理是什么?
热门文章
- 临近年关,发生两起磁盘占满引发的服务下线故障
- 评估服务基础性能应该参考那些指标?
- 高并发项目Java是标配?.NET Core要将它拉下“神坛”!
- 用.NetCore 编译国产老牌PHP论坛DiscuzX ,世界上最好的语言从此属于.Net 的一员
- 博客系统知多少:揭秘那些不为人知的学问(二)
- 15分钟从零开始搭建支持10w+用户的生产环境(四)
- ASP.NET Core分布式项目实战(Consent Controller Get请求逻辑实现)--学习笔记
- Kubernetes AIOps解决方案商 Carbon Relay获6300万美元A轮融资
- abp vnext2.0核心组件之DDD组件之实体结构源码解析
- .NET Core IdentityServer4实战 第Ⅴ章-单点登录