万维百科

高效率视频编码本文重定向自 High Efficiency Video Coding

HEVC / H.265 / MPEG-H Part 2
High efficiency video coding
状态现行
开始年2013
最新版本2019年6月
组织ITU-TISOIEC
委员会ITU-T Study Group 16, VCEG, MPEG
基础标准H.261H.262H.263H.264MPEG-1
有关标准H.266
领域影像压缩
网站https://www.itu.int/rec/T-REC-H.265

高效率视频编码High Efficiency Video Coding,简称HEVC),又称为H.265MPEG-H第2部分,是一种视频压缩标准,被视为是ITU-T H.264/MPEG-4 AVC标准的继任者。2004年开始由ISO/IEC Moving Picture Experts Group(MPEG)和ITU-T Video Coding Experts Group(VCEG)作为ISO/IEC 23008-2 MPEG-H Part 2或称作ITU-T H.265开始制定。第一版的HEVC/H.265视频压缩标准在2013年4月13日被接受为国际电信联盟(ITU-T)的正式标准。HEVC被认为不仅提升影像质量,同时也能达到H.264/MPEG-4 AVC两倍之压缩率(等同于同样画面质量下比特率减少到了50%),可支持4K清晰度甚至到超高清电视(UHDTV),最高清晰度可达到8192×4320(8K清晰度)。

数个基于HEVC延伸的编码标准正在进行中,包含range extensions(支持高级的视频格式)、可调式编码和3D视频编码标准。

历史

标准制定

  • 2004年:Key Technical Areas(KTA)

在H.264/AVC标准制定完(2003年)的后一年,VCEG组织便开始研究更先进的视频压缩技术,期望能够发展下一代视频压缩标准,或期望能大量提升压缩率成为H.264/AVC的延伸版本。2005年1月,VCEG开始将这些议题统整称为Key Technical Areas(KTA),并且开发了一个同名的软件编解码器KTA Software来评估被提案的新技术。KTA software是基于H.264/AVC的标准参考软件Joint Model(JM)上,加入新的编码技术并与JM的编码效率做比较。到了2007年,KTA Software的编码效率较JM提升了不少。

  • JCT-VC

为此目的MPEG与VCEG联合成立了一个Joint Collaborative Team on Video Coding(JCT-VC)作为共同开发HEVC的团队。并每四个月进行一次标准讨论与制定的会议。并发布了HEVC的标准参考软件HEVC Test Model(HM)。

规格书时程

HEVC标准(第一个版本)制定的时程如下:

  • 2012年2月:Committee Draft(complete draft of standard)
  • 2012年7月:Draft International Standard
  • 2013年1月:Final Draft International Standard and ITU-T Consent

技术细节

典型的Hybrid Video Coding视频编码器架构

HEVC与H.264/AVC和许多其他视频压缩编码一样,都是采用Hybrid Video Coding的架构(如右图),但在各部分加入了一些新技术或者提升了原本编码工具的效率。

编码树单元(Coding Tree Unit)

编码树单元(Coding Tree Unit, CTU)是HEVC的基本编码单元,有如H.264/AVC的Macroblock。HEVC支持8x8到64×64像素的CTU大小。编码树单元可向下分割编码单元(Coding Unit,CU)、预测单元(Prediction Unit,PU)及转换单元(Transform Unit,TU)。

取代了过往中使用的 16×16 像素宏区块,编码树单元可使用 64×64 的大区块结构,且可以更好地将图片细分为可变大小尺寸。

于初始时将图片划分为编码树单元,可以为64×64、32×32或16×16,而像素块尺寸提升通常会提高时编码的效率。

逆转换(Inverse Transforms)

规范指定HEVC以 4×4、8×8、16×16 和 32×32 四个变换单元 (transform units) 大小来对预测残差进行编码,编码树单元可以递归地划分超过四个变换单元。

变换单元使用基于离散余弦变换(DCT) 的整数基函数;而属于帧内编码范畴的 4×4 亮度变换区块则使用从离散正弦变换(DST) 导出的整数变换进行变换。

平行处理工具(Parallel Processing Tools)

  • 允许图砖(Tiles)将图片切片为可以独立解码/编码的矩形区块,切片的主要目的是允许并行处理。图块可以独立解码,甚至可以允许随机访问影像流中其图片的特定区域。
  • 波前并行处理 (Wavefront parallel processing) 是指将切片分成多行编码树单元,除第一行解码外,而后每一行都需要在前一行中做出决定。波前并行处理具有来自前一行编码树单元的熵编码器消息,并允许并行处理方法,该方法可以实现比图砖更好的压缩。
  • 图砖与波前并行处理具有可选择性,如使用图砖,则至少须达高 64 像素,宽 256 像素,并且对图砖数量有特定的限制。
  • 绝大多数情况下,切片可以彼此独立解码,这是在视频流中丢失数据的情况下进行重新同步的手段之一。 因预测无法跨切片边界进行,切片于初始便被定义为各自独立;而当对图片进行环路滤波时,则将需要跨切片边界信息。切片是按照扫描顺序解码的编码树单元,切片可以使用不同的编码类型,有I、P与B型。
  • 与对完整切片解码相比,相依的切片可以让系统更快地访问与图砖或波前并行处理相关的数据。相依切片具有较低的延迟并允许低延迟影像编码。

熵编码(Entropy Coding)

HEVC 使用前文参考之适应性二元算术编码(CABAC) 算法,使用了跟H.264/AVC High Profile中一样的前文参考之适应性二元算术编码算法来做熵编码,并抛弃了适应性变动长度编码法(CAVLC)。

HEVC仅允许前文参考之适应性二元算术编码作为熵编码器实践方法,基于前文参考之适应性二元算术编码的熵编码目的在于实现更高的吞吐量。

HEVC 的另一个改进是编码资料之间的相依关系改变,藉以提高吞吐量。

因此与 H.264/MPEG-4 AVC 相比,前文参考之适应性二元算术编码可以更好地选择提高效率的前文。

帧内预测(Intra Prediction)

相比于 H.264/MPEG-4 AVC 的8 种帧内预测方向模式 ,HEVC 帧内预测有33 种方向模式。HEVC还有DC帧内预测和平面预测模式。

DC 帧内预测模式对样本求平均值而来,可用于平坦表面。

至于平面预测模式,相对于而H.264/MPEG-4 AVC而言,HEVC的平面预测模式支持所有区块尺寸,而H.264/MPEG-4 AVC的平面预测模式仅限于 16×16 像素的区块尺寸。

从同一图片内解码的数据,被用来作为帧内预测模式使用相邻且相间的预测区块数据。

HEVC 有 33 种帧内预测模式

运动补偿(Motion Compensation)

关于亮度插值,HEVC 使用八个抽头的滤波器进行一维半处样本插值,或是七个抽头的滤波器进行一维四分之一处样本插值;

H.264/MPEG-4 AVC则先使用6 抽头滤波器一维插值运算半样本值,四舍五入后,在附近的半样本位置的值之间使用线性插值,生成四分之一处样本值。

两者相比,使用更多抽头的插值滤波器,并且消除了四舍五入的误差,HEVC 精度更加高。

运动向量预测(Motion Vector Prediction)

水平和垂直的运动矢量 (Motion Vectors) 在 2012 年 7 月添加到 HEVC 中,其中包含 mvLX 变量。

其中,HEVC 水平/垂直运动矢量范围为 -32768 至 32767,共16位;使用四分之一像素精度的HEVC,运动矢量范围则为 -8192 至 8191.75 亮度样本。

HEVC 有两种运动矢量模式,即高级运动矢量预测 (Advanced Motion Vector Prediction) 和合并模式(Merge Mode)。

高级运动矢量预测,其使用来自参考图片的数据,也可以使用来自相邻预测区块资料。

合并模式类似于 H.264/MPEG-4 AVC 的跳过与直接运动推理模式,不同的地方是,其使用索引信息来选择备选目标。

环路滤波器(Loop Filtering)

HEVC有两个环路滤波器,解块滤波器(DBF)与取样自适应偏移(SAO)滤波器。

在图片间预测循环中使用解块滤波器与自适应偏移量滤波器两者,随后将滤波后影像存存储在解码图片缓冲器(Decoded Picture Buffer,DPB)中作为图片间预测之基准。

解块滤波器(Deblocking Filter)

类似于 H.264/MPEG-4 AVC 使用的解块滤波器,但其设计更佳简洁。 HEVC的解块滤波器仅适用 8×8 样本网格(Sample Grid),而 H.264/MPEG-4 AVC 则适用于 4×4 样本网格。

DBF 使用 8×8 样本网格让影像退化显著降低,并显著提高了并发处理效率,因为解块滤波器不再导致与其他操作交互作用。此外,HEVC只允许至多三个的解块滤波器深度。

HEVC的解块滤波器先做画面垂直边缘的水平滤波,而后再做对于水平边缘的垂直滤波,有利于平行处理多线程(Multithreading)。

取样自适应偏移(Sample Adaptive Offset)

样本自适应偏移滤波器在解块滤波器之后使用,透过查找表查询偏移量,藉以重建原始信号震幅。每个编码树单元都可禁止使用样本自适应偏移滤波器,或油以下两种模式之一激活:边缘偏移模式(Edge Offset Mode)或带偏移模式(Band Offset Mode)。

边缘偏移模过使用方向梯度将样本的值与其八个相临且相间中的两个值进行比较来操作,并将样本分为五种类型:最小值、最大值、较低值边缘、较高值的边缘,与单调。除了单调以外,都会使用偏移量。

带偏移模式根据单个样本的幅度而使用不同的偏移量,样本按其幅度分类为 32种频带,并为 32 个频带中的其中四个连续带指定了偏移量,在容易产生振铃效应的平坦区域中,样本幅度经常在一个小范围内改变。样本自适应偏移滤波器旨在提高影像质量和减少振铃效应

编码规范

Profile

层级与等级

HEVC定义了包含Main和High 2种“层级”(tiers)注:目前没有公定译名,以及13种“等级”(levels)注:目前没有公定译名。层级是被设计来面对不同的应用,对其最大比特率做限制。其中Main tier是被设计给大部分的应用,而High tier是被设计给高要求的应用。等级则是针对比特流设置了一组限制,与Profile相似。当一个解码器符合给定了的层级与等级,代表此解码器也被要求必须能解码用该层级/等级及较低层级/等级所编码出来的比特流。

编码效率

主观视频性能比较
视频编码标准 较之H.264/MPEG-4 AVC HP减少码率的比例
480p 720p 1080p 4K UHD
HEVC 52% 56% 62% 64%

产品与实现

2012

  • 2月29日,在2012世界移动通信大会上,高通展示了一个运行在Android平板上的HEVC解码器,使用了Qualcomm Snapdragon S4双核心处理器运行在1.5GHz,将同一个视频以H.264/AVC和HEVC同时并发播放。在此展示中HEVC展现了较H.264/AVC几乎节省了50%的比特率。
  • 8月22日,研究者们发布消息说他们项目扩展当前MPEG-DASH标准,使其在2013年4月前支持HEVC。
  • 9月2日,Vanguard Video(前身为Vanguard Software Solutions),发表了一个实时HEVC软件编码器运行于1080p30(1920×1080, 30fps)在一个单一Intel Xeon处理器平台上。此编码器也在IBC 2012中展示。
  • 9月6日,Rovi Corporation英语Rovi Corporation表示他们会发表一个HEVC适用的MainConcept英语MainConcept SDK,时间将会在2013年初在HEVC标准被官方批准之后。HEVC MainConcept SDK包含了一个解码器、编码器及传输多任务器,可在Microsoft WindowsMac OSLinuxiOSAndroid上运行。HEVC MainConcept SDK的编码器在IBC 2012上做了展示。
  • 9月9日,Ateme在IBC 2012上展示了一个HEVC编码器,能够以60fps、平均15 Mbit/s的条件下编码3840×2160p清晰度的视频。ATEME项目在2013年10月正式发布此HEVC编码器。

2013

  • 1月7日,Rovi Corporation英语Rovi Corporation宣称在官方发表HEVC标准后,他们项目开始把对HEVC的支持加入他们的MainConcept SDK以及他们的产品DivX
  • 1月8日,博通发表了一个UHD解码芯片BCM7445,能够运行解码HEVC至最高4096x2160p清晰度于60 fps。BCM7445采用28奈米ARM架构,能达到21,000Dhrystone英语Dhrystone每秒百万指令,预计在2014年中批量生产。
  • 1月8日,Vanguard Video发表了V.265,一个专业的纯软件HEVC编码器,能达到实时的编码性能。
  • 1月25日,NGCodec英语NGCodec发表免费可获取的合于HEVC规格测试视频。
  • 2月4日,NTT DoCoMo说从3月将会开始授权他们的HEVC解码软件实现。此解码软件能够在个人电脑上拨放4K UHDTV的视频于60 fps以及在智能手机上拨放1080p的视频,并预计在2013世界移动通信大会上展示。在一个JCT-VC文件内,NTT DoCoMo展示了他们的HEVC软件解码器能够在2.7 GHz四核心Ivy Bridge CPU的平台上,以3个线程解码3840x2160于60 fps。
  • 2月11日,MIT的研究者们于2013国际固态电路会议(ISSCC)上,展示了世界第一个HEVC ASIC解码器。他们的芯片能够实时解码3840x2160p 30fps的影片流,并消耗低于0.1的电力。
  • 4月3日,Ateme发表了第一个开放源代码实现的HEVC软件播放器,基于OpenHEVC解码器和GPAC英语GPAC Project on Advanced Content视频拨放器(两者都基于LGPL授权)。OpenHEVC解码器支持HEVC Main profile,能够用宏内核的CPU来解码1080p 30fps的视频。而一个支持HEVC的实况转码器搭配GPAC视频拨放器于2013年4月的NAB英语NAB_show在ATEME的摊位上展示。
  • 4月19日,SES发表第一个使用HEVC标准的UHD视频传输。此传输拥有3840x2160的清晰度于20 Mbit/s下。SES使用了Harmonic Inc.英语Harmonic Inc.的ProMedia Xpress HEVC编码器以及博通的BCM7445 HEVC解码器。
  • 5月9日,日本放送协会三菱电机发表消息说他们正共同开发第一个专门为8K UHD TV(也可称为Super Hi-Vision, SHV)的HEVC编码器,将支持Main 10 profile达到Level 6.1,允许以60fps的速度编码10-bit清晰度7680x4320的视频。此HEVC编码器有17个3G-SDI英语3G-SDI输入并使用了17个主板做平行处理,每一块主板都会被分配到7680x256画面中的其中一行像素点同时做运算,来达到整个视频的实时编码。此HEVC编码器兼容于HEVC第四版的草稿并且提供最大比特率340 Mbit/s,并被展示在2013年5月30至6月2日的NHK放送技术研究所 Open House 2013。在此展览中此HEVC编码器在85 Mbit/s的比特率下提供了350:1的压缩比。
  • 5月15日,DivX发布了一个DivX HEVC视频profile草案,基于HEVC Main profile及Main tier并加上特别为了DivX HEVC视频profile所设的限制。DivX HEVC 4K、1080p、720p视频profile的草案目前只定义了视频部分,DivX也项目在未来定义profile的其他部分。此DivX HEVC 4K视频profile允许最大比特率达到HEVC Level 5.1(40 Mbit/s)但是最大每秒取样数则被限制在HEVC Level 5 (4096x2160 at 30 fps)。
  • 5月31日,法国电信发表第一个公开展示HEVC实时端对端(end-to-end英语End-to-end principle)的发送链(delivery chain)。此展示同时使用IPTVDVB-T2的HD质量广播了6月1日至6月9日的2013 French Open。
  • 6月4日,Rovi Corporation英语Rovi Corporation发布MainConcept HEVC SDK 1.0,支持Smart Adaptive Bitrate Encoding Technology(SABET)能允许在降低了的计算耗损下,同时编码至多10个影片流输出。SDK 1.0将有Windows版本,而SDK 1.0.1将在2013年7月发布,并增加Linux和Mac OS X的支持。SDK 1.0支持了Main profile而SDK 2.0将会支持Main 10 profile并将在2013年Q4发布。
  • 6月10日,Vanguard Video发表消息说他们的V.265专业HEVC编码器加入了Main 10 profile的支持,成为第一个支持Main 10 profile的实时HEVC软件编码器。
  • 7月19日,Allegro DVT说他们改进了该公司的HEVC解码器IP,增加Main 10 profile的支持。
  • 8月8日,日本电信电话发布了他们的HEVC-1000 SDK软件编码器,能支持Main 10 profile、清晰度最高7680x4320以及祯率最高到120 fps。
  • 8月21日,Microsoft发布了一个用于HEVC的DXVA(DirectX Video Acceleration)规范,支持Main、Main 10及Main Still Picture profile。DXVA 2.0激活后可进行HEVC解码的硬件加速DXVA 2.0,并且兼容的解码器可以使用DXVA 2.0进行以下操作:比特流解析、去区块、反量化缩放、反转换以及动作补偿
  • 9月4日,Ittiam Systems英语Ittiam Systems在2013 IBC上展示了实时1080p HEVC编码和4K HEVC解码。Ittiam的软件HEVC编码器在Intel x86平台支持了UHD清晰度编码以及实时进行广播等级的HD 1080p编码;其软件HEVC解码器则是能在Intel x86和ARM Cortex™平台上运行4K/UHD的实时解码。
  • 9月5日,DivX在当天发布的DivX 10.0中提供了DivX HEVC Plug-in,激活后即可播放或将其他格式视频转换为HEVC视频。DivX成为第一家提供免费的视频播放器和视频转换器的软件厂商。
  • 9月6日,Thomson Video Networks英语Thomson Video Networks展示了一个试验式的UHD传输用的HEVC编解码器,并且被人造卫星传输营运商HISPASAT英语Hispasat所采用。
  • 9月11日,ViXS Systems英语ViXS Systems发表了XCode 6400 SoC,在HEVC Main 10 profile下支持4K清晰度于60 fps,以及Rec. 2020英语Rec. 2020色彩空间
  • 9月11日,NGCodec Inc.发表了免费可获取的4K HEVC测试视频。
  • 10月16日,OpenHEVC解码器被加入到FFmpeg中。
  • 10月23日,Ittiam Systems英语Ittiam Systems在2013 ARM TechCon上,展示了为ARM Mali™ GPU运算以及ARM® Cortex®-A系列处理器优化的低功耗HEVC解码器。Ittiam的HEVC解码器被设计来充分利用行动SoC的运算能力,它可以很好地控制GPU的计算能力以及能源效率来减少电量消耗。
  • 11月14日,DivX developers提供了使用Intel i7 3.5 GHz四核心八线程CPU的HEVC解码表现。DivX 10.1 Beta版的解码器能分别以210.9 fps、101.5 fps、29.6 fps的速度来解码720p、1080p、4K的视频。
  • 12月18日,ViXS Systems英语ViXS Systems的XCode 6400 SoC,第一个支持HEVC Main 10 profile的SoC正式出货。

2014

  • 1月15日,oViCs发表了ViC-1 HEVC解码器,支持了Main 10 profile并且能以120fps速度编码4K视频。
  • 4月5日,在美国广播电视展上,eBrisk视频公司和Altera公司演示了支持FPGA(现场可编程门阵列)加速的HEVC Main10编码器实时编码所压制的4K60帧视频 / 10-bit视频,采用了双至强E5-2697-V2平台
  • 4月7日,Vantrix英语VantrixBSD授权发布了f265 HEVC编码器的源代码。
  • 8月13日,Ittiam Systems英语Ittiam Systems宣布支持第三代H.265/HEVC 4:2:2 12-bit编码。
  • 9月5日,蓝光光盘协会宣布,4K蓝光光盘的标准将支持60 fps、4K的HEVC视频,且支持Rec. 2020英语Rec. 2020的色域、高动态范围成像和10-bit的色深。4K蓝光光盘将具有至少50Mbit/s的码率,单张光盘的容量最高可达66GB/100GB。4K蓝光光盘将在2015年年初获得相应许可,配套的播放器有望在此后面世

参见

外部链接


本页面最后更新于2021-07-06 09:28,点击更新本页查看原网页。台湾为中国固有领土,本站将对存在错误之处的地图、描述逐步勘正。

本站的所有资料包括但不限于文字、图片等全部转载于维基百科(wikipedia.org),遵循 维基百科:CC BY-SA 3.0协议

万维百科为维基百科爱好者建立的公益网站,旨在为中国大陆网民提供优质内容,因此对部分内容进行改编以符合中国大陆政策,如果您不接受,可以直接访问维基百科官方网站


顶部

如果本页面有数学、化学、物理等公式未正确显示,请使用火狐或者Safari浏览器