[發明專利]一種在弱網條件下的語音傳輸方法在審
| 申請號: | 202010666522.0 | 申請日: | 2020-07-10 |
| 公開(公告)號: | CN111885027A | 公開(公告)日: | 2020-11-03 |
| 發明(設計)人: | 馬義;劉興海;趙訓伽;盧吟 | 申請(專利權)人: | 北京百家視聯科技有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100044 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 條件下 語音 傳輸 方法 | ||
本發明提供了一種在弱網條件下的語音傳輸方法,屬于語音通訊技術領域。該在弱網條件下的語音傳輸方法包括如下步驟,S1:開始發送,輸入新的數據包;S2:判斷,根據步驟S1判斷歷史數據包存儲器是否為空;S3:是的條件下形成復合包,如果為第一個數據包則將數據包存儲入歷史存儲器中,為新的數據包添加擴展字段,然后為取出歷史存儲器中的數據包附加在有擴展頭的數據包的后面,形成復合包。本發明即使一個復合包丟失了,可以使用下一個數據包來填充前一個復合中丟失的數據包。使得音頻數據在接收方不存在丟失現象。該協議能夠解決在網絡較差的條件下,能夠解決傳統RTP協議傳輸音頻數據的丟包問題。
技術領域
本發明涉及語音通訊領域,具體而言,涉及一種在弱網條件下的語音傳輸方法。
背景技術
當今移動互聯網盛行的時代,網絡的形態除了有線連接,還有2G/3G/Edge/4G/WIFI/5G等多種手機網絡連接方式。不同的協議、不同制式、不同的速率,使移動應用運行的場景更加豐富。目前業界音頻發送的主要流程,是通過IP網絡發送音頻數據,發送前需要將其封裝為多種協議。音頻通常以RTP數據包傳輸,而RTP數據包本身封裝在UDP/IP數據包中。UDP協議用于實時傳輸,因為它允許廣播/多播,而且具有分組確認和重傳的面向連接的協議(例如TCP)所不適用的實時和低延遲的傳輸能力。每個IP數據包都封裝在以太網幀中。由于在通用網絡上,以太網幀的有效負載限制為最大1500字節,所以音頻數據被分成許多小的分組用于傳輸。接收器通過合并所有數據包的數據來重建音頻數據。
在實時音頻傳輸的場景中,網絡狀態對于傳輸音頻數據有著重要的影響。尤其是在網絡較差的情況下,現有的RTP協議在音頻傳輸過程中存在數據丟失的現象。這將導致接收端,接收到的音頻數據出現不完整。
發明內容
為了彌補以上不足,本發明提供了一種在弱網條件下的語音傳輸方法,旨在改善在網絡較差的情況下,現有的RTP協議在音頻傳輸過程中存在數據丟失的現象的問題。
本發明是這樣實現的:
本發明提供一種在弱網條件下的語音傳輸方法,包括如下步驟
S1:開始發送,輸入新的數據包;
S2:判斷,根據步驟S1判斷歷史數據包存儲器是否為空;
S3:是的條件下形成復合包,如果為第一個數據包則將數據包存儲入歷史存儲器中,為新的數據包添加擴展字段,然后為取出歷史存儲器中的數據包附加在有擴展頭的數據包的后面,形成復合包;
S4:否的條件下形成復合包,如果不是第一個數據包則從歷史存儲器中取出已存儲的數據包,并將新數據包填充到歷史存儲器中,為輸入數據包添加擴展字段,并將剛取出的數據包附加在有擴展字段的數據包的后面形成復合包;
S5:下傳發送函數,將形成復合包下傳到發送函數中進行發送操作,最終完成發送;
S6:開始接收,接收端開始接收復合包;
S7:循環判斷,接收端在接收到復合包后,進入循環判斷是否有擴展頭;
S8:是的條件下,如果有擴展頭,則進入解析循環中;首先解析復合包第一個數據包中的擴展頭字段,得到第一個包的長度后,將其從復合包中拆分出來,下傳到下面的的包解析函數中;
S9:否的條件下,由于復合包的最后一個數據包沒有添加擴展字段。在解析到沒有擴展字段的數據包后,退出循環并將最后一個數據包下傳到下面的解析函數中;
S10:解析函數,解析函數最終完成解析,完成最終接收。
在本發明的一種實施例中,所述數據包為IP網絡發送音頻數據中常用的RTP數據包。
在本發明的一種實施例中,所述RTP數據包為IP網絡發送音頻數據中采用的擴展后的RTP協議。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京百家視聯科技有限公司,未經北京百家視聯科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010666522.0/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:疲勞檢測方法及裝置
- 下一篇:一種表帶、手表及裁剪方法





