一、什么是H.265?

  H.265是相对于H.264的一个升级版,是在原有H.264标准上的一个拓展和优化。H.265旨在在有限带宽下传输更高质量的网络视频,仅需原先的一半带宽即可播放相同质量的视频。这也意味着,我们的智能手机、平板机等移动设备将能够直接在线播放1080P的全高清视频。H.265标准也同时支持4K(4096×2160)和8K(8192×4320)超高清视频。

  为什么说H.265比H.264更高效?H.265/HEVC视频编码与H.264/AVC使用相同的方法,包括画面帧预测、变换编码、量化等。但H.265/HEVC包括编码单元(CUS)、预测单元(PU)和变换单元(TUS)。

  如果峰值信噪比和视频质量作为衡量一个视频编码机制效率的主观评价标准,那么在这种主观评价中,H.265可提供更好的编码效率,比H.264比特流减少51%~74%。

  二、H.265与H.264的关联

  H.265与H.264同属于ITU-T VCEG(国际视频解码专家组)所制定的视频编码标准,都属于目前世界上最重要的视频解码标准,广泛应用于视频储存、广播电视、网络等各类视频传输流中(在H.265出现之前,H.264几乎是最著名的编解码标准 —— 所有蓝光播放器都必须能解码H.264)。

  H.265是基于H.264技术加以优化后的视频编码标准,在保留H.264技术特性的同时,进一步改善了码流、编码质量、延时和数据算法之间的关系,性能相对更强。

  在1080P为极致观影追求的时代,H.264是最理想的解码方式,而随着4K成为行业大趋势,H.265才是其最理想的搭档。

  三、H.265和H.264的区别

  1.H.265是新的编码协议,也即是H.264的升级版。H.265标准保留H.264原来的某些技术,同时对一些相关的技术加以改进。新技术使用先进的技术用以改善码流、编码质量、延时和算法复杂度之间的关系,达到最优化设置。

  2.H.265相比H.264最主要的改变是采用了块的四叉树划分结构,采用了从64×64~4×4像素的自适应块划分,并基于这种块划分结构采用一系列自适应的预测和变换等编码技术。

  3.H.264由于算法优化,可以低于1Mbps的速度实现标清(640x480)数字图像传送;H.265则可以实现利用1~2Mbps的传输速度传送720P(分辨率1280×720)普通高清音视频传送。

  4.同样的画质和同样的码率,H.265比H2.64 占用的存储空间要少理论50%。

  5.比起H.264/AVC,H.265/HEVC提供了更多不同的工具来降低码率,以编码单位来说,H.264中每个宏块(macroblock/MB)大小都是固定的16×16像素,而H.265的编码单位可以选择从最小的8×8到最大的64×64。

  6.在相同的图象质量下,相比于H.264,通过H.265编码的视频大小将减少大约39~44%。

  四、H.265的优势

  1.H.265/HEVC的编码架构大致上和H.264/AVC的架构相似,主要也包含,帧内预测(intra prediction)、帧间预测(inter prediction)、转换(transform)、量化(quantization)、去区块滤波器(deblocking filter)、熵编码(entropy coding)等模块。

  但在HEVC编码架构中,整体被分为了三个基本单位,分别是编码单位(coding unit, CU)、预测单位(predict unit, PU)和转换单位(transform unit, TU)。

  2.比起H.264/AVC,H.265/HEVC提供了更多不同的工具来降低码率,以编码单位来说,H.264中每个宏块(macroblock/MB)大小都是固定的16x16像素,而H.265的编码单位可以选择从最小的4×4到最大的64×64。

  3.H.265的帧内预测模式支持33种方向(H.264只支持8种),并且提供了更好的运动补偿处理和矢量预测方法。

  4.反复的质量比较测试已经表明,在相同的图象质量下,相比于H.264,通过H.265编码的视频大小将减少大约39~44%。由于质量控制的测定方法不同,这个数据也会有相应的变化。

  5.通过主观视觉测试得出的数据显示,在码率减少51~74%的情况下,H.265编码视频的质量还能与H.264编码视频近似甚至更好,其本质上说是比预期的信噪比(PSNR)要好。

H.265比H.264效率提高30-50%(尤其是在更高的分辨率情形下),但真的只是这么简单吗?

H.265重新利用了H.264中定义的很多概念。两者都是基于块的视频编码技术,所以它们有着相同的根源和相近的编码方式,包括:

1、以宏块来划分图片,并最终以块来细分。

2、使用帧内压缩技术减少空间冗余。

3、使用帧内压缩技术减少时间冗余(运动估计和补偿)。

4、使用转换和量化来进行残留数据压缩。

5、使用熵编码减少残留和运动矢量传输和信号发送中的最后冗余。

事实上,视频编解码从MPEG-1诞生至今都没有根本性改进,H.265也只是H.264在一些关键性能上的更强进化以及简单化。

  当你考虑“只是在普通互联网上传输4K内容,还是要实现最好的图像质量”之时,就要先厘清“更多的压缩”和“更好的压缩”这两个概念。如果只是更多的压缩,4K和超高清不一定要保证比今天的1080p或HD做到更好的图片质量。更好的压缩则意味着更聪明的压缩,面对同样的原始素材,更好的压缩会以更好的方式,在不牺牲质量的情况下令数据量减少。更多的压缩很容易,而更好的压缩需要更多的思考和更好的技术,通过更智能的算法来处理图像,在维持质量的同时保持更低的比特率,这正是H.265所要做的。

  如何实现更好的压缩,举例来讲,我们通常会发现在很多的图像素材里,如视像会议或者电影的很多场景中,每一帧上的大部分内容并没有改变太多,视像会议中一般只有讲话者的头在动(甚至只有嘴唇在动),而背景一般是不动的,在这种情况下,我们的做法不是对每一帧的每一个像素编码,而是对最初的帧编码,然后仅对发生改变的部分进行编码。

图像分区

  H.265将图像划分为“编码树单元(coding tree Unit, CTU)”,而不是像H.264那样的16×16的宏块。根据不同的编码设置,编码树单元的尺寸可以被设置为64×64或有限的32×32或16×16。很多研究都显示更大的编码树单元可以提供更高的压缩效率(同样也需要更高的编码速度)。每个编码树单元可以被递归分割,利用四叉树结构,分割为32×32、16×16、8×8的子区域,下图就是一个64×64编码树单元的分区示例。
  通常,较小的编码单元被用在细节区域(例如边界等),而较大的编码单元被用在可预测的平面区域。

转换尺寸

  每个编码单元可以四叉树的方式递归分割为转换单元。与H.264主要以4×4转换,偶尔以8×8转换所不同的是,H.265有若干种转换尺寸:32×32、16×16、8×8和4×4。从数学的角度来看,更大的转换单元可以更好地编码静态信号,而更小的转换单元可以更好地编码更小的“脉冲”信号。

预测单元

  一个编码单元可以使用以下八种预测模式中的一种进行预测。

  帧内预测:H.265有35个不同的帧内预测模式(包括9个AVC里已有的),包括DC模式、平面(Planar)模式和33个方向的模式。帧内预测可以遵循转换单元的分割树,所以预测模式可以应用于4×4、8×8、16×16和32×32的转换单元。

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

去块化

  与H.264在4×4块上实现去块化所不同的是,HEVC的只能在8×8网格上实现去块。这就能允许去块的并行处理(没有滤波器重叠)。首先去块的是画面里的所有垂直边缘,紧接着是所有水平边缘。与H.264采用一样的滤波器。

采样点自适应偏移(Sample Adaptive Offset)

  去块之后还有第二个可选的滤波器,叫做采样点自适应偏移。它类似于去块滤波器,应用在预测循环里,结果存储在参考帧列表里。这个滤波器的目标是修订错误预测、编码漂移等,并应用自适应进行偏移。

并行处理

  由于HEVC的解码要比AVC复杂很多,所以一些技术已经允许实现并行解码。最重要的为拼贴和波前(Tiles and Wavefront)。图像被分成树编码单元的矩形网格(Tiles)。当前芯片架构已经从单核性能逐渐往多核并行方向发展,因此为了适应并行化程度非常高的芯片实现, H.265 引入了很多并行运算的优化思路。

  总而言之,HEVC将传统基于块的视频编码模式推向更高的效率水平,总结一下就是:

  -可变量的尺寸转换(从4×4 到32×32)。

  -四叉树结构的预测区域(从64×64到4×4)。

  -基于候选清单的运动向量预测。

  -多种帧内预测模式。

  -更精准的运动补偿滤波器。

  -优化的去块、采样点自适应偏移滤波器等。

HEVC与AVC的区别与联系(十二)相关推荐

  1. java 轻量级同步volatile关键字简介与可见性有序性与synchronized区别 多线程中篇(十二)...

    概念 JMM规范解决了线程安全的问题,主要三个方面:原子性.可见性.有序性,借助于synchronized关键字体现,可以有效地保障线程安全(前提是你正确运用) 之前说过,这三个特性并不一定需要全部同 ...

  2. AGC与一次调频的区别、AGC与AVC的区别

    AGC就是自动发电系统,由网调在远方输入负荷指令,本地的机组根据负荷指令,自动计算锅炉主控和汽机主控以及向协调控制发出负荷变化的指令.说白了,就相当于网调成为一个远程控制的运行人员.AGC主要考验的还 ...

  3. 中点和中值滤波的区别_组合导航系列文章(十二):滤波器基本原理

    <组合导航系列文章>是<从零开始做自动驾驶定位>系列的第二阶段,从本阶段开始,文章在<泡泡机器人>公众号上首发,知乎用来备份和以后可能出现的必要更正. 泡泡机器人文 ...

  4. 20145240《信息安全系统设计基础》第十二周学习总结

    20145240<信息安全系统设计基础>第十二周学习总结 前三周博客链接 第九周学习总结 第十周学习总结 第十一周学习总结 视频学习内容总结 指针数组与数组指针 数组指针(也称行指针) 定 ...

  5. 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验十二:串口模块① — 发送

    实验十二:串口模块① - 发送 串口固然是典型的实验,想必许多同学已经作烂,不过笔者还要循例介绍一下.我们知道串口有发送与接收之分,实验十二的实验目的就是实现串口发送,然而不同的是 ... 笔者会用另 ...

  6. 《c++ templates》学习笔记(9)——第十二章 特化与重载

    1       第十二章 特化与重载 1.1    重载函数模板 和一般的函数重载类似,函数模板也可以进行重载,比如下面的两个f,这是两个同名函数,1和2并没有关系,2不是1的局部特化.2是1的一个重 ...

  7. Heroku创始人Adam Wiggins发布十二要素应用宣言

    Heroku是业内知名的云应用平台,从对外提供服务以来,他们已经有上百万应用的托管和运营经验.前不久,创始人Adam Wiggins根据这些经验,发布了一个"十二要素应用宣言(The Twe ...

  8. CQOI2019(十二省联考)游记

    CQOI2019(十二省联考)游记 Day -? 自从联赛爆炸,\(THUWC\)爆炸,\(WC\)爆炸(就没有不爆炸的)之后我已经无所畏惧... 听说是考\(4.5 h\)吗? Day -1 \(Z ...

  9. OpenCV学习笔记(三十一)——让demo在他人电脑跑起来 OpenCV学习笔记(三十二)——制作静态库的demo,没有dll也能hold住 OpenCV学习笔记(三十三)——用haar特征训练自己

    OpenCV学习笔记(三十一)--让demo在他人电脑跑起来 这一节的内容感觉比较土鳖.这从来就是一个老生常谈的问题.学MFC的时候就知道这个事情了,那时候记得老师强调多次,如果写的demo想在人家那 ...

  10. 三十二、Java集合中的ArrayList

    @Author:Runsen @Date:2020/6/3 作者介绍:Runsen目前大三下学期,专业化学工程与工艺,大学沉迷日语,Python, Java和一系列数据分析软件.导致翘课严重,专业排名 ...

最新文章

  1. zabbix简单入门
  2. wpf checkbox选中触发事件_Cypress 可操作事件
  3. 《Spark大数据分析:核心概念、技术及实践》一3.6 惰性操作
  4. 中随机打乱序列的函数_提前准备,方能“随机”应对,人生不悔
  5. 在ASP程序设计中在使用Response对象
  6. java用什么编译器_用大白话告诉你,Java到底是什么
  7. c语言线性表顺序存储实验小结,数据结构学习笔记-线性表顺序存储(C语言实现)...
  8. 工具推荐:22款最流行的计算机取证工具【2017年更新版】
  9. 零基础学习java必须要了解的学习路线
  10. python炒股日记_自学python的日记分享
  11. jquery 逗号分割截取字符串_JS/JQUERY字符串截取分割匹配等处理汇总
  12. 通用的类-可直接存储的Dictionary,可以被JSON或NSUserDefaults
  13. 传澳洲电讯急寻汽车之家买家,接手财团有意私有化
  14. HDU4509 郑厂长系列故事——体检【水题】
  15. python 大智慧股池_大智慧的一般设置及股票池的安装步骤、使用方法
  16. 小米6连接WIFI后无法联网,线刷教程
  17. pandas Create,Read,Write
  18. 五合一建站系统YouDianCMS开源啦
  19. 保姆级笔记-佳能Canon LBP2900在Win10安装驱动
  20. Windows Shell编程-第十章.Winows辅助库

热门文章

  1. php是单进程语言,但是也有办法支持多进程
  2. HTML基础学习(菜鸟教程和W3school参考手册)
  3. 高斯-马尔科夫过程的充要条件(正态随机过程又是马尔科夫过程的充要条件)
  4. 计算机ppt里怎么应用背景图,如何在电脑ppt软件中添加背景图片
  5. 《印度合伙人》观影有感
  6. 调用支付宝第三方支付接口详解(沙箱环境)
  7. win10共享打印机搜索不到计算机,w10共享打印机搜索不到如何处理
  8. Openstack版本查看
  9. Ubuntu18.04更改图片尺寸和格式
  10. Sass 基础教程——基本介绍