在之前的兩篇文章中我為大家介紹了可分層視頻編碼" title="可分層視頻編碼">可分層視頻編碼(SVC)技術的工作原理[詳情點擊:可分層視頻編碼技術解析],也分析了為什么它在易丟包網絡中具有更好的性能[詳情點擊:可分層視頻編碼——更好的丟包容忍性]。本文我將跟大家共同探討可分層視頻編碼技術是如何支持各種混雜端點的,并且這些端點所支持的計算資源和帶寬連接可能都會有所差異。
可分層視頻編碼器為所需的傳遞信息創建多個視頻流,這些視頻流中有一個包含所有視頻會議" title="視頻會議">視頻會議信息但分辨率和幀頻都相對較低的基層,另外的附加視頻流都是用于增強圖像的,提高視頻的分辨率、畫質和幀頻。所有這些視頻流都會消耗帶寬,而為了對附加信息進行解碼,并重建視頻會議的圖像,這些附加視頻流就會占據接收端解碼器更多的計算資源。
假設位于核心網絡的視頻交換機與端點之間有一個信令連接,那么這個視頻交換機將能接收到高分辨率、高幀頻的視頻源,然后判定給每個目的端發送多少個SVC視頻流,之后接收端再反饋一個信令信息給視頻交換機以顯示其能力所達的水平。如果這個接收端的能力足以支撐全畫質圖像所需的帶寬和CPU資源需求,那么它就會要求視頻交換機把所有的視頻流全部進行傳遞;而當這個接收端只具備有限的帶寬和CPU資源時,它就會要求視頻交換機只傳輸其中的部分視頻流。不過,無論接收端能力如何,基層視頻流是都需要被傳輸的,而那些能增強圖像質量的附加視頻流則是根據接收端點的能力系數來決定是否需要被傳輸以及有多少需要被傳輸。
此外,接收端也可能根據它當前所顯示的視頻來限制接收的圖像,如果當前所顯示的視頻處在一個比較小的窗口中,而在進行視頻通信的雙方又在共享一張電子表格或其它文檔,那么這時候所需的圖像分辨率就會比較低。我的筆記本顯示屏是15寸的,分辨率為1680 x 1050,也就是每英寸130像素。如果我在一個3.5寸大小的窗口中播放16 x 9的視頻圖像,那么只需占據顯示屏上455 x284字節的空間,這個分辨率是遠低于“標清”的,而且只要有基層信息就能實現了。另外,由于網絡可能存在數據包丟失,因此那些附加的視頻流可能在傳輸過程中就遺失。
在這里我們假設視頻源能夠重建一個全畫質的圖像,如果視頻源位于一個型號比較老的筆記本上,并且使用的又是低速的DSL線路,那么它所恢復出來的視頻質量也會比較差一些,所有接收到這個視頻的人看到的也就是這種稍差的圖像。而如果視頻源中并不包含可用的增強層,那么網絡也不可能自行創建。
網絡核心的視頻交換機的功能是選擇性轉發原始圖像的視頻流層,而且只有當接收端不只一個時才能發揮作用。顯然當只有一個接收端時,視頻源端就會被要求降低所發送的分辨率,從而給所有人都減少一定程度的工作量。而當接收端不只一個時,就需要利用視頻交換機來分配視頻流層的發送了——為能接受高分辨率的接收端提供更多的增強層,而給只能接收較低分辨率的接收端傳輸更少的增強層。
對使用傳統視頻會議部署的讀者可能會有這樣的疑問:“我們不是有MCU嗎?這種功能又有什么了不起的呢?”
這里我們就要來看一下在面對不匹配問題時,這兩種方式都是如何應對的。當前的傳統MCU是通過轉換編碼的方式來解決這個問題的,而在可分層視頻編碼中只需簡單的切換就能解決了,顯然轉換編碼的計算強度要大得多。現在已經有一些企業開始部署上千個點的桌面視頻會議系統,而這種大型的桌面視頻會議端點的部署中,成本、可靠性和設備規模這些方面都是非常關鍵的,而可分層視頻編碼的優勢也就在這里體現出來了。
最后,我們假定一種似乎在桌面視頻會議解決方案中比較常見,而在傳統的會議室視頻會議系統中又不太常見的情況:在上面的討論中,接收端編解碼器(桌面和設備)在多點環境中能夠處理多個視頻流,用戶又希望能控制這些窗口,并且能根據自己的意愿安排。而在當前的傳統視頻會議系統中,都是由MCU來決定屏幕的格式,并給用戶呈現一個合成的圖像。因此,能處理多個視頻流功能自然就能成為廠商在推銷視頻會議系統時的一大賣點了,當然這個功能也不是每個環境都需要的。