(烽火通信科技股份有限公司,武漢 430074)
近年來,教育行業正持續進行數字化轉型,視頻媒體技術作為數字化轉型的重要部分在教育領域得到廣泛的應用,諸如遠程教育和泛在教育等新的教育形式都依賴于視頻媒體技術的發展。隨著教育形式的多樣化,教師和學生對視頻的呈現形式提出了越來越高的要求,相較于傳統視頻的單視角二維表現,視頻教學更加需要有三維的表現方式。
多視點視頻[1]是一種滿足人們三維觀看視頻需求的方法,其在錄制視頻時,由多個布置在不同視點的相機從不同視角對同一場景進行拍攝,從而得到一組視頻信號。用戶在觀看時,可以自由切換多視點視頻中的視點來看到不同視角的內容,從而得到“環視”和“運動視差”的效果。
本文將從多視點視頻在教育場景下應用的需求和挑戰出發,提出結合內容分發網絡(Content Delivery Network,CDN)的解決方案,并對其中的關鍵技術進行探討。
多視點視頻技術適用于實操型的遠程教學場景,如:各種類型的實驗、手工制作和體育教學等。為達到更好的教學效果,學生需能夠對視頻呈現的視角進行變換和控制,同時還需能從不同角度觀看教學過程。
遠程觀看的多視點教學視頻需要支持多路視頻并發傳輸的實時直播、時移回看和在線點播等功能,并支持播放過程中學生通過不同的交互方式(如遙控器方向鍵/觸摸板、鼠標拖動和手機/平板電腦點觸等)對視點進行自由切換。
多視點視頻的教學應用主要面臨以下3個方面的挑戰:
(1) 帶寬的挑戰:多視點視頻使用的相機越多,相機陣列覆蓋的范圍就越大,用戶體驗也越好,而帶寬需求隨視點個數的增加線性增加。以4K視頻為例,單路相機錄制的視頻采用高效視頻編碼(High Efficiency Video Coding,HEVC)壓縮后所需帶寬約為30 Mbit/s,20路相機同時傳輸需600 Mbit/s帶寬,更高的帶寬將給用戶帶來更佳的服務體驗,但高帶寬也帶來傳輸瓶頸的問題。
(2) 時延和丟包的挑戰:用戶在進行視點切換時,通過終端發出視點切換命令,終端需要與服務器進行信令交互,并由服務器切換視點碼流。切換命令發出到切換后新視點碼流顯示的時延若超過500 ms將帶來明顯的卡頓,降低用戶的使用體驗。
(3) 平滑視點切換的挑戰:由于相機個數限制以及排列間距影響,視點切換播放時會使用戶有不連續的感覺。為保證切換的平滑性,需要依據兩視點的視頻碼流計算出其間的虛擬視點視頻。但此種計算會消耗大量計算資源。
CDN是媒體內容分發和傳輸的工具,將其與多視點視頻結合,可最大限度降低內容傳輸對帶寬的需求,降低用戶交互響應時延,提高用戶的體驗。同時,利用CDN的邊緣計算能力,可實現平滑視點切換的計算,減少終端的計算壓力。
圖1所示為一種教育場景下多視點視頻端到端應用解決方案,該方案包括:視頻采集、編碼、傳輸和解碼/播放等。

圖1 多視點視頻端到端應用
教學場景下多視點視頻的采集需要多個相機組成相機陣列,面對教師從多個角度進行拍攝。相機陣列的配置主要有一維平行、環形匯聚、十字交叉、面陣和球型等方式,目前使用較多的是一維平行和環形匯聚陣列,如圖2所示。

圖2 多視點相機一維平行和匯聚陣列
采集模塊設置要點:
(1) 相機的個數越多,覆蓋角度越大。但受限于傳輸帶寬,相機個數的選擇應結合分辨率要求、壓縮能力以及帶寬消耗綜合考慮。
(2) 相機的參數應該一致,如分辨率、水平/垂直角度和鏡頭焦距/光圈/畸變等。
(3) 相機的間距一般要小于人的雙眼瞳孔中心間距。間距越小,顯示的深度范圍越大。
(4) 所有相機采集同步是保證顯示效果及虛擬視點合成的基礎。
多視點相機陣列采集的原始視頻占用帶寬巨大。以4K畫質、20路相機為例,原始視頻需求帶寬高達120 Gbit/s,不適合直接傳輸,在采集的同時需要在本地進行壓縮編碼以降低帶寬的占用。
原始視頻的壓縮編碼可選分路與合路兩種方式:
(1) 視點分路編碼
對相機陣列生成的每一路原始視頻各自獨立進行壓縮編碼,多路并行發送[2],當前主流的編碼標準包括HEVC和音視頻編碼標準(Audio Video coding Standard,AVS)2等。
分路編碼的優點是只需在采集視頻的本地進行一次編碼,終端接收單路視頻可直接解碼播放;缺點在于未消除多視點間存在的冗余信息,存在部分帶寬浪費。
需要注意的是,如果后端存在虛擬視點計算的需求,則要求多路編碼在時間上同步。編碼時應配置參數保證多路視頻流在相同時間點生成I幀。
(2) 視點合路編碼
針對同一對象進行多視點拍攝采集的視頻,多個視點間圖像存在相關性,編碼時可利用其他視點已解碼圖片作為參考圖像進行包括幀間預測以及位移估值在內的視點間預測,從而降低編碼后文件的大小。通過利用視點間的相關性,可以將所有原始視頻經多視點合路壓縮編碼到一個文件中。
現有主流的多視點合路編碼標準包括3D視頻編碼擴展開發聯合合作團隊(Joint Collaborative Team on 3D Video Coding Extension Development,JCT-3V)工作組開發的3D-HEVC標準[3]與國內AVS工作組開發的3D-AVS2標準[4],二者均利用視差技術和紋理圖/深度圖相關性[5]實現多視點視頻的壓縮合路。
合路壓縮編碼的優點在于能夠提高多視點編碼的壓縮率,缺點是消耗算力巨大。經測試,普通中央處理器編碼一幀圖像以分鐘計[6],且在解碼端需要占用同樣的計算資源對合路視頻進行解碼分離。
編碼后的視頻需要使用流媒體形式封裝傳輸,主流的傳輸協議包括實時流傳輸協議(Real Time Streaming Protocol,RTSP)、實時消息傳輸協議(Real Time Messaging Protocol,RTMP)、超文本傳輸協議(Hyper Text Transfer Protocol, HTTP)、實時流(HTTP Live Streaming,HLS)和基于HTTP的動態自適應流(Dynamic Adaptive Streaming over HTTP,DASH HTTP)等。表1所示為這幾種流媒體協議的特點對比。RTSP多用于傳統交互式網絡電視(Internet Protocol Television,IPTV),RTMP和HLS多用于互聯網視頻,DASH則是新一代的流媒體承載標準,在加載速度、擴展性和兼容性等多方面有更好的表現。

表1 主流流媒體協議對比
注:TCP為傳輸控制協議;UDP為用戶數據報協議;TS為傳輸流;FLV為Flash視頻;MP4為MPEG-4第14部分;MPEG為動態圖像專家組。
流媒體協議的選擇應基于場景需求,例如直播需要較高的實時性,傳輸線路可靠性低時應支持自適應碼率播放和快速加載需要視頻切片等。同時,在多視點視頻分路編碼條件下,需要在流媒體協議的保留字段中定義視頻幀的時間同步信息,以便在切換視點以及虛擬視點計算時對齊前后視點同一時刻的視頻幀。
在教育多視點視頻應用中,視頻內容的傳輸由CDN教育云服務承載。采集編碼的多視點視頻內容首先注入到內容制作側邊緣CDN節點,由其發布到對應區域節點,再發布到中心節點,通過中心節點向其他區域節點推送。而用戶側邊緣CDN節點接收到用戶的直播/點播請求會向相應CDN區域節點請求內容。面向用戶提供服務、緩存視頻內容和信令交互都由用戶側邊緣CDN節點完成。CDN教育云服務通過縮短服務端與用戶間的網絡距離和分散不同地區用戶的服務請求,降低了多視點視頻的傳輸時延。
在遠程教育場景中,學生通過不同終端(電視機頂盒、手機、平板和計算機等)向教育云的CDN邊緣服務節點請求多視點內容的流媒體播放,CDN拉取多視點直播碼流(直播)或從存儲中讀取相應的多視點視頻(點播/時移回看),利用其邊緣計算能力,分離出某個視點碼流提供給用戶。針對分路編碼的碼流只需將單路視點的視頻碼流取出,而合路編碼的碼流則需要CDN對合路視頻拆分解碼,再取出單路視點視頻碼流,會消耗較多CDN計算資源。
學生在觀看多視點教學視頻的過程中通過終端控制視點的切換,終端在信令中攜帶視點的偏移量和時間點發送至邊緣CDN節點,由CDN進行下一個視點碼流的發送。為保證切換過程的平滑性,可利用CDN的邊緣計算能力,將兩個相鄰視點間的視頻幀拼接裁剪出多個虛擬視點輸出。虛擬視點的計算會消耗大量計算資源,可以考慮3種漸進式的實現:
(1) 切換視點時,由CDN直接提供下個視點的碼流,不進行虛擬視點合成,CDN在不同視點碼流間做好時間同步即可,此方式適合對平滑切換無要求的場景。
(2) 靜態畫面合成虛擬視點,即在用戶發出切換視點命令時,CDN通過算法拼接截取出虛擬視點顯示的畫面發送到終端顯示。這種方式由于僅對靜態畫面進行處理,是當前可行的多視點平滑切換方案。
(3) 動態畫面合成虛擬視點,即在視頻播放過程中根據用戶命令計算動態的視點切換視頻,此種方式需要將多個視點的每一幀圖像取出進行虛擬視點合成計算,對CDN邊緣計算能力要求極高,是今后改進的方向。
本文提出了一種多視點視頻結合CDN應用的端到端解決方案,分析了其關鍵技術,并論證了解決方案的可行性。隨著視頻編碼、網絡和CDN技術的發展,多視點視頻正逐步由實驗研究轉向實際應用,以其為代表的視頻三維化與實際教學體驗相結合,將成為未來視頻演進的一個發展趨勢。