本發明涉及通信技術領域,特別是涉及一種用于移動終端的語音通信系統和方法。
背景技術:
隨著網絡技術的發展和智能移動終端的普及,利用智能移動終端來實現通信的做法也越來越頻繁,隨之的要求也越來越高。
在移動互聯網內,移動終端中出現了很多的即時通信應用,以滿足人們的日常生活社交需求。但是隨著人們對于社交需求的要求不斷提高,有些用戶需要使用基于小范圍的局域網通信。作為移動終端的局域網的應用,需要使用無線網絡,隨著WiFi無線網絡的覆蓋面積越來越廣,傳輸速度也日漸增強,免費的連接使用也為局域網通信提供了條件。目前,在移動終端的操作系統中,Andorid占據著很大的市場,一些用戶通過手機等智能終端執行ZRTP密鑰交換協議,實現了基于局域網的通信。但是,在實際應用中,由于在進行ZRTP加密通信時需要進行ZRTP密鑰協商,使得移動終端之間的語音通信具有較大的延遲。
因此,如何既能實現移動終端在局域網中的安全通信,又能降低通信的延遲,是本領域技術人員目前需要解決的技術問題。
技術實現要素:
本發明的目的是提供一種用于移動終端的語音通信系統和方法,可以實現移動終端在局域網中的安全通信,又能降低通信的延遲。
為解決上述技術問題,本發明提供了如下技術方案:
一種用于移動終端的語音通信系統,包括:
語音采集器,用于采集用戶的通信語音;
編碼器,用于對所述語音采集器采集的所述通信語音進行編碼壓縮;
SM4加密組件,用于通過SM4加密算法對經所述編碼器編碼壓縮后的通信語音進行語音加密;
語音傳輸組件,用于對經過語音加密的所述通信語音進行通信傳輸;
SM4解密組件,用于獲取所述語音傳輸組件傳輸的通信語音,并通過SM4解密算法進行相應地語音解密;
解碼器,用于對經過所述SM4解密組件語音解密后的通信語音進行解碼還原;
語音播放器,用于對經過所述解碼器解碼還原的通信語音進行播放。
優選地,所述編碼器包括iLBC編碼器,所述解碼器包括iLBC解碼器。
優選地,所述語音采集器包括:
錄音組件,用于獲取用戶的音頻信號;
語音采集處理器,用于控制所述錄音組件按照預設的音頻采樣值進行音頻信號的采集。
優選地,所述語音播放器包括:
緩存組件,用于對經所述解碼器解碼還原的通信語音進行緩沖存儲;
語音播放組件,用于調取所述存儲組件中緩沖存儲的通信語音,并對該通信語音進行解碼播放。
優選地,所述語音傳輸組件包括:數據發送器和數據接收器;其中,所述數據發送器用于與外界服務器進行TCP連接,并在所述數據接收器亦和所述外界服務器建立TCP連接時和所述數據接收器建立UDP連接。
一種用于移動終端的語音通信方法,包括:
采集用戶的通信語音;
對所述通信語音進行編碼壓縮;
通過SM4加密算法對經編碼壓縮后的通信語音進行語音加密;
對經過語音加密的所述通信語音進行通信傳輸;
獲取該通信語音,并通過SM4解密算法對該通信語音進行相應地語音解密;
對經過語音解密后的通信語音進行解碼還原;
對經過解碼還原的通信語音進行播放。
優選地,所述對所述通信語音進行編碼壓縮包括:通過iLBC編碼算法對所述通信語音進行編碼壓縮;
對經過語音解密后的通信語音進行解碼還原包括:通過iLBC解碼算法對經過語音解密后的通信語音進行解碼還原。
優選地,采集用戶的通信語音,包括:
獲取預設的音頻采樣值;
根據所述音頻采樣值對用戶的通信語音進行音頻數據采樣。
優選地,對經過解碼還原的通信語音進行播放,包括:
構建音頻解碼緩沖區;
接收經過解碼還原的通信語音,并將該通信語音存儲在所述音頻解碼存儲區中;
對存儲在所述音頻解碼緩沖區中的通信語音進行解碼播放。
與現有技術相比,上述技術方案具有以下優點:
本發明實施例所提供的一種用于移動終端的語音通信系統,包括:語音采集器,用于采集用戶的通信語音;編碼器,用于對語音采集器采集的通信語音進行編碼壓縮;SM4加密組件,用于通過SM4加密算法對經編碼器編碼壓縮后的通信語音進行語音加密;語音傳輸組件,用于對經過語音加密的通信語音進行通信傳輸;SM4解密組件,用于獲取語音傳輸組件傳輸的通信語音,并通過SM4解密算法進行相應地語音解密;解碼器,用于對經過SM4解密組件語音解密后的通信語音進行解碼還原;語音播放器,用于對經過解碼器解碼還原的通信語音進行播放。每一個用于在局域網中進行語音通信的移動終端均設有語音采集器、編碼器、SM4加密組件、語音傳輸組件、SM4解密組件、解碼器、語音播放器,當一個移動終端和其他移動終端建立關于局域網的通信連接時,該移動終端會采集對應用戶的通信語音,并通過自身的編碼器對通信語音進行編碼壓縮,并采用SM4加密組件進行加密,并通過語音傳輸組件發送出去,以保證語音信息傳輸的安全性;而通訊對方的移動終端的語音傳輸組件接收到該通信語音,并通過SM4解密組件進行解密,而后通過解碼器進行解碼還原,最后通過語音播放器進行播放;相應地,通訊對方的移動終端根據相同的通訊方式可以將通信對方的用戶的通訊語音傳輸至本方移動終端。在該語音通信過程中,采用SM4加解密,直接對通信語音的信息進行加解密,而無需進行密鑰交換來進行協商,大大降低了通信的延遲,且保證了語音通信的安全性。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明一種具體實施方式所提供的一種用于移動終端的語音通信系統結構示意圖;
圖2為本發明一種具體實施方式所提供的用于移動終端的語音通信方法流程圖。
具體實施方式
本發明的核心是提供一種用于移動終端的語音通信系統和方法,可以實現移動終端在局域網中的安全通信,又能降低通信的延遲。
為了使本發明的上述目的、特征和優點能夠更為明顯易懂,下面結合附圖對本發明的具體實施方式做詳細的說明。
在以下描述中闡述了具體細節以便于充分理解本發明。但是本發明能夠以多種不同于在此描述的其它方式來實施,本領域技術人員可以在不違背本發明內涵的情況下做類似推廣。因此本發明不受下面公開的具體實施方式的限制。
請參考圖1,圖1為本發明一種具體實施方式所提供的一種用于移動終端的語音通信系統結構示意圖。
本發明的一種具體實施方式提供了一種用于移動終端的語音通信系統,包括:語音采集器1,用于采集用戶的通信語音;編碼器2,用于對語音采集器1采集的通信語音進行編碼壓縮;SM4加密組件3,用于通過SM4加密算法對經編碼器2編碼壓縮后的通信語音進行語音加密;語音傳輸組件4,用于對經過語音加密的通信語音進行通信傳輸;SM4解密組件5,用于獲取語音傳輸組件4傳輸的通信語音,并通過SM4解密算法進行相應地語音解密;解碼器6,用于對經過SM4解密組件5語音解密后的通信語音進行解碼還原;語音播放器7,用于對經過解碼器6解碼還原的通信語音進行播放。
在本實施方式中,以Android手機作為進行語音通信的移動終端為例進行說明。各通信方的移動終端均設有語音采集器、編碼器、SM4加密組件、語音傳輸組件、SM4解密組件、解碼器、語音播放器。其中,各移動終端的語音采集器用于采集自身對應用戶的語音數據。
在本發明的一種實施方式中,優選語音采集器包括:錄音組件,用于獲取用戶的音頻信號;語音采集處理器,用于控制錄音組件按照預設的音頻采樣值進行音頻信號的采集。其中,語音采集處理器可以通過調用Android多媒體模塊中的AudioRecord模塊采集PCM(脈沖編碼調制)音頻原始數據,通過AudioRecord模塊設定音頻通道CHANNEL_CONFIGURATION_MONO,且可以設定編碼方式為ENCODING_PCM_16BIT,之后獲得音頻的采樣大小,并按設定大小控制錄音組件獲取音頻數據。
進一步地,優選編碼器包括iLBC編碼器,解碼器包括iLBC解碼器。在本實施方式中,iLBC編碼器通過iLBC編碼算法對采集的音頻數據進行壓縮編碼,降低了編碼比特率,將原始的音頻數據變成了適合在網絡上傳輸的格式,其中,為了保證可以通過iLBC編碼器對音頻數據進行編碼,可以設置一個編碼JNI接口,通過編碼JNI接口實現一個audio-encode接口,通過該audio-encode接口編碼器即可調用iLBC編碼器的功能實現音頻壓縮編碼。
在本發明的實施方式中,將編碼后的通信語音通過線程的方式傳遞給SM4加密組件,SM4加密組件通過自身已經封裝好的SM4加密算法進行加密,之后開啟語音傳輸的線程,將經過加密后形成的比特流傳輸至語音傳輸組件中,之后,語音傳輸組件將音頻數據以數據包的形式將通信語音發送至IP網絡中。
在本發明的一種實施方式中,語音傳輸組件包括:數據發送器和數據接收器;其中,數據發送器用于與外界服務器進行TCP連接,并在數據接收器亦和外界服務器建立TCP連接時和數據接收器建立UDP連接。
在本實施方式中,各通信方的語音傳輸組件需要和外界的預設服務器進行連接。其中,服務器的主要功能是完成各通信方的移動終端的請求登錄認證和響應,以及轉發通信方的移動終端的IP地址和端口信息等。首先,服務器啟動,監聽各端口,等待各移動終端的連接,當收到移動終端的連接請求時,匹配認證信息,判斷是否可以進行連接,在連接成功后保存該移動終端的IP地址和端口號信息,當有其他移動終端連接到該服務器時,服務器就會把各個移動終端的信息轉發給除自身之外的其他移動終端,以方便后續的UDP連接,其中,服務器采用TCP協議作為下行方式,也可以實現組播功能,即實現多方通訊。即各移動終端需要首先和服務器進行TCP連接,然后再進行各移動終端之間的UDP連接。
其中,通信語音的接收方的移動終端與通信語音的發送端的移動終端連接后,接收方的移動終端的語音傳輸組件的數據接收器接收發送端的移動終端的數據發送器的實時音頻數據。之后,接收方的移動終端的SM4解密組件對接收的通信語音進行語音解密,然后由解碼器對經過解密的通信語音進行解碼還原。最后由語音播放器進行語音播放。
在本發明的一種實施方式中,語音播放器包括:緩存組件,用于對經解碼器解碼還原的通信語音進行緩沖存儲;語音播放組件,用于調取存儲組件中緩沖存儲的通信語音,并對該通信語音進行解碼播放。
在本實施方式中,語音播放器通過緩存組件構建音頻解碼緩沖區,以將經在解碼器解碼還原的通信語音進行緩沖存儲,然后再通過語音播放組件來對緩存組件中的通信語音進行解碼播放。
在本發明的上述各實施方式中,系統中的語音采集器、編碼器、SM4加密組件、語音傳輸組件、SM4解密組件、解碼器、語音播放器之間直接采用多線程調用的方式實現邊加密邊發送,邊接收邊解密和播放,達到實時傳輸的效果。當某一功能器件運行線程時,先喚醒下一個功能器件的線程,通過設置較小的緩沖發送量,實現發送端邊采集邊加密邊發送的過程,接收端邊獲取邊解密邊播放。
綜上,本發明上述各實施方式所提供的用于移動終端的語音通信系統,采用SM4加解密對通信語音進行加解密,加密強度大,加密過程簡單,無需經過UDP包來傳遞秘鑰進行匹配,大大降低了通信的延遲,采用iLBC編解碼,iLBC是專為包交換網絡通訊過程中對丟包現象進行有效控制的一種高效的編解碼算法,在同等編碼速率情況下,對音頻數據傳輸的完整性和音質上具有優秀的效果。
請參考圖2,圖2為本發明一種具體實施方式所提供的用于移動終端的語音通信方法流程圖。
相應地,本發明一種實施方式還提供了一種用于移動終端的語音通信方法,包括:
S11:采集用戶的通信語音。
在本發明的一種實施方式中,采集用戶的通信語音,包括:獲取預設的音頻采樣值;根據音頻采樣值對用戶的通信語音進行音頻數據采樣。在本實施方式中,采集用戶的通信語音的原始數據,將音頻錄制的聲道設置為單聲道,優選設置一個采樣點的大小為16比特,即音頻采樣值設為16比特,從而實現以較小的緩沖發送量實現邊采集后續邊加密的過程。
S12:對通信語音進行編碼壓縮。
在本發明的一種實施方式中,對通信語音進行編碼壓縮包括:通過iLBC編碼算法對通信語音進行編碼壓縮。
S13:通過SM4加密算法對經編碼壓縮后的通信語音進行語音加密。
S14:對經過語音加密的通信語音進行通信傳輸。
在本發明的一種實施方式中,對經過語音解密后的通信語音進行解碼還原包括:通過iLBC解碼算法對經過語音解密后的通信語音進行解碼還原。
S15:獲取該通信語音,并通過SM4解密算法對該通信語音進行相應地語音解密。
S16:對經過語音解密后的通信語音進行解碼還原。
S17:對經過解碼還原的通信語音進行播放。
對經過解碼還原的通信語音進行播放,包括:構建音頻解碼緩沖區;接收經過解碼還原的通信語音,并將該通信語音存儲在音頻解碼存儲區中;對存儲在音頻解碼緩沖區中的通信語音進行解碼播放。
綜上所述,本發明所提供的用于移動終端的語音通信系統和方法,采用SM4加解密對通信語音進行加解密,加密強度大,加密過程簡單,無需經過UDP包來傳遞秘鑰進行匹配,大大降低了通信的延遲,采用iLBC編解碼,iLBC是專為包交換網絡通訊過程中對丟包現象進行有效控制的一種高效的編解碼算法,在同等編碼速率情況下,對音頻數據傳輸的完整性和音質上具有優秀的效果。從而實現了移動終端在局域網中的安全通信,又降低了通信的延遲。
以上對本發明所提供一種用于移動終端的語音通信系統和方法進行了詳細介紹。本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發明及其核心思想。應當指出,對于本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以對本發明進行若干改進和修飾,這些改進和修飾也落入本發明權利要求的保護范圍內。