專利名稱:音頻視頻同步處理方法及裝置的制作方法
技術領域:
本發明涉及數據處理方法及裝置,尤其涉及一種音頻視頻同步處理方法及裝置。
背景技術:
通常為進行媒體播放,音頻樣本流和視頻樣本流這兩路數據流分別輸入音頻編碼器和視頻編碼器進行編碼,得到音頻編碼數據和視頻編碼數據,然后把這兩路編碼數據發送給文件合成器進行文件格式合成。在這個過程中,音頻視頻不同步是困擾播放的一個主要問題,導致音頻視頻不同步的原因可能是音頻樣本流和視頻樣本流分別輸入音頻編碼器和視頻編碼器之前,并沒有進行交織,或者沒有進行正確的交織,導致文件合成不正確,引起音頻視頻不同步。還有,編碼后,由于編碼器消耗樣本與交織樣本不同步,導致文件合成不正確,同樣會引起音頻視頻播放不同步。
發明內容
本發明要解決的技術問題在于針對現有技術中交織不正確導致音頻視頻不同步的缺陷,提供一種音頻視頻同步處理方法及裝置。本發明解決其技術問題所采用的技術方案是提供了一種音頻視頻同步處理方法,包括接收步驟,用于接收音頻樣本和視頻樣本;編碼步驟,用于分別對接收的所述音頻樣本和視頻樣本進行編碼以形成編碼后音頻樣本和編碼后視頻樣本,并輸出包括所述編碼后音頻樣本和編碼后視頻樣本的編碼后音頻視頻隊列;以及文件合成步驟,用于將所述編碼后音頻樣本和編碼后視頻樣本合成文件以輸出;其中,所述編碼步驟與所述文件合成步驟之間還包括編碼后交織步驟,用于基于所述編碼后視頻樣本的視頻幀率對所述編碼后音頻樣本和編碼后視頻樣本進行交織以形成編碼后交織隊列供文件合成。在依據本發明實施例的音頻視頻同步處理方法中,所述編碼后交織步驟進一步包括分別采集所述編碼后音頻視頻隊列中的每一幀所述編碼后音頻樣本和每一幀編碼后視頻樣本消耗的字節數,以分別獲得每一幀所述編碼后音頻樣本的持續時長和每一幀所述編碼后視頻樣本的持續時長;以及基于每一幀所述編碼后音頻樣本的持續時長和每一幀所述編碼后視頻樣本的持續時長對所述編碼后音頻視頻隊列中的所述編碼后音頻樣本和編碼后視頻樣本進行交織以獲得編碼后交織隊列,其中所述編碼后交織隊列中任一幀編碼后視頻樣本的持續時長與其對應的一幀編碼后音頻樣本的持續時長之差小于或等于預設閾值。在依據本發明實施例的音頻視頻同步處理方法中,所述編碼后交織步驟進一步包括
當所述編碼后音頻視頻隊列中的任一幀編碼后視頻樣本的持續時長與k幀編碼后音頻樣本的持續時長之和的差小于或等于所述預設閾值時,其中k為大于或等于1的自然數,則編碼后交織隊列中該幀編碼后視頻樣本對應的一幀編碼后音頻樣本由所述編碼后音頻視頻隊列中該k幀編碼后音頻樣本組成。在依據本發明實施例的音頻視頻同步處理方法中,所述預設閾值為0. 01秒。在依據本發明實施例的音頻視頻同步處理方法中,所述編碼后交織隊列中任一幀編碼后視頻樣本的持續時長與其對應的一幀編碼后音頻樣本的持續時長相等。在依據本發明實施例的音頻視頻同步處理方法中,所述接收步驟與所述編碼步驟之間還包括編碼前交織步驟,用于基于接收的所述視頻樣本的視頻幀率對接收的所述音頻樣本和視頻樣本進行交織以形成編碼前交織隊列。在依據本發明實施例的音頻視頻同步處理方法中,在所述編碼前交織步驟中,按下列公式nBitA = nChanne1X nSamp1eRate X nB i t*(1/nFramerate)/8計算所述編碼前交織隊列中任一幀視頻樣本對應的一幀音頻樣本內包含的字節數nBitA,其中,nChanne 1為所述音頻樣本的聲道個數,nSampIerate為所述音頻樣本的采樣率,nBit為每個所述音頻樣本的量化比特數,nFramerate為所述視頻樣本的視頻幀率。本發明還提供了一種音頻視頻同步處理裝置,包括接收裝置,用于接收音頻樣本和視頻樣本;編碼裝置,用于分別對接收的所述音頻樣本和視頻樣本進行編碼以形成編碼后音頻樣本和編碼后視頻樣本,并輸出包括所述編碼后音頻樣本和編碼后視頻樣本的編碼后音頻視頻隊列;以及文件合成裝置,用于將所述編碼后音頻樣本和編碼后視頻樣本合成文件以輸出;其中,所述音頻視頻同步處理裝置還包括編碼后交織裝置,用于基于所述編碼后視頻樣本的視頻幀率對所述編碼后音頻樣本和編碼后視頻樣本進行交織以形成編碼后交織隊列供文件合成。在依據本發明實施例的音頻視頻同步處理裝置中,所述編碼后交織裝置進一步用于分別采集所述編碼后音頻視頻隊列中的每一幀所述編碼后音頻樣本和每一幀編碼后視頻樣本消耗的字節數,以分別獲得每一幀所述編碼后音頻樣本的持續時長和每一幀所述編碼后視頻樣本的持續時長;以及基于每一幀所述編碼后音頻樣本的持續時長和每一幀所述編碼后視頻樣本的持續時長對所述編碼后音頻視頻隊列中的所述編碼后音頻樣本和編碼后視頻樣本進行交織以獲得編碼后交織隊列,其中所述編碼后交織隊列中任一幀編碼后視頻樣本的持續時長與其對應的一幀編碼后音頻樣本的持續時長之差小于或等于預設閾值。在依據本發明實施例的音頻視頻同步處理裝置中,所述編碼后交織裝置進一步用于當所述編碼后音頻視頻隊列中的任一幀編碼后視頻樣本的持續時長與k幀編碼后音頻樣本的持續時長之和的差小于或等于所述預設閾值時,其中k為大于或等于1的自然數,則編碼后交織隊列中該幀編碼后視頻樣本對應的一幀編碼后音頻樣本由所述編碼后
5音頻視頻隊列中該k幀編碼后音頻樣本組成。本發明產生的有益效果是通過在編碼后,基于編碼后的視頻樣本的視頻幀率對編碼后的視頻樣本和音頻樣本進行交織,從而有效地同步接收的音頻和視頻。
下面將結合附圖及實施例對本發明作進一步說明,附圖中圖1是依據本發明實施例的音頻視頻同步處理方法的流程圖;圖2是依據本發明實施例的音頻視頻同步處理裝置的邏輯框圖;圖3是依據本發明實施例的編碼前交織步驟的示意圖;圖4是依據本發明實施例的編碼后交織步驟的示意圖。
具體實施例方式為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅用以解釋本發明,并不用于限定本發明。圖1和2分別示出了依據本發明實施例的音頻視頻同步處理方法的流程圖和音頻視頻同步處理裝置的邏輯框圖,結合圖1和圖2,下面將按步驟詳細描述該音頻視頻同步處
理方法。S100、接收步驟,在該步驟中可通過接收裝置100從音頻源和視頻源分別接收待播放媒體的音頻樣本110和視頻樣本120。S200、編碼前交織步驟,為了使播放的媒體文件中音頻和視頻保持同步,在該步驟中可采用編碼前交織裝置200對步驟SlOO中接收的音頻樣本110和視頻樣本120進行交織以形成編碼前交織隊列210。因為只有對音頻和視頻采用正確的交織才能確保播放的媒體文件中音頻和視頻同步,因此在本發明實施例中將基于視頻樣本120的視頻幀率,采用編碼前交織裝置200對接收的音頻樣本110和視頻樣本120進行交織以形成編碼前交織隊列210,圖3中示出了該編碼前交織步驟的示意圖。如圖3所示,在編碼前交織隊列210中, 視頻樣本幀Vi和音頻樣本幀Ai依次交替排列,其中,任一幀視頻樣本Vi均具有其對應的一幀音頻樣本Ai,具體而言,一幀視頻樣本V2具有其對應的一幀音頻樣本A2。優選地,在該編碼前交織步驟中,按下列公式nBitA = nChannel XnSampleRate XnBit* (1/nFramerate)/8 (1)計算編碼前交織隊列210中任一幀視頻樣本Vi對應的一幀音頻樣本Ai內包含的字節數nBitA,其中,nChannel為音頻樣本110的聲道個數,nSampIerate為音頻樣本110 的采樣率,nBit為每個音頻樣本110的量化比特數,nFramerate為視頻樣本120的視頻幀率。舉例而言,假設視頻樣本120的視頻幀率nFramerate為30幀/秒,其它參數不考慮; 音頻樣本110的參數為聲道nChannel為2聲道,采樣率nSampIerate為44100Hz ;量化比特數nBit為16bit,則根據公式(1)可計算獲得任一幀音頻樣本Ai內包含的字節數nBitA =2*44100*16* (1/30)/8。需要說明的是,上述編碼前交織步驟S200是可選的,既可以實施,也可以不實施。S300、編碼步驟,如圖4所示,在該步驟中可采用編碼裝置300分別對接收的音頻樣本110和視頻樣本120或者是編碼后交織隊列中的音頻樣本和視頻樣本進行編碼以形成編碼后音頻樣本310和編碼后視頻樣本320,并輸出包括編碼后音頻樣本310和編碼后視頻樣本320的編碼后音頻視頻隊列330。其中,采用A'」和” i分別表示編碼后音頻視頻隊列330中的任一幀編碼后音頻樣本和任一幀編碼后視頻樣本。S400、編碼后交織步驟,仍如圖4所示,在編碼裝置300執行編碼步驟S300的過程中,音頻樣本和視頻樣本均會消耗一定的字節數,例如以…表示任一幀編碼后音頻樣本 A'彳在編碼步驟S300中消耗的字節數,以Vi表示任一幀編碼后視頻樣本V' 1在編碼步驟S300中消耗的字節數,其中A' j為編碼后音頻視頻隊列330中A^對應的一幀編碼后音頻樣本。如果編碼步驟S300過程中A^中包含的字節數與…不相等,即所消耗的字節數與編碼前的音頻樣本的字節數不相等,將導致編碼器生成的編碼后音頻樣本310的幀數M與編碼后視頻樣本320的幀數N持續時間不相等,具體見圖4中的編碼后音頻視頻隊列330, 當這種編碼后音頻視頻隊列330合成為播放文件后,就有可能存在音頻和視頻不同步的問題。針對于此,必須對編碼后音頻樣本310和編碼后視頻樣本320進行交織。在編碼后交織步驟S400中,將采用編碼后交織裝置400基于編碼后視頻樣本320的視頻幀率對編碼后音頻樣本310和編碼后視頻樣本320進行交織以形成編碼后交織隊列410供文件合成。具體而言,首先分別采集編碼后音頻視頻隊列330中的每一幀編碼后音頻樣本 A'彳和每一幀編碼后視頻樣本V' i在編碼步驟S300中消耗的字節數,獲得圖4中所示的音頻視頻消耗字節數隊列420,其中音頻視頻消耗字節數隊列420中音頻消耗字節數…和視頻消耗字節數Vi分別與編碼后音頻視頻隊列330中編碼后音頻A'彳和編碼后視頻V' i 一一對應。基于音頻視頻消耗字節數隊列420即可得到任一幀編碼后音頻樣本和編碼后視頻樣本的持續時長,以任一幀編碼后音頻樣本^和編碼后視頻樣本V' i為例,其對應的消耗字節數分別為…和Vi,則基于所消耗的字節數可以獲得對應的持續時長 ^.和TVi。如果編碼后視頻樣本A' j消耗的字節數…與其對應的編碼前的音頻樣本Ai中包含的字節數不相等時,則 ^.和Tvi不相等(即 ^. Φ Tvi),假設此時一幀編碼后視頻樣本V' i的持續時長Tvi Sk幀編碼后音頻樣本(A” Ap1... Apk)的持續時長之和,即Tvi =Taj+Taj+1+. . . +TaJ+k,或者一幀編碼后視頻樣本V',的持續時長Tvi為k幀編碼后音頻樣本(A” Ap1. . . Apk)的持續時長之和的差小于或等于預設閾值,例如優選該預設閾值為 0. 01秒,則基于此對編碼后音頻樣本和編碼后視頻樣本進行編碼后交織以得到編碼后交織隊列410。仍如圖4所示,編碼后交織隊列410中任一幀編碼后視頻樣本V" 應的一幀編碼后音頻樣本A" i由上述k幀編碼后音頻樣本~、Ap1... Apk的組合構成,即A" i = Aj+Aj+1+. . . +AJ+k,以確保編碼后交織隊列410中每一幀編碼后視頻樣本V",與其對應的一幀編碼后音頻樣本A" i的持續時長相等,或者編碼后交織隊列410中每一幀編碼后視頻樣本V" i與其對應的一幀編碼后音頻樣本A" 持續時長之差小于或等于預設閾值,此預設閾值優選為0. 01秒,從而在合成文件進行播放后消除音頻視頻不同步的問題。S500、文件合成步驟,在該步驟中可采用文件合成裝置500將編碼后交織隊列410 中的編碼后音頻樣本和編碼后視頻樣本合成文件以輸出,從而可以進行媒體播放。從以上可以看出,在本發明的實施例中,首先在編碼前,基于接收的視頻樣本的視頻幀率對接收的視頻樣本和音頻樣本進行交織,從而同步接收的音頻和視頻;進一步地,編碼處理后,還可基于編碼后視頻樣本的視頻幀率對編碼后視頻樣本和編碼后音頻樣本進行交織以同步音頻和視頻;具體而言,為了消除編碼過程中由于一幀音頻樣本消耗的字節數與編碼前該幀音頻樣本內包含的字節數不相同導致音頻視頻不同步,則可基于編碼后視頻樣本和編碼后音頻樣本的持續時長對其進行進一步交織,從而同步音頻視頻。綜上所述,采用本發明實施例中的音頻視頻同步處理方法,可以有效地同步音頻視頻。
應當理解的是,對本領域普通技術人員來說,可以根據上述說明加以改進或變換, 而所有這些改進和變換都應屬于本發明所附權利要求的保護范圍。
權利要求
1.一種音頻視頻同步處理方法,包括接收步驟,用于接收音頻樣本和視頻樣本;編碼步驟,用于分別對接收的所述音頻樣本和視頻樣本進行編碼以形成編碼后音頻樣本和編碼后視頻樣本,并輸出包括所述編碼后音頻樣本和編碼后視頻樣本的編碼后音頻視頻隊列;以及文件合成步驟,用于將所述編碼后音頻樣本和編碼后視頻樣本合成文件以輸出;其特征在于,所述編碼步驟與所述文件合成步驟之間還包括編碼后交織步驟,用于基于所述編碼后視頻樣本的視頻幀率對所述編碼后音頻樣本和編碼后視頻樣本進行交織以形成編碼后交織隊列供文件合成。
2.根據權利要求1所述的音頻視頻同步處理方法,其特征在于,所述編碼后交織步驟進一步包括分別采集所述編碼后音頻視頻隊列中的每一幀所述編碼后音頻樣本和每一幀編碼后視頻樣本消耗的字節數,以分別獲得每一幀所述編碼后音頻樣本的持續時長和每一幀所述編碼后視頻樣本的持續時長;以及基于每一幀所述編碼后音頻樣本的持續時長和每一幀所述編碼后視頻樣本的持續時長對所述編碼后音頻視頻隊列中的所述編碼后音頻樣本和編碼后視頻樣本進行交織以獲得編碼后交織隊列,其中所述編碼后交織隊列中任一幀編碼后視頻樣本的持續時長與其對應的一幀編碼后音頻樣本的持續時長之差小于或等于預設閾值。
3.根據權利要求2所述的音頻視頻同步處理方法,其特征在于,所述編碼后交織步驟進一步包括當所述編碼后音頻視頻隊列中的任一幀編碼后視頻樣本的持續時長與k幀編碼后音頻樣本的持續時長之和的差小于或等于所述預設閾值時,其中k為大于或等于1的自然數, 則編碼后交織隊列中該幀編碼后視頻樣本對應的一幀編碼后音頻樣本由所述編碼后音頻視頻隊列中該k幀編碼后音頻樣本組成。
4.根據權利要求3所述的音頻視頻同步處理方法,其特征在于,所述預設閾值為0.01秒。
5.根據權利要求3所述的音頻視頻同步處理方法,其特征在于,所述編碼后交織隊列中任一幀編碼后視頻樣本的持續時長與其對應的一幀編碼后音頻樣本的持續時長相等。
6.根據權利要求1-5任一項所述的音頻視頻同步處理方法,其特征在于,所述接收步驟與所述編碼步驟之間還包括編碼前交織步驟,用于基于接收的所述視頻樣本的視頻幀率對接收的所述音頻樣本和視頻樣本進行交織以形成編碼前交織隊列。
7.根據權利要求6所述的音頻視頻同步處理方法,其特征在于,在所述編碼前交織步驟中,按下列公式nBitA = ηChanne1X nSamp1eRate X nB i t^(1/nFramerate)/8計算所述編碼前交織隊列中任一幀視頻樣本對應的一幀音頻樣本內包含的字節數 nBitA,其中,nChannel為所述音頻樣本的聲道個數,nSampIerate為所述音頻樣本的采樣率,nBit為每個所述音頻樣本的量化比特數,nFramerate為所述視頻樣本的視頻幀率。
8.一種音頻視頻同步處理裝置,包括接收裝置,用于接收音頻樣本和視頻樣本;編碼裝置,用于分別對接收的所述音頻樣本和視頻樣本進行編碼以形成編碼后音頻樣本和編碼后視頻樣本,并輸出包括所述編碼后音頻樣本和編碼后視頻樣本的編碼后音頻視頻隊列;以及文件合成裝置,用于將所述編碼后音頻樣本和編碼后視頻樣本合成文件以輸出;其特征在于,所述音頻視頻同步處理裝置還包括編碼后交織裝置,用于基于所述編碼后視頻樣本的視頻幀率對所述編碼后音頻樣本和編碼后視頻樣本進行交織以形成編碼后交織隊列供文件合成。
9.根據權利要求8所述的音頻視頻同步處理裝置,其特征在于,所述編碼后交織裝置進一步用于分別采集所述編碼后音頻視頻隊列中的每一幀所述編碼后音頻樣本和每一幀編碼后視頻樣本消耗的字節數,以分別獲得每一幀所述編碼后音頻樣本的持續時長和每一幀所述編碼后視頻樣本的持續時長;以及基于每一幀所述編碼后音頻樣本的持續時長和每一幀所述編碼后視頻樣本的持續時長對所述編碼后音頻視頻隊列中的所述編碼后音頻樣本和編碼后視頻樣本進行交織以獲得編碼后交織隊列,其中所述編碼后交織隊列中任一幀編碼后視頻樣本的持續時長與其對應的一幀編碼后音頻樣本的持續時長之差小于或等于預設閾值。
10.根據權利要求9所述的音頻視頻同步處理裝置,其特征在于,所述編碼后交織裝置進一步用于當所述編碼后音頻視頻隊列中的任一幀編碼后視頻樣本的持續時長與k幀編碼后音頻樣本的持續時長之和的差小于或等于所述預設閾值時,其中k為大于或等于1的自然數, 則編碼后交織隊列中該幀編碼后視頻樣本對應的一幀編碼后音頻樣本由所述編碼后音頻視頻隊列中該k幀編碼后音頻樣本組成。
全文摘要
本發明公開了一種音頻視頻同步處理方法,包括接收步驟,用于接收音頻樣本和視頻樣本;編碼步驟,用于分別對接收的音頻樣本和視頻樣本進行編碼以形成編碼后音頻樣本和編碼后視頻樣本,并輸出包括編碼后音頻樣本和編碼后視頻樣本的編碼后音頻視頻隊列;以及文件合成步驟,用于將編碼后音頻樣本和編碼后視頻樣本合成文件以輸出;編碼步驟與文件合成步驟之間還包括編碼后交織步驟,用于基于編碼后視頻樣本的視頻幀率對編碼后音頻樣本和編碼后視頻樣本進行交織以形成編碼后交織隊列供文件合成。本發明還公開了一種相應的音頻視頻同步處理裝置,采用該方法及裝置可以有效地同步音頻和視頻,消除播放文件中可能出現的不同步問題。
文檔編號H04N7/26GK102404573SQ20111038499
公開日2012年4月4日 申請日期2011年11月28日 優先權日2011年11月28日
發明者鄒鵬 申請人:深圳市萬興軟件有限公司