日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > c/c++ >内容正文

c/c++

HEVC标准概览

發(fā)布時(shí)間:2023/12/13 c/c++ 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HEVC标准概览 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
HEVC標(biāo)準(zhǔn)概覽

HEVC(高效視頻編碼標(biāo)準(zhǔn))是ITU-T VCEG(國(guó)際電聯(lián)電信標(biāo)準(zhǔn)化部視頻編碼組)與ISO/IEC MPEG(國(guó)際標(biāo)準(zhǔn)化組織國(guó)際電工委員會(huì)視頻標(biāo)準(zhǔn)化組)的合作組織JCT-VC最新項(xiàng)目。ITU-T和ISO/IEC計(jì)劃在2013年1月共同發(fā)布第一個(gè)版本(譯者按:ITU-T已經(jīng)在2013-01-25發(fā)布,標(biāo)準(zhǔn)可見JCT-VC草案10)。標(biāo)準(zhǔn)將會(huì)包含一系列的擴(kuò)展,包括高精度色彩空間的支持、可伸縮編碼(SVC)、3D與多視角視頻。ISO/IEC將會(huì)把HEVC作為MPEG-H標(biāo)準(zhǔn)的第二部分(ISO/IEC 23008-2),ITU-T則會(huì)將其作為ITU-T的推薦標(biāo)準(zhǔn) —— H.265。

在視頻編碼領(lǐng)域,ITU-T開發(fā)了H.261和H.263,ISO/IEC開發(fā)了MPEG-1和MPEG-4 Visual。它們共同開發(fā)的H.262/MPEG-2和H.264/MPEG-4 AVC標(biāo)準(zhǔn)產(chǎn)生了極大的影響,被廣泛應(yīng)用在各種產(chǎn)品中,對(duì)我們的生活產(chǎn)生了深刻影響。視頻編碼技術(shù)的發(fā)展一直致力于追求更高的壓縮率,也不斷增強(qiáng)其它特性,如惡劣網(wǎng)絡(luò)下的傳輸,同時(shí)考量實(shí)現(xiàn)復(fù)雜度以及同時(shí)代數(shù)字設(shè)備的計(jì)算能力,以期能夠廣泛應(yīng)用。

HEVC主要在H.264/MPEG-4 AVC的基礎(chǔ)上發(fā)展而來(lái)。H.264/AVC項(xiàng)目1999-2003年間啟動(dòng),2003-2009年間幾經(jīng)重要擴(kuò)展,目前已經(jīng)在每個(gè)H.262/MPEG-2標(biāo)準(zhǔn)沒有覆蓋到的領(lǐng)域內(nèi)取代了之前的標(biāo)準(zhǔn),成為了數(shù)字視頻領(lǐng)域的使能技術(shù)。它的應(yīng)用領(lǐng)域非常廣,包括有高清電視信號(hào)的衛(wèi)星傳輸、有線傳輸和其他地面?zhèn)鬏斚到y(tǒng)、視頻錄制和編輯、攝像機(jī)、安防、互聯(lián)網(wǎng)、移動(dòng)網(wǎng)絡(luò)視頻、藍(lán)光光碟、視頻聊天、視頻會(huì)議和遠(yuǎn)程演示等等。

如今視頻服務(wù)越來(lái)越多樣化,高清視頻不斷增長(zhǎng),甚至超高清視頻(4kx2k、8kx4k分辨率)的需求也在逐步興起。這些現(xiàn)實(shí)都在呼喚比H.264/AVC更高壓縮效率的視頻編碼技術(shù)出現(xiàn)。尤其是超高分辨與3D和多視角復(fù)合使用的時(shí)候,對(duì)更高壓縮效率的需求是十分強(qiáng)烈的。更高質(zhì)量和分辨率的追求也會(huì)逐步反映在移動(dòng)設(shè)備上,而只是目前來(lái)講,移動(dòng)設(shè)備和平板電腦視頻的流量對(duì)移動(dòng)網(wǎng)絡(luò)已經(jīng)造成了沉重的負(fù)擔(dān)。

HEVC被設(shè)計(jì)來(lái)取代所有目前的H.264/AVC應(yīng)用,它專注于兩個(gè)關(guān)鍵問(wèn)題:更高的視頻分辨率和并行處理架構(gòu)。它的碼流盡量采用通用設(shè)計(jì),以能被所有應(yīng)用使用而不是只是和特定應(yīng)用或設(shè)備適配。

與之前ITU-T和ISO/IEC開發(fā)的視頻編碼標(biāo)準(zhǔn)一樣,HEVC標(biāo)準(zhǔn)只包含碼流的語(yǔ)法結(jié)構(gòu)以及碼流和解碼視頻間的映射關(guān)系。編碼和解碼的具體實(shí)現(xiàn)只要遵循標(biāo)準(zhǔn)中語(yǔ)法元素的語(yǔ)法語(yǔ)義和約束就可以與其它HEVC實(shí)現(xiàn)達(dá)成一致。標(biāo)準(zhǔn)最大限度給了具體實(shí)現(xiàn)以優(yōu)化的自由(方便廠商在質(zhì)量、成本、推向市場(chǎng)的時(shí)機(jī)與其它因素間取舍)。但也由于這樣的自由度,標(biāo)準(zhǔn)并無(wú)法保證端對(duì)端的分發(fā)質(zhì)量,標(biāo)準(zhǔn)完全允許粗糙與不完全的編碼實(shí)現(xiàn),只要它遵循規(guī)范即可。

為了幫助業(yè)界盡快理解新標(biāo)準(zhǔn),標(biāo)準(zhǔn)中不僅包含了文字描述,也包含了一份參考的軟件實(shí)現(xiàn)。這份代碼曾用于標(biāo)準(zhǔn)開發(fā)過(guò)程中的研究,它也可以用做通用的研究或是商業(yè)產(chǎn)品的基礎(chǔ)。此外,標(biāo)準(zhǔn)中還包含一套用于測(cè)試的數(shù)據(jù)集。

HEVC標(biāo)準(zhǔn)概覽(二)設(shè)計(jì)和技術(shù)要點(diǎn)

HEVC的設(shè)計(jì)兼顧提高編碼效率、降低傳輸壓力、增強(qiáng)丟包容忍性、優(yōu)化并行處理在內(nèi)的多個(gè)目標(biāo)。
本章將簡(jiǎn)要描述HEVC實(shí)現(xiàn)這些目標(biāo)的關(guān)鍵技術(shù)以及標(biāo)準(zhǔn)HEVC編碼器的處理流程。
解碼流程和具體的語(yǔ)法會(huì)在之后的章節(jié)討論。
一、編解碼層面

HEVC的編碼分層沿用了H.261以來(lái)的混合模式(幀間預(yù)測(cè)、幀內(nèi)預(yù)測(cè)、2D轉(zhuǎn)換)。下圖表達(dá)了編碼HEVC標(biāo)準(zhǔn)碼流的基本過(guò)程。

HEVC_flow

HEVC標(biāo)準(zhǔn)編碼過(guò)程大致如下:幀首先被切分成多個(gè)塊狀區(qū)域,分別傳輸給解碼器。圖像序列的第一個(gè)畫面(以及每一個(gè)可被拖放的幀)只使用幀內(nèi)預(yù)測(cè)編碼(只使用同一幀中其它區(qū)域進(jìn)行預(yù)測(cè),不依賴其他幀)。

其它幀中的塊大多數(shù)使用幀間預(yù)測(cè)編碼,過(guò)程包括選擇預(yù)測(cè)模式、參考圖像的運(yùn)動(dòng)數(shù)據(jù)和生成每個(gè)塊的運(yùn)動(dòng)矢量(MV)。

編碼器和解碼器通過(guò)旁路傳輸預(yù)測(cè)模式信息和運(yùn)動(dòng)矢量(MV),計(jì)算運(yùn)動(dòng)補(bǔ)償,進(jìn)而重建幀間預(yù)測(cè)數(shù)據(jù)。

幀內(nèi)或幀間的預(yù)測(cè)結(jié)果和實(shí)際畫面之間的殘差數(shù)據(jù)經(jīng)過(guò)空間-線性變換、采樣、量化、熵編碼后和預(yù)測(cè)信息一起傳輸。

編碼器會(huì)重復(fù)解碼器的處理循環(huán)(上圖中灰色方框的部分),以保證編解碼雙方對(duì)子序列作出一致的預(yù)測(cè)。但編碼器量化的參數(shù)被解碼器逆采樣、逆轉(zhuǎn)換還原后只能得到近似的殘差。

殘差和預(yù)測(cè)的結(jié)果合并后會(huì)進(jìn)入一或兩個(gè)循環(huán)濾波器以去處塊效應(yīng)。最終得出的畫面(解碼器的輸出)會(huì)存儲(chǔ)在緩沖區(qū)中作為視頻中其它圖像預(yù)測(cè)參考。

編解碼幀序很可能會(huì)和從源下來(lái)的幀序不一樣,因此對(duì)解碼器來(lái)說(shuō),需要一段緩沖區(qū)來(lái)應(yīng)對(duì)解碼順序(碼流順序DTS)和輸出順序(顯示順序PTS)間的差距。

一般而言,HEVC編碼器輸入都應(yīng)該是逐行掃描的(逐行源,或去交錯(cuò)處理后的隔行源)。HEVC的編碼設(shè)計(jì)沒有特意去支持隔行掃描,因?yàn)楦粜袙呙枰呀?jīng)不再用于最終顯示,在分發(fā)中使用隔行的場(chǎng)景也在大量減少。

但HEVC提供了一個(gè)元數(shù)據(jù)讓編碼器可以聲明這是一個(gè)按照?qǐng)鼍幋a的隔行視頻(每幀中其實(shí)只有一個(gè)場(chǎng)),每個(gè)畫面中只有一半的信息。這樣就簡(jiǎn)單而有效地降低了解碼器支持隔行視頻的復(fù)雜度。

下面我們介紹一些HEVC混合編碼特性中的要點(diǎn)。

1) 編碼樹單元(CTU)和編碼樹塊(CTB):
前代標(biāo)準(zhǔn)中的核心編碼層是宏塊,包含一個(gè)16×16的亮度塊采樣,對(duì)于一般的yuv420而言,會(huì)伴隨兩個(gè)8×8的色度塊采樣。類似結(jié)構(gòu)在HEVC中被稱作CTU,但它的大小是可以由編碼器設(shè)定的,并且可以超越16×16。CTU由一個(gè)亮度CTB、幾個(gè)色度CTB和一些關(guān)聯(lián)的語(yǔ)法元素組成。亮度CTB的可選大小有16×16、32×32、64×64,更大的塊會(huì)有更好的壓縮率。HEVC還支持使用樹結(jié)構(gòu)和四叉樹將CTB切分為更小的塊。

2) 編碼單元(CU)和編碼塊(CB):
CTU中的四叉樹確定了亮度和色度CB的大小和位置,四叉樹的根節(jié)點(diǎn)與CTU關(guān)聯(lián)。亮度CB最大可以支持到亮度CTB的大小。把CTU切成亮度和色度CB的過(guò)程是一體的。一個(gè)亮度CB、兩個(gè)色度CB和關(guān)聯(lián)的語(yǔ)法元素構(gòu)成一個(gè)CU。一個(gè)CTB可以只包含一個(gè)CU,也可以包含好幾個(gè)CU,每一個(gè)CU都有一個(gè)分區(qū)關(guān)聯(lián)的預(yù)測(cè)單元(PU)和一個(gè)變換樹單元(TU)。

3) 預(yù)測(cè)單元(PU)和預(yù)測(cè)塊(PB):
某幀圖像采用幀內(nèi)預(yù)測(cè)還是幀間預(yù)測(cè)是在CU層面決策的。PU分區(qū)結(jié)構(gòu)的根也在CU層。根據(jù)預(yù)測(cè)決策的結(jié)果,亮度和色度CB進(jìn)一步拆分為亮度和色度PB。HEVC支持從4×4到64×64大小的PB。

4) 變換單元(TU)和變換塊(TB):
預(yù)測(cè)殘差使用塊變換編碼。TU樹結(jié)構(gòu)的根在CU層面。亮度CB的殘差可能和亮度TB完全一樣,或者進(jìn)一步切分為更小的亮度TB。色度TB也是一樣的。4×4、8×8、16×16、32×32的TB都各自定義了近似DCT變換的基本整型方法。對(duì)于4×4的亮度幀內(nèi)預(yù)測(cè)的殘差變換,還有一個(gè)DCT變換表衍生的整型變換供選擇。

5) 運(yùn)動(dòng)矢量:
標(biāo)準(zhǔn)中采用了基于鄰近PB和參考幀數(shù)據(jù)來(lái)預(yù)測(cè)方向的高級(jí)運(yùn)動(dòng)矢量預(yù)測(cè)(AMVP)。MV編碼還可以使用一種允許繼承鄰近PB的MV的合并模式。此外,HEVC中還包含有一個(gè)增強(qiáng)版的H.264/AVC直接運(yùn)動(dòng)預(yù)測(cè)。

6) 運(yùn)動(dòng)補(bǔ)償:
MV使用四分之一采樣預(yù)測(cè)。分級(jí)采樣的插值使用7階或8階的濾波器(H.264/AVC中插值使用二分之一采樣的6階濾波器和四分之一采樣的線性插值)。和H.264/AVC一樣,HEVC也使用多參考幀。每一個(gè)PB可以根據(jù)單向或者雙向預(yù)測(cè)傳送一個(gè)或者兩個(gè)運(yùn)動(dòng)矢量。同H.264/AVC一樣,預(yù)測(cè)信號(hào)上可以附加采樣和偏移以聲明預(yù)測(cè)權(quán)重。

7) 幀內(nèi)預(yù)測(cè):
不使用幀間預(yù)測(cè)時(shí),就只能基于鄰近的塊來(lái)做空間上的幀內(nèi)預(yù)測(cè)。HEVC的幀內(nèi)預(yù)測(cè)支持33個(gè)方向模式(H.264/AVC中是8個(gè))。HEVC還設(shè)計(jì)了增強(qiáng)的二維變換和可選的DC預(yù)測(cè)模式。需要由預(yù)先解碼出的鄰近PB計(jì)算得出最優(yōu)的幀內(nèi)預(yù)測(cè)模式。

8) 量化控制:
和H.264/AVC一樣,HEVC也使用URQ(一致量化還原)。由于HEVC引入了更多的變換塊,所以量化參數(shù)矩陣也隨之增多。

9) 熵編碼:
HEVC使用CABAC來(lái)做熵編碼。和H.264/AVC中的CABAC相比,得益于新引入的并行處理架構(gòu),速度、壓縮率和內(nèi)存占用等方面均得到了大幅改善。

10) 內(nèi)置環(huán)路濾波器:
和H.264/AVC一樣,HEVC的幀間預(yù)測(cè)循環(huán)中也內(nèi)置去除塊效應(yīng)的濾波器。相比H.264/AVC,HEVC的設(shè)計(jì)更重視簡(jiǎn)化決策和濾波器的流程,并且為并行處理而優(yōu)化。

11) 采樣自適應(yīng)偏移(SAO):
幀間預(yù)測(cè)循環(huán)的去塊效應(yīng)濾波器之后引入了一個(gè)非線性的幅值映射的流程。主要目的是通過(guò)編碼器端的直方圖分析產(chǎn)出一些參數(shù)以增強(qiáng)解碼器端的幅值信號(hào)還原。
二、語(yǔ)法層面

H.264/AVC以來(lái)的語(yǔ)法基本得到了保留,HEVC在其基礎(chǔ)上加入了不少為應(yīng)用多樣性及網(wǎng)絡(luò)丟包而設(shè)計(jì)的特性。

1) 參數(shù)集結(jié)構(gòu):
能被多個(gè)區(qū)塊共享的解碼信息包含在參數(shù)集中。這個(gè)結(jié)構(gòu)負(fù)責(zé)保證把必不可少的解碼信息傳輸?shù)浇獯a端。它由H.264/AVC中的圖像序列參數(shù)集擴(kuò)展而來(lái),在HEVC中被稱為VPS。

2) NAL語(yǔ)法單元:
每個(gè)語(yǔ)法結(jié)構(gòu)都會(huì)被放進(jìn)一個(gè)叫做NAL(網(wǎng)絡(luò)抽象層)中的邏輯上的數(shù)據(jù)包中。這個(gè)包的包頭中有兩個(gè)字節(jié)表明了它裝載的是什么用途的數(shù)據(jù)(用于判斷是否需要重傳)。

3) 片:
可以不依賴同幀中的其它數(shù)據(jù)獨(dú)立進(jìn)行預(yù)測(cè)、殘差重建、熵編碼的部分被稱為“片”。片可以是一個(gè)幀也可以只是一個(gè)幀中的一部分。片的主要作用之一是在丟包時(shí)同步用。在包式傳輸中一個(gè)片可以包含的數(shù)據(jù)量是被嚴(yán)格限制的,在這個(gè)限制內(nèi)調(diào)整片內(nèi)包含的CTU數(shù)量可以有效地最小化包傳輸產(chǎn)生的額外開銷。

4) 增強(qiáng)信息(SEI)和視頻可用性信息(VUI):
SEI和VUI用于存儲(chǔ)視頻元數(shù)據(jù),比如說(shuō)時(shí)間戳、使用的色彩空間、3D填充的方式等等。
三、并行化設(shè)計(jì)和片的改良

最后要介紹的是HEVC中增強(qiáng)的并行處理架構(gòu)和為包傳輸而改良的片結(jié)構(gòu)。這兩個(gè)特性可能會(huì)在某些應(yīng)用中十分有用,具體實(shí)現(xiàn)可以考量自己的情況采用它們。

1) 并行塊(Tile)
HEVC定義了一個(gè)可選的方式,可以把一幀圖像分割成并行塊。并行塊的主要目的是在增強(qiáng)并行處理的能力同時(shí)又不引入新的錯(cuò)誤擴(kuò)散。并行塊是一些在一幀圖像內(nèi)使用一些共有的信息編碼而成,但可以獨(dú)立解碼的區(qū)域。一般的做法是將圖像切割成包含大體相同數(shù)量CTU的并行塊。并行塊的引入使得簡(jiǎn)單粗粒度的并行化處理成為可能,線程之間將不再需要考慮復(fù)雜的同步和鎖。

tiles

2) 錯(cuò)峰并行處理(WPP)
主要用于熵編碼。當(dāng)WPP開啟時(shí),片先被分成數(shù)個(gè)CTU行。第一行正常處理,第二行在第一行處理完2個(gè)CTU后開始處理,第三行在第二行處理完2個(gè)CTU后開始處理。每一行相對(duì)前一行都有2個(gè)CTU的延遲。WPP提供了一種在適當(dāng)?shù)膶蛹?jí)上(比如說(shuō)片)并行化的方式。WPP可以提供比并行塊更好的壓縮效率,而且不會(huì)引入塊效應(yīng)。

wavefront

3) 依賴更小片(Dependent slice segments)
這個(gè)設(shè)計(jì)允許數(shù)據(jù)與錯(cuò)峰并行處理或者并行塊關(guān)聯(lián)起來(lái),在碎片化的包傳輸網(wǎng)絡(luò)中,相對(duì)于一次編碼一整片而言,這種做法可以更快進(jìn)入解碼流程,從而降低延遲。與錯(cuò)峰并行處理一起使用用時(shí),它也需要類似錯(cuò)峰的機(jī)制。這項(xiàng)設(shè)計(jì)尤為適合低延遲要求下的并行處理。

接下來(lái)的兩章里,我們將會(huì)把關(guān)鍵特性的細(xì)節(jié)進(jìn)一步展開來(lái)講。

HEVC標(biāo)準(zhǔn)概覽(三)高層語(yǔ)法

HEVC從H.264/AVC的NAL(網(wǎng)絡(luò)抽象層)繼承了大量的語(yǔ)法元素。

NAL負(fù)責(zé)把視頻編碼層的數(shù)據(jù)映射到RTP/IP、ISO MP4、H.222.0/MPEG-2等視頻傳輸層上,并提供丟包處理的框架。

本章節(jié)不復(fù)述NAL單元、參數(shù)集、存取單元、碼流格式、包格式等基本概念。

NAL單元根據(jù)是否裝載有視頻編碼數(shù)據(jù)分為VCL和non-VCL兩類。為了優(yōu)化任意點(diǎn)解碼和解碼初始化,HEVC標(biāo)準(zhǔn)中根據(jù)不同的視頻種類進(jìn)一步細(xì)分出子類。

下表列舉了HEVC中NAL單元的種類及用途。

nal

下面我們介紹幾個(gè)HEVC在語(yǔ)法上的新特性:
一、任意點(diǎn)解碼和碼流拼接

H.264/AVC中,碼流必須從一個(gè)包含關(guān)鍵幀的IDR單元開始,它必須不依賴NAL中的前置的包就可以獨(dú)立解碼。IDR是封閉GOP(group of pictures)的標(biāo)志性組成部分。

新的純隨機(jī)讀取(CRA)語(yǔ)法定義了如何使用處于隨機(jī)讀取點(diǎn)(RAP)位置的關(guān)鍵幀。

比如說(shuō),告訴解碼器從一個(gè)臨時(shí)有效的位置直接開始解碼,忽略之前的視頻數(shù)據(jù),這種做法被稱作開放式的GOP操作。

隨機(jī)位置讀取的支持對(duì)頻道切換、拖動(dòng)操作和動(dòng)態(tài)流服務(wù)是十分關(guān)鍵的。

某些解碼順序在CRA幀之后,顯示順序在CRA幀之前的幀可能會(huì)參考解碼器buffer中還不存在的幀,于是這些解碼器無(wú)法解碼的幀就只能被丟棄。基于這種情況,這些幀被定義為拖動(dòng)可跳過(guò)的前置幀(RASL)。

不同的碼流之間切換可以通過(guò)斷點(diǎn)連接幀(BLA)來(lái)拼接。簡(jiǎn)單的把需要切換的碼流的RAP幀標(biāo)記為BLA放到當(dāng)前幀的下一個(gè)CRA幀的地方,然后傳輸新碼流就可以完成碼流拼接的工作。

RAP幀可以是IDR、CRA、BLA幀,CRA和BLA的后面都可能跟隨著RASL幀(BLA的NAL單元的標(biāo)記可定)。BLA幀之后的RASL幀解碼器必須拋棄,因?yàn)樗鼈兛赡軈⒖剂似唇忧霸创a流的幀導(dǎo)致無(wú)法解碼。

還有一種解碼順序在RAP幀之后,顯示順序在RAP幀之前的幀,叫做拖動(dòng)可解碼的前置幀(RADL),這種幀不會(huì)參考解碼順序在RAP之前的幀。

RASL和RADL可以統(tǒng)稱為前置幀(LP)。

解碼和顯示順序都在RAP幀之后的幀叫做后置幀,它們不可以將LP作為它們的參考。
二、臨時(shí)分層編碼

類似H.264/AVC的可伸縮編碼擴(kuò)展(SVC)的功能,HEVC可以在NAL的頭上臨時(shí)定一個(gè)分級(jí)預(yù)測(cè)的層。這樣就可以只解析到NAL層面就實(shí)現(xiàn)可伸縮性。

某些情況下,針對(duì)同一個(gè)碼流,解碼器可以自主決定臨時(shí)解碼層的數(shù)量。從低級(jí)子層到更高級(jí)子層切換的操作可以在臨時(shí)子層幀(TSA)和步進(jìn)臨時(shí)子層幀(STSA)完成。

TSA點(diǎn)允許切換到比當(dāng)前子層高的任意子層,STSA只允許切換到只比當(dāng)前子層高一級(jí)的下一層(除非更高的層也包含TSA或者STSA幀)。
三、擴(kuò)展參數(shù)集

新加入VPS元數(shù)據(jù)描述包括臨時(shí)層級(jí)依賴在內(nèi)的編碼視頻的全部特征。主要目的是增強(qiáng)在系統(tǒng)層的兼容擴(kuò)展性。

比如說(shuō),對(duì)未來(lái)可伸縮編碼或者多視角的視頻需要被舊的解碼器解碼時(shí),那么它就可以方便地忽略那些高級(jí)解碼器才需要的碼流擴(kuò)展信息。
四、參考幀集和參考幀列表

為了管理解碼多參考幀,已解碼好的幀被放在解碼幀緩沖區(qū)(DPB)中并被詳細(xì)標(biāo)記以供碼流中后續(xù)的幀參考。每個(gè)片的頭部都會(huì)包含一個(gè)幀序計(jì)數(shù)器(POC)以定位那些幀。

保留下來(lái)用以參考的幀集合叫做參考幀集合(RPS)。

下圖演示了一小段碼流的POC值、解碼順序和RPS。

DPS

H.264/AVC的DPB中有兩個(gè)幀的列表,分別叫做參考幀列表0和參考幀列表1。定位具體幀的索引叫做參考幀索引,如果列表中只有一個(gè)幀,則參考幀索引為0,不在碼流中傳輸。單向預(yù)測(cè)時(shí),可以從0和1兩個(gè)列表中選出一個(gè)幀。雙向預(yù)測(cè)時(shí),則會(huì)從兩個(gè)列表中各選一幀。

定位RPS和將參考幀列表用于幀間參考的語(yǔ)法比前代H.264/AVC的設(shè)計(jì)對(duì)丟包的兼容性更好,在拖動(dòng)和其它播放模式下(快進(jìn)、快退、動(dòng)態(tài)碼流切換等)也能工作地更好。

這項(xiàng)優(yōu)化的關(guān)鍵是讓語(yǔ)法更加明確可展現(xiàn),避免了之前對(duì)解碼器解碼過(guò)程中的中間狀態(tài)和臨時(shí)值的依賴。而且還比H.264/AVC中的語(yǔ)法更加簡(jiǎn)化了。

HEVC標(biāo)準(zhǔn)概覽(五)Profile、Tier和Level
一、Profile、Tier和Level的概念

這三個(gè)概念主要用于需要類似功能的不同實(shí)現(xiàn)之間的溝通。

Profile指出碼流中使用了哪些編碼工具和算法。

Level指出一些對(duì)解碼端的負(fù)載和內(nèi)存占用影響較大的關(guān)鍵參數(shù)約束。主要包括采樣率、分辨率、最大碼率,最小壓縮率,DPB容量,CPB(解碼緩沖區(qū))大小。

在HEVC的設(shè)計(jì)中,應(yīng)用可以只依據(jù)最大的碼率和CPB大小就可以區(qū)分。為了達(dá)成這個(gè)效果,有些Level定義了兩個(gè)Tier——Main Tier用于大多數(shù)應(yīng)用,High Tier用于那些最苛刻的應(yīng)用。

遵守某Level和tier的解碼器可以解碼所有等于或低于這個(gè)Level和Tier的碼流。

支持某Profile的解碼器必須支持此Profile中的所有特性。

編碼器不必實(shí)現(xiàn)Profile中所有的特性,但產(chǎn)出的碼流必須是遵守標(biāo)準(zhǔn)的,比如說(shuō)要遵守與之兼容的解碼器的約束。
二、HEVC中的Profile和Level

按照進(jìn)度,2013年1月有三個(gè)Profile將被寫入標(biāo)準(zhǔn),分別是Main、Main10和Main Still Picture,針對(duì)不同的應(yīng)用需求。

減少Profile的數(shù)量可以增強(qiáng)設(shè)備通用性的。未來(lái)還會(huì)促進(jìn)視頻服務(wù)一定程度上的融合,比如說(shuō)廣播、移動(dòng)、流,這些服務(wù)會(huì)逐漸匯聚到能全部支持它們的設(shè)備上。

本文之前討論的編碼工具和高層語(yǔ)法加上下面的限制條件組成了三個(gè)Profile的草案。

1) 只支持4:2:0色度采樣;
2) 編碼器使用多tile時(shí),不能同時(shí)使用錯(cuò)峰并行處理。而且每個(gè)tile至少有256亮度采樣寬,64亮度采樣高。
3) 在Main和Main Still Picture這兩個(gè)Profile中支持8位深度的采樣,Main10支持10位采樣深度。
4) Main Still Picture中,全部的碼流只能一幀編碼的視頻(意即禁用幀間預(yù)測(cè))。

下表中13個(gè)Level計(jì)劃包含在標(biāo)準(zhǔn)第一版中,它們的分辨率從176×144(QCIF)到7680×4320(8kx4k)。圖像的寬和高均需小于等于8倍的MaxLumaPS再開方。MaxLumaPS是下圖中的最大亮度幀尺寸(避免極端尺寸時(shí)解碼器產(chǎn)生錯(cuò)誤)。

level

有8個(gè)Level支持2個(gè)Tier(Level4及以上)。除了Level1偏高(要求350,000b)之外,CPB容量均等于最大碼率的1秒容量。當(dāng)使用Level最大的分辨率時(shí),CPB最大容量為6幀圖像(包括當(dāng)前幀、用于參考的幀和準(zhǔn)備輸出的幀)。如果降低分辨率的話,CPB可以容納16幀圖像(取決與具體采用的分辨率)。
Level還約束了每幀中垂直和水平方向tile的最大數(shù)量,以及每秒最大的tile數(shù)量
HEVC標(biāo)準(zhǔn)概覽(六)歷史沿革

ITU-T VCEG和ISO/IEC MPEG于2004年中完成了H.264/AVC的High Profile之后,就開始著手準(zhǔn)備下一代的標(biāo)準(zhǔn)。

VCEG在2004年開始準(zhǔn)備,2005初確定關(guān)鍵技術(shù)方向(KTA),并開發(fā)了一個(gè)通用的KTA軟件代碼庫(kù)。此代碼庫(kù)由H.264/AVC的參考軟件joint model(JM)開發(fā)而來(lái),它引入并驗(yàn)證了很多新技術(shù)。

2005到2008年間,MPEG開始探索顯著提升編碼效率的可能性。它組織了數(shù)個(gè)Workshop,并在2009年4月為這些技術(shù)發(fā)布了一篇“征集證據(jù)”。隨后專家開始觀測(cè)征集而來(lái)的評(píng)估和測(cè)試結(jié)果。

VCEG和MPEG分頭調(diào)查后,達(dá)成了現(xiàn)有編碼標(biāo)準(zhǔn)的效率可以顯著提升的共識(shí)。2010年1月兩個(gè)組織聯(lián)合建立了JCT-VC,同時(shí)發(fā)表定義了未來(lái)標(biāo)準(zhǔn)概況的視頻編碼技術(shù)聯(lián)合建議書(CfP)。

2010年4月JCT-VC第1次會(huì)議,項(xiàng)目名確定為HEVC,研究了反饋給CfP的建議,從數(shù)個(gè)有前途的技術(shù)建議中收集了一些元素,產(chǎn)出了審議測(cè)試模型的第一個(gè)版本(TMuC)。會(huì)后實(shí)現(xiàn)了相應(yīng)的代碼庫(kù)。一些關(guān)鍵性的技術(shù)已經(jīng)在《IEEE 視頻技術(shù)系統(tǒng)和電路匯報(bào)》里預(yù)先討論了。雖然TMuC在前代標(biāo)準(zhǔn)基準(zhǔn)上有顯著的效率提升,但在每個(gè)功能塊中都存在多余的編碼工具,它還是一個(gè)來(lái)自各種貢獻(xiàn)的簡(jiǎn)單集合體。

2010年7月JCT-VC第2次會(huì)議,開始通過(guò)測(cè)試TMuC每個(gè)組件的方式選擇每個(gè)功能塊所需編碼工具的最小集。

2010年10月JCT-VC第3次會(huì)議,在詳盡的組件測(cè)試的結(jié)果報(bào)告基礎(chǔ)上,完成了HEVC測(cè)試模型版本1(HM 1)和相應(yīng)的HEVC標(biāo)準(zhǔn)草案1(WD 1)。和TMuC相比,HM 1通過(guò)刪除沒必要的高復(fù)雜度的編碼工具,大大地簡(jiǎn)化了代碼庫(kù)。

隨后的研究中,HM的編碼工具被分為2類:追求高效率或低復(fù)雜度的。JCT-VC它們分別建立了測(cè)試場(chǎng)景。下表簡(jiǎn)述了HM 1中這兩個(gè)方向的編碼工具。

HMcodingtool

JCT-VC第4次到第11次會(huì)議中,除了編碼效率,包括降低實(shí)現(xiàn)復(fù)雜度、統(tǒng)一編碼工具、并行化設(shè)計(jì)等很多其它方面也被納入研究范圍。HEVC設(shè)計(jì)持續(xù)更新下,高效率和低復(fù)雜度之間的差異逐漸縮小,達(dá)成一個(gè)統(tǒng)一的Main Profile。下表簡(jiǎn)述了配置為高效率的HM 1和目前HEVC標(biāo)準(zhǔn)中的編碼工具。

HEVCcodingtool

2012年2月JCT-VC第8次會(huì)議,產(chǎn)出了HEVC標(biāo)準(zhǔn)草案第6版,ISO/IEC草案委員會(huì)投票通過(guò)。

2012年7月JCT-VC第10次會(huì)議,草案的第8個(gè)版本發(fā)布,作為國(guó)際標(biāo)準(zhǔn)草案投票,最終決定2013年1月作為ITU-T和ISO/IEC的最終國(guó)際標(biāo)準(zhǔn)草案發(fā)布。

JCT-VC的母體目前已經(jīng)在探索和準(zhǔn)備HEVC未來(lái)的擴(kuò)展。很可能支持更高精度的采樣深度、增強(qiáng)的色彩采樣、可伸縮編碼、3D和多視角視頻編碼(以及為高級(jí)的3D顯示器深度映射編碼)等特性。

HEVC標(biāo)準(zhǔn)概覽(七)總結(jié)

ITU-T VCEG和ISO/IEC MPEG合作開發(fā)了HEVC標(biāo)準(zhǔn),當(dāng)中包含了現(xiàn)代的高級(jí)視頻編碼技術(shù)。

HEVC視頻編碼層的基本設(shè)計(jì)依然是傳統(tǒng)基于塊的運(yùn)動(dòng)補(bǔ)償混合編碼,但相對(duì)前代標(biāo)準(zhǔn)作出了許多重要改進(jìn)。

新特性共同發(fā)揮作用時(shí),HEVC相對(duì)前代標(biāo)準(zhǔn)可以節(jié)省50%的碼率(針對(duì)高分辨率視頻尤為有效)。

編碼性能上的細(xì)節(jié),可以參見J.-R. Ohm、G. J. Sullivan、H. Schwarz, T. K. Tan和T. Wiegand的《Comparison of the coding efficiency of video coding standards— Including High Efficiency Video Coding (HEVC)》。

實(shí)現(xiàn)復(fù)雜度的分析超出了本文的范圍。但現(xiàn)代處理器技術(shù)之下,解碼器的復(fù)雜度并不是主要的負(fù)擔(dān)(相對(duì)H.264/AVC),編碼器的復(fù)雜度也是可控的。實(shí)現(xiàn)復(fù)雜度上的細(xì)節(jié),可以參見F. Bossen、B. Bross、K. Sühring和D. Flynn的《HEVC complexity and implementation analysis》。

標(biāo)準(zhǔn)的更多信息可以在JCT-VC的文檔管理系統(tǒng)(http://phenix.int-evry.fr/jct/)查閱。
致謝

感謝ITU-T VCEG、ISO/IEC MPEG和JCT-VC專家們的貢獻(xiàn)。


總結(jié)

以上是生活随笔為你收集整理的HEVC标准概览的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。