媒體轉(zhuǎn)碼的云原生設(shè)計(jì)
介紹
當(dāng)今的網(wǎng)絡(luò)和設(shè)備中使用了大量不同的語音和視頻編碼算法或編解碼。多年來,編解碼已經(jīng)開發(fā)出來,以適應(yīng)各種目的; 一些被設(shè)計(jì)為減少帶寬消耗 (例如iBLC、G729ab和AMR這樣的窄帶編解碼),而另一些被設(shè)計(jì)為提供卓越的語音質(zhì)量 (例如,AMR-WB、G.722和Opus等寬帶編解碼),如下圖所示。
世界上所有領(lǐng)先的服務(wù)提供商都推出了端到端高清語音服務(wù),因此所有終端之間媒體互通是必要的。 例如,對(duì)于高清語音服務(wù),WebRTC使用Opus,企業(yè)有線使用G.722,而無線網(wǎng)絡(luò)可能使用AMR-WB。這些不同端點(diǎn)的互通將需要在這些HD編解碼之間進(jìn)行媒體轉(zhuǎn)碼。隨著移動(dòng)通信的發(fā)展以及諸如WebRTC之類的技術(shù)繼續(xù)獲得認(rèn)可,還將開發(fā)新的創(chuàng)新編解碼器來支持它們。編解碼的激增將對(duì)服務(wù)提供商提出更高的要求,以支持其網(wǎng)絡(luò)中新編解碼和舊編解碼的媒體互通。
為了滿足媒體轉(zhuǎn)碼的需求,服務(wù)提供商使用SBC提供轉(zhuǎn)碼以及廣泛的其他媒體處理功能,例如: 媒體監(jiān)管和門控; 媒體格式轉(zhuǎn)換和流管理; 傳真和DTMF檢測(cè)和生成; 帶內(nèi)到帶外DTMF轉(zhuǎn)換; 和靜音抑制。
即使是像傳真音調(diào)檢測(cè)這樣的簡(jiǎn)單要求,也需要對(duì)媒體流進(jìn)行解碼和分析。在SBC硬件中進(jìn)行語音呼叫轉(zhuǎn)碼的能力有助于簡(jiǎn)化服務(wù)提供商的通信流程,并提供高性價(jià)比且可靠的方式進(jìn)行實(shí)時(shí)通信。但高會(huì)話數(shù)的實(shí)時(shí)語音和視頻呼叫需要密集的計(jì)算,隨著媒體互通需求的增加,這將給媒體處理功能帶來額外的負(fù)擔(dān)。
為了滿足媒體互通要求,SBC歷來使用基于硬件的數(shù)字信號(hào)處理器 (DSP),但是在云原生解決方案中,基于硬件的DSP不適合軟件的部署模型。 這些選項(xiàng)變成使用中央處理單元 (CPU)或圖形處理單元 (GPU)來替代,正如我們將展示的那樣,這就是GPU閃耀的地方。
- 媒體轉(zhuǎn)碼的云原生設(shè)計(jì)
通信服務(wù)提供商提供云原生實(shí)時(shí)通信的能力將在很大程度上取決于下一代媒體處理平臺(tái)的能力及其對(duì)各種編碼的支持。我們認(rèn)為,云原生的媒體轉(zhuǎn)碼解決方案意味著它是為虛擬云部署設(shè)計(jì)的,利用了基于云的應(yīng)用程序的純軟件、分布式、動(dòng)態(tài)、可編排的特性。
對(duì)于Ribbon SBC,這意味著采用微服務(wù)體系結(jié)構(gòu)將核心SBC應(yīng)用程序組件分發(fā)到信令,媒體和轉(zhuǎn)碼中。這使得能夠根據(jù)每個(gè)組件的規(guī)模、成本和性能獨(dú)立選擇技術(shù)。Ribbon SBC微服務(wù)體系結(jié)構(gòu)和可用的技術(shù)選擇如下圖2所示
- 云中的媒體轉(zhuǎn)碼
在云環(huán)境中,支持虛擬云環(huán)境中的媒體轉(zhuǎn)碼主要有兩種選擇: CPU和GPU
- 基于CPU的媒體轉(zhuǎn)碼
英特爾x86是一款通用CPU,它可以支持媒體互通所需的矢量計(jì)算,也支持與媒體處理無關(guān)的大量附加指令。因此,英特爾x86在功率和性能方面通常都不太有效,盡管英特爾在其最近的CPU體系結(jié)構(gòu)演變中繼續(xù)加強(qiáng)矢量算術(shù)功能。
然而,即使使用最好的處理器,基于CPU的轉(zhuǎn)碼解決方案也比使用專用DSP處理的同時(shí)轉(zhuǎn)碼的會(huì)話數(shù)量少得多。在成本、轉(zhuǎn)碼、功率效率和機(jī)架空間方面,DSP比CPU有更高效率和性價(jià)比。一個(gè)基本的估計(jì)是,與英特爾CPU相比,現(xiàn)代DSP可以產(chǎn)生每瓦信道吞吐量的五倍或更多倍。然而,在純軟件環(huán)境中,基于CPU的媒體互通仍然為用戶提供了某些好處。
基于CPU的解決方案
- 支持使用現(xiàn)成的硬件。在不同平臺(tái)上運(yùn)行的可移植性,為不同部署規(guī)模找到合適的解決方案。
- 確保昂貴的專用硬件不會(huì)因媒體互通的要求隨時(shí)間變化而擱淺
- 以靈活敏捷的方式輕松添加新的編解碼,尤其是針對(duì)諸如SILK或OPUS之類的CPU進(jìn)行了優(yōu)化的編解碼
- 適合虛擬云部署,支持動(dòng)態(tài)擴(kuò)展,容量較低的應(yīng)用模型
基于GPU的媒體轉(zhuǎn)碼
GPU是高性能的多核處理器,能夠非常高的計(jì)算和數(shù)據(jù)吞吐量。曾經(jīng)很難編程,但是今天的GPU是通用并行處理器,支持可訪問的編程和C語言等借口。在并行化計(jì)算的情況下,將其應(yīng)用程序移植到GPU的開發(fā)人員通常會(huì)比優(yōu)化的CPU實(shí)現(xiàn)速度提高幾個(gè)數(shù)量級(jí)。
基于GPU的解決方案
- 可以實(shí)現(xiàn)類似于dsp的性能
- 適合虛擬云部署模型
- 旨在通過多個(gè)實(shí)例支持多個(gè)轉(zhuǎn)碼場(chǎng)景
- 在縮放密度、機(jī)架空間和基于CPU的媒體互通方面有多倍的提升
未完,待續(xù)
如想了解更多信息請(qǐng)聯(lián)系Riboon在中國(guó)區(qū)的合作伙伴:北京美迪格威科技有限公司