本發(fā)明涉及視頻處理技術(shù)領(lǐng)域,特別是涉及一種遠(yuǎn)程視頻顯示方法及系統(tǒng)。
背景技術(shù):
隨著通信技術(shù)的飛速發(fā)展,遠(yuǎn)程視頻會(huì)議、本地傳屏演示等視頻處理技術(shù)已得到廣泛應(yīng)用,如商顯整機(jī)使用無線傳屏模塊演示個(gè)人PC的PPT報(bào)告,給人們的生活和工作帶來很大的便捷。
現(xiàn)有技術(shù)中遠(yuǎn)程視頻顯示方案是通過設(shè)定固定的參數(shù),以固定的間隔對接收到的遠(yuǎn)程視頻數(shù)據(jù)進(jìn)行解碼,再對解碼的數(shù)據(jù)進(jìn)行顯示,受限于系統(tǒng)API,送碼和解碼是串行的,每次送碼后都嘗試解碼,每次解碼都在固定的時(shí)間等待解碼結(jié)果。這就導(dǎo)致現(xiàn)有方案的解碼效率較低,當(dāng)遠(yuǎn)程視頻傳輸不穩(wěn)定時(shí)(如因網(wǎng)絡(luò)不流暢引起的視頻數(shù)據(jù)時(shí)多時(shí)少),該方案依舊使用固定的間隔解碼,會(huì)導(dǎo)致兩種不利的情況:
第一種情況,數(shù)據(jù)量大時(shí),解碼器繁忙,位于后面的數(shù)據(jù)等待到解碼機(jī)會(huì)的時(shí)間較長,從本地接收到數(shù)據(jù)到最終顯示到屏幕的時(shí)間因此也會(huì)變長,結(jié)果就是畫面顯示延遲較大;
第二種情況,數(shù)據(jù)量小時(shí),由于每次解碼以固定的時(shí)間等待解碼結(jié)果,不能保證每次都能在該時(shí)間內(nèi)等待到解碼結(jié)果,當(dāng)這種情況發(fā)生時(shí),由于送碼和解碼是串行的,必須等待下一次送碼后才能嘗試獲取解碼結(jié)果,也就說下一次嘗試獲取解碼結(jié)果時(shí),獲取到的結(jié)果其實(shí)是上一次送碼的結(jié)果,這樣也會(huì)導(dǎo)致一個(gè)數(shù)據(jù)幀到最終解碼顯示的時(shí)間比較長,最終導(dǎo)致畫面顯示出現(xiàn)延遲。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明旨在至少解決現(xiàn)有技術(shù)中存在的技術(shù)問題之一。為此,本發(fā)明的一個(gè)目的在于提出一種遠(yuǎn)程視頻顯示方法,解決數(shù)據(jù)量大或數(shù)據(jù)量小時(shí)出現(xiàn)畫面延遲的問題。
根據(jù)本發(fā)明實(shí)施例的遠(yuǎn)程視頻顯示方法,包括:
當(dāng)根據(jù)已送進(jìn)解碼器的數(shù)據(jù)幀的數(shù)量判斷到所述解碼器處于繁忙狀態(tài)時(shí),拋棄部分?jǐn)?shù)據(jù)幀,并對剩余的數(shù)據(jù)幀進(jìn)行解碼;
在預(yù)設(shè)的等待時(shí)間后,檢查是否成功獲取到解碼結(jié)果;
若否,則延長等待時(shí)間,并返回所述檢查是否成功獲取解碼結(jié)果的步驟,直至成功獲取到解碼結(jié)果為止。
根據(jù)本發(fā)明實(shí)施例的視頻顯示方法,通過判斷當(dāng)前解碼器的解碼狀態(tài)對數(shù)據(jù)幀進(jìn)行動(dòng)態(tài)調(diào)整,在解碼器繁忙時(shí)適時(shí)減少解碼數(shù)據(jù)量,減輕解碼器負(fù)擔(dān),及時(shí)解碼最新數(shù)據(jù),此外,數(shù)據(jù)量較少時(shí),加大等待解碼結(jié)果的時(shí)間,輪詢解碼結(jié)果,能夠保證在下一輪送碼前能解碼出當(dāng)前數(shù)據(jù)幀,畫面延遲小,解碼效率較高。
另外,根據(jù)本發(fā)明上述實(shí)施例的遠(yuǎn)程視頻顯示方法,還可以具有如下附加的技術(shù)特征:
進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,所述根據(jù)已送進(jìn)解碼器的數(shù)據(jù)幀的數(shù)量判斷到所述解碼器處于繁忙狀態(tài)的步驟具體包括:
根據(jù)已送進(jìn)解碼器的數(shù)據(jù)幀自帶的時(shí)間戳制作列表,所述列表中的數(shù)據(jù)幀和時(shí)間戳一一對應(yīng);
將所述列表中數(shù)據(jù)幀的數(shù)量與所述解碼器中預(yù)設(shè)的第一數(shù)據(jù)幀數(shù)量閾值進(jìn)行對比;
若所述列表中數(shù)據(jù)幀的數(shù)量大于等于所述第一數(shù)據(jù)幀數(shù)量閾值,則判斷所述解碼器處于繁忙狀態(tài)。
進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,所述在預(yù)設(shè)的等待時(shí)間后檢查是否成功獲取到解碼結(jié)果的步驟之后,所述方法還包括:
若是,則根據(jù)所述解碼器的解碼結(jié)果更新所述列表;
檢查更新后的列表中是否還有未解碼的數(shù)據(jù)幀;
若是,則嘗試獲取該未解碼的數(shù)據(jù)幀的解碼結(jié)果。
進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,所述延長等待時(shí)間的步驟具體包括:
根據(jù)尚未解碼成功的數(shù)據(jù)幀的數(shù)量判斷是延長等待時(shí)間還是開始下一輪的送碼;
若所述尚未解碼成功的數(shù)據(jù)幀的數(shù)量大于等于所述解碼器中預(yù)設(shè)的第二數(shù)據(jù)幀數(shù)量閾值,則將延長等待時(shí)間。
進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,所述根據(jù)所述解碼器的解碼結(jié)果更新所述列表的步驟具體包括:
將當(dāng)前已解碼的數(shù)據(jù)幀從所述列表中刪除,同時(shí)刪除所述列表中所有比所述當(dāng)前已解碼的數(shù)據(jù)幀對應(yīng)的時(shí)間戳早的數(shù)據(jù)幀。
本發(fā)明的另一個(gè)目的在于提出一種遠(yuǎn)程視頻顯示系統(tǒng),解決數(shù)據(jù)量大或數(shù)據(jù)量小時(shí)出現(xiàn)畫面延遲的問題。
根據(jù)本發(fā)明實(shí)施例的遠(yuǎn)程視頻顯示系統(tǒng),包括:
判斷模塊,用于根據(jù)已送進(jìn)解碼器的數(shù)據(jù)幀的數(shù)量判斷所述解碼器的繁忙狀態(tài);
拋棄模塊,用于在所述判斷模塊判斷到所述解碼器處于繁忙狀態(tài)時(shí),對部分?jǐn)?shù)據(jù)幀進(jìn)行拋棄處理,所述拋棄模塊拋棄部分?jǐn)?shù)據(jù)幀后,所述解碼器對剩余的數(shù)據(jù)幀進(jìn)行解碼;
第一檢查模塊,用于在預(yù)設(shè)的等待時(shí)間后,檢查是否成功獲取到解碼結(jié)果;
延長等待模塊,用于在所述第一檢查模塊在預(yù)設(shè)的等待時(shí)間后檢查到未成功獲取到解碼結(jié)果時(shí),延長所述第一檢查模塊的等待時(shí)間;
所述延長等待模塊延長等待時(shí)間后,所述第一檢查模塊繼續(xù)檢查是否成功獲取解碼結(jié)果,直至成功獲取到解碼結(jié)果為止。
另外,根據(jù)本發(fā)明上述實(shí)施例的遠(yuǎn)程視頻顯示系統(tǒng),還可以具有如下附加的技術(shù)特征:
進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,所述判斷模塊包括制作模塊、對比模塊和第一判斷子模塊;
所述制作模塊用于根據(jù)已送進(jìn)解碼器的數(shù)據(jù)幀自帶的時(shí)間戳制作列表,所述列表中的數(shù)據(jù)幀和時(shí)間戳一一對應(yīng);
所述對比模塊用于將所述列表中數(shù)據(jù)幀的數(shù)量與所述解碼器中預(yù)設(shè)的第一數(shù)據(jù)幀數(shù)量閾值進(jìn)行對比;
所述第一判斷子模塊用于在所述對比模塊對比到所述列表中數(shù)據(jù)幀的數(shù)量大于等于所述第一數(shù)據(jù)幀數(shù)量閾值時(shí),判斷所述解碼器處于繁忙狀態(tài)。
進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,所述系統(tǒng)還包括:
更新模塊,用于在所述第一檢查模塊在預(yù)設(shè)的等待時(shí)間后檢查到成功獲取到解碼結(jié)果時(shí),根據(jù)所述解碼器的解碼結(jié)果更新所述列表;
第二檢查模塊,用于在所述更新模塊更新后的列表中檢查是否還有未解碼的數(shù)據(jù)幀;
嘗試獲取模塊,用于在所述第二檢查模塊檢查到更新后的列表中還有未解碼的數(shù)據(jù)幀時(shí),嘗試獲取該未解碼的數(shù)據(jù)幀的解碼結(jié)果。
進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,所述延長等待模塊包括第二判斷子模塊和延長子模塊;
所述第二判斷子模塊用于在所述第一檢查模塊在預(yù)設(shè)的等待時(shí)間后檢查到未成功獲取到解碼結(jié)果時(shí),根據(jù)尚未解碼成功的數(shù)據(jù)幀的數(shù)量判斷是延長等待時(shí)間還是開始下一輪的送碼;
所述延長子模塊用于在所述判斷子模塊判斷到所述尚未解碼成功的數(shù)據(jù)幀的數(shù)量大于等于所述解碼器中預(yù)設(shè)的第二數(shù)據(jù)幀數(shù)量閾值時(shí),延長等待時(shí)間。
進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,所述更新模塊包括刪除子模塊;
所述刪除子模塊用于將當(dāng)前已解碼的數(shù)據(jù)幀從所述列表中刪除,同時(shí)刪除所述列表中所有比所述當(dāng)前已解碼的數(shù)據(jù)幀對應(yīng)的時(shí)間戳早的數(shù)據(jù)幀。
本發(fā)明的附加方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。
附圖說明
本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對實(shí)施例的描述中將變得明顯和容易理解,其中:
圖1是根據(jù)本發(fā)明一實(shí)施例的視頻顯示方法的流程圖;
圖2是根據(jù)本發(fā)明另一實(shí)施例的視頻顯示方法的流程圖;
圖3是根據(jù)本發(fā)明一實(shí)施例的視頻顯示系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
請參閱圖1,本發(fā)明一實(shí)施例提出的視頻顯示方法,至少包括以下步驟:
S101,當(dāng)根據(jù)已送進(jìn)解碼器的數(shù)據(jù)幀的數(shù)量判斷到所述解碼器處于繁忙狀態(tài)時(shí),拋棄部分?jǐn)?shù)據(jù)幀,并將剩余的數(shù)據(jù)幀進(jìn)行解碼;
其中,通過判斷當(dāng)前解碼器的解碼狀態(tài)對數(shù)據(jù)幀進(jìn)行動(dòng)態(tài)調(diào)整,在解碼器繁忙時(shí)適時(shí)減少解碼數(shù)據(jù)量,減輕解碼器負(fù)擔(dān),及時(shí)解碼最新數(shù)據(jù)。
S102,在預(yù)設(shè)的等待時(shí)間后,檢查是否成功獲取到解碼結(jié)果;
即在固定的時(shí)間段獲取解碼結(jié)果,檢查是否能夠成功獲取到解碼結(jié)果。
S103,若否,則延長等待時(shí)間,并返回所述檢查是否成功獲取解碼結(jié)果的步驟,直至成功獲取到解碼結(jié)果為止。
其中,步驟S103能夠保證在數(shù)據(jù)量較少、且在固定的時(shí)間無法獲取到解碼結(jié)果時(shí),通過對尚未解碼成功的數(shù)據(jù)幀輪詢解碼結(jié)果,加大等待解碼結(jié)果的時(shí)間,保證在下一輪送碼前能解碼出當(dāng)前數(shù)據(jù)幀,畫面延遲小,解碼效率較高。
根據(jù)本發(fā)明實(shí)施例的視頻顯示方法,能夠保證在不管數(shù)據(jù)量大時(shí)還是在數(shù)據(jù)量小時(shí),都能確保解碼效率,減少畫面延遲。
請參閱圖2,本發(fā)明另一實(shí)施例提出的視頻顯示方法,至少包括以下步驟:
S201,根據(jù)已送進(jìn)解碼器的數(shù)據(jù)幀的數(shù)量判斷解碼器是否處于繁忙狀態(tài);
具體實(shí)施時(shí),所述根據(jù)已送進(jìn)解碼器的數(shù)據(jù)幀的數(shù)量判斷解碼器是否處于繁忙狀態(tài)的步驟具體包括:
根據(jù)已送進(jìn)解碼器的遠(yuǎn)程視頻中數(shù)據(jù)幀自帶的時(shí)間戳制作列表,所述列表中的數(shù)據(jù)幀和時(shí)間戳一一對應(yīng);
本實(shí)施例中,所述時(shí)間戳具體可以為顯示時(shí)間戳(PTS,Presentation Time Stamp),即某時(shí)刻應(yīng)該顯示對應(yīng)數(shù)據(jù)幀的畫面,所述列表中的數(shù)據(jù)幀和時(shí)間戳一一對應(yīng)指所述列表中的數(shù)據(jù)幀通過其特定的時(shí)間戳進(jìn)行標(biāo)示,所述列表中的數(shù)據(jù)幀只包括已送碼且未解碼的數(shù)據(jù)幀。
將所述列表中數(shù)據(jù)幀的數(shù)量與所述解碼器中預(yù)存的第一數(shù)據(jù)幀數(shù)量閾值進(jìn)行對比;
具體實(shí)施例時(shí),所述解碼器中預(yù)先設(shè)有第一數(shù)據(jù)幀數(shù)量閾值,該第一數(shù)據(jù)幀數(shù)量閾值可以根據(jù)要顯示的遠(yuǎn)程視頻的數(shù)據(jù)幀的大小和處理難度進(jìn)行設(shè)置,也可以通過大數(shù)據(jù)進(jìn)行分析確定。
若所述列表中數(shù)據(jù)幀的數(shù)量大于等于所述第一數(shù)據(jù)幀數(shù)量閾值,則判斷所述解碼器處于繁忙狀態(tài)。
可以理解的,若所述列表中數(shù)據(jù)幀的數(shù)量小于所述第一數(shù)據(jù)幀數(shù)量閾值,則判斷所述解碼器處于非繁忙狀態(tài),該非繁忙狀態(tài)可以為正常狀態(tài),即數(shù)據(jù)量正常,不多也不少;也可以為數(shù)據(jù)量較少的狀態(tài)。
S202,若是,則拋棄部分?jǐn)?shù)據(jù)幀,并對剩余的數(shù)據(jù)幀進(jìn)行解碼;
其中,拋棄部分?jǐn)?shù)據(jù)幀即指對該部分?jǐn)?shù)據(jù)幀不再進(jìn)行解碼處理,此時(shí),被拋棄的該部分?jǐn)?shù)據(jù)幀不會(huì)再保留在所述列表中,拋棄的數(shù)據(jù)幀的具體數(shù)量和種類,可以根據(jù)數(shù)據(jù)幀的總量、數(shù)據(jù)幀的重要程度、解碼器的處理能力、某一數(shù)據(jù)幀解碼的難易程度等條件進(jìn)行確定,例如,若其中一個(gè)數(shù)據(jù)幀解碼難度大,或其中一個(gè)數(shù)據(jù)幀數(shù)據(jù)量大,不易解碼,又或其中一個(gè)數(shù)據(jù)幀不重要,則可以將上述幾種數(shù)據(jù)幀進(jìn)行拋棄,而對其它數(shù)據(jù)幀進(jìn)行解碼,以保證視頻傳輸?shù)目煽啃浴?/p>
S203,若否,則直接對已送進(jìn)解碼器的數(shù)據(jù)幀進(jìn)行解碼;
其中,若解碼器不處于繁忙狀態(tài),即包括正常狀態(tài)和數(shù)據(jù)量較少的狀態(tài),此時(shí)都會(huì)直接對已送進(jìn)解碼器的數(shù)據(jù)幀進(jìn)行解碼。
S204,在預(yù)設(shè)的等待時(shí)間后,檢查是否成功獲取到解碼結(jié)果;
其中,步驟S202或步驟203完成后都會(huì)進(jìn)行步驟S204,步驟S204可以根據(jù)現(xiàn)有技術(shù),在固定的時(shí)間間隔下從所述解碼器獲取解碼結(jié)果,檢查是否能夠成功獲取到解碼結(jié)果。
S205,若是,則根據(jù)所述解碼器的解碼結(jié)果更新所述列表;
其中,步驟S205具體包括以下步驟:
若是,將當(dāng)前已解碼的數(shù)據(jù)幀從所述列表中刪除,同時(shí)刪除所述列表中所有比所述當(dāng)前已解碼的數(shù)據(jù)幀對應(yīng)的時(shí)間戳早的數(shù)據(jù)幀。
具體實(shí)施時(shí),若檢查到已成功獲取到所述解碼器的解碼結(jié)果,則將當(dāng)前已解碼的數(shù)據(jù)幀及其對應(yīng)的時(shí)間戳從所述列表中刪除,例如,當(dāng)前解碼的數(shù)據(jù)幀對應(yīng)的時(shí)間戳為1分50秒,此時(shí),則將1分50秒對應(yīng)的數(shù)據(jù)幀所述列表中刪除,同時(shí),將1分50秒以前的所有時(shí)間戳對應(yīng)的數(shù)據(jù)幀也從所述列表中刪除,因?yàn)?分50秒以前的時(shí)間戳對應(yīng)的數(shù)據(jù)幀對遠(yuǎn)程視頻傳輸?shù)囊饬x不大,不需要再對這些數(shù)據(jù)幀進(jìn)行解碼,從而進(jìn)一步減輕解碼器的負(fù)擔(dān)。
S206,檢查更新后的列表中是否還有未解碼的數(shù)據(jù)幀;
其中,在步驟S205之后,執(zhí)行步驟S206,檢查更新后的列表中是否還有未解碼的數(shù)據(jù)幀。
S207,若是,則嘗試獲取該未解碼的數(shù)據(jù)幀的解碼結(jié)果;
可以理解的,若否,即所述列表中已經(jīng)沒有未解碼的數(shù)據(jù)幀,此時(shí)流程結(jié)束。
在步驟S204,可能會(huì)執(zhí)行步驟S208;
S208,若否,則延長等待時(shí)間,并返回所述檢查是否成功獲取解碼結(jié)果的步驟;
即,檢查到未成功獲取到所述解碼器的解碼結(jié)果時(shí),延長等待解碼結(jié)果的時(shí)間,此時(shí)情形應(yīng)用于現(xiàn)有技術(shù)中數(shù)據(jù)量小時(shí),且又無法在固定的時(shí)間內(nèi)等待到解碼結(jié)果的情況。
若檢查到未成功獲取到所述解碼器的解碼結(jié)果,則延長等待時(shí)間,延長等待時(shí)間后,在返回所述檢查是否成功獲取解碼結(jié)果的步驟,即輪詢解碼結(jié)果,直至成功獲取到解碼結(jié)果為止,保證在下一輪送碼前能解碼出當(dāng)前數(shù)據(jù)幀。
其中,該步驟S208中延長等待時(shí)間的步驟具體包括以下步驟:
根據(jù)尚未解碼成功的數(shù)據(jù)幀的數(shù)量判斷是延長等待時(shí)間還是開始下一輪的送碼;
若所述尚未解碼成功的數(shù)據(jù)幀的數(shù)量大于等于所述解碼器中預(yù)設(shè)的第二數(shù)據(jù)幀數(shù)量閾值,則將延長等待時(shí)間。
其中,所述解碼器還預(yù)先預(yù)設(shè)第二數(shù)據(jù)幀數(shù)量閾值,若所述尚未解碼成功的數(shù)據(jù)幀的數(shù)量大于等于所述解碼器中預(yù)存的第二數(shù)據(jù)幀數(shù)量閾值,表明此時(shí)需要解碼的數(shù)據(jù)幀較多,需要對尚未解碼成功的數(shù)據(jù)幀繼續(xù)嘗試獲取解碼結(jié)果,從而保證能夠得出解碼結(jié)果??梢岳斫獾?,當(dāng)所述尚未解碼成功的數(shù)據(jù)幀的數(shù)量小于所述解碼器中預(yù)存的第二數(shù)據(jù)幀數(shù)量閾值,且此時(shí)又接到新的數(shù)據(jù)幀時(shí),則表明此時(shí)需要解碼的數(shù)據(jù)幀不多,因此可以優(yōu)先處理新的數(shù)據(jù)幀,對新的數(shù)據(jù)幀進(jìn)行送碼、解碼。
此外,在具體實(shí)施時(shí),步驟S207中,嘗試獲取該未解碼的數(shù)據(jù)幀的解碼結(jié)果指在預(yù)設(shè)的等待時(shí)間后,檢查是否成功獲取到解碼結(jié)果,如果能夠獲取到解碼結(jié)果則結(jié)束流程,如果未能獲取到解碼結(jié)果,則也會(huì)延長等待時(shí)間,并繼續(xù)嘗試獲取該未解碼的數(shù)據(jù)幀的解碼結(jié)果。
根據(jù)本發(fā)明上述實(shí)施例的視頻顯示方法,通過判斷當(dāng)前解碼器的解碼狀態(tài)對數(shù)據(jù)幀進(jìn)行動(dòng)態(tài)調(diào)整,在解碼器繁忙時(shí)適時(shí)減少解碼數(shù)據(jù)量,減輕解碼器負(fù)擔(dān),及時(shí)解碼最新數(shù)據(jù),此外,數(shù)據(jù)量較少時(shí),加大等待解碼結(jié)果的時(shí)間,輪詢解碼結(jié)果,能夠保證在下一輪送碼前能解碼出當(dāng)前數(shù)據(jù)幀,畫面延遲小,解碼效率較高。
請參閱圖3,基于同一發(fā)明構(gòu)思,本發(fā)明一實(shí)施例提出的遠(yuǎn)程視頻顯示系統(tǒng),包括:
判斷模塊,用于根據(jù)已送進(jìn)解碼器的數(shù)據(jù)幀的數(shù)量判斷所述解碼器的繁忙狀態(tài);
拋棄模塊,用于在所述判斷模塊判斷到所述解碼器處于繁忙狀態(tài)時(shí),對部分?jǐn)?shù)據(jù)幀進(jìn)行拋棄處理,所述拋棄模塊拋棄部分?jǐn)?shù)據(jù)幀后,所述解碼器對剩余的數(shù)據(jù)幀進(jìn)行解碼;
可以理解的,若所述判斷模塊判斷到所述解碼器處于非繁忙狀態(tài)時(shí),所述解碼器直接對已送碼的數(shù)據(jù)幀進(jìn)行解碼;
第一檢查模塊,用于在預(yù)設(shè)的等待時(shí)間后,檢查是否成功獲取到解碼結(jié)果;
延長等待模塊,用于在所述第一檢查模塊在預(yù)設(shè)的等待時(shí)間后檢查到未成功獲取到解碼結(jié)果時(shí),延長所述第一檢查模塊的等待時(shí)間;
所述延長等待模塊延長等待時(shí)間后,所述第一檢查模塊繼續(xù)檢查是否成功獲取解碼結(jié)果,直至成功獲取到解碼結(jié)果為止。
本實(shí)施例中,所述判斷模塊包括制作模塊、對比模塊和第一判斷子模塊;
所述制作模塊用于根據(jù)已送進(jìn)解碼器的數(shù)據(jù)幀自帶的時(shí)間戳制作列表,所述列表中的數(shù)據(jù)幀和時(shí)間戳一一對應(yīng);
所述對比模塊用于將所述列表中數(shù)據(jù)幀的數(shù)量與所述解碼器中預(yù)設(shè)的第一數(shù)據(jù)幀數(shù)量閾值進(jìn)行對比;
所述第一判斷子模塊用于在所述對比模塊對比到所述列表中數(shù)據(jù)幀的數(shù)量大于等于所述第一數(shù)據(jù)幀數(shù)量閾值時(shí),判斷所述解碼器處于繁忙狀態(tài)。
本實(shí)施例中,所述系統(tǒng)還包括:
更新模塊,用于在所述第一檢查模塊在預(yù)設(shè)的等待時(shí)間后檢查到成功獲取到解碼結(jié)果時(shí),根據(jù)所述解碼器的解碼結(jié)果更新所述列表;
第二檢查模塊,用于在所述更新模塊更新后的列表中檢查是否還有未解碼的數(shù)據(jù)幀;
嘗試獲取模塊,用于在所述第二檢查模塊檢查到更新后的列表中還有未解碼的數(shù)據(jù)幀時(shí),嘗試獲取該未解碼的數(shù)據(jù)幀的解碼結(jié)果。
本實(shí)施例中,所述延長等待模塊包括第二判斷子模塊和延長子模塊;
所述第二判斷子模塊用于在所述第一檢查模塊在預(yù)設(shè)的等待時(shí)間后檢查到未成功獲取到解碼結(jié)果時(shí),根據(jù)尚未解碼成功的數(shù)據(jù)幀的數(shù)量判斷是延長等待時(shí)間還是開始下一輪的送碼;
所述延長子模塊用于在所述判斷子模塊判斷到所述尚未解碼成功的數(shù)據(jù)幀的數(shù)量大于等于所述解碼器中預(yù)設(shè)的第二數(shù)據(jù)幀數(shù)量閾值時(shí),延長等待時(shí)間。
可以理解的,當(dāng)所述第二判斷子模塊判斷到尚未解碼成功的數(shù)據(jù)幀的數(shù)量小于所述解碼器中預(yù)存的第二數(shù)據(jù)幀數(shù)量閾值,且此時(shí)又接到新的數(shù)據(jù)幀時(shí),則表明此時(shí)需要解碼的數(shù)據(jù)幀不多,因此可以優(yōu)先處理新的數(shù)據(jù)幀,對新的數(shù)據(jù)幀進(jìn)行送碼、解碼。
本實(shí)施例中,所述更新模塊包括刪除子模塊;
所述刪除子模塊用于將當(dāng)前已解碼的數(shù)據(jù)幀從所述列表中刪除,同時(shí)刪除所述列表中所有比所述當(dāng)前已解碼的數(shù)據(jù)幀對應(yīng)的時(shí)間戳早的數(shù)據(jù)幀。
在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認(rèn)為是用于實(shí)現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實(shí)現(xiàn)在任何計(jì)算機(jī)可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計(jì)算機(jī)的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說明書而言,“計(jì)算機(jī)可讀介質(zhì)”可以是任何可以包含、存儲(chǔ)、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用的裝置。
計(jì)算機(jī)可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個(gè)或多個(gè)布線的電連接部(電子裝置),便攜式計(jì)算機(jī)盤盒(磁裝置),隨機(jī)存取存儲(chǔ)器(RAM),只讀存儲(chǔ)器(ROM),可擦除可編輯只讀存儲(chǔ)器(EPROM或閃速存儲(chǔ)器),光纖裝置,以及便攜式光盤只讀存儲(chǔ)器(CDROM)。另外,計(jì)算機(jī)可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因?yàn)榭梢岳缤ㄟ^對紙或其他介質(zhì)進(jìn)行光學(xué)掃描,接著進(jìn)行編輯、解譯或必要時(shí)以其他合適方式進(jìn)行處理來以電子方式獲得所述程序,然后將其存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器中。
應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實(shí)現(xiàn)。在上述實(shí)施方式中,多個(gè)步驟或方法可以用存儲(chǔ)在存儲(chǔ)器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實(shí)現(xiàn)。例如,如果用硬件來實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來實(shí)現(xiàn):具有用于對數(shù)據(jù)信號(hào)實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場可編程門陣列(FPGA)等。
在本說明書的描述中,參考術(shù)語“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。
盡管已經(jīng)示出和描述了本發(fā)明的實(shí)施例,本領(lǐng)域的普通技術(shù)人員可以理解:在不脫離本發(fā)明的原理和宗旨的情況下可以對這些實(shí)施例進(jìn)行多種變化、修改、替換和變型,本發(fā)明的范圍由權(quán)利要求及其等同物限定。