亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

音視頻同步方法和裝置的制造方法_3

文檔序號(hào):8302067閱讀:來源:國知局
率。
[0085]上述音視頻同步方法,通過根據(jù)當(dāng)前播放視頻數(shù)據(jù)的時(shí)間戳和音頻數(shù)據(jù)的時(shí)間戳計(jì)算當(dāng)前音視頻播放的時(shí)間差,并根據(jù)當(dāng)前音視頻播放的時(shí)間差獲取調(diào)節(jié)速率,根據(jù)調(diào)節(jié)速率調(diào)節(jié)視頻播放速率或控制音頻停止播放,使得音頻數(shù)據(jù)和視頻數(shù)據(jù)播放同步,在發(fā)送端網(wǎng)絡(luò)出現(xiàn)卡頓時(shí),并不會(huì)引起接收方播放的視頻和音頻同時(shí)出現(xiàn)卡頓,提高了音頻播放的流暢性,尤其應(yīng)用于在音視頻分開采集、編碼和傳輸場(chǎng)景下的視頻直播中音視頻同步,BP便在發(fā)送端網(wǎng)絡(luò)出現(xiàn)擁塞和丟包的場(chǎng)景下,同步也會(huì)在網(wǎng)絡(luò)正常之后恢復(fù),并且聲音播放的流暢性更易于保證;通過計(jì)算視頻數(shù)據(jù)編碼所消耗的延時(shí)時(shí)間,然后將音頻數(shù)據(jù)包緩存延時(shí)時(shí)間后再發(fā)送,以保證音視頻數(shù)據(jù)在傳輸起點(diǎn)的一致性。
[0086]圖4為一個(gè)實(shí)施例中音視頻同步裝置的結(jié)構(gòu)示意圖。圖4中的音視頻同步裝置運(yùn)用于圖1的應(yīng)用環(huán)境中。如圖4所示,一種音視頻同步裝置,包括解碼模塊410、時(shí)間戳獲取模塊420、時(shí)間差計(jì)算模塊430、調(diào)節(jié)速率獲取模塊440和調(diào)節(jié)模塊450。其中:
[0087]解碼模塊410用于對(duì)分別接收的音頻數(shù)據(jù)和視頻數(shù)據(jù)進(jìn)行解碼得到音頻數(shù)據(jù)的時(shí)間戳和視頻數(shù)據(jù)的時(shí)間戳。
[0088]具體的,接收的音頻數(shù)據(jù)包和視頻數(shù)據(jù)包是經(jīng)過編碼的,解碼模塊410對(duì)接收的音頻數(shù)據(jù)包進(jìn)行解碼得到音頻數(shù)據(jù)及其對(duì)應(yīng)的時(shí)間戳,對(duì)接收的視頻數(shù)據(jù)包進(jìn)行解碼得到視頻數(shù)據(jù)及其對(duì)應(yīng)的時(shí)間戳。音頻數(shù)據(jù)包解碼會(huì)按照時(shí)間戳順序進(jìn)行解碼。視頻數(shù)據(jù)包解碼后會(huì)重排視頻幀的順序,使其和最初采集順序相對(duì)應(yīng)。
[0089]時(shí)間戳獲取模塊420用于獲取當(dāng)前播放視頻數(shù)據(jù)的時(shí)間戳和當(dāng)前播放音頻數(shù)據(jù)的時(shí)間戳。
[0090]具體的,當(dāng)在播放視頻數(shù)據(jù)時(shí),獲取當(dāng)前播放視頻數(shù)據(jù)的時(shí)間戳,并查詢當(dāng)前播放音頻數(shù)據(jù)的時(shí)間戳。
[0091]時(shí)間差計(jì)算模塊430用于根據(jù)該當(dāng)前播放視頻數(shù)據(jù)的時(shí)間戳和當(dāng)前播放音頻數(shù)據(jù)的時(shí)間戳計(jì)算當(dāng)前音視頻播放的時(shí)間差。
[0092]具體的,將當(dāng)前播放視頻數(shù)據(jù)的時(shí)間戳和當(dāng)前播放音頻數(shù)據(jù)的時(shí)間戳求差值得到當(dāng)前音頻視頻播放的時(shí)間差。
[0093]調(diào)節(jié)速率獲取模塊440用于根據(jù)該當(dāng)前音視頻播放的時(shí)間差獲取調(diào)節(jié)速率。
[0094]具體的,該調(diào)節(jié)速率可為當(dāng)前播放視頻數(shù)據(jù)的時(shí)間戳與當(dāng)前播放音頻數(shù)據(jù)的時(shí)間戳之差的線性函數(shù)。
[0095]具體的,播放器的播放速率是由遞交給渲染模塊解碼后圖像數(shù)據(jù)的速率決定的。圖像數(shù)據(jù)的速率取決于一個(gè)時(shí)間間隔TP,理想情況下是TP等于1000/平均幀率,若平均幀率為20幀/毫秒,則該TP為50毫秒。
[0096]當(dāng)計(jì)算出音視頻播放的時(shí)間差TC = TV-TA,其中,TA為音頻數(shù)據(jù)的時(shí)間戳,TV為視頻數(shù)據(jù)的時(shí)間戳。調(diào)節(jié)速率為當(dāng)前播放視頻數(shù)據(jù)的時(shí)間戳與當(dāng)前播放音頻數(shù)據(jù)的時(shí)間戳之差的線性函數(shù),例如可為ACC = A+A*TC/1000,其中,ACC即為調(diào)節(jié)速率,A為一個(gè)基本值,可根據(jù)需要設(shè)置大小,例如,基本值可為5毫秒。在TC很小時(shí),TC對(duì)ACC的影響比較小,當(dāng)TC較大時(shí),TC對(duì)ACC的影響比較大。
[0097]計(jì)算得到一個(gè)真實(shí)遞交給渲染模塊的時(shí)間間隔TR,TR = TC-ACC-TW,其中,Tff是其它處理帶來的時(shí)間消耗(如取幀,幀數(shù)據(jù)解碼等)。
[0098]ACC為正值時(shí),說明視頻數(shù)據(jù)播放比音頻快,TR會(huì)小于TC-TW,視頻數(shù)據(jù)播放會(huì)稍大于預(yù)定的幀率;ACC為負(fù)值時(shí),說明視頻數(shù)據(jù)播放比音頻慢,TR會(huì)大于TC-TW,視頻數(shù)據(jù)播放會(huì)小于預(yù)定的幀率。其中,預(yù)定的幀率是指預(yù)先設(shè)定的播放幀率。
[0099]調(diào)節(jié)模塊450用于根據(jù)該調(diào)節(jié)速率調(diào)節(jié)該視頻播放速率或控制音頻停止播放,以使該音頻數(shù)據(jù)和視頻數(shù)據(jù)播放同步。
[0100]該調(diào)節(jié)速率為當(dāng)前播放視頻數(shù)據(jù)的時(shí)間戳與當(dāng)前播放音頻數(shù)據(jù)的時(shí)間戳之差的線性函數(shù)。
[0101]該調(diào)節(jié)模塊450還用于若調(diào)節(jié)速率為正值,則降低該視頻數(shù)據(jù)的播放速率,以使該音頻數(shù)據(jù)和視頻數(shù)據(jù)播放同步,若調(diào)節(jié)速率為負(fù)值,則增加該視頻數(shù)據(jù)的播放速率,以使該音頻數(shù)據(jù)和視頻數(shù)據(jù)播放同步,以及若調(diào)節(jié)速率為負(fù)值且調(diào)節(jié)速率的絕對(duì)值大于預(yù)設(shè)值,則控制音頻停止播放,以使該音頻數(shù)據(jù)和視頻數(shù)據(jù)播放同步。
[0102]具體的,降低視頻數(shù)據(jù)的播放速率可為將當(dāng)前視頻數(shù)據(jù)的播放速率減去調(diào)節(jié)速率的絕對(duì)值得到新的視頻數(shù)據(jù)的播放速率。增加視頻數(shù)據(jù)的播放速率可為將當(dāng)前視頻數(shù)據(jù)的播放速率增加調(diào)節(jié)速率的絕對(duì)值得到新的視頻數(shù)據(jù)的播放速率。
[0103]上述音視頻同步裝置,通過根據(jù)當(dāng)前播放視頻數(shù)據(jù)的時(shí)間戳和音頻數(shù)據(jù)的時(shí)間戳計(jì)算當(dāng)前音視頻播放的時(shí)間差,并根據(jù)當(dāng)前音視頻播放的時(shí)間差獲取調(diào)節(jié)速率,根據(jù)調(diào)節(jié)速率調(diào)節(jié)視頻播放速率或控制音頻停止播放,使得音頻數(shù)據(jù)和視頻數(shù)據(jù)播放同步,在發(fā)送端網(wǎng)絡(luò)出現(xiàn)卡頓時(shí),并不會(huì)引起接收方播放的視頻和音頻同時(shí)出現(xiàn)卡頓,提高了音頻播放的流暢性,尤其應(yīng)用于在音視頻分開采集、編碼和傳輸場(chǎng)景下的視頻直播中音視頻同步,BP便在發(fā)送端網(wǎng)絡(luò)出現(xiàn)擁塞和丟包的場(chǎng)景下,同步也會(huì)在網(wǎng)絡(luò)正常之后恢復(fù),并且聲音播放的流暢性更易于保證。
[0104]圖5為另一個(gè)實(shí)施例中音視頻同步裝置的結(jié)構(gòu)示意圖。圖5中的音視頻同步裝置運(yùn)用于圖1的應(yīng)用環(huán)境中。如圖5所示,該音視頻同步裝置,包括解碼模塊410、時(shí)間戳獲取模塊420、時(shí)間差計(jì)算模塊430、調(diào)節(jié)速率獲取模塊440和調(diào)節(jié)模塊450,還包括判斷模塊460。其中:
[0105]判斷模塊460用于若判斷出該當(dāng)前音視頻播放的時(shí)間差的絕對(duì)值在預(yù)定范圍內(nèi),則判定該當(dāng)前音視頻播放同步,以及若判斷出該當(dāng)前音視頻播放的時(shí)間差大于預(yù)定上限值,則表示該音視頻播放無法同步。
[0106]該調(diào)節(jié)速率獲取模塊440還用于若該當(dāng)前音視頻播放的時(shí)間差小于或等于預(yù)定上限值時(shí),根據(jù)該當(dāng)前音視頻播放的時(shí)間戳獲取調(diào)節(jié)速率。
[0107]具體的,預(yù)定上限值可根據(jù)需要設(shè)定,例如可為3分鐘。若超過該預(yù)定上限值,則表示采集或傳輸邏輯出現(xiàn)異常,不適合進(jìn)行同步。
[0108]上述解碼模塊410、時(shí)間戳獲取模塊420、時(shí)間差計(jì)算模塊430、調(diào)節(jié)速率獲取模塊440、調(diào)節(jié)模塊450、判斷模塊460可位于接收端上。
[0109]圖6為另一個(gè)實(shí)施例中音視頻同步裝置的結(jié)構(gòu)示意圖。圖6中的音視頻同步裝置運(yùn)用于圖1的應(yīng)用環(huán)境中。如圖6所示,該音視頻同步裝置,包括解碼模塊410、時(shí)間戳獲取模塊420、時(shí)間差計(jì)算模塊430、調(diào)節(jié)速率獲取模塊440、調(diào)節(jié)模塊450和判斷模塊460,還包括標(biāo)記模塊401、音頻編碼封裝模塊402、視頻編碼封裝模塊403、發(fā)送模塊404和延時(shí)計(jì)算模塊405。
[0110]標(biāo)記模塊401用于將采集的音頻數(shù)據(jù)和視頻數(shù)據(jù)分別標(biāo)記對(duì)應(yīng)的時(shí)間戳。具體的,該標(biāo)記模塊401還用于將采集的第一幀視頻數(shù)據(jù)標(biāo)記對(duì)應(yīng)的系統(tǒng)時(shí)間戳,再第一幀之后每采集到一幀視頻數(shù)據(jù),統(tǒng)計(jì)已采集視頻數(shù)據(jù)的平均幀率,并根據(jù)該平均幀率遞增視頻數(shù)據(jù)的時(shí)間戳,獲取遞增之后的時(shí)間戳與當(dāng)前系統(tǒng)時(shí)間戳的差值;并當(dāng)該遞增之后的時(shí)間戳與當(dāng)前系統(tǒng)時(shí)間戳的差值在誤差允許范圍內(nèi),則將該遞增之后的時(shí)間戳作為該視頻數(shù)據(jù)的時(shí)間戳;以及當(dāng)該遞增之后的時(shí)間戳與當(dāng)前系統(tǒng)時(shí)間戳的差值未在誤差允許范圍內(nèi),則根據(jù)該當(dāng)前系統(tǒng)時(shí)間戳修正該視頻數(shù)據(jù)的時(shí)間戳。
[0111]具體的,平均幀率可以通過統(tǒng)計(jì)每秒編碼后輸出的數(shù)據(jù)幀,再通過帶權(quán)平均算法獲得,例如計(jì)算公式為BI = (B0*a+A)>>3來獲取,其中,BI是更新后的平均幀率;B0是更新前的平均幀率;a為固定參數(shù),可根據(jù)需要設(shè)定,例如a為7或10等;A是新的樣本值,即新采集的視頻幀。初始幀率可由用戶設(shè)定值,以后每秒更新一次當(dāng)前的平均幀率。
[0112]根據(jù)該平均幀率遞增視頻數(shù)據(jù)的時(shí)間戳具體包括:根據(jù)平均幀率計(jì)算出每次遞增的時(shí)間量值,當(dāng)前視頻幀的時(shí)間戳等于上一視頻幀的時(shí)間戳加上該時(shí)間量值。例如時(shí)間量值為1000/B,B為平均幀率,則Tl = T0+1000/B,其中,Tl為當(dāng)前視頻幀的時(shí)間戳,TO為上一視頻幀的時(shí)間戳。
[0113]在一個(gè)實(shí)施例中,當(dāng)該遞增之后的時(shí)間戳與當(dāng)前系統(tǒng)時(shí)間戳的差值未在誤差允許范圍內(nèi),則根據(jù)該當(dāng)前系統(tǒng)時(shí)間戳修正該視頻數(shù)據(jù)的時(shí)間戳包括:標(biāo)記模塊401還用于將當(dāng)前系統(tǒng)時(shí)間戳與遞增之后的時(shí)間戳的差值的一半作為修正值,將遞增之后的時(shí)間戳加上該修正值得到修正后的時(shí)間戳。
[0114]具體的,誤差允許范圍可為根據(jù)需要設(shè)定,例如可為遞增之后的時(shí)間戳小于當(dāng)前系統(tǒng)時(shí)間減去時(shí)間量值的三分之一,或者,遞增之后的時(shí)間戳小于當(dāng)前系統(tǒng)時(shí)間減去時(shí)間量值的二分之一等。
[0115]音頻編碼封裝模塊402用于將音頻數(shù)據(jù)及其對(duì)應(yīng)的時(shí)間戳進(jìn)行編碼,并將編碼后的音頻數(shù)據(jù)和對(duì)應(yīng)的時(shí)間戳封裝成音頻數(shù)據(jù)包。具體的,音頻數(shù)據(jù)可按照時(shí)間戳順序進(jìn)行編碼,其后的音頻數(shù)據(jù)的解碼也按照時(shí)間戳順序進(jìn)行。
[0116]視頻編碼封裝模塊403用于將視頻數(shù)據(jù)及其對(duì)應(yīng)的時(shí)間戳進(jìn)行編碼,并將編碼后的視頻數(shù)據(jù)和編碼后帶出的對(duì)應(yīng)時(shí)間戳封裝成視頻數(shù)據(jù)包。
[0117]具體的,視頻數(shù)據(jù)是一個(gè)圖像組,視頻編碼器對(duì)視頻數(shù)據(jù)進(jìn)行編碼會(huì)重排編碼后的圖像
當(dāng)前第3頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1