高效率视频编码

高效率視訊編碼（High Efficiency Video Coding，簡稱HEVC），又稱為H.265和MPEG-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

技術細節

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 像素的區塊尺寸。

从同一图片内解码的數據，獲用來作為帧内预测模式使用相邻且相間的预测區塊数据。

运动补偿(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相似。當一個解碼器符合給定了的層級與等級，代表此解碼器也受要求必須能解碼用該層級/等級及較低層級/等級所編碼出來的位元流。

编码效率

產品與實現

2012 
2月29日，在2012世界移动通信大会上，高通展示了一個運行在Android平板上的HEVC解碼器，使用了Qualcomm Snapdragon S4雙核心處理器運行在1.5GHz，將同一個影片以H.264/AVC和HEVC同時並行播放。在此展示中HEVC展現了較H.264/AVC幾乎節省了50%的位元率。

8月22日，Ericsson發表了世界第一個HEVC編碼器Ericsson SVP 5500，並預計在2012 貿易展展出。Ericsson SVP 5500設計來做到實時編碼影片供行動裝置使用。

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日，表示他們會發表一個HEVC適用的 SDK，時間將會在2013年初在HEVC標準獲官方批准之後。HEVC MainConcept SDK包含了一個解碼器、編碼器及傳輸多工器，可在Microsoft Windows、Mac OS、Linux、iOS及Android上運行。HEVC MainConcept SDK的編碼器在IBC 2012上做了展示。

9月9日，Ateme在IBC 2012上展示了一個HEVC編碼器，能夠以60fps、平均15 Mbit/s的條件下編碼3840×2160p解析度的影片。ATEME計畫在2013年10月正式發布此HEVC編碼器。

2013 
1月7日，說他們將會於2013國際消費電子展上，展示第一個能符合HEVC Main 10 profile轉碼影片的硬體SoC。

1月7日，宣稱在官方發表HEVC標準後，他們計畫開始把對HEVC的支援加入他們的MainConcept SDK以及他們的產品DivX。

1月8日，博通發表了一個UHD解碼晶片BCM7445，能夠運行解碼HEVC至最高4096x2160p解析度於60 fps。BCM7445採用28奈米ARM架構，能達到21,000的每秒百萬指令，預計在2014年中批量生產。

1月8日，Vanguard Video發表了V.265，一個專業的純軟體HEVC編碼器，能達到實時的編碼效能。

1月25日，發表免費可取得的合於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瓦的電力。

3月14日，發表了一個HEVC影片編碼器及解碼器及其軟體授權給專家、企業與消費者數位多媒體市場。其中編碼器是一個在Intel x86平台上的軟體實現，能編碼高解析（HD）广播品質的影片。而解碼器軟體能夠在ARM 以及Cortex™-A15為基礎的SoC上運行，允許大部分現存的消費性電子裝置譬如智慧型手機、平板電腦、智慧型電視、機上盒來撥放高解析的HEVC內容。Ittiam的HEVC解決方案發表在2013國際消費電子展、2013世界行動通訊大會和2013 展覽。  

4月3日，Ateme發表了第一個開放原始碼實現的HEVC軟體播放器，基於OpenHEVC解碼器和影片撥放器（兩者都基於LGPL授權）。OpenHEVC解碼器支援HEVC Main profile，能夠用單核心的CPU來解碼1080p 30fps的影片。而一個支援HEVC的實況轉碼器搭配GPAC影片撥放器於2013年4月的在ATEME的攤位上展示。

4月19日，SES發表第一個使用HEVC標準的UHD影片傳輸。此傳輸擁有3840x2160的解析度於20 Mbit/s下。SES使用了的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個輸入並使用了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實時端對端（）的傳送鏈（delivery chain）。此展示同時使用IPTV和DVB-T2的HD品質廣播了6月1日至6月9日的2013 French Open。

6月4日，發布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軟體編碼器。

6月20日，Imagination Technologies發表他們的PowerVR Series5 D5500 HEVC解碼器，支援10-bits取樣影片的解碼。

7月19日，Allegro DVT說他們改進了該公司的HEVC解碼器IP，增加Main 10 profile的支援。

7月23日，MulticoreWare發布alpha版本的x265原始碼。

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日，在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日，展示了一個試驗式的UHD傳輸用的HEVC編解碼器，並且獲人造衛星傳輸營運商所採用。

9月11日，發表了XCode 6400 SoC，在HEVC Main 10 profile下支援4K解析度於60 fps，以及色彩空間。

9月11日，NGCodec Inc.發表了免費可取得的4K HEVC測試影片。

9月12-17日，貿易展在阿姆斯特丹舉辦，HEVC是當中的主角之一，許多家公司都展出了HEVC技術的產品，包含Allegro DVT、Ateme、博通、、Envivio、Ericsson、、Fujitsu、、、、、Media Excel、NGCodec Inc.、、恩智浦半導體、、QuickFire Networks、、、Squid Systems、意法半導體、、、、、Vanguard Video、VITEC以及。

10月16日，OpenHEVC解碼器受加入到FFmpeg中。

10月23日，在2013 ARM TechCon上，展示了為ARM Mali™ GPU運算以及ARM® Cortex®-A系列處理器最佳化的低功耗HEVC解碼器。Ittiam的HEVC解碼器設計來充分利用行動SoC的運算能力，它可以很好地控制GPU的計算能力以及能源效率來減少電量消耗。 

10月29日，發表實時4K HEVC影片處理的支援，是為業界第一的4K HEVC影片實時傳輸。Elemental提供了2013年10月27日的實況影片串流，採用了日本電信營運商設計的工作流，觀眾可在（Intex Osaka）觀看此競賽的4K HEVC實況轉播。

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日，的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日，以BSD授權釋出了f265 HEVC編碼器的原始碼。

8月13日，宣布支持第三代H.265/HEVC 4:2:2 12-bit编码。

9月5日，蓝光光盘协会宣布，4K蓝光光盘的标准将支持60 fps、4K的HEVC视频，且支持的色域、高动态范围成像和10-bit的色深。4K蓝光光盘将具有至少50Mbit/s的码率，单张光盘的容量最高可达66GB/100GB。4K蓝光光盘将在2015年年初获得相应许可，配套的播放器有望在此后面世

2022

2022年10月25日，Google Chrome 发布了 107 版本，开始支持所有平台“开箱即用”的HEVC硬件解码。

浏览器支持

HEVC在以下web浏览器中实现: 
 Android浏览器(自2014年11月第5版起) 
 Safari 浏览器(自2017年9月发布的 11 版本起)
 Microsoft Edge(自2017年7月发布的 77 版本开始，如果已安装 HEVC 视频扩展，在Windows 10 1709+上受支持)
 Google Chrome(自2022年10月发布的 107 版本起，在Windows 8+、macOS 11+、Android 5.0+、ChromeOS 和 Linux 受支持的硬件上都可用)

根据StatCounter的数据，2021年5月，估计有18%的台式机和笔记本系统上使用的浏览器能够播放HTML5网页中的HEVC视频。

操作系统支持

參見 
視訊壓縮
3D-HEVC
Screen Content Coding
平均意见分数
峰值信噪比
視訊壓縮圖像類型
圖像群組
視頻質量

參考資料

外部連結 
 JCT-VC Document Management System  HEVC制定會議提案文件之公開網站
 Draft meeting report for 31st VCEG Meeting（Marrakech, MA, 15–16 January 2007）
 Video Coding Experts Group （VCEG）
 H265.net

視頻編解碼器
MPEG
ITU-T标准
ITU-T建议书
ISO標準
影像科技
影片和電影技術
視頻壓縮技術
IEC標準
超高清电视