一、 為什么會(huì)有H265?
1.1 視頻分辨率 從720p 到 1080P 再到后面的4k 8k電視蓬勃發(fā)展
視頻幀率從30幀 到60幀,再到120幀
宏快個(gè)數(shù)爆發(fā)式增長(zhǎng)
宏快復(fù)雜度降低
運(yùn)動(dòng)矢量的復(fù)雜度大幅增加
1.2 H264需要改進(jìn)的原因
對(duì)于宏快壓縮算法還是以單個(gè)宏快進(jìn)行預(yù)測(cè)式壓縮杭棵,幀間預(yù)測(cè),從2003年都沒(méi)有發(fā)生過(guò)變化,也就是說(shuō)H264的核心原理一直沒(méi)變魂爪,當(dāng)初開(kāi)發(fā)編碼時(shí)先舷,不知道視頻分辨率會(huì)發(fā)展的如此之快。完全超出了H264能編碼的范疇滓侍。
H.265又稱為HEVC(全稱High Efficiency Video Coding蒋川,高效率視頻編碼,本文統(tǒng)稱為H.265)撩笆,是ITU-T H.264/MPEG-4 AVC標(biāo)準(zhǔn)的繼任者捺球。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開(kāi)始制定。第一版的HEVC/H.265視頻壓縮標(biāo)準(zhǔn)在2013年4月13日被接受為國(guó)際電信聯(lián)盟(ITU-T)的正式標(biāo)準(zhǔn)夕冲。
理論上H.265比H.264效率提高30-50%(尤其是在更高的分辨率情形下)氮兵。
二、 H265特點(diǎn)
2.1 降低碼流歹鱼,提升編碼效率
H.265提供了更加多樣化的手段來(lái)降低dao碼流泣栈。除了在編解zhuan碼效率的提升之外,對(duì)網(wǎng)絡(luò)的適應(yīng)性方面H.265也有顯著提升弥姻,可以很好地運(yùn)行在多重復(fù)雜網(wǎng)絡(luò)條件下南片。因此視頻會(huì)議應(yīng)用H.265,能夠確保在低網(wǎng)絡(luò)帶寬下蚁阳,仍可實(shí)現(xiàn)高分辨率的視頻播放铃绒。
2.2 高品質(zhì)1080P60圖像質(zhì)量
傳統(tǒng)H.264視頻會(huì)議系統(tǒng),在10Mb的網(wǎng)絡(luò)帶寬下螺捐,想要達(dá)到1080P30的實(shí)時(shí)通信效果颠悬,已經(jīng)是相當(dāng)困難了。現(xiàn)在運(yùn)用H.265編解碼技術(shù)定血,這種情況得到大大改觀赔癌,支持在相同帶寬下命黔,實(shí)現(xiàn)高于1080P30達(dá)到1080P60甚至是4k的視頻播放母市,大幅度提升交互感和逼真感。這也意味著:H.265能夠在有限帶寬下汞窗,傳輸更高質(zhì)量的視頻內(nèi)容茫虽,不僅讓視頻會(huì)議用戶體驗(yàn)到更好的效果刊苍,也減少了網(wǎng)絡(luò)帶寬傳輸高清視頻的壓力,降低用戶使用視頻會(huì)議的帶寬費(fèi)用濒析。
2.3 降低延時(shí)正什,更高效快捷。
H.265編解碼在H.264的基礎(chǔ)上進(jìn)行大量技術(shù)創(chuàng)新号杏,尤其是在降低實(shí)時(shí)時(shí)延上有著顯著的成果婴氮,它通過(guò)減少信息獲取時(shí)間、降低隨機(jī)接入時(shí)延、降低算法復(fù)雜度等多維度技術(shù)優(yōu)勢(shì)來(lái)實(shí)現(xiàn)主经。
三荣暮、 H.264與H.265的主要差異
3.1 壓縮性能比較
H.265/HEVC HM-9.0 和H.264 JM-18.4 的BD-rate 比較:
AllIntra case: 22%
RandomAccess case: 34%
LowDelay case: 37%
3.2 塊劃分結(jié)構(gòu)
在H.265中,將宏塊的大小從H.264的16×16擴(kuò)展到了64×64罩驻,以便于高分辨率視頻的壓縮穗酥。
同時(shí),采用了更加靈活的編碼結(jié)構(gòu)來(lái)提高編碼效率惠遏,
包括編碼單元(CodingUnit)迷扇、預(yù)測(cè)單元(PredictUnit)和變換單元(TransformUnit)。
3.3 幀內(nèi)預(yù)測(cè)模式
本質(zhì)上H.265是在H.264的預(yù)測(cè)方向基礎(chǔ)上增加了更多的預(yù)測(cè)方向
H.265:所有尺寸的CU塊爽哎,亮度有35種預(yù)測(cè)方向,色度有5種預(yù)測(cè)方向
H.264:亮度 4x4塊9個(gè)方向器一,8x8塊9個(gè)方向课锌,16x16塊4種方向,色度4種方向
H.264的幀內(nèi)預(yù)測(cè)方向:H.265的幀內(nèi)預(yù)測(cè)方向:
3.4 幀間預(yù)測(cè)
本質(zhì)上H.265是在H.264基礎(chǔ)上增加插值的抽頭系數(shù)個(gè)數(shù)祈秕,改變抽頭系數(shù)值以及增加運(yùn)動(dòng)矢量預(yù)測(cè)值的候選個(gè)數(shù)渺贤,以達(dá)到減少預(yù)測(cè)殘差的目的。
H.265與H.264一樣插值精度都是亮度到1/4请毛,色度到1/8精度志鞍,但插值濾波器抽頭長(zhǎng)度和系數(shù)不同.
H.265的增加了運(yùn)動(dòng)矢量預(yù)測(cè)值候選的個(gè)數(shù),而H.264預(yù)測(cè)值只有一個(gè)
四方仿、 H265 幀類型判斷
和264的&0x1f不同固棚。265是 :
int type = (code & 0x7E)>>1;
在文件中查找00 00 00 01NALU頭,發(fā)現(xiàn)在有6種開(kāi)頭分別為:
00 00 00 01 40 01 的nuh_unit_type的值為 32仙蚜, 語(yǔ)義為視頻參數(shù)集 VPS
00 00 00 01 42 01 的nuh_unit_type的值為 33此洲, 語(yǔ)義為序列參數(shù)集 SPS
00 00 00 01 44 01 的nuh_unit_type的值為 34, 語(yǔ)義為圖像參數(shù)集 PPS
00 00 00 01 4E 01 的nuh_unit_type的值為 39委粉, 語(yǔ)義為補(bǔ)充增強(qiáng)信息 SEI
00 00 00 01 26 01 的nuh_unit_type的值為 19呜师, 語(yǔ)義為可能有RADL圖像的IDR圖像的SS編碼數(shù)據(jù) IDR
00 00 00 01 02 01 的nuh_unit_type的值為1, 語(yǔ)義為被參考的后置圖像贾节,且非TSA汁汗、非STSA的SS編碼數(shù)據(jù)
在編碼過(guò)程中,從編碼器獲取碼流的時(shí)候栗涂,1知牌、2、3戴差、4送爸、5是在一幀數(shù)據(jù)當(dāng)中。相當(dāng)于H264的I幀。
五袭厂、 碼流解析
5.1 預(yù)截取一段HEVC視頻碼流
5.2 預(yù)截取一段HEVC視頻碼流
5.3 具體分析說(shuō)明
第一個(gè)NALU:0x00000001 NAL起始碼 0x40>>1墨吓,0x20,十進(jìn)制32纹磺,為NAL_VPS(Video Parameter Set視頻參數(shù)集)帖烘。
第二個(gè)NALU:0x00000001 NAL起始碼 0x42>>1,0x21橄杨,十進(jìn)制33秘症,為NAL_SPS(Sequence Parameter Set序列參數(shù)集)。
第三個(gè)NALU:0x00000001 NAL起始碼 0x44 >> 1式矫,0x22乡摹,十進(jìn)制34,為NAL_PPS(Picture Parameter Set圖像參數(shù)集)采转。
第四個(gè)NALU:0x00000001 NAL起始碼 0x4E >> 1聪廉,0x27,十進(jìn)制39故慈,為NAL_SEI_PREFIX(Supplemental enhancement information)
第五個(gè)NALU:0x00000001 NAL起始碼 0x26 >> 1板熊,0x13,十進(jìn)制19察绷, 為NAL_IDR_W_RADL(Instantaneous decoding refresh)