1.一種視頻播放器的跳幀同步系統(tǒng),其特征在于,所述的系統(tǒng)包括播放能力檢測模塊、跳幀處理模塊、音/視頻解碼輸出模塊及音/視頻輸出模塊,其中,
所述的播放能力檢測模塊獲取視頻數(shù)據(jù)的基本信息,對(duì)所述的視頻數(shù)據(jù)進(jìn)行播放能力檢測并判斷視頻數(shù)據(jù)是否需要跳幀處理,根據(jù)判斷結(jié)果傳送視頻數(shù)據(jù)至所述的音/視頻解碼模塊或所述的跳幀處理模塊;
所述的跳幀處理模塊獲取視頻數(shù)據(jù)的基本信息,并對(duì)需進(jìn)行跳幀處理的視頻數(shù)據(jù)進(jìn)行跳幀處理,獲取跳幀處理視頻數(shù)據(jù);
所述的音/視頻解碼模塊用以對(duì)其接收到的視頻數(shù)據(jù)和音頻數(shù)據(jù)進(jìn)行解碼,以獲取音/視頻解碼數(shù)據(jù),并將所述的音/視頻解碼數(shù)據(jù)傳送至所述的音/視頻輸出模塊,所述的音/視頻解碼模塊還向所述的播放能力檢測模塊和所述的跳幀處理模塊提供解碼信息;
所述的音/視頻輸出模塊用以輸出其接收到的所述的音/視頻解碼數(shù)據(jù);
所述的基本信息包括視頻數(shù)據(jù)的幀率;
所述的解碼信息包括當(dāng)前解碼圖像幀的解碼時(shí)間戳Tvc、下一個(gè)I幀圖像的解碼時(shí)間戳Ti、當(dāng)前解碼音頻幀的解碼時(shí)間戳Tac和解碼該幀視頻圖像所需的時(shí)間t。
2.根據(jù)權(quán)利要求1所述的視頻播放器的跳幀同步系統(tǒng),其特征在于,所述的播放能力檢測模塊包括第一計(jì)算單元、第一控制單元和第一判斷單元,其中,
所述的第一計(jì)算單元用以根據(jù)其所獲取的解碼該幀視頻圖像所需的時(shí)間t獲取解碼每幀圖像的平均花費(fèi)時(shí)間T,且所述的第一計(jì)算單元還用以根據(jù)所述的視頻數(shù)據(jù)的幀率計(jì)算視頻數(shù)據(jù)的解碼一幀圖像允許最大時(shí)間Tmax;
所述的第一判斷單元用以根據(jù)所述的解碼每幀圖像的平均花費(fèi)時(shí)間T和所述的解碼一幀圖像允許最大時(shí)間Tmax判斷視頻數(shù)據(jù)當(dāng)前是否需要跳幀處理;
所述的控制單元根據(jù)所述的第一判斷單元得出的判斷結(jié)果將所述的當(dāng)前視頻數(shù)據(jù)傳送給所述的音/視頻解碼模塊或所述的跳幀處理模塊。
3.根據(jù)權(quán)利要求1所述的視頻播放器的跳幀同步系統(tǒng),其特征在于,所述的跳幀處理模塊包括第二計(jì)算單元、第二判斷單元、I幀型跳幀單元、B幀型跳幀單元和第二控制單元,其中,
所述的第二計(jì)算單元用以獲取一播放能力檢測參數(shù)和一音/視頻同步參數(shù);
所述的第二判斷單元根據(jù)需進(jìn)行跳幀的視頻數(shù)據(jù)的幀率、所述的播放能力檢測參數(shù)和所述的音/視頻同步參數(shù)以判斷需進(jìn)行跳幀的視頻數(shù)據(jù)的跳幀模式,且所述的跳幀模式包括I幀型跳幀模式和B幀型跳幀模式;
所述的第二控制單元用以根據(jù)所述的第二判斷單元的判斷將需進(jìn)行跳幀的視頻數(shù)據(jù)傳送給所述的I幀型跳幀單元或所述的B幀型跳幀單元;
其中,所述的I幀型跳幀單元用以實(shí)現(xiàn)所述的I幀型跳幀模式,所述的I幀型跳幀模式即為跳過當(dāng)前幀到下一個(gè)I幀之間的所有類型的圖像幀;
所述的B幀型跳幀單元用以實(shí)現(xiàn)所述的B幀型跳幀模式,所述的B幀型跳幀模式即為跳過當(dāng)前的B幀,且當(dāng)前連續(xù)3個(gè)B幀時(shí)保留中間的B幀。
4.一種基于權(quán)利要求1至3中任一項(xiàng)所述的系統(tǒng)實(shí)現(xiàn)視頻播放器跳幀同步控制的方法,其特征在于,所述的方法包括以下步驟:
(1)所述的播放能力檢測模塊對(duì)接收到的視頻數(shù)據(jù)進(jìn)行播放能力檢測,并判斷該視頻數(shù)據(jù)是否需要跳幀處理,如果需要,則所述的播放能力檢測模塊將所述的視頻數(shù)據(jù)傳送給所述的跳幀處理模塊,并繼續(xù)步驟(2);否則所述的播放能力檢測模塊將所述的視頻數(shù)據(jù)傳送給所述的音/視頻解碼模塊,并繼續(xù)步驟(3);
(2)所述的跳幀處理模塊對(duì)輸入的需進(jìn)行跳幀的視頻數(shù)據(jù)進(jìn)行跳幀處理,并將所得的跳幀處理數(shù)據(jù)傳送給所述的音/視頻解碼模塊;
(3)所述的音/視頻解碼模塊對(duì)視頻數(shù)據(jù)進(jìn)行解碼,并將所述的音/視頻解碼數(shù)據(jù)傳送給所述的視頻輸出模塊,且所述的音/視頻解碼模塊將所述的解碼信息傳送給所述的播放能力檢測模塊和所述的跳幀處理模塊;
(4)所述的音/視頻輸出模塊輸出其接收到的視頻數(shù)據(jù)。
5.根據(jù)權(quán)利要求4所述的實(shí)現(xiàn)視頻播放器跳幀同步控制的方法,其特征在于,所述的步驟(1),具體包括以下步驟:
(1.1)所述的播放檢測模塊根據(jù)其獲取的視頻數(shù)據(jù)的幀率和所述的解碼該幀視頻圖像所需的時(shí)間t獲取所述的解碼一幀圖像允許最大時(shí)間Tmax和一解碼每幀圖像的平均花費(fèi)時(shí)間T;
(1.2)所述的播放檢測模塊將計(jì)算所述的解碼一幀圖像允許最大時(shí)間Tmax和所述的解碼每幀圖像的平均花費(fèi)時(shí)間T按以下公式相比較:
ΔT=T-0.5×Tmax;
其中所述的ΔT為一播放能力檢測參數(shù),所述的T為所述的平均解碼每幀圖像所需時(shí)間,所述的Tmax為所述的解碼一幀圖像允許最大時(shí)間;
(1.3)所述的播放能力檢測模塊判斷所述的ΔT是否大于零,如果所述的ΔT大于零,則判斷該視頻數(shù)據(jù)需要進(jìn)行跳幀操作,并將所述的視頻數(shù)據(jù)傳送給所述的跳幀處理模塊;否則判斷該視頻數(shù)據(jù)不需要進(jìn)行跳幀操作,所述的播放能力檢測模塊將視頻數(shù)據(jù)傳送給所述的音/視頻解碼模塊。
6.根據(jù)權(quán)利要求4所述的實(shí)現(xiàn)視頻播放器跳幀同步控制的方法,其特征在于,所述的步驟(2)具體包括以下步驟:
(2.1)所述的跳幀處理模塊根據(jù)其獲取的解碼該視頻數(shù)據(jù)的基本信息,判斷該視頻數(shù)據(jù)的跳幀模式為對(duì)應(yīng)于所述的B幀跳幀單元的B幀跳幀模式或?qū)?yīng)于所述的I幀跳幀單元的I幀跳幀模式;
(2.2)所述的跳幀處理模塊根據(jù)該視頻數(shù)據(jù)的跳幀模式將所述的視頻數(shù)據(jù)傳送到該跳幀模式對(duì)應(yīng)的所述的I幀跳幀單元、B幀跳幀單元或音/視頻解碼模塊中。
7.根據(jù)權(quán)利要求6所述的實(shí)現(xiàn)視頻播放器跳幀同步控制的方法,其特征在于,所述的步驟(2.1)具體為:
(2.1.1)所述的跳幀處理模塊獲取當(dāng)前解碼圖像幀的解碼時(shí)間戳Tvc、下一個(gè)I幀圖像的解碼時(shí)間戳Ti和當(dāng)前解碼音頻幀的解碼時(shí)間戳Tac,按以下公式計(jì)算該視頻數(shù)據(jù)的音/視頻同步情況:
ΔT1=Ti-Tac-Tmax;
其中,所述的ΔT1為該視頻數(shù)據(jù)的音/視頻同步參數(shù),所述的Ti為所述的下一個(gè)I幀圖像的解碼時(shí)間戳,所述的Tac為所述的當(dāng)前解碼音頻幀的解碼時(shí)間戳,所述的Tmax為所述的解碼一幀圖像允許最大時(shí)間;
(2.1.2)所述的跳幀處理模塊判斷該ΔT1是否大于零,如果所述的ΔT1的大于零,則繼續(xù)步驟(2.1.4);否則繼續(xù)步驟(2.1.3);
(2.1.3)所述的跳幀處理模塊判斷該視頻數(shù)據(jù)的跳幀模式為I幀跳幀模式并繼續(xù)所述的步驟(2.2);
(2.1.4)所述的跳幀處理模塊按以下公式判斷該視頻數(shù)據(jù)的解碼是否滯后于所述的音頻幀的解碼:
ΔT2=Tac-Tvc;
其中所述的ΔT2為該視頻數(shù)據(jù)的解碼是否滯后于所述的音頻幀的解碼的判斷標(biāo)準(zhǔn),所述的Tac為所述的當(dāng)前解碼音頻幀的解碼時(shí)間戳,所述的Tvc當(dāng)前解碼圖像幀的解碼時(shí)間戳;
(2.1.4)所述的跳幀處理模塊比較所述的ΔT2和零的大小關(guān)系,如果所述的ΔT2大于零,所述的跳幀處理模塊判斷該視頻數(shù)據(jù)的解碼相對(duì)于音頻幀的解碼滯后,并判斷該視頻數(shù)據(jù)的跳幀模式為B幀跳幀模式,繼續(xù)所述的步驟(2.2);否則所述的跳幀處理模塊判斷該視頻數(shù)據(jù)的解碼同步于音頻幀的解碼,所述的跳幀處理模塊將視頻數(shù)據(jù)發(fā)送至所述的音/視頻解碼模塊,并繼續(xù)所述的步驟(3)。
8.根據(jù)權(quán)利要求4所述的實(shí)現(xiàn)視頻播放器跳幀同步控制的方法,其特征在于,所述的步驟(2.2)具體為:
該跳幀處理模塊根據(jù)其判斷的視頻數(shù)據(jù)的跳幀模式,將視頻數(shù)據(jù)傳送給所述的I幀跳幀單元或B幀跳幀單元進(jìn)行處理,以獲取I幀跳幀視頻數(shù)據(jù)或B幀跳幀視頻數(shù)據(jù),且所述的跳幀處理模塊將所述的I幀跳幀視頻數(shù)據(jù)或B幀跳幀視頻數(shù)據(jù)傳送給所述的音/視頻輸出模塊,繼續(xù)所述的步驟(3)。