《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 實(shí)時(shí)網(wǎng)絡(luò)視頻設(shè)計(jì)方案
實(shí)時(shí)網(wǎng)絡(luò)視頻設(shè)計(jì)方案
摘要: 實(shí)時(shí)網(wǎng)絡(luò)視頻設(shè)計(jì)方案,在某個(gè)層面上,On2科技有限公司(On2Technologies)的TrueMotionVP7技術(shù)實(shí)現(xiàn)這一目標(biāo)的方式與其它視頻編解碼器幾乎相同。不過(guò),On2的VP7技術(shù)卻包含了多項(xiàng)使其與眾不同、脫穎而出的創(chuàng)新性技術(shù),而且這些技術(shù)目
Abstract:
Key words :

        在某個(gè)層面上,On2 科技有限公司 (On2 Technologies) 的 TrueMotion VP7 技術(shù)實(shí)現(xiàn)這一目標(biāo)的方式與其它視頻編解碼器幾乎相同。不過(guò),On2 的VP7技術(shù)卻包含了多項(xiàng)使其與眾不同、脫穎而出的創(chuàng)新性技術(shù),而且這些技術(shù)目前正在申請(qǐng)專利。

  黃金幀 (Golden Frame)

  對(duì) On2 TrueMotion 編解碼器的新用戶而言,最令人驚喜的功能之一是黃金幀。就象其它壓縮器一樣,TrueMotion 也保留一個(gè)最新解壓的幀作為當(dāng)前幀的預(yù)測(cè)器。TrueMotion 編解碼器和 VP7 則特別改為保留過(guò)去任意一個(gè)解壓數(shù)據(jù)的幀。這種編解碼器能夠更新某個(gè)幀在未來(lái)任一點(diǎn)的任何部分。我們稱這種二級(jí)參考幀為黃金幀,并已發(fā)掘出它的眾多用途。
 

  數(shù)據(jù)在網(wǎng)絡(luò)上是以很小的稱為幀(Frame)的單位傳輸?shù)?,幀由幾部分組成,不同的部分執(zhí)行不同的功能。幀通過(guò)特定的稱為網(wǎng)絡(luò)驅(qū)動(dòng)程序的軟件進(jìn)行成型,然后通過(guò)網(wǎng)卡發(fā)送到網(wǎng)線上,通過(guò)網(wǎng)線到達(dá)它們的目的機(jī)器,在目的機(jī)器的一端執(zhí)行相反的過(guò)程。接收端機(jī)器的以太網(wǎng)卡捕獲到這些幀,并告訴操作系統(tǒng)幀已到達(dá),然后對(duì)其進(jìn)行存儲(chǔ)。就是在這個(gè)傳輸和接收的過(guò)程中,嗅探器會(huì)帶來(lái)安全方面的問(wèn)題 。



 

  圖1:On2 VP7的幀類型

  幀--就是影像動(dòng)畫中最小單位的單幅影像畫面,相當(dāng)于電影膠片上的每一格鏡頭。 一幀就是一副靜止的畫面,連續(xù)的幀就形成動(dòng)畫,如電視圖象等。 我們通常說(shuō)幀數(shù),簡(jiǎn)單地說(shuō),就是在1秒鐘時(shí)間里傳輸?shù)膱D片的幀數(shù),也可以理解為圖形處理器每秒鐘能夠刷新幾次,通常用fps(Frames Per Second)表示。每一幀都是靜止的圖象,快速連續(xù)地顯示幀便形成了運(yùn)動(dòng)的假象。高的幀率可以得到更流暢、更逼真的動(dòng)畫。每秒鐘幀數(shù) (fps) 愈多,所顯示的動(dòng)作就會(huì)愈流暢。   關(guān)鍵幀--任何動(dòng)畫要表現(xiàn)運(yùn)動(dòng)或變化,至少前后要給出兩個(gè)不同的關(guān)鍵狀態(tài),而中間狀態(tài)的變化和銜接電腦可以自動(dòng)完成,在Flash中,表示關(guān)鍵狀態(tài)的幀叫做關(guān)鍵幀。

  注:這些幀類型僅供參考。利用 VP7 入門開發(fā)工具包,用戶可以準(zhǔn)確控制幀何時(shí)使用或更新黃金幀或最后的幀參考緩沖器。

  前景影響大

  我們發(fā)現(xiàn)黃金幀的第一個(gè)用途是前景和背景視頻的分割。例如,大多數(shù)視頻會(huì)議應(yīng)用中,總是有一個(gè)人在靜態(tài)的背景前面講話。這個(gè)發(fā)言人遮蔽了背景,但隨著他在座位上的移動(dòng),會(huì)顯露出局部背景。TrueMotion編解碼器利用非移動(dòng)的高質(zhì)模塊來(lái)更新黃金幀,即使前景快速移動(dòng),也可以保持高質(zhì)量的背景圖像。

  丟包恢復(fù)

  我們還可以在丟包情況下采用黃金幀。在一般的視頻會(huì)議系統(tǒng)中,接收器在發(fā)現(xiàn)丟包時(shí),會(huì)用信號(hào)通知發(fā)送者。發(fā)送者一接收到這個(gè)信號(hào),就會(huì)對(duì)一個(gè)獨(dú)立于前面各幀的幀 (即‘關(guān)鍵幀’) 進(jìn)行編碼來(lái)恢復(fù)。該幀由于必須從頭開始編碼,故往往非常大,這會(huì)導(dǎo)致視頻的播放斷斷續(xù)續(xù)。另一種情況是,這是一個(gè)低質(zhì)量的幀,看起來(lái)比周邊的幀要模糊,而且產(chǎn)生視覺(jué)干擾脈沖。

  VP7恢復(fù)幀

  幀0是關(guān)鍵幀

  幀1到6都只根據(jù)前一個(gè)幀來(lái)構(gòu)建預(yù)測(cè)器

  幀7只以幀0為參考

  即使幀1到6中的任一個(gè)丟失了,VP7仍然能夠?qū)?進(jìn)行解碼,因?yàn)樗灰詭?為參考

  圖2:利用恢復(fù)幀來(lái)處理丟包問(wèn)題

  視頻會(huì)議

  電視會(huì)議是用電視和電話在兩個(gè)或多個(gè)地點(diǎn)的用戶之間舉行會(huì)議,實(shí)時(shí)傳送聲音、圖像的通信方式。它同時(shí)還可以附加靜止圖像、文件、傳真等信號(hào)的傳送。參加電視會(huì)議的人,可以通過(guò)電視發(fā)表意見,同時(shí)觀察對(duì)方的形象、動(dòng)作、表情等,并能出示實(shí)物、圖紙、文件等實(shí)拍的電視圖像或者顯示在黑板、白板上寫的字和畫的圖,使在不財(cái)點(diǎn)參加會(huì)議的人感到如同和對(duì)方進(jìn)行“面對(duì)面”的交談,在效果上可以代替現(xiàn)場(chǎng)舉行的會(huì)議。

  多方視頻會(huì)議也可以采用黃金幀。在多方會(huì)議系統(tǒng)中,各個(gè)用戶的連接帶寬都不同。一般的解決方案是把帶寬減小到一個(gè)假定的最小公分母:所有用戶都以最慢的連接都能接收的速度來(lái)收取數(shù)據(jù)。

  基于On2 VP7技術(shù)的系統(tǒng)則采用了一種新穎的替代方案。通過(guò)使用黃金幀、普通幀和可拋棄幀,VP7 可獲得四個(gè)級(jí)別的有限時(shí)間可調(diào)性。這意味著我們可以根據(jù)每一方的需要生成不同的比特流 (參見圖3)。這樣,會(huì)議中的高清方就不會(huì)受到較低速連接的影響。最重要的是,這種方案無(wú)需額外的CPU成本。

  圖3:采樣時(shí)間可調(diào)性模式和On2 VP7

  每一個(gè)比特流都需要較低的幀速率來(lái)解碼。因此,帶寬最低的用戶可以接收 5 fps 的比特流;而帶寬最大的用戶可接收全 30fps。

   黃金質(zhì)量

  On2 VP7技術(shù)還利用黃金幀來(lái)提高質(zhì)量。在極緩慢地移動(dòng)的鏡頭或變焦中,一個(gè)周期性的高質(zhì)量黃金幀會(huì)恢復(fù)在重復(fù)應(yīng)用環(huán)路濾波器或亞像素運(yùn)動(dòng) (sub-pixel motion) 時(shí)所丟失的細(xì)節(jié),從而保持圖像的質(zhì)量,而結(jié)果可以相當(dāng)明顯 (見圖4)。在另一些情況下,黃金幀還可作為一個(gè)良好的預(yù)測(cè)器,預(yù)測(cè)屏幕上的某些圖像何時(shí)返回到先前的位置。

  豎:平均峰值信噪比 (分貝) 橫:數(shù)據(jù)率 (每秒千比特)

  圖4:采用與不采用黃金幀的移動(dòng)及日歷的峰值信噪比 (PSNR) 之對(duì)比

  實(shí)時(shí)質(zhì)量

  在最簡(jiǎn)單的模式下,On2 VP7編碼器使用的周期數(shù)只比解碼器多 30%,但仍然保持出色的質(zhì)量。當(dāng)有大量可用周期時(shí),實(shí)時(shí) VP7 更能夠產(chǎn)生媲美最佳離線編碼的質(zhì)量。而且,這是自動(dòng)實(shí)現(xiàn)的:VP7 乘以每一個(gè)編碼幀,并自動(dòng)調(diào)節(jié)其復(fù)雜性,以確保盡可能利用可用周期來(lái)獲得最佳質(zhì)量。

  能夠達(dá)到這樣,是因?yàn)?TrueMotion VP7 采用了一套自適應(yīng)算法 (adaptive algorithms) 和探試性 (heuristics) 方法。這些算法決定哪些運(yùn)動(dòng)向量和模式最可能產(chǎn)生最佳結(jié)果。當(dāng)VP7工作順利時(shí),對(duì)模式的探試便更頻繁。

  在VP7擁有多余時(shí)間的極端情況下,它會(huì)回復(fù)到最低和最佳模式,甚至回到允許完全搜索和速率失真優(yōu)化的某一點(diǎn)。在相反的極端情況下,VP7 可能在整個(gè)幀上只進(jìn)行5或6次運(yùn)動(dòng)搜索,而每個(gè)宏模塊 (macroblock) 只檢查2或3個(gè)不同模式,就會(huì)產(chǎn)生結(jié)果。

  實(shí)時(shí)模式

  為了確保靜態(tài)相機(jī)的視頻會(huì)議具有出色的實(shí)時(shí)模式,On2 VP7 充分利用了預(yù)測(cè)有時(shí)是接近完美的這項(xiàng)特點(diǎn)。如果VP7 (通過(guò)運(yùn)動(dòng)或模式搜索) 發(fā)現(xiàn)預(yù)測(cè)器與它將進(jìn)行編碼的原始幀非常匹配,它會(huì)避免進(jìn)行大量工作。在這種情況下,VP7放棄了正向變換、量化、令牌化(tokenization)、逆量化、逆向變換和重組代碼等操作。唯一需要保留的是在比特流中加入一套代表所有0的令牌 (token),并直接把預(yù)測(cè)器拷貝到幀緩沖器中。如果這種情況時(shí)常發(fā)生,編碼器實(shí)際上比解碼器運(yùn)行得快,故無(wú)法縮短從比特流讀取令牌的時(shí)間。

  這種技術(shù)可能對(duì)感知視頻流質(zhì)量有重大的影響。它可通過(guò)忽略較小的變化 (由相機(jī)噪聲引起的波動(dòng)) 來(lái)消除背景噪聲。另外,它讓編碼器把所有可用周期都集中用在包含顯著變化 (移動(dòng)的部分) 的小部分視頻屏幕上。因此,觀者最關(guān)心的圖像部分,亦即發(fā)言者的面孔,將獲得最多的周期。

  解碼器的復(fù)雜度

  解碼器是一個(gè)重要前端控制設(shè)備。在主機(jī)的控制下,可使前端設(shè)備產(chǎn)生相應(yīng)的動(dòng)作。解碼器,國(guó)外稱其為接收器/驅(qū)動(dòng)器(Receiver/Driver)或遙控設(shè)備(Telemetry),是為帶有云臺(tái)、變焦鏡頭等可控設(shè)備提供驅(qū)動(dòng)電源并與控制設(shè)備如矩陣進(jìn)解碼器(Decoder)行通訊的前端設(shè)備。通常,解碼器可以控制云臺(tái)的上、下、左、右旋轉(zhuǎn),變焦鏡頭的變焦、聚焦、光圈以及對(duì)防護(hù)罩雨刷器、攝像機(jī)電源、燈光等設(shè)備的控制,還可以提供若干個(gè)輔助功能開關(guān),以滿足不同用戶的實(shí)際需要。高檔次的解碼器還帶有預(yù)置位和巡游功能

  為了確保解碼速度,On2 VP7比特流采用了一種創(chuàng)新性的簡(jiǎn)單設(shè)計(jì)

  象其它編解碼器一樣,VP7也采用了一個(gè)環(huán)內(nèi)去塊效應(yīng)濾波器 (一般稱為環(huán)路濾波器),以解決模塊邊緣的方塊效應(yīng)問(wèn)題。這種方案在模塊邊界上運(yùn)用了一個(gè)自適應(yīng)的一維 (one-dimensional) 模糊/低通濾波器。VP7 的濾波器可在字符算法中單獨(dú)工作,任何可能溢出 (超出字符邊界0-255) 的中間操作都會(huì)被鉗位。這就確保了 SIMD 指令使用的最大寬度,并意味著,如果一個(gè)處理器能支持64位SIMD,則VP7的環(huán)路濾波器比相同的C操作快了將近8倍。

  On2 VP7 的預(yù)測(cè)濾波器比許多其它編解碼器簡(jiǎn)單。預(yù)測(cè)器總是由單一幀創(chuàng)建,而且在正向和后向參考幀之間絕沒(méi)有插補(bǔ)。如果使用了任何亞像素運(yùn)動(dòng),則可在該單一幀上運(yùn)用單階濾波器來(lái)完成。

  簡(jiǎn)化的熵邏輯

  On2 VP7還采用了一種比其它先進(jìn)編解碼器更簡(jiǎn)單的熵 (entropy) 編碼技術(shù)。熵解碼包含了簡(jiǎn)單的字符算法,可利用乘法或幾種查找算法進(jìn)行計(jì)算。雖然VP7使用了精密的自適應(yīng)內(nèi)容建模技術(shù),但若每一比特位都根據(jù)比特流進(jìn)行解析,則不適合。

  靈活的解碼實(shí)現(xiàn)方案

  用特定方法把數(shù)碼還原成它所代表的內(nèi)容或?qū)㈦娒}沖信號(hào)、光信號(hào)、無(wú)線電波等轉(zhuǎn)換成它所代表的信息、數(shù)據(jù)等的過(guò)程。解碼在無(wú)線電技術(shù)和通訊等方面廣泛應(yīng)用。

  On2 VP7的比特流劃分方法在構(gòu)建快速解碼器時(shí)保留了許多選項(xiàng)。所有模式和運(yùn)動(dòng)向量信息都存儲(chǔ)在一個(gè)子流中;所有剩余信息則被存儲(chǔ)在另一個(gè)單獨(dú)的子流中。VP7 解碼器可采用較傳統(tǒng)的運(yùn)行方法,一次處理一個(gè)宏模塊,從一個(gè)子流中取出單個(gè)模式和運(yùn)動(dòng)向量,然后從另一個(gè)子流的該宏模塊中取出剩余信息。兩個(gè)極端選擇之間可進(jìn)行折衷,以確保低數(shù)據(jù)率和低指令緩存失效率。

  總結(jié)

  由于On2的VP7 專有壓縮技術(shù)具有種種優(yōu)勢(shì),因此獲得了市場(chǎng)的廣泛采納。黃金幀、出色的實(shí)時(shí)質(zhì)量和解碼器的簡(jiǎn)易性,都讓On2 VP7成為目前網(wǎng)絡(luò)視頻及未來(lái)可能應(yīng)用的理想選擇。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。