|
灰鴿子遠(yuǎn)程控制軟件概念模型,背后有哪些強(qiáng)大的技術(shù)在支撐?(一)明天發(fā)文章(二)
當(dāng)我們使用像Skype、QQ這樣的工具和朋友流暢地進(jìn)行語(yǔ)音視頻聊天時(shí),我們可曾想過(guò)其背后有哪些強(qiáng)大的技術(shù)在支撐?本文將對(duì)網(wǎng)絡(luò)語(yǔ)音通話所使用到的技術(shù)做一些簡(jiǎn)單的介紹
一.概念模型
網(wǎng)絡(luò)語(yǔ)音通話通常是雙向的,就模型層面來(lái)說(shuō),這個(gè)雙向是對(duì)稱(chēng)的。為了簡(jiǎn)單起見(jiàn),我們討論一個(gè)方向的通道就可以了。一方說(shuō)話,另一方則聽(tīng)到聲音?此坪(jiǎn)單而迅捷,但是其背后的流程卻是相當(dāng)復(fù)雜的。我們將其經(jīng)過(guò)的各個(gè)主要環(huán)節(jié)簡(jiǎn)化成下圖所示的概念模型:
1.png (11.09 KB, 下載次數(shù): 447)
下載附件
灰鴿子遠(yuǎn)程控制軟件
2017-12-16 21:51 上傳
1.語(yǔ)音采集
語(yǔ)音采集指的是從麥克風(fēng)采集音頻數(shù)據(jù),即聲音樣本轉(zhuǎn)換成數(shù)字信號(hào)。其涉及到幾個(gè)重要的參數(shù):采樣頻率、采樣位數(shù)、聲道數(shù)。
簡(jiǎn)單的來(lái)說(shuō):采樣頻率,就是在1秒內(nèi)進(jìn)行采集動(dòng)作的次數(shù);采樣位數(shù),就是每次采集動(dòng)作得到的數(shù)據(jù)長(zhǎng)度。
而一個(gè)音頻幀的大小就等于:(采樣頻率×采樣位數(shù)×聲道數(shù)×?xí)r間)/8。
通常一個(gè)采樣幀的時(shí)長(zhǎng)為10ms,即每10ms的數(shù)據(jù)構(gòu)成一個(gè)音頻幀。假設(shè):采樣率16k、采樣位數(shù)16bit、聲道數(shù)1,那么一個(gè)10ms的音頻幀的大小為:(16000*16*1*0.01)/8 = 320 字節(jié)。計(jì)算式中的0.01為秒,即10ms。
2.編碼
假設(shè)我們將采集到的音頻幀不經(jīng)過(guò)編碼,而直接發(fā)送,那么我們可以計(jì)算其所需要的帶寬要求,仍以上例:320*100 =32KBytes/s,如果換算為bits/s,則為256kb/s。這是個(gè)很大的帶寬占用。而通過(guò)網(wǎng)絡(luò)流量監(jiān)控工具,我們可以發(fā)現(xiàn)采用類(lèi)似QQ等IM軟件進(jìn)行語(yǔ)音通話時(shí),流量為3-5KB/s,這比原始流量小了一個(gè)數(shù)量級(jí)。而這主要得益于音頻編碼技術(shù)。
所以,在實(shí)際的語(yǔ)音通話應(yīng)用中,編碼這個(gè)環(huán)節(jié)是不可缺少的。目前有很多常用的語(yǔ)音編碼技術(shù),像G.729、iLBC、AAC、SPEEX等等。
3.網(wǎng)絡(luò)傳送
當(dāng)一個(gè)音頻幀完成編碼后,即可通過(guò)網(wǎng)絡(luò)發(fā)送給通話的對(duì)方。對(duì)于語(yǔ)音對(duì)話這樣Realtime應(yīng)用,低延遲和平穩(wěn)是非常重要的,這就要求我們的網(wǎng)絡(luò)傳送非常順暢。
4.解碼
當(dāng)對(duì)方接收到編碼幀后,會(huì)對(duì)其進(jìn)行解碼,以恢復(fù)成為可供聲卡直接播放的數(shù)據(jù)。
5.語(yǔ)音播放
完成解碼后,即可將得到的音頻幀提交給聲卡進(jìn)行播放。
|
|