1. 程式人生 > >即構科技金健忠:回顧20年音視訊技術演進

即構科技金健忠:回顧20年音視訊技術演進

多媒體技術是一個傳統行業,從模擬到數字,VCD到藍光,從窄帶到寬頻,標清到高清,技術演進讓人的視聽體驗發生了顛覆式的改變。LiveVideoStack採訪了即構科技CTO金健忠,他回顧了過去20年多媒體技術的發展,並展望了未來的技術趨勢。

文 / 金健忠

策劃 / LiveVideoStack

LiveVideoStack:能否向LiveVideoStack讀者簡單介紹下自己,當初是如何進入音視訊這個領域的,以及這些年的工作體會。

金健忠:大家好,我是金健忠,目前擔任即構科技CTO。從2001年開始到現在,先後在InterVideo、ST意法半導體從事音視訊軟硬體方面的開發,2010年加入騰訊,組建QQ語音團隊,做網際網路音視訊。5年時間裡,我們逐漸發現網際網路有很多應用都需要用到音視訊。2015年和林友堯(即構科技創始人&CEO,QQ前總經理)等人出來創業,思考怎麼把這些年在音視訊領域積累的經驗轉化為平臺,服務更多的應用,到現在,我們創立即構已經3年多。

即構主要為企業提供網際網路+音視訊整體解決方案,覆蓋音視訊的產生、接入、儲存、分發、回放等方面,幫助各個行業快速接入和應用音視訊,讓客戶更專注在自己的領域發展。

這些年的工作體會主要有三點:

第一, 音視訊是需要長期積累的技術,數字音視訊技術可以追溯到模擬訊號彩色電視時代,複合視訊訊號本身在時間、幀、場方面已經離散化處理了,裡面還涉及顏色空間轉換、色差訊號壓縮以及各種複雜的同步。

第二, 音視訊技術涉及的範圍很廣,比如雙工通訊的回聲消除是屬於演算法方面的,效能優化ARM-NEON/SSE等屬於CPU結構方面,音訊播放執行緒緩衝屬於OS方面的,頻寬預測/FEC/ARQ屬於網路傳輸方面,還有高包量低延遲服務、GPU等。

第三, 音視訊技術應用場景非常豐富,我自己經歷過的就有DVD(數字視訊光碟)、DVB(數字視訊廣播)、VOD(視訊點播系統)、LIVE(直播)、Communication(通話)等應用場景。

LiveVideoStack:在音視訊領域從業近20年,能否從你的角度給我們分享一下近20年來音視訊(技術)領域的發展歷程?

金健忠:我認為整個音視訊行業大致圍繞以下3條線索在發展演進:

線索1:數字化程序和協議分層

首先我理解音視訊發展是一個數字化和協議分層的一個過程。大家知道一開始電影是一秒鐘拍24張照片,放出來看效果就是連續的,這是時間軸上的取樣。接下來模擬電視訊號又在掃描線上取樣,然後再放入色差訊號、音訊訊號形成複合視訊訊號。將複合視訊訊號進行調製傳送就完成音視訊傳輸,將複合視訊訊號記錄到磁帶上就完成音視訊的儲存。這一階段整個音視訊需要作為一個整體考慮。這些技術發生在很久之前。

接下來發生的事情就是音視訊訊號純數字化的過程,這個過程產生了VCD/DVD/藍光BD/數字電視DVB/ATSC等一系列儲存傳輸方式,技術上也把整個音視訊技術分為若干層,包括如MPEG編解碼codec、儲存冗餘編碼糾錯技術如Reed-Solomon、傳輸編碼、傳輸數字調製如QAM/COFDM、物理傳輸如Cable、儲存介質如DVD等等。這些技術都互相獨立和發展。

第三個重要的階段是通用硬體的介入以及網際網路化。通用硬體和網際網路的介入使得各個層次之間的分解更細緻。比如容器和編碼的分離,MPEG2 PS/TS可能還算是codec的一部分,到了MP4/mkv等容器就已經和codec沒有太多關係了。H.264提出NAL概念,明確建立codec和容器/協議的邊界。儲存可以有各種容器和介質,傳輸也可以有各種協議和物理介質。應用更是豐富多彩。以前一個視訊廣播業務需要地面廣播或者Cable或者衛星+接受機+電視一整套系統。現在無論是專用接收機、電腦,還是手機都可以完成視訊廣播的接收,基於IP的網路協議可以通過光纖或者衛星鏈路實時地傳送到各個邊緣節點,再通過Cable、Wifi、Cellular傳輸到終端。

線索2:硬體和質量提升

第二條線索可以從硬體和質量上看。記得我剛上大學的時候,在電腦上看VCD還需要一個MPEG解碼卡的專用硬體。隨後不久,CPU等硬體能力持續增強,出現MMX等專門為多媒體設計的指令,這些讓軟解成為可能。但是好景不長,更高質量DVD的出現又讓老舊硬體效能捉襟見肘。接著又是更強的CPU,帶硬體加速的顯示卡。這種硬體的升級和質量的需求互相促進形成閉環。模擬訊號一個頻道可以傳輸一路標清視訊,MPEG2一條TS流可以傳輸五路標清或一路高清,升級H.264後高清也能傳五路了。以前手機只能窄帶語音,現在則需要全帶全雙工。音視訊開發需要不斷更新技術,適配新硬體,滿足新的需求。

線索3:互動和場景豐富

場景豐富,尤其是互動的需求是不可忽略的一個趨勢。在IP化/網際網路化之前,早有DVD加入互動選單,藍光BD引入BD-J可以跑Java程式進行互動,數字廣播DVB加入MHP ,使用一個撥號網路作為回傳通道。DVB-H則在COFDM+TS上加入DSM-CC把音視訊IP化。網際網路化之後,基於網際網路實時傳輸分發網路,可以方便的實現全雙工多方互動。

LiveVideoStack:經歷了眾多產品的音視訊架構底層開發,包括之前的QQ語音以及現在的即構科技。相比於過往的產品,你認為即構的音視訊架構有哪些變化與不同?

金健忠:QQ語音架構是我在2010年加入騰訊後,針對騰訊網際網路+實時音視訊場景應用開發的。後續又經歷騰訊音視訊中心、騰訊互娛、騰訊雲等多個團隊的打磨,可以說效能已經非常出色。在即構,為豐富網際網路+音視訊應用場景,我們重新設計了一套音視訊架構,旨在希望以平臺的方式滿足各個行業對音視訊需求。在思路上,我們吸取了以往架構的經驗,比如我們同樣設計靈活的模組結構,讓音視訊處理管道可以合理安排執行緒、buffer,保證整個管道實時、高效。同時,我們也針對更復雜的場景在技術上進行一些優化,比如:

  • 音視訊引擎的整體設計

  • 更好的音視訊同步設計

  • 支援多協議以及多協議互通

  • 支援時鐘注入,進一步優化資料驅動鏈路

  • 優化元資料處理流程,媒體資料和元資料有強相關性,管道結構中需要維護這種相關性,包括有緩衝節點和無緩衝節點

  • 更靈活的buffer機制,同時支援可引用和不可引用buffer,支援CVPixelBuffer/SurfaceTexture等傳遞方式

  • 靈活的模組間協商機制,靜態協商、事件觸發協商、動態協商。比如切換硬體codec的時候可以觸發事件協商改用SurfaceTexture

  • 就近接入排程支援、最優線路排程支援、分發排程支援

LiveVideoStack:市面上很多實時音視訊方案是基於WebRTC,即構在最初技術選型時,為什麼沒有選用WebRTC,而選擇了走自研這條路?

金健忠:即構提供完整的網際網路+音視訊平臺服務,包括內容產生、接入、分發、回放等環節,支援多端互通,包括WebRTC協議的Web端。Web端互通只是即構音視訊平臺服務中眾多特性中的一個。WebRTC開源框架沒有原生支援即構的眾多特性,相比從WebRTC框架開始修改打磨來說,自研可以從一開始就融入即構的設計原則,從架構、演算法、平臺支援、協議等方面最優化設計。

例如:

技術架構上,我們希望原生支援多路音視訊,支援AUX輸入環回或混音到遠端,支援低延遲耳返,原生支援多協議,支援外部採集、渲染、外部編碼、解碼音視訊外部濾鏡等。

演算法設計上,一開始就考慮到架構和場景,比如Jitter Buffer,幀率位元速率控制,視訊分層編解碼等都會匹配多協議設計。頻寬預測,反饋能夠適應多跳選路(例如國際加速優化),分發到需求。3A設計採用全頻帶,適應多場景多平臺多需求。

平臺支援上,能夠更好適應通用/嵌入平臺,如CVPixelBuffer,SurfaceTexture原生支援等。

協議支援上,就近接入排程,支援多跳路由優化,支援分發,支援秒開特性。媒體層協議進行合理安排減少連線建立時間。

LiveVideoStack:隨著5G商用時間表的臨近,VR場景將會得到釋放,最可能帶來變革的就是音視訊領域。你覺得5G將會給音視訊行業帶來怎樣的機遇與挑戰?

金健忠:VR/AR是互動方式革新,本身還有許多技術問題需要解決。為了營造沉浸式環境,需要給使用者提供極快速的響應。100Hz的重新整理頻率、LCD(液晶顯示器)的一點點拖尾都會讓使用者覺得頭暈。高解析度、高重新整理頻率需要的高頻寬讓頭戴裝置很難擺脫物理聯線。精準的定位和不到10ms的響應時間也是需要突破的難點。我覺得整個VR/AR的革新主要還是在其本身,只有這些問題解決後才會引起音視訊的進一步變革。

相比VR來說,5G商用已經有時間表。5G可能會帶來頻寬、延遲、密度方面的變化。

這些提升主要來自毫米波段的使用,QAM256,100MHz頻道。一般認為5G可以帶來Gb/s級別的使用者頻寬,ms級別空口延遲。這個水平相當於使用網線連線千兆以太區域網。整個系統的瓶頸會轉移到如國內網路環境50ms RTT,國外直連 >200ms RTT,雲虛擬機器負載,雲虛擬機器單鏈接效能,儲存效能等其他方面。可以從伺服器接入排程,優化負載排程,單鏈接效能等方面優化整體效能。

LiveVideoStack:展望未來,你對音視訊領域有哪些期待?

金健忠:我認為有以下幾個方面,

  • 變聲和聲音特效

  • 更好的語音去背景噪聲。

    當前實用的降噪演算法主要集中在噪音學習和陣列降噪上。但是人耳人腦的能力遠超現在演算法能達到的水平,比如人在嘈雜環境下,也有很大可能“過濾掉”噪聲和其他人的語音集中理解某個人說話。

  • 聲紋識別,說話人識別

  • 語音分離,音樂分離。

    比如兩個人說話,能把一個人的語音完整分離出來。能夠從交響樂分離出大提琴的聲音。

  • 語音識別

    音樂識別,哼唱識別。這個也很有意思,哼一哼就能找到對應歌曲。這個領域好像有一些接近實用的應用了。

其它還包括以下領域,都非常令人期待:

  • 更高效視訊codec,4k,8k,低位元速率,足夠低的計算複雜度

  • 更好的視訊分層編碼codec

  • 人臉識別

  • 文字識別

  • AI視訊分類