1. 程式人生 > >H.264和H.265(HEVC)深度解析及對比

H.264和H.265(HEVC)深度解析及對比

一、什麼是H.265

H.265是ITU-TVCEG繼H.264之後所制定的新的視訊編碼標準。H.265標準圍繞著現有的視訊編碼標準H.264,保留原來的某些技術,同時對一些相關的技術加以改進。

新技術使用先進的技術用以改善碼流、編碼質量、延時和演算法複雜度之間的關係,達到最優化設定。具體的研究內容包括:提高壓縮效率、提高魯棒性和錯誤恢復能力、減少實時的時延、減少通道獲取時間和隨機接入時延、降低複雜度等。H264由於演算法優化,可以低於1Mbps的速度實現標清數字影象傳送;H265則可以實現利用1~2Mbps的傳輸速度傳送720P(解析度1280*720)普通高清音視訊傳送。

H.265旨在在有限頻寬下傳輸更高質量的網路視訊,僅需原先的一半頻寬即可播放相同質量的視訊。這也意味著,我們的智慧手機、平板機等移動裝置將能夠直接線上播放1080p的全高清視訊。H.265標準也同時支援4K(4096×2160)和8K(8192×4320)超高清視訊。可以說,H.265標準讓網路視訊跟上了顯示屏“高解析度化”的腳步。

二、什麼是H.264

H.264,同時也是MPEG-4第十部分,是由ITU-T視訊編碼專家組(VCEG)和ISO/IEC動態影象專家組(MPEG)聯合組成的聯合視訊組(JVT,Joint Video Team)提出的高度壓縮數字視訊編解碼器標準。這個標準通常被稱之為H.264/AVC(或者AVC/H.264或者H.264/MPEG-4AVC或MPEG-4/H.264 AVC)而明確的說明它兩方面的開發者。

H.264最大的優勢是具有很高的資料壓縮比率,在同等影象質量的條件下,H.264的壓縮比是MPEG-2的2倍以上,是MPEG-4的1.5~2倍。舉個例子,原始檔案的大小如果為88GB,採用MPEG-2壓縮標準壓縮後變成3.5GB,壓縮比為25∶1,而採用H.264壓縮標準壓縮後變為879MB,從88GB到879MB,H.264的壓縮比達到驚人的102∶1。低位元速率(Low Bit Rate)對H.264的高的壓縮比起到了重要的作用,和MPEG-2和MPEG-4ASP等壓縮技術相比,H.264壓縮技術將大大節省使用者的下載時間和資料流量收費。尤其值得一提的是,H.264在具有高壓縮比的同時還擁有高質量流暢的影象,正因為如此,經過H.264壓縮的視訊資料,在網路傳輸過程中所需要的頻寬更少,也更加經濟。

針對H.264編碼格式,根據不同解析度,推薦其對應的位元速率配置關係如下圖所示:

寬屏 :

非寬屏 :

三、H.265與H.264有何不同

在討論H.265有哪些提升和優點之前,我們不妨先來了解一下H.264。H.264也稱作MPEG-4AVC(Advanced Video Coding,高階視訊編碼),是一種視訊壓縮標準,同時也是一種被廣泛使用的高精度視訊的錄製、壓縮和釋出格式。H.264因其是藍光光碟的一種編解碼標準而著名,所有藍光播放器都必須能解碼H.264。更重要的是,因為蘋果公司當初毅然決然拋棄了Adobe的VP6編碼,選擇了H.264,這個標準也就隨著數億臺iPad和iPhone走入了千家萬戶,成為了目前視訊編碼領域的絕對霸主,佔有超過80%的份額。H.264也被廣泛用於網路流媒體資料、各種高清晰度電視廣播以及衛星電視廣播等領域。H.264相較於以前的編碼標準有著一些新特性,如多參考幀的運動補償、變塊尺寸運動補償、幀內預測編碼等,通過利用這些新特性,H.264比其他編碼標準有著更高的視訊質量和更低的位元速率,也因此受到了人們的認可,而被廣泛應用。

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)。

四、H.265為何優於H.264

比起H.264/AVC,H.265/HEVC提供了更多不同的工具來降低位元速率,以編碼單位來說, 最小的8x8到最大的64x64。資訊量不多的區域(顏色變化不明顯,比如車體的紅色部分和地面的灰色部分)劃分的巨集塊較大,編碼後的碼字較少,而細節多的地方(輪胎)劃分的巨集塊就相應的小和多一些,編碼後的碼字較多,這樣就相當於對影象進行了有重點的編碼,從而降低了整體的位元速率,編碼效率就相應提高了。同時,H.265的幀內預測模式支援33種方向(H.264只支援8種),並且提供了更好的運動補償處理和向量預測方法。

反覆的質量比較測試已經表明,在相同的圖象質量下,相比於H.264,通過H.265編碼的視訊碼流大小比H.264減少大約39-44%。由於質量控制的測定方法不同,這個資料也會有相應的變化。通過主觀視覺測試得出的資料顯示,在位元速率減少51-74%的情況下,H.265編碼視訊的質量還能與H.264編碼視訊近似甚至更好,其本質上說是比預期的信噪比(PSNR)要好。這些主觀視覺測試的評判標準覆蓋了許多學科,包括心理學和人眼視覺特性等,視訊樣本非常廣泛,雖然它們不能作為最終結論,但這也是非常鼓舞人心的結果。

目前的HEVC標準共有三種模式:Main、Main10和Main Still Picture。Main模式支援8bit色深(即紅綠藍三色各有256個色度,共1670萬色),Main10模式支援10bit色深,將會用於超高清電視(UHDTV)上。前兩者都將色度取樣格式限制為4:2:0。預期將在2014年對標準有所擴充套件,將會支援4:2:2和4:4:4取樣格式(即提供了更高的色彩還原度)和多檢視編碼(例如3D立體視訊編碼)。

事實上,H.265和H.264標準在各種功能上有一些重疊。例如,H.264標準中的Hi10P部分就支援10bit色深的視訊。另一個,H.264的部分(Hi444PP)還可以支援4:4:4色度抽樣和14位元色深。在這種情況下,H.265和H.264的區別就體現在前者可以使用更少的頻寬來提供同樣的功能,其代價就是裝置計算能力:H.265編碼的視訊需要更多的計算能力來解碼。目前已經有支援H.265解碼的晶片釋出了——美國博通公司(Broadcom)在今年1月初的CES大展上釋出了一款Brahma BCM 7445晶片,它是一個採用28納米工藝的四核處理器,可以同時轉碼四個1080P視訊資料流或解析解析度為4096×2160的H.265編碼超高清視訊。

H.265標準的誕生是在有限頻寬下傳輸更高質量的網路視訊。對於大多數專業人士來說,H.265編碼標準並不陌生,其是ITU-TVCEG繼H.264之後所制定的視訊編碼標準。H.265標準主要是圍繞著現有的視訊編碼標準H.264,在保留了原有的某些技術外,增加了能夠改善碼流、編碼質量、延時及演算法複雜度之間的關係等相關的技術。H.265研究的主要內容包括,提高壓縮效率、提高魯棒性和錯誤恢復能力、減少實時的時延、減少通道獲取時間和隨機接入時延、降低複雜度。

延伸閱讀:綜合佈線常見名詞大全

五、H.264和H.265技術下視訊儲存如何計算

1、h.264技術硬碟容量的計算

說到計算,我們要拿什麼來計算呢?除了攝像頭數目、需要錄影的時間外,還有一個重要的數值:位元速率! 一般情況下,解析度越大,碼流呢也就越大,比如我們常用到的130W的攝像頭,碼流是2MB/S,也就是2048kbps。然後知道了碼流、時間、通道數,我們就可以直接套用公式計算了。

公式如下: 位元速率×3600×24÷8÷1024÷1024=1D(一天)

碼流表

應為碼流是以秒為計量的,所以我們的容量也要用秒來換算,3600呢,就是1小時,24就是一天24小時,8呢,就是位元組,1024是應為碼流是以MB為單位的,所以要換算G就要除以1024,換成T 還要再除1024。果就是1天。甲方需要儲存多久,再乘以天數就OK了。

以上為H.264的計算方式,那麼我們來看一下H.265技術的應用。

2、H.256技術的硬碟儲存計算

舉例:

H.264技術下,4個300W儲存一個月大概是:60G*4*30=7.2T

H.265技術下,4個300W儲存一個月大概是:30G*4*30=3.6T

下面的圖更直接

這還是儲存的,我們再來看看頻寬。以往H.264如果要遠端觀看1個130W畫素的高清畫面,就需要6M的上行頻寬,而H.265下,4M網路就可以看一個300W的高清畫面。2個200W畫面。

所以說,降低的成本不只是硬碟儲存的,當然還有交換機。

b,支援H.265的裝置怎麼用?

是不是我用老的攝像機接到H.265的錄影機上,也能儲存減半?不是的,對於網路攝像機和錄影機來說,要雙方都支援H.265技術才可以。

如果有一方支援,另一方不支援呢?放心,和其他技術裝置一樣的,向下相容,也就是說除了儲存減半不能實現,其他功能都是正常使用的。

c,H.265儲存怎麼計算?

普通的攝像機一天大概21G,是不是直接除以2就可以了呢?其實不然。更簡潔的方法來了!

200W≈20G

300W≈30G

400W≈40G

其實H.265 就是壓縮了碼流。

轉自:https://www.sohu.com/a/224199309_825275

數字視訊的超高清潮流奔騰向前,幀率從30 fps向60fps、120fps甚至240fps進發,與此同時,物理媒介日薄西山,內容正通過有形無形的網路在世界各個角落的終端裝置上傳遞。高度密集的資料給頻寬和儲存帶來巨大挑戰,當前主流的H.264開始不敷應用,而新一代視訊編碼標準H.265似乎成為了數字4K時代的“救世主”。
  H.265又稱為HEVC(全稱High Efficiency Video Coding,高效率視訊編碼,本文統稱為H.265),是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)的正式標準。 

    理論上H.265比H.264效率提高30-50%(尤其是在更高的解析度情形下),但真的只是這麼簡單嗎?

 

 

 

H.265的改變

 

 

        H.265重新利用了H.264中定義的很多概念。兩者都是基於塊的視訊編碼技術,所以它們有著相同的根源,和相近的編碼方式,包括:

  1、以巨集塊來細分圖片,並最終以塊來細分。

  2、使用幀內壓縮技術減少空間冗餘。

  3、使用幀內壓縮技術減少時間冗餘(運動估計和補償)。

  4、使用轉換和量化來進行殘留資料壓縮。

  5、使用熵編碼減少殘留和運動向量傳輸和訊號傳送中的最後冗餘。

  事實上,視訊編解碼從MPEG-1誕生至今都沒有根本性改進,H.265也只是H.264在一些關鍵效能上的更強進化以及簡單化。

 

 

當你考慮“只是在普通網際網路上傳輸4K內容,還是要實現最好的影象質量”之時,就要先釐清“更多的壓縮”和“更好的壓縮”這兩個概念。如果只是更多的壓縮,4K和超高清不一定要保證比今天的1080p或HD做到更好的圖片質量。更好的壓縮則意味著更聰明的壓縮,面對同樣的原始素材,更好的壓縮會以更好的方式,在不犧牲質量的情況下令資料量減少。更多的壓縮很容易,而更好的壓縮需要更多的思考和更好的技術,通過更智慧的演算法來處理影象,在維持質量的同時保持更低的位元率,這正是H.265所要做的。

  如何實現更好的壓縮,舉例來講,我們通常會發現在很多的影象素材裡,如視像會議或者電影的很多場景中,每一幀上的大部分內容並沒有改變太多,視像會議中一般只有講話者的頭在動(甚至只有嘴脣在動),而背景一般是不動的,在這種情況下,我們的做法不是對每一幀的每一個畫素編碼,而是對最初的幀編碼,然後僅對發生改變的部分進行編碼。

 

 

 

 

 

 

H.265正從以下幾個方面向著“更好的壓縮”邁進。

影象分割槽

  H.265將影象劃分為“樹編碼單元(coding tree blocks, CTU)”,而不是像H.264那樣的16×16的巨集塊。根據不同的編碼設定,樹編碼塊的尺寸可以被設定為64×64或有限的32×32或16×16。很多研究都展示出更大的樹編碼塊可以提供更高的壓縮效率(同樣也需要更高的編碼速度)。每個樹編碼塊可以被遞迴分割,利用四叉樹結構,分割為32×32、16×16、8×8的子區域,下圖就是一個64×64樹編碼塊的分割槽示例。每個影象進一步被區分為特殊的樹編碼塊組,稱之為切割(Slices)和拼貼(Tiles)。編碼樹單元是H.264的基本編碼單位,如同H.264的巨集塊。編碼樹單元可向下分割槽編碼單元(Coding Unit,CU)、預測單元(Prediction Unit,PU)及轉換單元(Transform Unit,TU)。

  每個編碼樹單元內包含1個亮度與2個色度編碼樹塊,以及記錄額外資訊的語法元素。一般來說影片大多是以YUV 4:2:0色彩取樣進行壓縮,因此以16 x 16的編碼樹單元為例,其中會包含1個16 x 16的亮度編碼樹區塊,以及2個8 x 8的色度編碼樹區塊。

 

 

 

編碼單元是H.265基本的預測單元。通常,較小的編碼單元被用在細節區域(例如邊界等),而較大的編碼單元被用在可預測的平面區域。

 

 

轉換尺寸

  每個編碼單元可以四叉樹的方式遞迴分割為轉換單元。與H.264主要以4×4轉換,偶爾以8×8轉換所不同的是,H.265有若干種轉換尺寸:32×32、16×16、8×8和4×4。從數學的角度來看,更大的轉換單元可以更好地編碼靜態訊號,而更小的轉換單元可以更好地編碼更小的“脈衝”訊號。

 

 

預測單元

  在轉換和量化之前,首先是預測階段(包括幀內預測和幀間預測)。

  一個編碼單元可以使用以下八種預測模式中的一種進行預測。

 

 

即使一個編碼單元包含一個、兩個或四個預測單元,也可以使用專門的幀間或幀內預測技術對其進行預測,此外內編碼的編碼單元只能使用2N×2N或N×N的平方劃分。間編碼的編碼單元可以使用平方和非對稱的方式劃分。

  幀內預測:HEVC有35個不同的幀內預測模式(包括9個AVC裡已有的),包括DC模式、平面(Planar)模式和33個方向的模式。幀內預測可以遵循變換單元的分割樹,所以預測模式可以應用於4×4、8×8、16×16和32×32的變換單元。

幀間預測:針對運動向量預測,H.265有兩個參考表:L0和L1。每一個都擁有16個參照項,但是唯一圖片的最大數量是8。H.265運動估計要比H.264更加複雜。它使用列表索引,有兩個主要的預測模式:合併和高階運動向量(Merge and Advanced MV.)。

 

 

  在編碼的過程,預測單元是進行預測的基本單元,變換單元是進行變換和量化的基本單元。這三個單元的分離,使得變換、預測和編碼各個處理環節更加靈活,

去塊化

  與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)

  -基於候選清單的運動向量預測。

  -多種幀內預測模式。

  -更精準的運動補償濾波器。

  -優化的去塊、取樣點自適應偏移濾波器等。

 

關鍵編碼特徵比較關鍵編碼特徵比較

 

 

 

 

與之前從H.261到H.264的其他標準相比,H.265的顯著改善不僅表現在幀間壓縮領域,還表現在幀內壓縮方面。由於可變數的尺寸轉換,H.265在塊壓縮方面有很大的改善,但是增加壓縮效率的同時也帶來了一些新挑戰。

  視訊編碼是一個複雜的問題,對於內容的依賴性很高。眾所周知,有靜態背景的和高亮的低動態場景可以比高動態、黑場的圖片進行更多的壓縮。所以對於像H.264這樣的現代化編解碼器來說首要解決的是最困難的場景/情境。例如,有細節的關鍵幀、高動態的“勾邊(crisp)”影象、黑暗區域的慢動態、噪聲/紋理等。

  H.265在幀內編碼方面效率更高,所以細節區域可以被編碼得更好,在平滑區域和漸變區域也是如此。與H.264相比,H.265的運動估計和壓縮更有效,而且在偽影出現前可以在更低的位元率上操作。好訊息是,H.265產生的偽影更加“平滑”,質量的降低也非常協調,即便對非常激進的解析度/位元率編碼時,也觀感良好。

  然而,正如硬幣的兩面,當處理黑暗區域的慢動態和噪聲/紋理兩種問題時,H.265的優勢也會變成弱勢。黑暗區域和噪聲/紋理要求更精確的高頻保留和更小的色階變化。這通常被稱之為編碼的心理優化。

  由於H.264使用小的轉換,可以輕鬆將量化誤差變成特徵/細節,雖然與原始內容不同,但是感覺上“近似”。接近原生頻率範圍的誤差生成可以通過小的邊界轉換來阻止,因此也更加可控。而更大轉換的H.265要使用這種方式則會更加複雜。

  H.265編碼視訊的儲存依然是個問題,即使藍光光碟協會正在尋求一個能夠在藍光光碟上儲存4K視訊的解決方案。只有至少達到100GB容量的光碟才能儲存H.264編碼的藍光4K電影。而另一方面,即使H.265編碼和晶片部件已經準備就緒,但是仍然缺少支援4K內容的儲存和重放解決方案,並且能夠相容現有的藍光標準。這也是H.265發展中的一個主要挑戰。

 

 

當你考慮“只是在普通網際網路上傳輸4K內容,還是要實現最好的影象質量”之時,就要先釐清“更多的壓縮”和“更好的壓縮”這兩個概念。如果只是更多的壓縮,4K和超高清不一定要保證比今天的1080p或HD做到更好的圖片質量。更好的壓縮則意味著更聰明的壓縮,面對同樣的原始素材,更好的壓縮會以更好的方式,在不犧牲質量的情況下令資料量減少。更多的壓縮很容易,而更好的壓縮需要更多的思考和更好的技術,通過更智慧的演算法來處理影象,在維持質量的同時保持更低的位元率,這正是H.265所要做的。

  如何實現更好的壓縮,舉例來講,我們通常會發現在很多的影象素材裡,如視像會議或者電影的很多場景中,每一幀上的大部分內容並沒有改變太多,視像會議中一般只有講話者的頭在動(甚至只有嘴脣在動),而背景一般是不動的,在這種情況下,我們的做法不是對每一幀的每一個畫素編碼,而是對最初的幀編碼,然後僅對發生改變的部分進行編碼。

 

 

在H.265大步向前的同時,谷歌VP8的繼任者VP9也已推出,同樣在VP8的基礎上號稱編碼效率提高50%,支援8K內容。VP9是一個開源和免費的規格,是WebM架構的一部分。谷歌已經在Chrome瀏覽器和YouTube中整合支援VP9。

  與H.265在表面上類似,它同樣可以抓取64×64個超級塊。但265不同的是,它不一定是平方形式的,所以它可以以64×32或4×8的塊來取樣,實現更大的效益。但另一方面,它只有10個預測模式來重建它們。

  兩者都很大程度上簡化了現有這些格式,儘管實現了相近的檔案尺寸,有初步的報告認為,H.265有更高的影象質量,而VP9對於流媒體來說更加可靠。H.265更大的預測模型實現了邊緣視覺化,而VP9實施更嚴格的編碼規則,似乎可以讓流媒體更加連貫和可靠。

  H.265與VP9的比較有一點類似於HDMI與DisplayPort的比較。後者以版權免費的方式去爭取一席空間,但是前者的無處不在的應用意味著它會有更廣泛的行業支援。這也是之前H.264輕鬆打敗VP8的原因。

  與此同時,第三個壓縮格式也在規劃之中,Xiph.Org基金會開發了“Daala”,雖然它還比較遙遠,但是Xiph稱其將是效能超越H.265和VP9的新一代規格。

 

 

高畫素數量導致需要更復雜的編解碼器來最小化頻寬需求。持續連線PC或TV,平滑處理4K訊號的最小碼流是20Mbit/s,例如Netflix要求使用者的網際網路連線至少提供持續的25Mbit/s頻寬量。20到25Mbit/s代表頻寬的巨大改善,原生的、非壓縮的4K視訊需要在60Mbit/s的頻寬上才會有好的表現。

  對於大多數的行業應用來說,H.265就是解決這一問題的答案之一,但是也要付出一定代價:顯著增加的演算法複雜性據說需要10倍目前2K部署所用H.264編解碼器的計算能力來支撐,而提供這種能力所需的矽也遠非一個簡單的商品條目。

  很多製造商希望在上游晶片和IC技術供應商的努力之下,解決成本和功能不平衡的問題,讓H.265快速取代H264。就目前來看,H.265在廣電領域已經有比較好的發展,但是否也會成為專業應用領域的主流規範還存有疑問。因為安防監控領域等專業領域不僅受制於上述挑戰,而且還要看終端使用者。對於專案化的專業使用者和需要監控的一般消費者而言,平安城市、交通檢測和銀行監控這類專業使用者需要更加穩定和可靠的系統。他們中大多數已經在使用現有的技術,對於是否採用H.265還心存猶豫,這就需要更長的驗證週期。

  另一方面,中小企業和家庭、商店使用者等消費者需要低安裝成本,因此更加傾向於採用新技術。基於這個原因,H.265可能首先在中小企業應用中獲得成功,並在消費者市場獲得認可。如果H.265標準快速成熟,其壓縮效率比H.264提升50%,它就能夠節省20%的投資,保證更高的效能和更替的網路和系統建設成本。

                                                   文章轉自網路http://www.imaschina.com/