高效率視訊編碼(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開始制定[1][2][3][4][5]。第一版的HEVC/H.265視訊壓縮標準在2013年4月13日獲接受為國際電信聯盟(ITU-T)的正式標準[1][2][6]。HEVC獲認為不僅提昇影像品質,同時也能達到H.264/MPEG-4 AVC兩倍之壓縮率(等同於同樣畫面品質下位元率減少到了50%),可支援4K解析度甚至到超高畫質電視(UHDTV),最高解析度可達到8192×4320(8K解析度)。
此條目需要精通或熟悉相關主題的編者參與及協助編輯。 |
此條目可參照外語維基百科相應條目來擴充。 (2021年6月29日) |
數個基於HEVC延伸的編碼標準正在進行中,包含range extensions(支援進階的影片格式)、可調式編碼和3D視訊編碼標準。
歷史
- 2004年:Key Technical Areas(KTA)
在H.264/AVC標準制定完(2003年)的後一年,VCEG組織便開始研究更先進的視訊壓縮技術,期望能夠發展下一代視訊壓縮標準,或期望能大量提昇壓縮率成為H.264/AVC的延伸版本[1][7]。2005年1月,VCEG開始將這些議題統整稱為Key Technical Areas(KTA),並且開發了一個同名的軟體編解碼器KTA Software來評估受提案的新技術[8][9]。KTA software是基於H.264/AVC的標準參考軟體Joint Model(JM)[8]上,加入新的編碼技術並與JM的編碼效率做比較。到了2007年,KTA Software的編碼效率較JM提升了不少[10]。
- JCT-VC
為此目的MPEG與VCEG聯合成立了一個Joint Collaborative Team on Video Coding(JCT-VC)作為共同開發HEVC的團隊[1][2]。並每四個月進行一次標準討論與制定的會議。並發佈了HEVC的標準參考軟體HEVC Test Model(HM)[11]。
HEVC標準(第一個版本)制定的時程如下:[1]
技術細節
HEVC與H.264/AVC和許多其他視訊壓縮編碼一樣,都是採用Hybrid Video Coding的架構(如右圖),但在各部分加入了一些新技術或者提升了原本編碼工具的效率[18]。
編碼樹單元(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,而像素塊尺寸提升通常會提高時編碼的效率。
規範指定HEVC以 4×4、8×8、16×16 和 32×32 四個變換單元 (transform units) 大小來對預測殘差進行編碼,編碼樹單元可以遞迴地劃分超過四個變換單元。
變換單元使用基於離散餘弦變換(DCT) 的整數基函式;而屬於影格內編碼範疇的 4×4 亮度變換區塊則使用從離散正弦變換(DST) 匯出的整數變換進行變換。
- 允許圖磚(Tiles)將圖片切片為可以獨立解碼/編碼的矩形區塊,切片的主要目的是允許並列處理。圖塊可以獨立解碼,甚至可以允許隨機訪問影像流中其圖片的特定區域。
- 波前並列處理 (Wavefront parallel processing) 是指將切片分成多行編碼樹單元,除第一行解碼外,而後每一行都需要在前一行中做出決定。波前並列處理具有來自前一行編碼樹單元的熵編碼器訊息,並允許並列處理方法,該方法可以實現比圖磚更好的壓縮。
- 圖磚與波前並列處理具有可選擇性,如使用圖磚,則至少須達高 64 像素,寬 256 像素,並且對圖磚數量有特定的限制。
- 絕大多數情況下,切片可以彼此獨立解碼,這是在視訊流中遺失資料的情況下進行重新同步的手段之一。 因預測無法跨切片邊界進行,切片於初始便受定義為各自獨立;而當對圖片進行環路濾波時,則將需要跨切片邊界資訊。切片是按照掃描順序解碼的編碼樹單元,切片可以使用不同的編碼類型,有I、P與B型。
- 與對完整切片解碼相比,相依的切片可以讓系統更快地訪問與圖磚或波前並列處理相關的資料。相依切片具有較低的延遲並允許低延遲影像編碼。
HEVC 使用前文參考之適應性二元算術編碼(CABAC) 演算法,使用了跟H.264/AVC High Profile中一樣的前文參考之適應性二元算術編碼演算法來做熵編碼,並拋棄了適應性變動長度編碼法(CAVLC)。
HEVC僅允許前文參考之適應性二元算術編碼作為熵編碼器實踐方法,基於前文參考之適應性二元算術編碼的熵編碼目的在於實現更高的吞吐量。
HEVC 的另一個改進是編碼資料之間的相依關係改變,藉以提高吞吐量。
因此與 H.264/MPEG-4 AVC 相比,前文參考之適應性二元算術編碼可以更好地選擇提高效率的前文。
相比於 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 使用八個抽頭的濾波器進行一維半處樣本插值,或是七個抽頭的濾波器進行一維四分之一處樣本插值;
H.264/MPEG-4 AVC則先使用6 抽頭濾波器一維插值運算半樣本值,四捨五入後,在附近的半樣本位置的值之間使用線性插值,生成四分之一處樣本值。
兩者相比,使用更多抽頭的插值濾波器,並且消除了四捨五入的誤差,HEVC 精度更加高。
水平和垂直的運動向量 (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 的跳過與直接運動推理模式,不同的地方是,其使用索引資訊來選擇備選目標。
HEVC有兩個環路濾波器,解塊濾波器(DBF)與取樣自適應偏移(SAO)濾波器。
在圖片間預測迴圈中使用解塊濾波器與自適應偏移量濾波器兩者,隨後將濾波後影像儲存存在解碼圖片緩衝區(Decoded Picture Buffer,DPB)中作為圖片間預測之基準。
類似於 H.264/MPEG-4 AVC 使用的解塊濾波器,但其設計更佳簡潔。 HEVC的解塊濾波器僅適用 8×8 樣本網格(Sample Grid),而 H.264/MPEG-4 AVC 則適用於 4×4 樣本網格。
DBF 使用 8×8 樣本網格讓影像退化顯著降低,並顯著提高了並行處理效率,因為解塊濾波器不再導致與其他操作互動作用。此外,HEVC只允許至多三個的解塊濾波器深度。
HEVC的解塊濾波器先做畫面垂直邊緣的水平濾波,而後再做對於水平邊緣的垂直濾波,有利於平行處理多執行緒(Multithreading)。
樣本自適應偏移濾波器在解塊濾波器之後使用,透過尋找表查詢偏移量,藉以重建原始訊號震幅。每個編碼樹單元都可禁止使用樣本自適應偏移濾波器,或油以下兩種模式之一啟用:邊緣偏移模式(Edge Offset Mode)或帶偏移模式(Band Offset Mode)。
邊緣偏移模過使用方向梯度將樣本的值與其八個相臨且相間中的兩個值進行比較來操作,並將樣本分為五種類型:最小值、最大值、較低值邊緣、較高值的邊緣,與單調。除了單調以外,都會使用偏移量。
帶偏移模式根據單個樣本的振幅而使用不同的偏移量,樣本按其振幅分類為 32種頻帶,並為 32 個頻帶中的其中四個連續帶指定了偏移量,在容易產生振鈴效應的平坦區域中,樣本振幅經常在一個小範圍內改變。樣本自適應偏移濾波器旨在提高影像品質和減少振鈴效應。
編碼規範
HEVC定義了包含Main和High 2種「層級」(tiers)註:目前沒有公定譯名,以及13種「等級」(levels)註:目前沒有公定譯名[1]。層級是設計來面對不同的應用,對其最大位元率做限制。其中Main tier是設計給大部分的應用,而High tier是設計給高要求的應用[1]。等級則是針對位元流設定了一組限制,與Profile相似[1]。當一個解碼器符合給定了的層級與等級,代表此解碼器也受要求必須能解碼用該層級/等級及較低層級/等級所編碼出來的位元流[1]。
編碼效率
視訊編碼標準 | 較之H.264/MPEG-4 AVC HP減少位元速率的比例 | ||||
---|---|---|---|---|---|
480p | 720p | 1080p | 4K UHD | ||
HEVC | 52% | 56% | 62% | 64% |
產品與實現
- 2月29日,在2012世界行動通訊大會上,高通展示了一個運行在Android平板上的HEVC解碼器,使用了Qualcomm Snapdragon S4雙核心處理器運行在1.5GHz,將同一個影片以H.264/AVC和HEVC同時並行播放。在此展示中HEVC展現了較H.264/AVC幾乎節省了50%的位元率。[20]
- 8月22日,Ericsson發表了世界第一個HEVC編碼器Ericsson SVP 5500,並預計在2012 IBC貿易展展出。Ericsson SVP 5500設計來做到實時編碼影片供行動裝置使用。[21][22]
- 9月2日,Vanguard Video(前身為Vanguard Software Solutions)[24],發表了一個實時HEVC軟體編碼器執行於1080p30(1920×1080, 30fps)在一個單一Intel Xeon處理器平台上。此編碼器也在IBC 2012中展示[25][26]。
- 1月8日,博通發表了一個UHD解碼晶片BCM7445,能夠運行解碼HEVC至最高4096x2160p解析度於60 fps。BCM7445採用28奈米ARM架構,能達到21,000Dhrystone的每秒百萬指令,預計在2014年中批次生產。[36][37][38][39]
- 1月8日,Vanguard Video發表了V.265,一個專業的純軟體HEVC編碼器,能達到實時的編碼效能。[40]
- 1月25日,NGCodec發表免費可取得的合於HEVC規格測試影片。[41]
- 2月4日,NTT DoCoMo說從3月將會開始授權他們的HEVC解碼軟體實現[42][43]。此解碼軟體能夠在個人電腦上撥放4K UHDTV的影片於60 fps以及在智慧型手機上撥放1080p的影片,並預計在2013世界行動通訊大會上展示[42][43]。在一個JCT-VC檔案內,NTT DoCoMo展示了他們的HEVC軟體解碼器能夠在2.7 GHz四核心Ivy Bridge CPU的平台上,以3個執行緒解碼3840x2160於60 fps[44]。
- 2月11日,MIT的研究者們於2013國際固態電路會議(ISSCC)上,展示了世界第一個HEVC ASIC解碼器[45]。他們的晶片能夠實時解碼3840x2160p 30fps的影片串流,並消耗低於0.1瓦的電力[46]。
- 3月14日,Ittiam Systems發表了一個HEVC影片編碼器及解碼器及其軟體授權給專家、企業與消費者數位多媒體市場。其中編碼器是一個在Intel x86平台上的軟體實現,能編碼高解析(HD)廣播品質的影片。而解碼器軟體能夠在ARM Cortex™-A9以及Cortex™-A15為基礎的SoC上運行,允許大部分現存的消費性電子裝置譬如智慧型手機、平板電腦、智慧型電視、機上盒來撥放高解析的HEVC內容。Ittiam的HEVC解決方案發表在2013國際消費電子展、2013世界行動通訊大會和2013 NAB展覽。[47] [48]
- 4月3日,Ateme發表了第一個開放原始碼實現的HEVC軟體播放器,基於OpenHEVC解碼器和GPAC影片撥放器(兩者都基於LGPL授權)[49][50]。OpenHEVC解碼器支援HEVC Main profile,能夠用單核心的CPU來解碼1080p 30fps的影片[49][50]。而一個支援HEVC的實況轉碼器搭配GPAC影片撥放器於2013年4月的NAB在ATEME的攤位上展示[49][50]。
- 4月19日,SES發表第一個使用HEVC標準的UHD影片傳輸。此傳輸擁有3840x2160的解析度於20 Mbit/s下。SES使用了Harmonic Inc.的ProMedia Xpress HEVC編碼器以及博通的BCM7445 HEVC解碼器。[51][52][53]
- 5月9日,日本廣播協會和三菱電機發表訊息說他們正共同開發第一個專門為8K UHD TV(也可稱為Super Hi-Vision, SHV)的HEVC編碼器,將支援Main 10 profile達到Level 6.1,允許以60fps的速度編碼10-bit解析度7680x4320的影片。此HEVC編碼器有17個3G-SDI輸入並使用了17個主機板做平行處理,每一塊主機板都會獲分配到7680x256畫面中的其中一行像素點同時做運算,來達到整個影片的實時編碼[54][55][56][57]。此HEVC編碼器相容於HEVC第四版的草稿並且提供最大位元率340 Mbit/s[58],並獲展示在2013年5月30至6月2日的NHK廣播電視技術研究所 Open House 2013[54][56][59]。在此展覽中此HEVC編碼器在85 Mbit/s的位元率下提供了350:1的壓縮比[60][61]。
- 5月15日,DivX發布了一個DivX HEVC影片profile草案,基於HEVC Main profile及Main tier並加上特別為了DivX HEVC影片profile所設的限制[62][63]。DivX HEVC 4K、1080p、720p影片profile的草案目前只定義了影片部分,DivX也計畫在未來定義profile的其他部分[62][63]。此DivX HEVC 4K影片profile允許最大位元率達到HEVC Level 5.1(40 Mbit/s)但是最大每秒取樣數則被限制在HEVC Level 5 (4096x2160 at 30 fps)[64]。
- 5月31日,法國電信發表第一個公開展示HEVC實時端對端(end-to-end)的傳送鏈(delivery chain)。此展示同時使用IPTV和DVB-T2的HD品質廣播了6月1日至6月9日的2013 French Open。[65][66]
- 6月4日,Rovi Corporation發布MainConcept HEVC SDK 1.0[67],支援Smart Adaptive Bitrate Encoding Technology(SABET)能允許在降低了的計算耗損下,同時編碼至多10個影片串流輸出[67]。SDK 1.0將有Windows版本,而SDK 1.0.1將在2013年7月發布,並增加Linux和Mac OS X的支援[67][68]。SDK 1.0支援了Main profile而SDK 2.0將會支援Main 10 profile並將在2013年Q4發布[68][69]。
- 6月10日,Vanguard Video發表訊息說他們的V.265專業HEVC編碼器加入了Main 10 profile的支援,成為第一個支援Main 10 profile的實時HEVC軟體編碼器。[70]
- 6月20日,Imagination Technologies發表他們的PowerVR Series5 D5500 HEVC解碼器,支援10-bits取樣影片的解碼。[71]
- 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進行以下操作:位元流解析、去區塊、反量化縮放、反轉換以及動作補償。[77]
- 9月4日,Ittiam Systems在2013 IBC上展示了實時1080p HEVC編碼和4K HEVC解碼。Ittiam的軟體HEVC編碼器在Intel x86平台支援了UHD解析度編碼以及實時進行廣播等級的HD 1080p編碼;其軟體HEVC解碼器則是能在Intel x86和ARM Cortex™平台上運行4K/UHD的實時解碼。[78][79]
- 9月5日,DivX在當天發佈的DivX 10.0中提供了DivX HEVC Plug-in,啟用後即可播放或將其他格式影片轉換為HEVC影片。DivX成為第一家提供免費的影片播放器和影片轉換器的軟體廠商。[80]
- 9月11日,NGCodec Inc.發表了免費可取得的4K HEVC測試影片。[83]
- 9月12-17日,IBC貿易展在阿姆斯特丹舉辦,HEVC是當中的主角之一,許多家公司都展出了HEVC技術的產品,包含Allegro DVT[84][85]、Ateme[84]、博通[86]、Elemental Technologies[84]、Envivio[84]、Ericsson[84]、Fraunhofer HHI[84][87]、Fujitsu[88]、Haivision[84]、Harmonic Inc.[84][89]、Ittiam[90]、Kontron[91]、Media Excel[92]、NGCodec Inc.[83]、NTT-AT[93]、恩智浦半導體[89]、Pace plc[94]、QuickFire Networks[92]、Rovi/Mainconcept[84][95]、SES S.A.[96]、Squid Systems[89]、意法半導體[95]、Tata Elxsi[97]、Technicolor[98]、Telestream[84]、Thomson Video Networks[84]、Vanguard Video[84][99]、VITEC以及VisualOn[100]。
- 10月23日,Ittiam Systems在2013 ARM TechCon上,展示了為ARM Mali™ GPU運算以及ARM® Cortex®-A系列處理器最佳化的低功耗HEVC解碼器。Ittiam的HEVC解碼器設計來充分利用行動SoC的運算能力,它可以很好地控制GPU的計算能力以及能源效率來減少電量消耗。[102] [103]
- 10月29日,Elemental Technologies發表實時4K HEVC影片處理的支援,是為業界第一的4K HEVC影片實時傳輸[104]。Elemental提供了2013年10月27日的大阪馬拉松實況影片串流,採用了日本電信營運商K-Opticom設計的工作流,觀眾可在大阪國際展覽中心(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的影片。[105]
- 12月18日,ViXS Systems的XCode 6400 SoC,第一個支援HEVC Main 10 profile的SoC正式出貨。[106]
- 1月15日,oViCs發表了ViC-1 HEVC解碼器,支援了Main 10 profile並且能以120fps速度編碼4K影片。[107]
- 4月5日,在美國廣播電視展上,eBrisk視訊公司和Altera公司演示了支援FPGA(現場可程式化門陣列)加速的HEVC Main10編碼器即時編碼所壓制的4K60影格視訊 / 10-bit視訊,採用了雙至強E5-2697-V2平台[108][109]
- 8月13日,Ittiam Systems宣布支援第三代H.265/HEVC 4:2:2 12-bit編碼。[111]
2022年10月25日,Google Chrome 發布了 107 版本,開始支援所有平台「開箱即用」的HEVC硬體解碼。[114]
HEVC在以下web瀏覽器中實現:
- Android瀏覽器(自2014年11月第5版起) [115]
- Safari 瀏覽器(自2017年9月發布的 11 版本起)[116]
- Microsoft Edge(自2017年7月發布的 77 版本開始,如果已安裝 HEVC 視訊擴充,在Windows 10 1709+上受支援)[117]
- Google Chrome(自2022年10月發布的 107 版本起,在Windows 8+、macOS 11+、Android 5.0+、ChromeOS 和 Linux 受支援的硬體上都可用)[118]
根據StatCounter的資料,2021年5月,估計有18%的桌上型電腦和筆記本系統上使用的瀏覽器能夠播放HTML5網頁中的HEVC視訊。[119]
Microsoft Windows | macOS | Android | iOS | |
---|---|---|---|---|
支援編解碼 | 是 | 是 | 是 | 是 |
支援的容器 | ||||
備註 |
|
|
|
|
參見
參考資料
外部連結
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.