專利名稱:一種音視頻Seek同步策略的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多媒體音視頻播放領(lǐng)域,更具體的是視頻播放過(guò)程中%4操作的同
步策略。
背景技術(shù):
在視頻播放過(guò)程中,人們會(huì)將視頻從一個(gè)時(shí)間點(diǎn)拖動(dòng)到另一個(gè)時(shí)間點(diǎn),來(lái)觀看自己關(guān)心的內(nèi)容,這一操作過(guò)程稱為kek。在kek操作這一環(huán)節(jié)中,一般選取與目標(biāo)kek點(diǎn)最接近的視頻參考幀為kek 點(diǎn),然后依次讀出該位置之后的音頻時(shí)間戳與視頻時(shí)間戳送交解碼器解碼,但必須確保 kek后音視頻同步輸出,能否快速同步輸出非常重要。因此采用合適的策略來(lái)保證kek操作的快速響應(yīng),同步輸出成為操作的重中之重。常規(guī)kek策略為kek拿到音頻時(shí)間戳和視頻時(shí)間戳后,選擇其中最大的時(shí)間戳為同步點(diǎn),同時(shí)將同步點(diǎn)告知音頻輸出單元和視頻輸出單元,音頻和視頻輸出單元接收到音視頻數(shù)據(jù)時(shí),分別判斷其時(shí)間戳與同步點(diǎn)的關(guān)系,若此時(shí)的音視頻時(shí)間戳大于同步點(diǎn)則將數(shù)據(jù)送交硬件輸出。當(dāng)音視頻均有輸出時(shí)kek過(guò)程結(jié)束,進(jìn)入視頻同步播放環(huán)節(jié)。使用該策略,可以滿足大部分流^ek同步的需求,但是該策略kek過(guò)程中會(huì)將一些不該輸出的音頻幀解碼,不該顯示的數(shù)據(jù)傳輸?shù)揭纛l和視頻輸出單元,增加了解碼及傳輸時(shí)間。另外對(duì)于每幀音頻持續(xù)時(shí)間(大于100毫秒)較長(zhǎng)的流,當(dāng)前幀音頻小于同步點(diǎn),但是下一幀音頻則超出同步點(diǎn)很多,這給kek同步造成較大的誤差。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種合理選擇kek同步點(diǎn),使kek操作快速完成的kek同
步策略。一種視頻播放過(guò)程中kek同步策略包括以下步驟1、據(jù)同步的精確性設(shè)定閾值GT。假定kek到的音頻時(shí)間戳為AT,視頻時(shí)間戳為 VT。在數(shù)據(jù)讀取端立即判斷AT和VT之間的關(guān)系。若IAT-VTl <=61\則認(rèn)為%吐后音視頻同步,Seek的位置為AT和VT中的最大值。否則執(zhí)行下述2,3步驟。2、T > VT,則告知視頻解碼器,所有時(shí)間戳小于AT的視頻幀只解碼不輸出,kek 的位置為AT,即同步點(diǎn)為AT。此時(shí)必須將視頻幀送交視頻解碼器解碼,否則在沒(méi)有參考幀的情況下,視頻解碼就不完整,播放就會(huì)出現(xiàn)馬賽克現(xiàn)象。3、AT < VT,則丟棄當(dāng)前的音頻幀,繼續(xù)讀取源文件,直到讀到的音頻時(shí)間戳CT接近VT,但要VT大于CT。然后告知音頻解碼器該幀音頻解碼后需丟掉VT-CT時(shí)間長(zhǎng)度的數(shù)據(jù)。音頻解碼后根據(jù)每一幀音頻的持續(xù)時(shí)間以及采樣率可以計(jì)算得到丟掉多少字節(jié)的數(shù)據(jù)。此時(shí)kek的位置為VT,即同步點(diǎn)位VT。
3
圖為kek流程
具體實(shí)施例方式下面結(jié)合附圖進(jìn)一步闡述本發(fā)明圖為視頻播放過(guò)程中kek流程,首先設(shè)定kek同步閾值GT,這里選擇30毫秒。 當(dāng)用戶請(qǐng)求kek時(shí),首先確定最接近用戶要求的參考幀在文件中的位置,然后從該位置之后依次讀出kek到的音頻幀和視頻幀,此后進(jìn)入本發(fā)明的策略判定階段,音頻幀丟棄后直到讀到與VT最接近的音頻時(shí)間戳AT為止。然后送交音頻解碼器解碼,在根據(jù)輸出采樣率計(jì)算出丟掉一定長(zhǎng)度的音頻數(shù)據(jù)就即可送交音頻輸出,此時(shí)音頻流程kek結(jié)束。視頻幀經(jīng)過(guò)AT和VT關(guān)系判定后,即刻送交視頻解碼,若視頻不輸出,則重復(fù)上述過(guò)程,否則視頻幀送交視頻輸出,視頻流程^ek結(jié)束,系統(tǒng)進(jìn)入正常播放環(huán)節(jié)。其中計(jì)算需丟棄的音頻幀長(zhǎng)度計(jì)算公式如下假定音頻采樣率為Sa,每個(gè)采樣點(diǎn)包含的字節(jié)數(shù)為N,需丟掉的時(shí)間長(zhǎng)度為T毫秒,音頻聲道數(shù)為n,需要丟掉的字節(jié)數(shù)為L(zhǎng),則L = T/1000*Sa*N*n公式上述操作過(guò)程是本發(fā)明的一種典型的實(shí)施應(yīng)用,已經(jīng)在基于盈方微芯片的1080P 多媒體解決方案中經(jīng)百萬(wàn)級(jí)出貨量驗(yàn)證,可以很好地滿足用戶的多媒體體驗(yàn)。對(duì)于本領(lǐng)域的一般技術(shù)人員,在上述實(shí)施例的基礎(chǔ)上,可以做出多種變化,同樣能實(shí)現(xiàn)本發(fā)明的目的。 但是,這種變化顯然是在本發(fā)明的權(quán)利要求書(shū)的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種音視頻kek同步策略,其特征在于包括以下步驟第一步驟,根據(jù)同步的精確性設(shè)定閾值GT。第二步驟,若AT〉VT,則告知視頻解碼器,所有時(shí)間戳小于AT的視頻幀只解碼不輸出, Seek的位置為AT,即同步點(diǎn)為AT。第三步驟,若AT < VT,則丟棄當(dāng)前的音頻幀,繼續(xù)讀取源文件,直到讀到的音頻時(shí)間戳 CT接近VT,但要VT大于CT。
2.如權(quán)利要求1所述的一種音視頻kek同步策略,其特征在于所述第一步驟中,假定kek到的音頻時(shí)間戳為AT,視頻時(shí)間戳為VT。在數(shù)據(jù)讀取端立即判斷AT和VT之間的關(guān)系。若IAT-VT <=GT,則認(rèn)為kek后音視頻同步,Seek的位置為AT和VT中的最大值。
3.如權(quán)利要求1所述的一種音視頻kek同步策略,其特征在于所述第二步驟中,若AT > VT,則告知視頻解碼器,所有時(shí)間戳小于AT的視頻幀只解碼不輸出,Seek的位置為AT,即同步點(diǎn)為AT時(shí),必須將視頻幀送交視頻解碼器解碼,否則在沒(méi)有參考幀的情況下,視頻解碼就不完整,播放就會(huì)出現(xiàn)馬賽克現(xiàn)象。
4.如權(quán)利要求1所述的一種音視頻kek同步策略,其特征在于所述第三步驟中,應(yīng)告知音頻解碼器該幀音頻解碼后需丟掉VT-CT時(shí)間長(zhǎng)度的數(shù)據(jù)。 音頻解碼后根據(jù)每一幀音頻的持續(xù)時(shí)間以及采樣率可以計(jì)算得到丟掉多少字節(jié)的數(shù)據(jù)。此時(shí)kek的位置為VT,即同步點(diǎn)位VT。
全文摘要
一種音視頻Seek同步策略,所屬技術(shù)領(lǐng)域涉及多媒體音視頻播放。本發(fā)明所要解決的問(wèn)題為提供一種合理選擇Seek同步點(diǎn),使Seek操作快速完成的Seek同步策略。步驟如下?lián)降木_性設(shè)定閾值GT;若AT>VT,則告知視頻解碼器,所有時(shí)間戳小于AT的視頻幀只解碼不輸出,Seek的位置為AT,即同步點(diǎn)為AT;AT<VT,則丟棄當(dāng)前的音頻幀,繼續(xù)讀取源文件,直到讀到的音頻時(shí)間戳CT接近VT,但要VT大于CT。然后告知音頻解碼器該幀音頻解碼后需丟掉VT-CT時(shí)間長(zhǎng)度的數(shù)據(jù)。本發(fā)明對(duì)同步點(diǎn)的判定更加精準(zhǔn),并且將同步的判定放在解碼前,省去了部分音頻數(shù)據(jù)解碼時(shí)間及輸出時(shí)間,加快了Seek進(jìn)程。
文檔編號(hào)H04N21/8547GK102368835SQ20111017963
公開(kāi)日2012年3月7日 申請(qǐng)日期2011年6月28日 優(yōu)先權(quán)日2011年6月28日
發(fā)明者付偉, 葉偉澤, 徐艷圓, 李興仁, 王勝 申請(qǐng)人:上海盈方微電子有限公司