H.264可擴(kuò)展視頻編解碼器(SVC)應(yīng)用詳解
可擴(kuò)展視頻編解碼器已經(jīng)被開發(fā)了許多年。廣播行業(yè)嚴(yán)格地受到業(yè)已建立的各種標(biāo)準(zhǔn)的控制,因此在采用這一技術(shù)上一直反應(yīng)遲緩。處理器、傳感器以及顯示技術(shù)的進(jìn)步正在點(diǎn)爆各種視頻應(yīng)用?;ヂ?lián)網(wǎng)以及IP技術(shù)正無縫地把視頻伺服至更為不同和遠(yuǎn)程的由顯示設(shè)備構(gòu)成的社群??蓴U(kuò)展視頻編解碼器——如H.264 SVC滿足了許多這些系統(tǒng)的需求,并且它們可能促使視頻被廣泛采納為通信媒介的催化劑。
編解碼器被用于壓縮視頻,以減小傳輸視頻流所需要的帶寬,或者,降低把視頻文件存檔所需要的存儲(chǔ)空間。這種壓縮的代價(jià)就是增大計(jì)算要求:壓縮比越高,對(duì)計(jì)算能力的要求就越高。
在帶寬與計(jì)算要求之間做出折中,對(duì)于定義承載編碼視頻流所需要的最小信道帶寬以及編碼設(shè)備的最小指標(biāo)均有影響。在傳統(tǒng)的像廣播電視機(jī)這樣的視頻系統(tǒng)中,解碼器的最小規(guī)范(在機(jī)頂盒的情形下)易于被定義。
然而,目前視頻被越來越多地由各種各樣的應(yīng)用所采用,相應(yīng)地,有各種各樣的客戶設(shè)備,這些設(shè)備包括從計(jì)算機(jī)觀看互聯(lián)網(wǎng)視頻,到便攜式數(shù)字助理(PDA)以及小巧的蜂窩電話。針對(duì)這些設(shè)備的視頻流必需是不同的。
為了更好地兼容特定的觀看設(shè)備以及信道帶寬,必須采用不同的設(shè)置對(duì)視頻流多次編碼。每一個(gè)設(shè)置的組合必須向用戶產(chǎn)生一個(gè)滿足視頻流傳輸所需帶寬的視頻流以及對(duì)觀看設(shè)備進(jìn)行解碼的能力。如果原始解壓視頻流不可用,那么,編碼視頻流必須首先被解碼,然后采用新的設(shè)置進(jìn)行解碼。這種做法是十分昂貴的。
在理想的情形下,視頻僅僅以高效率的編解碼器被編碼一次。如果經(jīng)過解碼的話,得到的視頻流會(huì)產(chǎn)生全分辨率的視頻。此外,在理想的情形下,如果較低分辨率或帶寬的視頻流需要被進(jìn)一步延伸至網(wǎng)絡(luò)之中,以鎖定較低性能的設(shè)備,那么,可以不必采取附加的處理,就能夠發(fā)送一小部分的編碼視頻。這種較小的視頻流便于解碼并產(chǎn)生較低分辨率的視頻。以這種方式,編碼視頻流自身就能夠適應(yīng)它需要經(jīng)過的信道帶寬以及目標(biāo)設(shè)備的性能。這些就是可擴(kuò)展視頻編解碼器的品質(zhì)所在。
H.264 可擴(kuò)展視頻編解碼器
擴(kuò)展至H.264的可擴(kuò)展視頻編解碼器(H.264 SVC),被設(shè)計(jì)來傳遞上述理想情形的各種好處。它以H.264先進(jìn)視頻編解碼器標(biāo)準(zhǔn)(H.264 AVC)為基礎(chǔ),并高度利用了原始編解碼器的各種工具以及概念。然而,它產(chǎn)生的編碼視頻是空間上臨時(shí)可擴(kuò)展的,并且是在視頻質(zhì)量方面可擴(kuò)展的。也就是說,它能夠產(chǎn)生不同幀速率、分辨率或質(zhì)量等級(jí)的解碼視頻。
SVC擴(kuò)展引入了一種原始H.264 AVC編解碼器—在編碼視頻內(nèi)的各層—不存在的概念?;A(chǔ)層對(duì)視頻流的最低臨時(shí)、空間和品質(zhì)表現(xiàn)進(jìn)行編碼。增強(qiáng)各層利用基礎(chǔ)層作為起點(diǎn),對(duì)附加信息進(jìn)行編碼,從而在解碼過程中把編碼結(jié)果用于重構(gòu)高質(zhì)量、高分辨率或;臨時(shí)的視頻版本。
通過對(duì)基本層以及僅僅是所需要的后來增強(qiáng)層進(jìn)行解碼,解碼器能夠以所希望的特征產(chǎn)生一種視頻流。圖1所示為H.264 SVC流的分層結(jié)構(gòu)。在編碼的過程中,要利用僅僅對(duì)較低級(jí)各層的參考,小心地解碼一個(gè)特殊層。以這種方式,編碼流可以在任意點(diǎn)被刪節(jié),但是,仍然維持有效的、可解碼的視頻流。
圖1:H.264 SVC分層結(jié)構(gòu)。
這種分層方法讓所生成的一個(gè)編碼流能夠被刪節(jié)以限制所消耗的帶寬或者降低解碼計(jì)算的要求。刪節(jié)過程完全通過從編碼視頻流提取所需要的各層而構(gòu)成。這個(gè)過程甚至能夠在網(wǎng)絡(luò)中執(zhí)行。
圖2:調(diào)節(jié)等級(jí)以降低帶寬和分辨率。
也就是說,隨著視頻流從高帶寬轉(zhuǎn)換為較低帶寬的網(wǎng)絡(luò)(例如,通過WiFi鏈路從以太網(wǎng)轉(zhuǎn)換至手持),要針對(duì)可用的帶寬調(diào)節(jié)視頻流的大小。在上述例子中,要針對(duì)無線鏈路的帶寬調(diào)節(jié)視頻流的大小以及手持解碼器的解碼能力。圖2顯示了個(gè)人電腦把低帶寬的視頻流轉(zhuǎn)為為移動(dòng)設(shè)備視頻流的例子。
H.264 SVC揭秘
為了實(shí)現(xiàn)臨時(shí)的可擴(kuò)展性,H.264 SVC鏈接其參考幀以及預(yù)測幀,這與傳統(tǒng)的H.264 AVC編碼器稍微不同。SVC采用分層預(yù)測結(jié)構(gòu),如圖3所示,而不是傳統(tǒng)的內(nèi)幀(I幀)、雙向幀(B幀)以及預(yù)測幀(P幀)的關(guān)系。
圖3:傳統(tǒng)的I、P和B幀的關(guān)系。
分層結(jié)構(gòu)定義最終視頻流的臨時(shí)分層。圖4描述了可能的分層結(jié)構(gòu)。在這個(gè)特殊的例子中,各幀僅僅根據(jù)上次出現(xiàn)的各幀進(jìn)行預(yù)測。這就確保該結(jié)構(gòu)不僅僅展示臨時(shí)的可擴(kuò)展性,而且顯示了低的延遲。
圖4:在SVC中的分層預(yù)測幀。
這個(gè)方案具有四個(gè)嵌套的臨時(shí)層:T0 (基礎(chǔ)層)、T1、T2和T3。由T1和T2各層構(gòu)成的幀僅僅由T0層中的各幀預(yù)測。在T3層中的各幀僅僅由T1或T2各層中的各幀來預(yù)測。
為了以3.75幀每秒的速度播放編碼幀,僅僅構(gòu)成T0的各幀需要被解碼。所有的其它各幀可以被丟棄。為了以7.5fps的速度播放,要對(duì)構(gòu)成T0以及T1的各層進(jìn)行解碼。在T2和T3中的各幀被丟棄。類似地,如果構(gòu)成T0、T1和T2的各幀被解碼,所得到的視頻流將以15fps的速度播放。如果所有幀均被解碼,那么,完全的30fps視頻流被恢復(fù)。
相比之下,在H.264 SVC(對(duì)于Baseline Profile來說,僅僅雙向預(yù)測幀被應(yīng)用)中,不管需要的顯示率是什么,所有幀均需被解碼。為了轉(zhuǎn)換至一個(gè)低帶寬網(wǎng)絡(luò),整個(gè)視頻流均需要被解碼,不需要的幀可以被丟棄,然后,重新編碼。
在H.264 SVC中的空間可擴(kuò)展性遵循類似的原則。在這一情形下,較低分辨率的各幀被編碼為基礎(chǔ)幀。經(jīng)解碼和上行采樣的基礎(chǔ)幀被用于對(duì)較高階各層進(jìn)行預(yù)測。重構(gòu)原始場景細(xì)節(jié)所需要的附加信息被編碼為一個(gè)獨(dú)立的增強(qiáng)層。在某些情形下,重用運(yùn)動(dòng)信息能夠進(jìn)一步增加編碼效率。
同時(shí)聯(lián)播與SVC
在H.264 SVC中存在于可擴(kuò)展性相關(guān)的開銷。正如我們?cè)趫D3中所看到的那樣,參考幀與預(yù)測幀之間的距離在時(shí)間(例如從T0至T1)上比傳統(tǒng)的幀結(jié)構(gòu)要長。在具有高運(yùn)動(dòng)圖像的場景中,這能夠?qū)е滦噬缘偷膲嚎s。為了對(duì)視頻流各層級(jí)結(jié)構(gòu)進(jìn)行管理,也存在相關(guān)的開銷。
整體而言,跟不具備可擴(kuò)展性的全分辨率以及全幀速率視頻構(gòu)成的H.264視頻流相比,具有三層臨時(shí)可擴(kuò)展性以及三層空間可擴(kuò)展性的SVC視頻可能要大20%以上。如果采用H.264 編解碼器對(duì)可擴(kuò)展性進(jìn)行仿真,就需要多個(gè)編碼視頻流,從而導(dǎo)致更高的帶寬要求或貫穿網(wǎng)絡(luò)的昂貴解碼和二次編碼。
SVC的額外好處:
誤碼恢復(fù)
誤碼恢復(fù)的傳統(tǒng)實(shí)現(xiàn)方法是把附加的信息添加至視頻流之中,以便監(jiān)測和校正誤碼。SVC的分層方法意味著不需要增加大的開銷,就可以在較小的基本層上執(zhí)行高級(jí)別的誤碼監(jiān)測和校正。如果要把相同程度的誤碼監(jiān)測和校正功能應(yīng)用于AVC視頻流中,那就需要把整個(gè)視頻流保護(hù)起來,從而導(dǎo)致視頻流更大。如果在SVC視頻流中監(jiān)測出誤碼,那么,就可以逐漸讓分辨率和幀速率退化,直至—如果需要的話—只有高度受保護(hù)的基礎(chǔ)層才可以使用。按照這一方式,在噪聲條件下的退化要比在H.264 AVC環(huán)境下更讓人可以接受。
存儲(chǔ)管理
因?yàn)镾VC視頻流或文件即使在被刪節(jié)的情況下仍然可被解碼,SVC既可以在傳輸過程之中、也可以在文件被存儲(chǔ)之后采用。把被分解的文件存儲(chǔ)在光盤上并取消增強(qiáng)層,就可以在不對(duì)存儲(chǔ)在文件中的視頻流進(jìn)一步處理的情況下,壓縮文件的大小。這對(duì)于需要“要么全部管、要么不管”的方法進(jìn)行光盤管理的AVC文件來說是不可能的。
內(nèi)容管理
SVC視頻流或文件固有地包含較低分辨率以及幀速率的視頻流。這些視頻流可以被用于加速視頻分析的應(yīng)用或分類各種算法。臨時(shí)可擴(kuò)展性也使得視頻流易于以快速進(jìn)退的方式搜索。
應(yīng)用案例
H.264 SVC的典型應(yīng)用是監(jiān)控系統(tǒng)(Stretch公司在這個(gè)領(lǐng)域提供市場領(lǐng)先的解決方案,請(qǐng)?jiān)L問其網(wǎng)站了解更多的細(xì)節(jié))。以IP攝像機(jī)把視頻饋入視頻內(nèi)容被存儲(chǔ)的控制間的情況為例,在視頻流上要運(yùn)行基本運(yùn)動(dòng)監(jiān)測分析。在控制間顯示器上,以攝像機(jī)最大的分辨率(1280 x 720)觀看饋入的視頻,并以D1 (720 x 480)的分辨率存儲(chǔ)在保存光盤空間上。第一反應(yīng)團(tuán)隊(duì)也在現(xiàn)場反應(yīng)車內(nèi)的移動(dòng)終端上接入視頻流。那些顯示器的分辨率是CIF (352 x 240),而視頻流的伺服速率為7fps。
在利用H.264 AVC實(shí)現(xiàn)的過程中,首要約束可能就是該攝像機(jī)伺服多個(gè)視頻流。在這個(gè)例子中,一個(gè)分辨率為1280x720,而另一個(gè)分辨率為720 x 480。在就給攝像機(jī)增加了額外的成本,但是,讓視頻流可以在控制間被直接記錄,與此同時(shí),另一個(gè)視頻流被解碼和顯示。
如果沒有這一功能,那就需要采用昂貴的解碼、重定尺寸以及重新編碼步驟。D1流也可以被解碼并重新調(diào)節(jié)大小,以轉(zhuǎn)換為CIF分辨率,從而饋入在視頻流上運(yùn)行的視頻分析(工具)上。CIF分辨率在時(shí)間上驟減以實(shí)現(xiàn)每秒7幀以及重新編碼,以便讓第一反應(yīng)車通過無線鏈路加以利用。圖5顯示了利用H.264 AVC可能實(shí)現(xiàn)的一個(gè)系統(tǒng)。
圖5:H.264 AVC的視頻監(jiān)控應(yīng)用。
利用H.264 SVC編解碼器,就可以放寬對(duì)攝像機(jī)伺服多個(gè)視頻流的要求,降低系統(tǒng)復(fù)雜性,壓縮攝像機(jī)與控制間之間的網(wǎng)絡(luò)帶寬。完整的1280 x 720視頻流現(xiàn)在可以被存儲(chǔ)在網(wǎng)絡(luò)視頻刻錄機(jī)(NVR)上,這些文件可以被方便地分解,以創(chuàng)建D1(或CIF)視頻流,從而在給定的時(shí)期之后把光盤空間騰空出來。CIF視頻流可以直接由NVR伺服,以實(shí)現(xiàn)分析工作,而降低了幀速率的第二視頻流可以被提供給第一反應(yīng)車使用。圖6顯示了H.264 SVC的一種可能的實(shí)現(xiàn)方案。
圖6:H.264 SVC視頻監(jiān)控應(yīng)用。
因此,根本沒有必要在視頻流本身上進(jìn)行操作,在業(yè)已存儲(chǔ)的文件上進(jìn)行操作就足夠了。其優(yōu)勢是明顯的:
壓縮網(wǎng)絡(luò)帶寬;
具有靈活的存儲(chǔ)管理;
取消了昂貴的解碼以及二次編碼的步驟;
如果需要的話,在NVR上的高清晰度視頻可以用來歸檔;
本文小結(jié)
可擴(kuò)展視頻編解碼器已經(jīng)被開發(fā)了許多年。廣播行業(yè)嚴(yán)格地受到業(yè)已建立的各種標(biāo)準(zhǔn)的控制,因此在采用這一技術(shù)上一直反應(yīng)遲緩。處理器、傳感器以及顯示技術(shù)的進(jìn)步正在點(diǎn)爆各種視頻應(yīng)用?;ヂ?lián)網(wǎng)以及IP技術(shù)正無縫地把視頻伺服至更為不同和遠(yuǎn)程的由顯示設(shè)備構(gòu)成的社群。可擴(kuò)展視頻編解碼器----如H.264 SVC滿足了許多這些系統(tǒng)的需求,并且它們可能促使視頻被廣泛采納為通信媒介的催化劑。
關(guān)于作者
Mark Oliver是Stretch公司的產(chǎn)品市場營銷總監(jiān)。作為英國本地人,Oliver在利茲大學(xué)獲得了電氣和電子工程學(xué)為。在就職于惠普公司的十年期間,他在歐洲和美國曾經(jīng)管理惠普公司的工程和制造功能部門,之后,在一些與視頻相關(guān)的初創(chuàng)公司中領(lǐng)導(dǎo)產(chǎn)品市場營銷以及應(yīng)用活動(dòng)。在加盟Stretch公司之前,他曾任賽靈思公司DSP部門內(nèi)部視頻與成像產(chǎn)品的市場營銷管理人員。