TI的H264 SOC方案是目前常用的視訊解決方案,TI針對視頻會議,視頻監控,視頻存儲等場景細化需求並優化了H264技術。
1. TI H.264背景
如今視頻壓縮技術在視頻領域有非常多的應用需求。
H.264編解碼器幾乎能適用於所有的視頻壓縮場景。
H.264編解碼器標准推出到如今已有十多年了。很多廠商都提供H.264解決方案。TI面對的競爭很激烈。
面對競爭,TI提供二種差異化特性:1)可編程性 2)開放性。
本次TI H.264介紹是針對TI SOC,如DM36X, Netra(DM616X) 和 Centaurus(DM814X)。
2. H.264各種視頻應用的需求。
TI面對的視頻應該場景如圖1所示:
1. 視頻會議。
2. 視頻安防和監控。
3. 多媒體存儲。
4. 數碼錄像。
5. 數字電視衛星視頻。
6. 移動數字媒體。
應用 |
關注點 |
可視電話,視頻會議 |
低時延,低碼率,高幀率,編解器錯誤修復。 |
視頻安防和監控 |
中等或低碼率,存儲性優化,隨機訪問,支持大尺寸圖像。 |
多媒體存儲 |
高圖像質量,隨機訪問,低成本。 |
數碼錄像 |
低功耗,高圖像質量,中等碼率。 |
數字電視衛星視頻 |
高圖像質量。 |
移動數字媒體 |
低復雜度編解碼,編解器錯誤修復。 |
互聯網流媒體 |
低碼率,多格式解碼。 |
編解碼特性 |
視頻監控 |
視頻會議 |
數碼攝像 |
隨機訪問,I幀間隔短 |
有要求 |
無要求 |
有要求 |
可接受時延 |
1000毫秒(DVR)100至500毫秒(IPC) |
20至100毫秒 |
可無限制 |
誤碼容忍度 |
低 |
高 |
低 |
固定碼率 |
無要求(DVR)/有要求(IPC) |
有要求 |
無要求 |
碼率 |
低 |
低 |
中等 |
內容感知 |
有要求 |
無要求 |
無要求 |
視頻分析 |
有要求 |
無要求 |
無要求 |
低功耗 |
無要求(DVR) |
無要求/有要求(移動或便攜視頻會議) |
無要求 |
綜合表1和表2對視頻編解碼的需求總結為:需要最好的視頻質量和最優編碼表現。(TI表示壓力很大)
3. 非鏈式P幀
H.264標准允許靈活的參考幀。多P幀可參考最后一個I幀,而不是參考前一幀,形成一種非鏈式P幀。雖然這種方法會導致編碼壓縮率減小,但能得到較高的抗丟包能力和更靈活的隨機播放能力。
圖2
圖3
如圖2中,第1幀是I幀,第2,3,4,5幀是P幀。如果第2幀丟失,第3,4,5幀即使收到也不能還原解碼正常圖像。但在圖3中,第2幀丟失不影響后續3,4,5幀正常解碼,只要所依賴的第1幀到達即可。
存儲播放時也優勢。如要隨機播放第5幀圖像時,只需讀取第1,5二幀解碼即可。而在鏈式參考模型里要解碼1,2,3,4幀后再解碼第5幀才能得到圖像。非鏈式可以減少三幀的讀取和解碼開銷。
4. 動態改變編碼參數
H.264編碼器支持動態改變碼率,幀率和圖像分辨率。比如在網絡帶寬變化時,編碼器可改變參數來適應。
5. 支持大尺寸
支持大尺寸編碼在視頻監控中是很好的賣點,這樣在圖像數字放大后能得到更好的圖像效果。現在編碼支持4K,2K的圖像大小。
6. 圖像分析
H.264視頻編碼算法對圖像有運算和查找運動矢量的功能。利用每幀圖像的運動矢量可以提供圖像分析的功能。
例如:
視頻安防,在發現監控畫面有物體運動可發出提示。
監控錄像時發現在低運動場景時可用低碼率編碼以節省存儲資源。
監控錄像時根據物體運動矢量讓攝像頭自動跟蹤物體。
7. 低時延
傳統的視頻通信時延由7個部分組成,
1. 采集
2. 編碼
3. 發送
4. 網絡傳輸
5. 接收
6. 解碼
7. 播放顯示
除了發送,網絡傳輸,接收的時間,其他部分獨自耗時約33毫秒。
點對點最小時延 = 4*33 + X= (132 + X) ms,X = 發送+網絡傳輸+接收
編碼低時延在視頻會議(網真),視頻交互游戲等應用有較高要求。
TI能提供新的API接口應用於小於幀級數據處理。在slice級就可進行數據交換,而不是等到一幀編碼結束,這樣編碼時延可以從33 ms降到2ms以下。
8. 固定slice大小的編碼
固定slice大小的好處是有利於編碼后的網絡傳輸。可指定slice大小為網絡MTU大小。編碼器能做到就不需要網絡層做。但固定slice大小的代價是編碼壓縮率會降低。
9. 視頻漸近刷新
視頻漸近刷新GDR(Gradual decoder refresh)是相對一幀完整刷新而來。傳統IDR刷新的缺點是IDR幀大小相比圖像質量相近的P幀更大,這樣會對網絡有沖擊,導致網絡抖動和擁塞。而GDR會帶來更優的網絡適應性。
GDR是通過P幀內包括I塊組的方法來實現漸近刷新。

10. SVC技術
H.264 SVC(H.264可分級編碼)作為H.264標准的一個擴展最初由JVT在2004年開始制定,並於2007年7月獲得ITU批准。H.264 SVC以H.264 AVC視頻編解碼器標准為基礎,利用了AVC編解碼器的各種高效算法工具,在編碼產生的編碼視頻時間上(幀率)、空間上(分辨率)可擴展,並且是在視頻質量方面可擴展的,可產生不同幀速率、分辨率或質量等級的解碼視頻。
H.264 SVC通過在在編碼碼流嵌入具有相關性的多個不同分辨率的子流實現空間上的可分級。上層所有的視頻幀構成了高分辨率視頻,下層所有的視頻幀構成了低分辨率視頻為此,具備H.264 SVC編碼的視頻會議系統,在保證高效的視頻壓縮性能的基礎上,視頻廣播端可以通過一次編碼產生具有不同幀率、分辨率的視頻壓縮碼流,以適應不同網絡帶 寬、不同的顯示屏幕和終端解碼能力的應用需求,從而有效地避免了視頻會議系統中MCU上復雜而昂貴的轉碼。
傳統H.264 AVC,能容忍的丟包率小於2%,而H.264 SVC能能容忍20%左右的丟包。
11. 感興趣區域(ROI)編碼
感興趣區域ROI (Region Of Interest),在圖像壓縮編碼時,對某些特定區域(如人臉等)的簡稱,就是在要待處理的圖像中提取出的要處理的區域。
針對ROI,視頻會議場景編碼器可以分配更多的碼流給人臉區域,讓面部表情更清晰。或者在監控場景對需要打馬賽克區域分配更少的碼流。
12. TI SOC 數據
注意以下表格是TI好幾年前的數據,TI當時沒實現的現在有的已實現。
從上圖可知DM81XX 是支持 H.264 SVC的。