IP網(wǎng)絡(luò)的設(shè)計目標(biāo)是解決計算機(jī)系統(tǒng)之間的數(shù)據(jù)傳輸,所以對于為實現(xiàn)人與人之間的實時音頻及視頻傳輸?shù)囊曨l會議來說,是一個與生俱來的極大挑戰(zhàn)。而Vidyo通過自有的專利技術(shù),已經(jīng)徹底解決了這個挑戰(zhàn)。
即使是當(dāng)今IP網(wǎng)絡(luò),特別是移動IP網(wǎng)絡(luò),也會發(fā)生數(shù)據(jù)包丟失和抖動。 對于典型的數(shù)據(jù)驅(qū)動應(yīng)用程序,例如電子郵件或網(wǎng)頁瀏覽,這些網(wǎng)絡(luò)損傷通常不會影響用戶體驗。 然而,在實時交互式通信應(yīng)用中,這是非常明顯的。 網(wǎng)絡(luò)抖動經(jīng)常表現(xiàn)為馬賽克的圖片和斷斷續(xù)續(xù)的音頻。
視頻壓縮基礎(chǔ)
視頻被高度壓縮是為了更好的節(jié)省帶寬,因此對額外的信息丟失,沒有很好的機(jī)制來應(yīng)對。更具體地,現(xiàn)在所有視頻壓縮技術(shù)都是預(yù)測性的,這表明當(dāng)前大多數(shù)幀的編碼信息需要參考前序幀的編碼信息來進(jìn)行更高的壓縮。因此,幀的損失不僅會影響當(dāng)前幀的解碼,而且會影響到后續(xù)幀的解碼。 因此,數(shù)據(jù)包丟失對視頻質(zhì)量有明顯的影響。
前向糾錯和重傳
為了減少數(shù)據(jù)量的丟失,相應(yīng)的機(jī)制被引入。 前向糾錯(FEC)機(jī)制就是利用在多個數(shù)據(jù)包之間復(fù)制信息,從而增加了信息傳送的概率。 然后,F(xiàn)EC機(jī)制的缺陷是,它有時可能傳輸了額外不需要的信息,反而對于已經(jīng)是很大的視頻流的大小是個增加 。 更糟糕的是,在許多情況下,網(wǎng)絡(luò)包丟失是由擁塞引起的,不必要地發(fā)送附加數(shù)據(jù)會增加擁塞,反而進(jìn)一步增加網(wǎng)絡(luò)包丟失。
為了克服這個缺陷,特定信息的重傳只能在必要時進(jìn)行,這就確保只有網(wǎng)絡(luò)丟包的信息了被多次重傳,而沒有網(wǎng)絡(luò)丟包的信息不需要重傳。然而,重傳機(jī)制造成了往返延遲以來恢復(fù)丟包數(shù)據(jù),這種延遲可能會影響實時交互視頻。
流媒體和高延遲應(yīng)用
一些視頻應(yīng)用,如流媒體直播,可以適應(yīng)延遲。 當(dāng)觀眾觀看視頻流時,與遠(yuǎn)程人員沒有交互,所以如果有額外的延遲,觀看視頻的觀眾將永遠(yuǎn)不會真切感覺到這種延遲。在這些情況下,對于網(wǎng)絡(luò)容錯,通過在播放之前緩沖視頻流可以有效地適應(yīng)和解決。緩沖器的作用就是可以高效的整理在不同網(wǎng)絡(luò)條件下接收到的視頻。做為一個媒體播放的緩沖器,當(dāng)遇到丟失的網(wǎng)絡(luò)包時,可以發(fā)送重傳請求,得到丟失的數(shù)據(jù)信息,當(dāng)信息完整時,開始播放。 因此,因為流媒體應(yīng)用對于延遲沒有很高的要求, 重傳可以是處理網(wǎng)絡(luò)丟包的有效手段。在有問題的網(wǎng)絡(luò)上傳輸時,流媒體應(yīng)用通常比較容易,因為用戶場景對實時性的要求要低 。
交互和低延遲應(yīng)用
交互式視頻應(yīng)用不能容忍高延遲,當(dāng)交互式視頻會話遇到高延遲時,講話的人在講完話后需要漫長的等待遠(yuǎn)端的響應(yīng)和回復(fù),這使得交互式交流非常不自然,導(dǎo)致非常差的用戶體驗。
為了確保交互性,視頻的播放必須在視頻流被接收和解碼之后立即開始。當(dāng)解碼器遇到丟失的數(shù)據(jù)包時,它會請求一個重傳,然而會導(dǎo)致兩個一樣的不友好結(jié)果選項:要么視頻暫停、要么顯示非常差的(或“馬賽克”)圖像,當(dāng)收到丟失的信息時,視頻圖像恢復(fù)正常。傳統(tǒng)的視頻會議應(yīng)用程序在網(wǎng)絡(luò)包丟失的情況下,沒有很好的機(jī)制能解決這種低延遲和高體驗的沖突 。
使用可擴(kuò)展編碼
Vidyo在交互式視頻應(yīng)用中創(chuàng)新式地使用可擴(kuò)展視頻編碼(SVC),并且擁有許多相應(yīng)的專利技術(shù)。Vidyo利用可擴(kuò)展視頻編碼的獨特屬性,實現(xiàn)強(qiáng)大的錯誤容錯,克服了數(shù)據(jù)包丟失,同時最大限度地減少對交互性和視頻質(zhì)量的影響?蓴U(kuò)展視頻編碼的工作機(jī)制就是將視頻流編碼成多個視頻層:基本層和一個或多個增強(qiáng)層。 每層通過向基本層添加空間分辨率和幀速率來增強(qiáng)視頻,從而產(chǎn)生更高品質(zhì)的視頻。 通過視頻分層信息與中間的智能路由器的配合,傳輸中的視頻可以動態(tài)地調(diào)整分辨率和幀速率以適應(yīng)當(dāng)前網(wǎng)絡(luò)條件,最終達(dá)到最佳的視頻流。
SVC和傳統(tǒng)視頻編碼之間的另一個重要區(qū)別在于編碼視頻流中的依賴關(guān)系。 在傳統(tǒng)編碼中,幀從幀直接進(jìn)行預(yù)測,而在可擴(kuò)展視頻編碼中,可以使用更復(fù)雜的預(yù)測結(jié)構(gòu),并且可以從不同時間點或不同分辨率的其他幀預(yù)測幀。 這導(dǎo)致整個視頻流在遇到數(shù)據(jù)包丟失時不太容易損壞圖像。 Vidyo通過自己的專利技術(shù),利用可擴(kuò)展編碼的這些特性來解決丟包問題。
測試錯誤容錯
那么,如何比較不同解決方案的錯誤容錯效果呢?關(guān)鍵是對各種網(wǎng)絡(luò)條件下的視頻體驗進(jìn)行定性評估。您必須確保,即使遇到像在現(xiàn)實網(wǎng)絡(luò)中出現(xiàn)的不穩(wěn)定網(wǎng)絡(luò)條件時,用戶仍然能夠進(jìn)行很自然的溝通。
當(dāng)驗證交互式視頻通信系統(tǒng)的錯誤容錯時,重要的是要注意影響系統(tǒng)可用性的所有因素。 圖像停止和馬賽克相對來說比較直觀,通常會引起最多的關(guān)注,而表現(xiàn)之下的延遲,往往有時會被忽略, 這可能導(dǎo)致不準(zhǔn)確的系統(tǒng)評估。 換句話說,簡單地通過循環(huán)播放視頻來進(jìn)行系統(tǒng)評估是非常不準(zhǔn)確的。確保您進(jìn)行徹底和完整測試的最佳方法是在網(wǎng)絡(luò)條件差的情況下,讓用戶進(jìn)行互動式討論,這將很快說明網(wǎng)絡(luò)錯誤容錯機(jī)制是否帶來明顯的延遲。當(dāng)延遲達(dá)到高水平時,用戶體驗將迅速變差,用戶將不再使用視頻聊天進(jìn)行溝通。
即要保持連貫的高質(zhì)量圖片,又要同時保持低的延遲,這是一個很難協(xié)調(diào)的平衡。但最好的用戶體驗是他們沒有意識到他們正在用遠(yuǎn)程視頻交互,用戶完全沉浸于交流的內(nèi)容,而沒有覺察到與他們交談的人不在旁邊。因此,在為你的項目選擇好的遠(yuǎn)程交互方案時,一定要在不良網(wǎng)絡(luò)情況下徹底評估視頻質(zhì)量和交互性。