語音通話方法及系統與流程
2023-05-27 10:32:27 1

本發明涉及語音傳輸技術領域,尤其涉及一種語音通話方法及系統。
背景技術:
隨著通信技術的不斷發展,語音通話成為人們遠程溝通的主流方式。但是採用語音通話時,若對方通話信號不穩定,則很容易出現語音包丟包現象,導致通話異常,用戶聽不清聲音,影響用戶的體驗。
公開號為CN 102883392 A的中國專利提出了一種多模多待移動終端,包括檢測單元,檢測當前通話網絡的服務質量的參數值;
判斷單元,連接至所述檢測單元,判斷所述當前通話網絡的服務質量的參數值是否小於等於閾值,在所述服務質量的參數值小於等於所述閾值時,向通信單元發送控制信號;所述通信單元,在接收到來自所述判斷單元的控制信號時,將所述多模多待移動終端的備用網絡的信息發送至域伺服器,以及通過所述域伺服器與另一通話終端建立備用連接。
上述方案能夠防止在通話網絡質量差時發生語音中斷,但是其需要使用備用網絡,也就需要另外構建備用網絡,增加了通話成本。
技術實現要素:
本發明所要解決的技術問題是:提供一種能夠在通話信號不穩定的情況下,保證語音通話正常進行,並且成本低的語音通話方法及系統。
為了解決上述技術問題,本發明採用的技術方案為:
一種語音通話方法,包括:
第一通話終端將語音包發送至伺服器;
伺服器將所述語音包轉換成文字;
對所述文字編碼得到數據包;
將所述數據包發送至第二通話終端;
第二通話終端將所述數據包還原成語音。
本發明提供的另一個技術方案為:
一種語音通話系統,包括:第一通話終端、伺服器和第二通話終端;
所述第一通話終端包括第一發送模塊,用於將語音包發送至伺服器;
所述伺服器包括轉換模塊,用於將所述語音包轉換成文字;
編碼模塊,用於對所述文字編碼得到數據包;
第二發送模塊,用於將所述數據包發送至第二通話終端;
所述第二通話終端包括還原模塊,用於將所述數據包還原成語音。
本發明的有益效果在於:第一終端發送的語音包經伺服器轉換成文字後大大減小了傳輸的數據量,對文字進行編碼後發送至第二通話終端,第二終端再將接收的數據還原成語音。能夠在通話質量差的情況下也能實現語音傳輸。
附圖說明
圖1為本發明實施例的語音通話方法的流程圖;
圖2為本發明實施例的語音通話系統的結構示意圖。
標號說明:
1、第一通話終端;11、第一發送模塊;12、第一採樣模塊;13、存儲模塊;2、服務端;21、轉換模塊;22、編碼模塊;23、第二發送模塊;3、第二通話終端;31、還原模塊;32、第二採樣模塊;33、比對模塊;34、第三發送模塊。
具體實施方式
為詳細說明本發明的技術內容、所實現目的及效果,以下結合實施方式並配合附圖予以說明。
本發明最關鍵的構思在於:第一終端將語音包發送至伺服器,伺服器將語音包轉換成文字並進行編碼。
請參照圖1,本發明提供:
一種語音通話方法,包括:
第一通話終端將語音包發送至伺服器;
伺服器將所述語音包轉換成文字;
對所述文字編碼得到數據包;
將所述數據包發送至第二通話終端;
第二通話終端將所述數據包還原成語音。
進一步的,第一通話終端將語音包發送至伺服器之前,進一步包括:
第一通話終端對待發送的語音包的波形進行採樣;
將採樣的數據存儲為校驗包;
將所述校驗包和語音包以波形圖的形式發送至第二通話終端;
第二通話終端對接收到的波形圖進行採樣;
將對所述波形圖採樣的數據與所述校驗包中的數據進行比對;
將比對結果發送至第一通話終端;
若比對結果為所述波形圖對應的採樣的數據和校驗包中的數據的差值達到預設值,則第一通話終端將語音包發送至伺服器。
從上述描述可知,發送語音包之前先對通話質量進行分析,通話質量差則採用將語音轉換成文字的方式發送,通話質量好則使用正常發送方式發送。具體的,通過比較發送端(第一終端)發送的波形採樣值和接收端(第二終端)接收的波形採樣值進行通話質量好壞的判斷,也可以採用其他方式來分析通話質量。
進一步的,所述採樣的數據包括預設時間內的採樣峰值、採樣均值及波動次數。
從上述描述可知,峰值、均值和波動次數是三個能夠比較有效反映出通話質量的參數。
進一步的,所述波形圖對應的採樣的數據和校驗包中的數據的差值達到預設值,具體為:所述波形圖和校驗包對應的採樣峰值、採樣均值及波動次數中的任意一項的差值達到預設值。
從上述描述可知,通常上述預設值為50%。由於應用場景不同,有些場景需要精準地實現語音通話,有些場景則需要儘量降低延時,因此也可以設置其他條件來判斷通話質量好壞,如將採樣峰值、採樣均值及波動次每一項的差值各與一閾值比較,如果分別達到閾值,則說明通話質量差。
進一步的,所述對所述文字編碼得到數據包之後,將所述數據包發送至第二通話終端之前,進一步包括:
使用海明校驗碼對所述數據包進行校驗。
從上述描述可知,使用海明校驗碼進行校驗能夠提高校驗的準確率。
進一步的,所述將所述數據包發送至第二通話終端具體為:
添加標識至所述數據包;
將添加了標識的數據包以波形圖的形式發送至第二通話終端。
進一步的,所述第二通話終端將所述數據包還原成語音,進一步包括:
第二通話終端依據所述標識從接收到的波形圖中提取出所述數據包;
將所述數據包還原成文字;
將還原出的文字轉換成語音。
從上述描述可知,第二終端接收到波形圖後,能夠依據標識迅速定位至進行過文字轉換的語音,提高了還原速度,降低了時延。
進一步的,對所述文字採用UTF-8的方式編碼得到所述數據包。
請參照圖2,本發明的另一個技術方案為:
一種語音通話系統,包括:第一通話終端1、伺服器2和第二通話終端3;
所述第一通話終端1包括第一發送模塊11,用於將語音包發送至伺服器;
所述伺服器2包括轉換模塊21,用於將所述語音包轉換成文字;
編碼模塊22,用於對所述文字編碼得到數據包;
第二發送模塊23,用於將所述數據包發送至第二通話終端;
所述第二通話終端3包括還原模塊31,用於將所述數據包還原成語音。
進一步的,所述第一通話終端1還包括:
第一採樣模塊12,用於第一通話終端對待發送的語音包的波形進行採樣;
存儲模塊13,用於將所述採樣的數據存儲為校驗包;
所述第一發送模塊11還用於將所述校驗包和語音包以波形圖的形式發送至第二通話終端;
所述第二通話終端3還包括:
第二採樣模塊32,用於對接收到的波形圖進行採樣;
比對模塊33,用於將對所述波形圖採樣的數據與所述校驗包中的數據進行比對;
第三發送模塊34,用於將比對結果發送至第一通話終端;
若比對結果為所述波形圖對應的採樣的數據和校驗包中的數據的差值達到預設值,則進入所述第一發送模塊11。
本發明的實施例一為:
一種語音通話方法,包括:
第一通話終端對待發送的語音包的波形進行採樣;
將採樣的數據在預設時間內採樣的峰值、均值及波動次數存儲為校驗包;
將所述校驗包添加標識後和語音包以波形圖的形式發送至第二通話終端;
第二通話終端對接收到的波形圖進行採樣;
將對所述波形圖採樣的數據在預設時間內採樣的峰值、均值及波動次數與所述校驗包中的數據進行比對;
將比對結果發送至第一通話終端;
若比對結果為所述波形圖對應的採樣的數據和校驗包中的數據的差值達到預設值,則第一通話終端將語音包發送至伺服器。
伺服器將所述語音包轉換成文字;
對所述文字採用UTF-8的方式編碼得到數據包;
使用海明校驗碼對所述數據包進行校驗;
添加標識至所述數據包;
將添加了標識的數據包以波形圖的形式發送至第二通話終端。
第二通話終端依據所述標識從接收到的波形圖中提取出所述數據包;
將所述數據包還原成文字;
將還原出的文字轉換成語音。
具體的,以一個實例說明上述實施例一的方案:
手機A對待發送的語音包的波形進行採樣,計算1秒內採樣的峰值a1、均值a2和波動次數a3,將採樣峰值a1、均值a2和波動次數a3轉換成20位元組存儲,即為校驗包,將校驗包以帶有標記的波形的形式放入待發送的波形圖中,通過語音通道傳輸到手機B;手機B對接收的波形圖進行採樣,計算1秒內採樣的峰值b1、均值b2和波動次數b3,將峰值a1、均值a2、波動次數a3分別與峰值b1、均值b2、波動次數b3進行比對,如果其中一項的差值達到50%(如峰值a1和峰值b1的差值為60%),則說明信號較差,啟用下列方法優化音質:
手機A將語音包通過WiFi通道傳輸到語音識別伺服器,語音識別伺服器將語音轉為文字,再將文字按照UTF-8編碼為二進位字節,將該二進位字節採用海明校驗碼校驗;校驗後輸出波形圖M;
將波形圖M標記後通過語音信道傳輸到手機B,手機B識別帶有標記的波形,該段波形即為波形圖M,提取出該段波形的文字編碼數據包,還原出UTF-8編碼的文字,再通過TTS語音合成API,還原出語音進行播放。
請參照圖2,本發明的實施例二為:
一種與實施例一的語音通話方法對應的系統,包括:第一通話終端1、服務端2和第二通話終端3;
所述第一通話終端1包括:
第一採樣模塊12,用於第一通話終端對待發送的語音包的波形進行採樣;
存儲模塊13,用於將所述採樣的數據存儲為校驗包;
第一發送模塊11,用於將所述校驗包和語音包以波形圖的形式發送至第二通話終端;
所述第二通話終端3包括:
第二採樣模塊32,用於對接收到的波形圖進行採樣;
比對模塊33,用於將對所述波形圖採樣的的數據與所述校驗包中的數據進行比對;
第三發送模塊34,用於將比對結果發送至第一通話終端;
若比對結果為所述波形圖對應的採樣的數據和校驗包中的數據的差值達到預設值,則進入所述第一發送模塊11,所述第一發送模塊11將語音包發送至伺服器;
所述伺服器2包括轉換模塊21,用於將所述語音包轉換成文字;
編碼模塊22,用於對所述文字編碼得到數據包;
第二發送模塊23,用於將所述數據包發送至第二通話終端;
所述第二通話終端3還包括還原模塊31,用於將所述數據包還原成語音。
綜上所述,本發明提供的語音通話方法及系統,能夠在對方終端網絡信號差的情況下將語音發送至對方終端。
以上所述僅為本發明的實施例,並非因此限制本發明的專利範圍,凡是利用本發明說明書及附圖內容所作的等同變換,或直接或間接運用在相關的技術領域,均同理包括在本發明的專利保護範圍內。