專利名稱:動態(tài)匹配前端音頻碼率的錄音及播音的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及應急廣播系統(tǒng)中使用了基于DVB技術(shù)的數(shù)字音頻傳輸技術(shù)領(lǐng)域,尤其涉及數(shù)字音頻信息傳輸過程中錄音后延遲播音時的一種動態(tài)匹配方法。
背景技術(shù):
在應急廣播系統(tǒng)中,使用了基于DVB技術(shù)的數(shù)字音頻傳輸技術(shù),前端的數(shù)字編碼器將音頻信息編碼后通過DVB信號廣播,終端解調(diào)接收到音頻數(shù)據(jù)并播放。因此,正常的數(shù)字節(jié)目播放過程中,只需要在收到音頻數(shù)據(jù)包后立即將數(shù)據(jù)傳送至終端設(shè)備的音頻解碼器,即能正常的播放節(jié)目。此時數(shù)據(jù)包的傳輸速率是由前端編碼器控制的,無需關(guān)心碼率問題。但是在某些情況下,需要對音頻信息進行錄音,延時一段時間后播放。在播放錄音時,需要將音頻數(shù)據(jù)以正確的時間間隔發(fā)送至數(shù)字音頻解碼器以正確的還原聲音,如果音頻數(shù)據(jù)送至數(shù)字音頻解碼器的時間間隔和音頻解碼器的發(fā)送音頻數(shù)據(jù)不一致,即傳輸過快或過慢,會導致聲音播放不連續(xù)等問題,嚴重影響播音質(zhì)量。DVB系統(tǒng)前端音頻編碼器不同的設(shè)置,特別是音頻碼率設(shè)置為64Kbps,128Kbps,192Kbps,256Kbps,320Kbps時直接影響音頻數(shù)據(jù)的傳輸速率。PES包是包含音視頻數(shù)據(jù)的數(shù)據(jù)包,PES包過濾器是終端設(shè)備機頂盒CPU內(nèi)的一個器件,能從各種信息中過濾出音視頻數(shù)據(jù)包。
發(fā)明內(nèi)容
發(fā)明目的本發(fā)明的發(fā)明目的是提供一種動態(tài)匹配前端音頻碼率的錄音及播音的方法,解決了音頻數(shù)據(jù)傳送給數(shù)字音頻解碼器的傳輸速率與前端編碼器的數(shù)據(jù)發(fā)送速率不同步的問題,保證了播音質(zhì)量。技術(shù)方案本發(fā)明所述的動態(tài)匹配前端音頻碼率的錄音及播音的方法,包括終端設(shè)備通過自身配備的PES包過濾器過濾出數(shù)字前端編碼器發(fā)送過來的音頻數(shù)據(jù)包,并將所述音頻數(shù)據(jù)包經(jīng)過錄音和播音兩個進程后播放。所述錄音進程包括以下三個步驟步驟一、所述錄音進程監(jiān)聽PES包過濾器,將獲得的音頻數(shù)據(jù)包按照錄音格式寫入數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)塊內(nèi),所述數(shù)據(jù)塊包括序列號區(qū)域、數(shù)據(jù)長度區(qū)域、時間戳區(qū)域和音頻數(shù)據(jù)區(qū)域;步驟二、所述錄音進程移動數(shù)據(jù)緩沖區(qū)寫指針至下一個數(shù)據(jù)塊的起始位置;步驟三、所述錄音進程查看是否需要繼續(xù)錄音,若需要繼續(xù)錄音,錄音進程在下一個數(shù)據(jù)塊的序列號區(qū)域內(nèi)寫入有效序列號后進入步驟一,若不需要繼續(xù)錄音,錄音進程在下一個數(shù)據(jù)塊的序列號區(qū)域內(nèi)寫入終結(jié)標志,結(jié)束錄音;所述播音進程包括以下四個步驟步驟一、所述播音進程讀取所述數(shù)據(jù)緩沖區(qū)中數(shù)據(jù)塊的序列號,查看所述序列號是否有效,如無效,結(jié)束錄音播放并退出,若有效,發(fā)送所述數(shù)據(jù)塊到數(shù)字音頻解碼器;步驟二、所述數(shù)字音頻解碼器根據(jù)所述數(shù)據(jù)塊數(shù)據(jù)長度區(qū)域的數(shù)值移動緩沖區(qū)讀指針至下一個數(shù)據(jù)塊起始位置;步驟三、所述數(shù)字音頻解碼器獲取下一個數(shù)據(jù)塊時間戳區(qū)域的數(shù)值,與所述數(shù)據(jù)塊時間戳區(qū)域的數(shù)值比較得出兩個數(shù)據(jù)塊的寫入時間間隔,數(shù)字音頻解碼器將所述時間間隔的長度作為延時的時間長度任務進行休眠;步驟四、所述數(shù)字音頻解碼器休眠結(jié)束,所述播音進程讀取下一個數(shù)據(jù)塊,進入步驟一。
在上述技術(shù)方案中,錄音進程中的步驟一中,錄音進程將音頻數(shù)據(jù)包寫入數(shù)據(jù)緩沖區(qū)數(shù)據(jù)塊內(nèi)的過程包括錄音進程獲取所述音頻數(shù)據(jù)包的長度寫入數(shù)據(jù)塊的數(shù)據(jù)長度區(qū)域,錄音進程獲取所述音頻數(shù)據(jù)包接收時的系統(tǒng)時間寫入數(shù)據(jù)塊的時間戳區(qū)域,錄音進程將所述音頻數(shù)據(jù)包寫入數(shù)據(jù)塊的音頻數(shù)據(jù)區(qū)域。在上述技術(shù)方案中,錄音進程中的步驟三中,錄音進程在下一個數(shù)據(jù)塊的序列號區(qū)域內(nèi)寫入的有效序列號數(shù)值為上一個數(shù)據(jù)塊的序列號數(shù)值+1。有益效果本發(fā)明與現(xiàn)有的技術(shù)相比,其顯著特點是在錄音進程中將音頻數(shù)據(jù)包寫入數(shù)據(jù)緩沖區(qū)內(nèi)的數(shù)據(jù)塊,在播音進程中,對序列號有效的數(shù)據(jù)塊數(shù)字音頻解碼器會根據(jù)該數(shù)據(jù)塊與下一個數(shù)據(jù)塊時間戳區(qū)域內(nèi)寫入的時間間隔的長度任務進行休眠,最終使音頻數(shù)據(jù)傳送給數(shù)字音頻解碼器的傳輸速率與前端編碼器的數(shù)據(jù)發(fā)送速率同步,保證了播音質(zhì)量。
圖I是本發(fā)明中數(shù)據(jù)緩沖區(qū)內(nèi)單個數(shù)據(jù)塊的結(jié)構(gòu)示意圖;圖2是本發(fā)明中錄音進程的流程圖;圖3是本發(fā)明中播音進程的流程圖。
具體實施例方式本發(fā)明所述的動態(tài)匹配前端音頻碼率的錄音及播音的方法,包括終端設(shè)備通過自身配備的PES包過濾器過濾出數(shù)字前端編碼器發(fā)送過來的音頻數(shù)據(jù)包,并將所述音頻數(shù)據(jù)包經(jīng)過錄音和播音兩個進程后播放。如圖I所示,數(shù)據(jù)緩沖區(qū)內(nèi)單個數(shù)據(jù)塊包括序列號區(qū)域、數(shù)據(jù)長度區(qū)域、時間戳區(qū)域和音頻數(shù)據(jù)區(qū)域,序列號區(qū)域?qū)懭氲氖且纛l數(shù)據(jù)包的序列號,數(shù)據(jù)長度區(qū)域?qū)懭氲氖且纛l數(shù)據(jù)包的長度,時間戳區(qū)域?qū)懭氲氖且纛l數(shù)據(jù)包接收時的系統(tǒng)時間,音頻數(shù)據(jù)區(qū)域?qū)懭氲氖且纛l數(shù)據(jù)包的數(shù)據(jù)載荷。如圖2所示,錄音進程的流程包括以下步驟步驟一、錄音進程監(jiān)聽PES包過濾器;步驟二、錄音進程獲取音頻數(shù)據(jù)包長度,寫入緩沖區(qū)數(shù)據(jù)塊內(nèi)的數(shù)據(jù)長度區(qū)域;步驟三、錄音進程獲取音頻數(shù)據(jù)包接收時的系統(tǒng)時間,寫入該數(shù)據(jù)塊的時間戳區(qū)域;步驟四、錄音進程將音頻數(shù)據(jù)包寫入該數(shù)據(jù)塊的音頻數(shù)據(jù)區(qū)域;
步驟五、錄音進程移動緩沖區(qū)寫指針至下一個數(shù)據(jù)塊的起始位置;步驟六、錄音進程檢查是否需要繼續(xù)錄音,若需要繼續(xù)錄音,進入步驟七,若不需要繼續(xù)錄音,進入步驟八;步驟七、錄音進程在下一個數(shù)據(jù)塊的序列號區(qū)域內(nèi)寫入有效序列號,數(shù)值為上一個數(shù)據(jù)塊序列號數(shù)值+1,進入步驟一;步驟八、錄音進程在下一個數(shù)據(jù)塊的序列號區(qū)域內(nèi)寫入OxFFFFFFFF作為終結(jié)標志,結(jié)束錄音。如圖3所示,播音進程的流程包括以下步驟步驟一、播音進程讀取數(shù)據(jù)塊序列號;步驟二、播音進程查看該序列號是否有效,如無效,結(jié)束錄音播放并退出,若有效,進入步驟三;步驟三、播音進程發(fā)送數(shù)據(jù)塊至數(shù)字音頻解碼器;步驟四、數(shù)字音頻解碼器根據(jù)數(shù)據(jù)塊的數(shù)據(jù)長度區(qū)域內(nèi)的數(shù)值,移動緩沖區(qū)讀指針至下一個數(shù)據(jù)塊的起始位置;步驟五、數(shù)字音頻解碼器獲取下一個數(shù)據(jù)塊的時間戳區(qū)域的數(shù)值,與本數(shù)據(jù)塊時間戳區(qū)域的數(shù)值比較得出兩個數(shù)據(jù)塊寫入的時間間隔;步驟六、數(shù)字音頻解碼器將該時間間隔的長度作為延時的時間長度任務進行休眠;步驟七、休眠時間結(jié)束,播音進程讀取下一個數(shù)據(jù)塊,進入步驟一。由于錄音進程中將音頻數(shù)據(jù)包寫入數(shù)據(jù)緩沖區(qū)內(nèi)的數(shù)據(jù)塊,在播音進程中,對序列號有效的數(shù)據(jù)塊數(shù)字音頻解碼器會根據(jù)該數(shù)據(jù)塊與下一個數(shù)據(jù)塊寫入的時間間隔的長度任務進行休眠,最終使音頻數(shù)據(jù)傳送給數(shù)字音頻解碼器的傳輸速率與前端編碼器的數(shù)據(jù)發(fā)送速率同步,保證了播音質(zhì)量。
權(quán)利要求
1.一種動態(tài)匹配前端音頻碼率的錄音及播音的方法,包括終端設(shè)備通過自身配備的PES包過濾器過濾出數(shù)字前端編碼器發(fā)送過來的音頻數(shù)據(jù)包,并將所述音頻數(shù)據(jù)包經(jīng)過錄音和播音兩個進程后播放,其特征在于 所述錄音進程包括以下三個步驟 步驟一、所述錄音進程監(jiān)聽PES包過濾器,將獲得的音頻數(shù)據(jù)包按照錄音格式寫入數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)塊內(nèi),所述數(shù)據(jù)塊包括序列號區(qū)域、數(shù)據(jù)長度區(qū)域、時間戳區(qū)域和音頻數(shù)據(jù)區(qū)域; 步驟二、所述錄音進程移動數(shù)據(jù)緩沖區(qū)寫指針至下一個數(shù)據(jù)塊的起始位置; 步驟三、所述錄音進程查看是否需要繼續(xù)錄音,若需要繼續(xù)錄音,錄音進程在下一個數(shù)據(jù)塊的序列號區(qū)域內(nèi)寫入有效序列號后進入步驟一,若不需要繼續(xù)錄音,錄音進程在下一個數(shù)據(jù)塊的序列號區(qū)域內(nèi)寫入終結(jié)標志,結(jié)束錄音; 所述播音進程包括以下四個步驟 步驟一、所述播音進程讀取所述數(shù)據(jù)緩沖區(qū)中數(shù)據(jù)塊的序列號,查看所述序列號是否有效,如無效,結(jié)束錄音播放并退出,若有效,發(fā)送所述數(shù)據(jù)塊到數(shù)字音頻解碼器; 步驟二、所述數(shù)字音頻解碼器根據(jù)所述數(shù)據(jù)塊數(shù)據(jù)長度區(qū)域的數(shù)值移動緩沖區(qū)讀指針至下一個數(shù)據(jù)塊起始位置; 步驟三、所述數(shù)字音頻解碼器獲取下一個數(shù)據(jù)塊時間戳區(qū)域的數(shù)值,與所述數(shù)據(jù)塊時間戳區(qū)域的數(shù)值比較得出兩個數(shù)據(jù)塊的寫入時間間隔,數(shù)字音頻解碼器將所述時間間隔的長度作為延時的時間長度任務進行休眠; 步驟四、所述數(shù)字音頻解碼器休眠結(jié)束,所述播音進程讀取下一個數(shù)據(jù)塊,進入步驟O
2.根據(jù)權(quán)利要求I所述的動態(tài)匹配前端音頻碼率的錄音及播音的方法,其特征在于所述錄音進程中的步驟一中,錄音進程將音頻數(shù)據(jù)包寫入數(shù)據(jù)緩沖區(qū)數(shù)據(jù)塊內(nèi)的過程包括錄音進程獲取所述音頻數(shù)據(jù)包的長度寫入數(shù)據(jù)塊的數(shù)據(jù)長度區(qū)域,錄音進程獲取音頻數(shù)據(jù)包接收時的系統(tǒng)時間寫入數(shù)據(jù)塊的時間戳區(qū)域,錄音進程將所述音頻數(shù)據(jù)包寫入數(shù)據(jù)塊的音頻數(shù)據(jù)區(qū)域。
3.根據(jù)權(quán)利要求I所述的動態(tài)匹配前端音頻碼率的錄音及播音的方法,其特征在于所述錄音進程中的步驟三中,錄音進程在下一個數(shù)據(jù)塊的序列號區(qū)域內(nèi)寫入的有效序列號數(shù)值為上一個數(shù)據(jù)塊的序列號數(shù)值+1。
全文摘要
本發(fā)明提供了一種動態(tài)匹配前端音頻碼率的錄音及播音的方法,包括終端設(shè)備通過自身的PES包過濾器過濾出數(shù)字前端編碼器發(fā)送過來的音頻數(shù)據(jù)包,并將音頻數(shù)據(jù)包經(jīng)過錄音和播音兩個進程后播放,錄音進程中,音頻數(shù)據(jù)包寫入數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)塊內(nèi),播音進程中,播音進程讀取數(shù)據(jù)塊的序列號,將序列號有效的數(shù)據(jù)塊發(fā)送到數(shù)字音頻解碼器,數(shù)字音頻解碼器根據(jù)該數(shù)據(jù)塊與下一個數(shù)據(jù)塊寫入的時間間隔的長度任務進行休眠。本發(fā)明與現(xiàn)有技術(shù)相比,其顯著特點是數(shù)字音頻解碼器會根據(jù)序列號有效的數(shù)據(jù)塊與下一個數(shù)據(jù)塊寫入的時間間隔的長度任務進行休眠,最終使音頻數(shù)據(jù)傳送給數(shù)字音頻解碼器的傳輸速率與前端編碼器的數(shù)據(jù)發(fā)送速率同步,保證播音質(zhì)量。
文檔編號G11B27/10GK102842324SQ20121034219
公開日2012年12月26日 申請日期2012年9月17日 優(yōu)先權(quán)日2012年9月17日
發(fā)明者王振洪, 馬曉東, 陳小星, 胡踐初, 姜榮超 申請人:江蘇億通高科技股份有限公司