H.264 SVC

H.264 SVC

H.264 SVC (Scalable Video Coding)是以H.264為基礎,在語法和工具集上進行了擴展,支持具有分級特性的碼流,H.264SVC是H.264標準的附錄G,同時作為H.264新的profile。H.264SVC在2007年10月成為正式標準。

基本介紹

簡介,H.264 SVC是什麼,264 SVC與H.264 AVC 區別,分級編碼的概念,時域可分級,空間可分級,質量可分級,分級編碼的套用,1. 監控領域,2. 視頻會議領域,3. 流媒體IPTV套用,4. 兼容不同網路環境和終端的套用。,分級優點缺點,優點,缺點,對h264的擴展,語法擴展,技術擴展,SVC的技術,時域分級技術圖解,空域分級技術圖解,層間預測技術圖解,原理,空間分級編碼原理,質量分級編碼原理,SVC-->AVC重寫工具的原理圖解,時間分級實現方法,

簡介

SVC即ScalableVideoCoding(可適性視訊編碼或可分級視頻編碼)是傳統H.264/MPEG-4AVC編碼的改良,可提升更大的編碼彈性,並具有時間可適性(TemporalScalability)、空間可適性(SpatialScalability)及訊雜比(質量)可適性(SNRScalability)三大特性,使視訊傳輸更能適應在異質的網路頻寬。簡而言之,就是把視頻序列分成不同的部分並賦予不同的等級,根據實際的環境來選擇解碼

H.264 SVC是什麼

H.264SVC (Scalable Video Coding)是以H.264為基礎,在語法和工具集上進行了擴展,支持具有分級特性的碼流,H.264SVC是H.264標準的附錄G,同時作為H.264新的profile。H.264SVC在2007年10月成為正式標準。
H.264 SVC以H.264 AVC視頻編解碼器標準為基礎,利用了AVC編解碼器的各種高效算法工具,在編碼產生的編碼視頻時間上(幀率)、空間上(解析度)可擴展,並且是在視頻質 量方面可擴展的,可產生不同幀速率、解析度或質量等級的解碼視頻。

264 SVC與H.264 AVC 區別

AVC 實際上是 H.264 協定的別名。但自從 H.264 協定中增加了 SVC 的部分之後,人們習慣將不包含 SVC 的 H.264 協定那一部分稱為 AVC,而將 SVC 這一部分單獨稱為 SVC。所以提到 AVC 的時候,需要根據具體情況判斷到底是指 H.264 協定還是指協定中不包含 SVC 的那一部分;SVC是scalable video coding,有的翻譯成分層,有的翻譯成分級。H.264/AVC是JVT制定視頻編碼新標準。H. 264擴展標準支持多種可分級類型,其中空域可分級、時域可分級和質量可分級是可分級模式的典型代表。JM86的編解碼是基於AVC, JSVM的編解碼是基於SVC。
H.264 SVC(H.264可分級編碼)作為H.264標準的一個擴展最初由JVT在2004年開始制定,並於2007年7月獲得ITU批准。H.264 SVC以H.264 AVC視頻編解碼器標準為基礎,利用了AVC編解碼器的各種高效算法工具,在編碼產生的編碼視頻時間上(幀率)、空間上(解析度)可擴展,並且是在視頻質 量方面可擴展的,可產生不同幀速率、解析度或質量等級的解碼視頻。
H.264 SVC通過在GOP(編碼圖像組)中設定可丟棄的參考幀實現時間上的可分級。0-16視頻幀構成全幀率視頻,除T3標誌外的所有視頻幀構成了半幀率視頻,所有 T0標誌和T2標誌的視頻幀構成了1/3幀率視頻,所有 只是T0標誌的視頻幀構成了1/4幀率視頻。
SVC 時間可分級、SVC 空間可分級。H.264SVC通過在編碼碼流嵌入具有相關性的多個不同解析度的子流實現空間上的可分級。上層所有的視頻幀構成了高解析度視頻,下層所有的視頻幀構成了低解析度視頻
為此,具備H.264 SVC編碼的視頻會議系統,在保證高效的視頻壓縮性能的基礎上,視頻廣播端可以通過一次編碼產生具有不同幀率、解析度的視頻壓縮碼流,以適應不同網路帶 寬、不同的顯示螢幕和終端解碼能力的套用需求,從而有效地避免了視頻會議系統中MCU上複雜而昂貴的轉碼
H.264 SVC 與以往傳統視頻協定H.264AVC的區別表
傳統視頻協定
(H.264/AVC)
SVC視頻協定
(H.264/SVC)
視頻會議可以容忍的網路丟包率
< 2 – 3 %
<20%
對網路的要求
專線
共享線路
視頻會議延遲:
視頻會議效果
&Oslash; 400毫秒
&Oslash; 非實時互動
< 200毫秒
實時互動
HD 會議室型終端的開銷
昂貴
普及型

分級編碼的概念

碼器產生的碼流包含一個或多個可以單獨解碼的子碼流,子碼流可以具有不同的碼率,幀率和空間解析度。
分級的類型:

時域可分級

(Temporal scalability):可以從碼流中提出具有不同幀頻的碼流。

空間可分級

(Spatial scalability):可以從碼流中提出具有不同圖像尺寸的碼流。

質量可分級

(Quality scalability):可以從碼流中提出具有不同圖像質量的碼流。
分級類型示意圖分級類型示意圖

分級編碼的套用

1. 監控領域

監控視頻流一般產生2路,1路質量好的用於存儲,1路用於預覽。用SVC編碼器可以產生2層的分級碼流,1個基本層用於預覽,1個增強層保證存儲的圖像質量是較高的。使用手機遠程監控預覽的情況下,可以產生一個低碼率的基本層。

2. 視頻會議領域

視頻會議終端利用SVC編出多解析度,分層質量,會議的中心點替代傳統MCU二次編解碼方法改為視頻路由分解轉發。也可在網路丟包環境下利用時域可分級,拋棄部分時域級實現網路適應性。在雲視訊領域SVC也有想像空間。

3. 流媒體IPTV套用

伺服器可以根據不同的網路情況丟棄質量層,保證視頻的流暢。

4. 兼容不同網路環境和終端的套用。

針對不同網路和終端的套用針對不同網路和終端的套用

分級優點缺點

優點

分級碼流優點是套用非常靈活,可以根據需要產生不同的碼流或者提取出不同的碼流。使用SVC實現一次分層編碼比用AVC編多次更高效。分層編碼有技術優勢,新的編碼器H.265也使用了分層思想,可以實現靈活的套用,也可提高網路適應性。

缺點

分級碼流的解碼複雜度增加。基本層是AVC兼容碼流,編碼效率沒有影響。在同樣的條件下,分級碼流比單層碼流的壓縮效率要低10%左右,分級層數越多,效率下降越多,現在的JSVM編碼器最多支持3個空域分級層。在同樣的條件下,分級碼流比單層碼流的解碼計算複雜度高。SVC是2007年10月才做為正式標準,兼容性和對通性遠沒有AVC好,所以SVC實際套用不是廣泛。
分級編碼和單層編碼效率對比分級編碼和單層編碼效率對比
(1)對於時域分級,AVC已經實現,時域分級對編碼效率沒有影響。
(2)質量分級如圖 3(a)所示,質量可分級碼流對編碼效率影響大約在10%。
(3)空域分級如圖 3(b)所示,SVC空域分級編碼,不只是影響整體編碼效率,對於基本層(AVC層)的編碼效率也有10%的降低,基本層編碼效率降低的原因是基本層幀內預測受限。

對h264的擴展

語法擴展

(1)對NAL(Network Adaptive Layer)頭進行了擴展,用於描述碼流的分級信息。為了便於描述AVC兼容碼流的分級特性,定一個NAL類型為14的前綴NAL,該類型的NAL出現在AVC兼容碼流的NAL前面,用於描述AVC基本層碼流的分級信息。見圖 4、 圖 5。
NAL頭擴展NAL頭擴展
(2) 使用保留的NAL類型14、20編碼增強層碼流。

技術擴展

分層編碼為了提高編碼效率,就需要最大程度的利用層間相關性。SVC增加了層間預測的工具集,主要如下。
1.層間幀內預測(Inter-layer intra prediction)。
2.層間宏塊模式和運動參數預測(Inter-layer macroblock mode and motion prediction)。
3.層間殘差預測(Inter-layer residual prediction)

SVC的技術

時域分級技術圖解

時域分級示意圖時域分級示意圖
可以通過依次丟棄棕色、綠色、藍色得到不同幀頻的碼流。

空域分級技術圖解

空域分級技術圖解
空域分級示意圖空域分級示意圖

層間預測技術圖解

層間幀內預測(Inter-layer intra prediction):圖像紋理複雜並且幀間搜尋匹配不好的宏塊,如果基本層採用
的是幀內預測,增強層可以採用層間幀內預測模式提高編碼效率。具體做法是把基本層的I塊重建上採樣得到增強層的預測,增強層只需要傳原始圖像和層間幀內預測的殘差。
層間宏塊模式和運動參數預測(Inter-layer macroblock mode and motion prediction):如圖中所示,增強層的宏塊類型可以通過基本層預測獲取。增強層的運動參數也可以通過基本層運動參數上採樣獲取。這一點是h.264SVC和其他分級編碼技術的區別之一。其它分級編碼技術一般通過像素域的上採樣進行預測,而對於h.264SVC,認為時域相關性大的區域,利用層間的運動參數預測,在增強層做運動補償效率更高。對於層間運動參數的預測,語法支持的顆粒大小可以是一個宏塊,最小是一個8x8塊。
(左)幀內預測(中)類型預測(右)殘差預測(左)幀內預測(中)類型預測(右)殘差預測
層間殘差預測(Inter-layer residual prediction):如圖右所示,對於幀間編碼的宏塊,增強層的圖像殘差和基本層的圖像殘差具有相關性,可以利用基本層的殘差進行上採樣減少增強層編碼的圖像殘差。對於空間解析度發生變化的層間殘差預測,發生在殘差像素域,計算量較大;對於空間解析度不發生變化的層間殘差預測(質量分級),發生在變換係數或變換電平域,計算量較小。多層碼流只進行一次運動補償:通過技術上來保證只需要一次運動補償。因為層間預測沒有利用幀間塊的重建,所以參考層(或者稱為基本層)不需要解碼重建,層間預測使用的是運動矢量預測,對於解碼重建只需要最後做一次運動補償即可。這樣做的好處:(1)節省計算量,降低解碼複雜度;(2)減少對解碼器對記憶體的需求。

原理

空間分級編碼原理

舉例說明,兩層編碼,基本層為AVC編碼,增強層採用層間預測自適應編碼。
(1) 基本層採用AVC的編碼方式,限制條件就是幀內塊預測受限。
(2) 增強層的編碼可以利用基本層的運動矢量上採樣預測,殘差上採樣預測,I塊的像素上採樣預測,宏塊類型預測。同時增強層的宏塊也可以不採用層間預測,編碼方式類似AVC。

質量分級編碼原理

以2層的CGS(coarse-grain scalability)為例說明質量分級編碼的原理,不啟用SVC-->AVC重現選項。基本層採用AVC的編碼方式,限制條件就是幀內塊預測受限。因為解析度不變,可以更好的利用層間預測信息。IBL類型宏塊:層間I塊,利用基本層的I塊重建作為預測,對原始圖像減去層間預測的殘差進行編碼。利用運動矢量預測的P塊:即可以直接利用基本層的運動矢量作為當前層的運動矢量,也可以利用基本層的運動矢量作為預測運動矢量,在碼流中傳運動矢量的偏移。利用變換係數域預測的P塊:增強層的殘差進行變換之後得到變換係數,減去基本層的變換係數反量化之後的值,對得到的變化係數殘差進行量化,然後進行熵編碼傳輸。

SVC-->AVC重寫工具的原理圖解

使用提案“V-035”中的PPT中的圖說明原理。
H.264 SVC

時間分級實現方法

時域分級通過層次B幀或者層次P幀來實現,實際中一般使用層次B幀。通過語法元素中的Temporal_id標記不同的時域層,可以很方便的提取。

相關詞條

熱門詞條

聯絡我們