近日, 2020 年中國國際服務貿易交易會在北京落幕。與以往不同,今年的服貿會採取線上線下結合的方式舉辦,線上會議 30 場,線上線下相結合會議 70 場,線上直播活動近百場,「雲會議」、「雲展覽」、「雲洽談」成為本次服貿會的重要特色。
服貿會上,每一場實時互動的雲上會議和商務洽談,其實都是一次低延遲直播活動。為了降低用戶側在通訊中的延遲,使其儘量「不可感知」,各路廠商均加大投入以優化延遲,因為這是低延遲直播場景中的首要核心性能指標。
為適配低延遲場景關於延遲和畫質的核心需求,金山雲依託深耕多年的視頻編碼引擎—KSC265,並以諸多定製算法為基礎,構建了一條適用於低延遲編碼的路徑,使得編碼延遲在該場景下大為降低的同時,幾乎不影響畫質。整體而言,得益於持續的快速算法創新,金山雲低延遲直播在編碼引擎層面上,相較於開源編碼器x264/x265 的zerolatency檔位基線水平的加速比達到了 2 倍以上,而BD-rate損失只有不到1%。
自製編碼塊評價標準提速編碼過程
目前,視頻編碼都是基於塊進行的,將一幀視頻劃分為不同的塊,然後對每個塊再分別進行編碼處理。當下,幾乎所有的視頻編碼器都會在塊劃分和運動估計環節上消耗主要計算時間。因此,如何提高這兩者的計算效率成為低延遲直播場景下首要考慮的問題。
低延遲直播場景下,視頻畫面相對穩定且變化並不豐富,不同編碼塊的編碼參數之間在時空上具有非常高的相關性。利用這一特性,金山雲在塊劃分環節上對深度決策及模式決策設置快速終止條件,並設計了一種評價標準衡量編碼塊的時空複雜度,以此為基準進行快速劃分模式決策,在滿足一定條件下即可終止搜索,大大減少了模式搜索計算量。利用這項技術,金山雲將塊劃分編碼過程加速了 5 倍。
兩步運動估計流程大幅降低編碼器計算量
基於塊的運動估計,其基本思想是將圖像序列的每一幀分成許多不重疊的塊,並認為宏塊內所有像素的位移量都相同,然後對每個宏塊到參考幀某一給定搜索範圍內根據一定的匹配準則找出與當前塊最相似的塊,即匹配塊,匹配塊與當前塊的相對位移即為運動矢量。運動估計的目的在於消除視頻信息在時間上的冗餘,降低視頻傳輸的比特數。
如上所述,由於低延遲直播場景在時間維度上的變化並不豐富,即存在大量冗餘,因而不需要過於繁雜的搜索即可得到精準的運動估計匹配。金山雲視頻雲團隊利用這一特性設計了兩步運動估計流程,即粗粒度估計和細粒度估計。在粗粒度估計過程中,基於上述塊劃分結果進行快速匹配,從而能夠在初期過濾掉絕大部分的候選匹配塊。在細粒度估計中,金山雲視頻雲團隊採用了多項獨創的編碼工具,從平移估計、運動分析、紋理分析這三個維度來進行組合決策,從而達到匹配塊精選的目的。這種由粗到細的級聯運動估計流程可以極大程度降低編碼器的計算量,從實際測試結果看來,其在低延遲直播場景中的加速比能達到 3 倍以上。
得益於在音視頻、AI、大數據等方面的技術能力,金山雲低延遲直播技術大大提升了直播互動體驗,目前已在電商、遊戲、教育等場景中使用。隨著5G、雲計算、AI、VR等技術的發展,直播將迎來更大的想像空間,而金山雲低延遲直播編碼技術也將持續升級,為用戶帶來更高品質的低延遲直播體驗。