[發明專利]一種音頻流解碼方法及裝置有效
| 申請號: | 201410375254.1 | 申請日: | 2014-08-01 |
| 公開(公告)號: | CN104113777B | 公開(公告)日: | 2018-06-05 |
| 發明(設計)人: | 鄺銳強 | 申請(專利權)人: | 廣州獵豹網絡科技有限公司 |
| 主分類號: | H04N21/439 | 分類號: | H04N21/439;H04N21/44;H04N21/43;H04N21/431 |
| 代理公司: | 北京柏杉松知識產權代理事務所(普通合伙) 11413 | 代理人: | 馬敬;項京 |
| 地址: | 510623 廣東省廣州市天河區*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 音頻流 音頻幀 緩沖區 緩存 幀數 解碼方法及裝置 丟棄 解碼 預設時長 總幀數 電子設備 解碼過程 中音頻幀 丟幀 應用 | ||
本發明實施例公開了一種音頻流解碼方法及裝置,一種音頻流解碼方法,包括:確定電子設備的音頻流緩沖區當前緩存的音頻幀的幀數;當該幀數大于第一數量閾值,且小于所述音頻流緩沖區能緩存的音頻幀的總幀數時,在經過預設時長后,對所述音頻流緩沖區內的音頻幀做丟棄處理;對所述音頻流緩沖區中未被丟棄的音頻幀進行解碼。應用上述技術方案,本發明實施例采用在音頻流緩沖區內的音頻幀幀數大于第一數量閾值,且小于音頻流緩沖區能緩存的音頻幀的總幀數時,在經過預設時長后,對音頻幀做丟棄處理的方法,減少了音頻幀解碼過程中音頻幀的丟幀次數,降低爆破音出現的次數。
技術領域
本發明涉及流媒體技術領域,特別涉及一種音頻流解碼方法及裝置。
背景技術
為降低網絡環境不穩定給視頻文件的音頻播放效果帶來的影響,在對該視頻文件的音頻流進行解碼之前,具有音頻流解碼功能的電子設備通常會預先使用一段隊列結構的內存作為音頻流緩沖區,比如圖1中的AAC(Advanced Audio Coding,高級音頻編碼)緩沖區;由于音頻流解碼耗用較少的CPU(Central Processing Unit,中央處理器)資源,該電子設備通常采用CPU對音頻流進行軟解碼。
網絡長時間處于波動狀態,會導致網絡設備中視頻文件的音頻流大量持續涌入電子設備,由于該電子設備CPU的解碼速率是固定的,該音頻流緩沖區的緩存能力是有限的,在音頻流解碼過程中,過多音頻流的持續涌入勢必會導致丟幀現象的出現。
現有技術中,網絡設備中視頻文件的音頻流大量持續涌入電子設備,導致音頻流緩沖區被迅速充滿,此時,丟棄該音頻流緩沖區隊列尾或隊列頭的音頻幀。
然而,音頻幀的丟幀次數與該視頻文件所呈現的聲音效果存在直接關系:音頻幀的丟幀次數越多,該視頻文件播放過程中爆破音出現的次數也就越多;由于現有丟幀方法在音頻流緩沖區處于飽和狀態時,才會丟棄不能被立即解碼/緩存的音頻幀,使得該電子設備有大量持續的音頻流涌入時不能及時對其進行解碼及緩存,從而導致多次丟幀,爆破音現象多次出現。
發明內容
為了解決上述問題,本發明實施例公開了一種音頻流解碼方法及裝置,具體技術方案如下:
一種音頻流解碼方法,包括:
確定電子設備的音頻流緩沖區當前緩存的音頻幀的幀數;
當該幀數大于第一數量閾值,且小于所述音頻流緩沖區能緩存的音頻幀的總幀數時,在經過預設時長后,對所述音頻流緩沖區內的音頻幀做丟棄處理;
對所述音頻流緩沖區中未被丟棄的音頻幀進行解碼。
優選的,還包括:
當該幀數達到所述總幀數時,立即對所述音頻流緩沖區內的音頻幀做丟棄處理。
優選的,對所述音頻流緩沖區內的音頻幀做丟棄處理后,所述音頻流緩沖區內音頻幀的幀數等于所述第一數量閾值;或者
對所述音頻流緩沖區內的音頻幀做丟棄處理后,所述音頻流緩沖區內音頻幀的幀數等于所述第二數量閾值,且所述第二數量閾值小于所述第一數量閾值。
優選的,確定電子設備的音頻流緩沖區當前緩存的音頻幀的幀數,包括:
根據預設的統計周期,周期性地確定電子設備的音頻流緩沖區當前緩存的音頻幀的幀數。
優選的,所述統計周期大于所述預設時長。
優選的,所述對所述音頻流緩沖區內的音頻幀做丟棄處理,包括:
從所述音頻流緩沖區的隊列尾開始,對音頻幀進行丟棄;
或
從所述音頻流緩沖區的隊列頭開始,對音頻幀進行丟棄。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣州獵豹網絡科技有限公司,未經廣州獵豹網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410375254.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種極環覆膜超薄傳聲器
- 下一篇:網頁視頻點播方法和裝置





