国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      視頻播放器的跳幀同步系統(tǒng)及其控制方法與流程

      文檔序號:12499124閱讀:795來源:國知局
      視頻播放器的跳幀同步系統(tǒng)及其控制方法與流程

      本發(fā)明涉及多媒體信息處理領(lǐng)域,尤其涉及視頻播放領(lǐng)域,具體是指一種視頻播放器的跳幀同步系統(tǒng)及其控制方法。



      背景技術(shù):

      隨著多媒體壓縮技術(shù)和網(wǎng)絡(luò)通信技術(shù)的發(fā)展,媒體業(yè)務(wù)提供商推出了越來越多的高壓縮比、高分辨率、高幀率的視頻內(nèi)容,它將極大地改善用戶的視覺體驗,豐富用戶的娛樂生活。但要播放這些高壓縮比、高分辨率、高幀率的視頻內(nèi)容,對終端播放器的計算能力和數(shù)據(jù)處理能力也提出了很高的要求。

      由于很大一部分用戶的電視機、機頂盒、手機、平板電腦等播放設(shè)備的更新速度跟不上媒體內(nèi)容清晰度更新?lián)Q代的速度。比如對當(dāng)前出現(xiàn)的超高分辨率(如UHD 4k分辨率3840×2160)、高幀率(如高達(dá)120p)、高壓縮比(如H.265編碼)的視頻,很多視頻播放設(shè)備還不支持或不能流暢播放這樣的視頻。

      如果使用老的播放設(shè)備中自帶的播放器播放這些高壓縮比、高分辨率、高幀率的視頻內(nèi)容,就會出現(xiàn)這樣的情況:要么播放格式不支持,要么音/視頻嚴(yán)重不同步(聲音播放正常,圖像越來越滯后)。從而嚴(yán)重影響用戶體驗。如何使播放設(shè)備自適應(yīng)播放大部分通用格式的視頻,已經(jīng)成為當(dāng)前視頻播放領(lǐng)域較為熱門的研究課題。



      技術(shù)實現(xiàn)要素:

      為了克服上述現(xiàn)有技術(shù)中的問題,本發(fā)明提出了一種支持大多數(shù)通用視頻播放的視頻播放器的跳幀同步系統(tǒng)及其控制方法。

      本發(fā)明的視頻播放器的跳幀同步系統(tǒng)及其控制方法具體如下:

      該視頻播放器的跳幀同步系統(tǒng),其主要特點是,所述的系統(tǒng)包括播放能力檢測模塊、跳幀處理模塊、音/視頻解碼輸出模塊及音/視頻輸出模塊,其中,

      所述的播放能力檢測模塊獲取視頻數(shù)據(jù)的基本信息,對所述的視頻數(shù)據(jù)進行播放能力檢測并判斷視頻數(shù)據(jù)是否需要跳幀處理,根據(jù)判斷結(jié)果傳送視頻數(shù)據(jù)至所述的音/視頻解碼模塊或所述的跳幀處理模塊;

      所述的跳幀處理模塊獲取視頻數(shù)據(jù)的基本信息,并對需進行跳幀處理的視頻數(shù)據(jù)進行跳幀處理,獲取跳幀處理視頻數(shù)據(jù);

      所述的音/視頻解碼模塊用以對其接收到的視頻數(shù)據(jù)和音頻數(shù)據(jù)進行解碼,以獲取音/視頻解碼數(shù)據(jù),并將所述的音/視頻解碼數(shù)據(jù)傳送至所述的音/視頻輸出模塊,所述的音/視頻解碼模塊還向所述的播放能力檢測模塊和所述的跳幀處理模塊提供解碼信息;

      所述的音/視頻輸出模塊用以輸出其接收到的所述的音/視頻解碼數(shù)據(jù);

      所述的基本信息包括視頻數(shù)據(jù)的幀率;

      所述的解碼信息包括當(dāng)前解碼圖像幀的解碼時間戳Tvc、下一個I幀圖像的解碼時間戳Ti、當(dāng)前解碼音頻幀的解碼時間戳Tac和解碼該幀視頻圖像所需的時間t。

      較佳地,所述的播放能力檢測模塊包括第一計算單元、第一控制單元和第一判斷單元,其中,

      所述的第一計算單元用以根據(jù)其所獲取的解碼該幀視頻圖像所需的時間t獲取解碼每幀圖像的平均花費時間T,且所述的第一計算單元還用以根據(jù)所述的視頻數(shù)據(jù)的幀率計算視頻數(shù)據(jù)的解碼一幀圖像允許最大時間Tmax

      所述的第一判斷單元用以根據(jù)所述的解碼每幀圖像的平均花費時間T和所述的解碼一幀圖像允許最大時間Tmax判斷視頻數(shù)據(jù)當(dāng)前是否需要跳幀處理;

      所述的控制單元根據(jù)所述的第一判斷單元得出的判斷結(jié)果將所述的當(dāng)前視頻數(shù)據(jù)傳送給所述的音/視頻解碼模塊或所述的跳幀處理模塊。

      較佳地,所述的跳幀處理模塊包括第二計算單元、第二判斷單元、I幀型跳幀單元、B幀型跳幀單元和第二控制單元,其中,

      所述的第二計算單元用以獲取播放能力檢測參數(shù)和音/視頻同步參數(shù);

      所述的第二判斷單元根據(jù)需進行跳幀的視頻數(shù)據(jù)的幀率、所述的播放能力檢測參數(shù)和所述的音/視頻同步參數(shù)以判斷需進行跳幀的視頻數(shù)據(jù)的跳幀模式,且所述的跳幀模式包括I幀型跳幀模式和B幀型跳幀模式;

      所述的第二控制單元用以根據(jù)所述的第二判斷單元的判斷將需進行跳幀的視頻數(shù)據(jù)傳送給所述的I幀型跳幀單元或所述的B幀型跳幀單元;

      其中,所述的I幀型跳幀單元用以實現(xiàn)所述的I幀型跳幀模式,所述的I幀型跳幀模式即為跳過當(dāng)前幀到下一個I幀之間的所有類型的圖像幀;

      所述的B幀型跳幀單元用以實現(xiàn)所述的B幀型跳幀模式,所述的B幀型跳幀模式即為跳過當(dāng)前的B幀,且當(dāng)前連續(xù)3個B幀時保留中間的B幀。

      基于上述的系統(tǒng)實現(xiàn)視頻播放器跳幀同步控制的方法,其主要特點是,所述的方法包括以下步驟:

      (1)所述的播放能力檢測模塊對接收到的視頻數(shù)據(jù)進行播放能力檢測,并判斷該視頻數(shù)據(jù)是否需要跳幀處理,如果需要,則所述的播放能力檢測模塊將所述的視頻數(shù)據(jù)傳送給所述的跳幀處理模塊,并繼續(xù)步驟(2);否則所述的播放能力檢測模塊將所述的視頻數(shù)據(jù)傳送給所述的音/視頻解碼模塊,并繼續(xù)步驟(3);

      (2)所述的跳幀處理模塊對輸入的需進行跳幀的視頻數(shù)據(jù)進行跳幀處理,并將所得的跳幀處理數(shù)據(jù)傳送給所述的音/視頻解碼模塊;

      (3)所述的音/視頻解碼模塊對視頻數(shù)據(jù)進行解碼,并將所述的音/視頻解碼數(shù)據(jù)傳送給所述的視頻輸出模塊,且所述的音/視頻解碼模塊將所述的解碼信息傳送給所述的播放能力檢測模塊和所述的跳幀處理模塊;

      (4)所述的音/視頻輸出模塊輸出其接收到的視頻數(shù)據(jù)。

      較佳地,所述的步驟(1)的具體步驟如下:

      (1.1)所述的播放檢測模塊根據(jù)其獲取的視頻數(shù)據(jù)的幀率和所述的解碼該幀視頻圖像所需的時間t獲取解碼一幀圖像允許最大時間Tmax和解碼每幀圖像的平均花費時間T;

      (1.2)所述的播放檢測模塊將計算所述的解碼一幀圖像允許最大時間Tmax和所述的解碼每幀圖像的平均花費時間T按以下公式相比較:

      ΔT=T-0.5×Tmax

      其中所述的ΔT為一播放能力檢測參數(shù),所述的T為所述的平均解碼每幀圖像所需時間,所述的Tmax為所述的解碼一幀圖像允許最大時間;

      (1.3)所述的播放能力檢測模塊判斷所述的ΔT是否大于零,如果所述的ΔT大于零,則判斷該視頻數(shù)據(jù)需要進行跳幀操作,并將所述的視頻數(shù)據(jù)傳送給所述的跳幀處理模塊;否則判斷該視頻數(shù)據(jù)不需要進行跳幀操作,所述的播放能力檢測模塊將視頻數(shù)據(jù)傳送給所述的音/視頻解碼模塊。

      較佳地,所述的步驟(2)的具體步驟如下:

      (2.1)所述的跳幀處理模塊根據(jù)其獲取的解碼該視頻數(shù)據(jù)的基本信息,判斷該視頻數(shù)據(jù)的跳幀模式為對應(yīng)于所述的B幀跳幀單元的B幀跳幀模式或?qū)?yīng)于所述的I幀跳幀單元的I幀跳幀模式;

      (2.2)所述的跳幀處理模塊根據(jù)該視頻數(shù)據(jù)的跳幀模式將所述的視頻數(shù)據(jù)傳送到該跳幀模式對應(yīng)的所述的I幀跳幀單元、B幀跳幀單元或音/視頻解碼模塊中。

      更佳地,所述的步驟(2.1)具體為:

      (2.1.1)所述的跳幀處理模塊獲取當(dāng)前解碼圖像幀的解碼時間戳Tvc、下一個I幀圖像的解碼時間戳Ti和當(dāng)前解碼音頻幀的解碼時間戳Tac,按以下公式計算該視頻數(shù)據(jù)的音/視頻同步情況:

      ΔT1=Ti-Tac-Tmax

      其中,所述的ΔT1為該視頻數(shù)據(jù)的音/視頻同步參數(shù),所述的Ti為所述的下一個I幀圖像的解碼時間戳,所述的Tac為所述的當(dāng)前解碼音頻幀的解碼時間戳,所述的Tmax為所述的解碼一幀圖像所需時間;

      (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)前解碼音頻幀的解碼時間戳,所述的Tvc當(dāng)前解碼圖像幀的解碼時間戳;

      (2.1.4)所述的跳幀處理模塊比較所述的ΔT2和零的大小關(guān)系,如果所述的ΔT2大于零,所述的跳幀處理模塊判斷該視頻數(shù)據(jù)的解碼相對于音頻幀的解碼滯后,并判斷該視頻數(shù)據(jù)的跳幀模式為B幀跳幀模式,繼續(xù)所述的步驟(2.2);否則所述的跳幀處理模塊判斷該視頻數(shù)據(jù)的解碼同步于音頻幀的解碼,所述的跳幀處理模塊將視頻數(shù)據(jù)發(fā)送至所述的音/視頻解碼模塊,并繼續(xù)所述的步驟(3)。

      更佳地,所述的步驟(2.2)具體為:

      該跳幀處理模塊根據(jù)其判斷的視頻數(shù)據(jù)的跳幀模式,將視頻數(shù)據(jù)傳送給所述的I幀跳幀單元或B幀跳幀單元進行處理,以獲取I幀跳幀視頻數(shù)據(jù)或B幀跳幀視頻數(shù)據(jù),且所述的跳幀處理模塊將所述的I幀跳幀視頻數(shù)據(jù)或B幀跳幀視頻數(shù)據(jù)傳送給所述的音/視頻輸出模塊,繼續(xù)所述的步驟(3)。

      采用了該種視頻播放器的跳幀同步系統(tǒng)及其控制方法,由于其存在一播放能力檢測模塊和一跳幀控制模塊,此播放器能夠解碼當(dāng)前通用格式的視頻文件,在視頻播放過程中,當(dāng)播放器檢測到播放器處理能力不夠時,在保證音頻數(shù)據(jù)正常解碼輸出的情況下,合理進行視頻跳幀處理,從而實現(xiàn)音視頻的同步播放;當(dāng)播放器檢測到播放器處理能力足夠時,就和通用視頻播放器一樣進行音視頻的正常解碼輸出。解決了通用播放器在終端處理能力不足的情況下不能音視頻同步播放高壓縮比、高分辨率、高幀率的視頻內(nèi)容的問題,改善了用戶體驗。本發(fā)明提供的視頻播放器對播放能力的檢測是實時進行的,一旦發(fā)現(xiàn)播放能力不足即刻就能精確確定跳幀時間點,而且需要跳過的圖像幀類型和需要跳過的幀數(shù)都是根據(jù)播放器處理能力進行動態(tài)調(diào)節(jié)的。

      基于跳幀同步方法設(shè)計的播放器與通用視頻播放器兼容,可應(yīng)用于沒有及時硬件更新的視頻播放終端,如標(biāo)清機頂盒播放高清節(jié)目、高清(HD)機頂盒播放超高清(UHD)節(jié)目等場合,更具有普遍適用性。

      附圖說明

      圖1為本發(fā)明的視頻播放器的跳幀同步系統(tǒng)及其控制方法的流程圖。

      圖2為本發(fā)明的視頻播放器的跳幀同步系統(tǒng)的方法的播放能力檢測示意圖。

      圖3為本發(fā)明的視頻播放器的跳幀同步系統(tǒng)的方法的跳幀處理流程圖。

      具體實施方式

      為了更好的說明對本發(fā)明進行說明,下面舉出一些實施例來對本發(fā)明進行進一步的說明。

      該視頻播放器的跳幀同步系統(tǒng),其中,所述的系統(tǒng)包括播放能力檢測模塊、跳幀處理模塊、音/視頻解碼輸出模塊及音/視頻輸出模塊,其中,

      所述的播放能力檢測模塊獲取視頻數(shù)據(jù)的基本信息,對所述的視頻數(shù)據(jù)進行播放能力檢測并判斷視頻數(shù)據(jù)是否需要跳幀處理,根據(jù)判斷結(jié)果傳送視頻數(shù)據(jù)至所述的音/視頻解碼模塊或所述的跳幀處理模塊;

      所述的跳幀處理模塊獲取視頻數(shù)據(jù)的基本信息,并對需進行跳幀處理的視頻數(shù)據(jù)進行跳幀處理,獲取跳幀處理視頻數(shù)據(jù);

      所述的音/視頻解碼模塊用以對其接收到的視頻數(shù)據(jù)和音頻數(shù)據(jù)進行解碼,以獲取音/視頻解碼數(shù)據(jù),并將所述的音/視頻解碼數(shù)據(jù)傳送至所述的音/視頻輸出模塊,所述的音/視頻解碼模塊還向所述的播放能力檢測模塊和所述的跳幀處理模塊提供解碼信息;

      所述的音/視頻輸出模塊用以輸出其接收到的所述的音/視頻解碼數(shù)據(jù);

      所述的基本信息包括視頻數(shù)據(jù)的幀率;

      所述的解碼信息包括當(dāng)前解碼圖像幀的解碼時間戳Tvc、下一個I幀圖像的解碼時間戳Ti、當(dāng)前解碼音頻幀的解碼時間戳Tac和解碼該幀視頻圖像所需的時間t。

      所述的播放能力檢測模塊包括第一計算單元、第一控制單元和第一判斷單元,其中,

      所述的第一計算單元用以根據(jù)其所獲取的解碼該幀視頻圖像所需的時間t獲取解碼每幀圖像的平均花費時間T,且所述的第一計算單元還用以根據(jù)所述的視頻數(shù)據(jù)的幀率計算視頻數(shù)據(jù)的解碼一幀圖像允許最大時間Tmax

      所述的第一判斷單元用以根據(jù)所述的解碼每幀圖像的平均花費時間T和所述的解碼一幀圖像允許最大時間Tmax判斷視頻數(shù)據(jù)當(dāng)前是否需要跳幀處理;

      所述的控制單元根據(jù)所述的第一判斷單元得出的判斷結(jié)果將所述的當(dāng)前視頻數(shù)據(jù)傳送給所述的音/視頻解碼模塊或所述的跳幀處理模塊。

      所述的跳幀處理模塊包括第二計算單元、第二判斷單元、I幀型跳幀單元、B幀型跳幀單元和第二控制單元,其中,

      所述的第二計算單元用以獲取一播放能力檢測參數(shù)和一音/視頻同步參數(shù);

      所述的第二判斷單元根據(jù)需進行跳幀的視頻數(shù)據(jù)的幀率、所述的播放能力檢測參數(shù)和所述的音/視頻同步參數(shù)以判斷需進行跳幀的視頻數(shù)據(jù)的跳幀模式,且所述的跳幀模式包括I幀型跳幀模式和B幀型跳幀模式;

      所述的第二控制單元用以根據(jù)所述的第二判斷單元的判斷將需進行跳幀的視頻數(shù)據(jù)傳送給所述的I幀型跳幀單元或所述的B幀型跳幀單元;

      其中,所述的I幀型跳幀單元用以實現(xiàn)所述的I幀型跳幀模式,所述的I幀型跳幀模式即為跳過當(dāng)前幀到下一個I幀之間的所有類型的圖像幀;

      所述的B幀型跳幀單元用以實現(xiàn)所述的B幀型跳幀模式,所述的B幀型跳幀模式即為跳過當(dāng)前的B幀,且當(dāng)前連續(xù)3個B幀時保留中間的B幀。

      基于上述的系統(tǒng)實現(xiàn)視頻播放器跳幀同步控制的方法,其中,所述的方法包括以下步驟:

      (1)所述的播放能力檢測模塊對接收到的視頻數(shù)據(jù)進行播放能力檢測,并判斷該視頻數(shù)據(jù)是否需要跳幀處理,如果需要,則所述的播放能力檢測模塊將所述的視頻數(shù)據(jù)傳送給所述的跳幀處理模塊,并繼續(xù)步驟(2);否則所述的播放能力檢測模塊將所述的視頻數(shù)據(jù)傳送給所述的音/視頻解碼模塊,并繼續(xù)步驟(3);

      (2)所述的跳幀處理模塊對輸入的需進行跳幀的視頻數(shù)據(jù)進行跳幀處理,并將所得的跳幀處理數(shù)據(jù)傳送給所述的音/視頻解碼模塊;

      (3)所述的音/視頻解碼模塊對視頻數(shù)據(jù)進行解碼,并將所述的音/視頻解碼數(shù)據(jù)傳送給所述的視頻輸出模塊,且所述的音/視頻解碼模塊將所述的解碼信息傳送給所述的播放能力檢測模塊和所述的跳幀處理模塊;

      (4)所述的音/視頻輸出模塊輸出其接收到的視頻數(shù)據(jù)。

      所述的步驟(1)的具體步驟如下:

      (1.1)所述的播放檢測模塊根據(jù)其獲取的視頻數(shù)據(jù)的幀率和所述的解碼該幀視頻圖像所需的時間t獲取所述的解碼一幀圖像允許最大時間Tmax和一解碼每幀圖像的平均花費時間T;

      (1.2)所述的播放檢測模塊將計算所述的解碼一幀圖像允許最大時間Tmax和所述的解碼每幀圖像的平均花費時間T按以下公式相比較:

      ΔT=T-0.5×Tmax;

      其中所述的ΔT為一播放能力檢測參數(shù),所述的T為所述的平均解碼每幀圖像所需時間,所述的Tmax為所述的解碼一幀圖像允許最大時間;

      (1.3)所述的播放能力檢測模塊判斷所述的ΔT是否大于零,如果所述的ΔT大于零,則判斷該視頻數(shù)據(jù)需要進行跳幀操作,并將所述的視頻數(shù)據(jù)傳送給所述的跳幀處理模塊;否則判斷該視頻數(shù)據(jù)不需要進行跳幀操作,所述的播放能力檢測模塊將視頻數(shù)據(jù)傳送給所述的音/視頻解碼模塊。

      所述的步驟(2)的具體步驟如下:

      (2.1)所述的跳幀處理模塊根據(jù)其獲取的解碼該視頻數(shù)據(jù)的基本信息,判斷該視頻數(shù)據(jù)的跳幀模式為對應(yīng)于所述的B幀跳幀單元的B幀跳幀模式或?qū)?yīng)于所述的I幀跳幀單元的I幀跳幀模式;

      (2.2)所述的跳幀處理模塊根據(jù)該視頻數(shù)據(jù)的跳幀模式將所述的視頻數(shù)據(jù)傳送到該跳幀模式對應(yīng)的所述的I幀跳幀單元、B幀跳幀單元或音/視頻解碼模塊中。

      更佳地,所述的步驟(2.1)具體為:

      所述的跳幀處理模塊獲取當(dāng)前解碼圖像幀的解碼時間戳Tvc、下一個I幀圖像的解碼時間戳Ti和當(dāng)前解碼音頻幀的解碼時間戳Tac,按以下公式計算該視頻數(shù)據(jù)的音/視頻同步情況:

      ΔT1=Ti-Tac-Tmax;

      其中,所述的ΔT1為該視頻數(shù)據(jù)的音/視頻同步參數(shù),所述的Ti為所述的下一個I幀圖像的解碼時間戳,所述的Tac為所述的當(dāng)前解碼音頻幀的解碼時間戳,所述的Tmax為所述的解碼一幀圖像允許最大時間;

      (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)前解碼音頻幀的解碼時間戳,所述的Tvc當(dāng)前解碼圖像幀的解碼時間戳;

      所述的跳幀處理模塊比較所述的ΔT2和零的大小關(guān)系,如果所述的ΔT2大于零,所述的跳幀處理模塊判斷該視頻數(shù)據(jù)的解碼相對于音頻幀的解碼滯后,并判斷該視頻數(shù)據(jù)的跳幀模式為B幀跳幀模式,繼續(xù)所述的步驟(2.2);否則所述的跳幀處理模塊判斷該視頻數(shù)據(jù)的解碼同步于音頻幀的解碼,所述的跳幀處理模塊將視頻數(shù)據(jù)發(fā)送至所述的音/視頻解碼模塊,并繼續(xù)所述的步驟(3)。

      所述的步驟(2.2)具體為:

      該跳幀處理模塊根據(jù)其判斷的視頻數(shù)據(jù)的跳幀模式,將視頻數(shù)據(jù)傳送給所述的I幀跳幀單元或B幀跳幀單元進行處理,以獲取I幀跳幀視頻數(shù)據(jù)或B幀跳幀視頻數(shù)據(jù),且所述的跳幀處理模塊將所述的I幀跳幀視頻數(shù)據(jù)或B幀跳幀視頻數(shù)據(jù)傳送給所述的音/視頻輸出模塊,繼續(xù)所述的步驟(3)。

      下面針對本發(fā)明的實施例進行詳細(xì)完整地描述。

      請參閱圖1,跳幀同步處理過程嵌入到播放器的播放處理流程中,原始音視頻數(shù)據(jù)輸入后先進行播放器播放能力的檢測,當(dāng)檢測到終端設(shè)備播放能力不足時才進行視頻幀的跳幀處理,當(dāng)檢測到終端設(shè)備的播放能力充足時,即和通用播放器一樣進行正常的音視頻解碼輸出。

      原始視頻是指各種壓縮格式的視頻數(shù)據(jù),如H.264格式壓縮的視頻,AAC格式壓縮的音頻,TS格式包裝的容器。原始視頻數(shù)據(jù)可以指視頻文件,也可以指視頻流。

      播放能力檢測模塊與跳幀處理模塊是本發(fā)明的核心模塊,這里的跳幀處理僅對視頻圖像幀進行跳幀處理,音頻數(shù)據(jù)不能跳幀,以音頻幀的時間戳作為播放器的播放時間基準(zhǔn)。

      音/視頻解碼模塊和音/視頻輸出模塊指對一幀一幀的音視頻數(shù)據(jù)進行解碼、緩存后再同步播放。

      請參閱圖2,原始壓縮音視頻數(shù)據(jù)先經(jīng)過此播放能力檢測模塊進行播放能力的檢測,當(dāng)檢測到終端播放器播放能力不夠時,再經(jīng)過跳幀處理模塊進行視頻圖像的跳幀同步處理;當(dāng)檢測到播放器播放能力足夠時,則不經(jīng)過跳幀處理模塊而直接進入到音、視頻解碼輸出模塊。

      其中第一計算單元計算解碼一幀圖像允許最大時間Tmax,Tmax是通過此視頻的幀率f計算而來:Tmax=1/f,例如視頻幀率f=25幀/秒,則Tmax=1/f=1/25=40ms。

      且該播放能力檢測模塊還解碼每幀視頻圖像平均所花的時間T,T=(t1+t2+...+tn)/n,t1、t2和tn為解碼從一個I幀開始的第一、第二、…第n幀所花的時間,n為統(tǒng)計的幀數(shù)。

      當(dāng)T≤0.5×Tmax時,即當(dāng)實際解碼時間小于等于允許解碼時間的一半時,判斷播放器的播放處理能力充足;否則認(rèn)為播放器的播放處理能力可能不足,需要進入后面步驟做進一步的判斷和處理。

      如果該播放能力檢測模塊判斷視頻播放器對該視頻的播放能力可能不足時,進入跳幀處理模塊,當(dāng)該播放能力檢測模塊判斷視頻播放器對該視頻的播放能力充足時,跳過此模塊而直接進入到音/視頻解碼模塊和音/視頻輸出模塊。

      請參閱圖3,該跳幀處理模塊記錄當(dāng)前解碼圖像幀的解碼時間戳(DTS),記為Tvc、下一個I幀圖像的解碼時間戳(DTS),記為Ti和當(dāng)前解碼音頻幀的解碼時間戳(DTS),記為Tac,其中音頻時間戳用以作為播放器同步播放的時間基準(zhǔn),I幀類型的圖像是指僅有幀內(nèi)編碼的圖像,它的解碼不依賴于其它幀的圖像,它常用來作為同步參考點。

      當(dāng)Ti-Tac<Tmax時,即當(dāng)前解碼基準(zhǔn)時間,即當(dāng)前解碼音頻幀的解碼時間戳Tac與下一個I幀的解碼時間接近時,說明當(dāng)前解碼時間應(yīng)該同步到解碼下一個I幀圖像,進入一種類型的I型跳幀模式;否則說明播放器還來得及解碼下一個I幀前的圖像,繼續(xù)解碼下一個I幀前的圖像,且若Tac>Tvc,說明當(dāng)前視頻幀的解碼已經(jīng)滯后于音頻幀的解碼,進入B幀跳幀模式,否則說明當(dāng)前視頻幀的解碼同步于音頻幀的解碼,該跳幀處理模塊將視頻數(shù)據(jù)發(fā)送給到音/視頻解碼模塊和音/視頻輸出模塊進行解碼輸出。

      I幀跳幀模式為跳過當(dāng)前幀到下一個I幀之間的所有類型的圖像幀,包括P幀和B幀。P幀是指前向預(yù)測圖像幀,它的解碼依賴于它前面的圖像幀,同時它也作為其它圖像幀的參考幀。B幀是指雙向預(yù)測圖像幀,它的解碼依賴于它前面的和后面的參考圖像幀,它不作為其它圖像幀的參考幀。

      B幀跳幀模式是指跳過當(dāng)前的B幀圖像,其對應(yīng)的是B幀跳幀單元,當(dāng)出現(xiàn)連續(xù)3個B幀時,通常要保留中間的B幀進行解碼輸出,這樣可以更好地保持視頻播放器的流暢性。另外注意這里不能跳過P幀,因為其后的圖像P幀或B幀的解碼依賴于P幀。

      采用了該種視頻播放器的跳幀同步系統(tǒng)及其控制方法,由于其存在一播放能力檢測模塊和一跳幀控制模塊,此播放器能夠解碼當(dāng)前通用格式的視頻文件,在視頻播放過程中,當(dāng)播放器檢測到播放器處理能力不夠時,在保證音頻數(shù)據(jù)正常解碼輸出的情況下,合理進行視頻跳幀處理,從而實現(xiàn)音視頻的同步播放;當(dāng)播放器檢測到播放器處理能力足夠時,就和通用視頻播放器一樣進行音視頻的正常解碼輸出。解決了通用播放器在終端處理能力不足的情況下不能音視頻同步播放高壓縮比、高分辨率、高幀率的視頻內(nèi)容的問題,改善了用戶體驗。本發(fā)明提供的視頻播放器對播放能力的檢測是實時進行的,一旦發(fā)現(xiàn)播放能力不足即刻就能精確確定跳幀時間點,而且需要跳過的圖像幀類型和需要跳過的幀數(shù)都是根據(jù)播放器處理能力進行動態(tài)調(diào)節(jié)的。

      基于跳幀同步方法設(shè)計的播放器與通用視頻播放器兼容,可應(yīng)用于沒有及時硬件更新的視頻播放終端,如標(biāo)清機頂盒播放高清節(jié)目、高清(HD)機頂盒播放超高清(UHD)節(jié)目等場合,更具有普遍適用性。

      在此說明書中,本發(fā)明已參照其特定的實施例作了描述。但是,很顯然仍可以作出各種修改和變換而不背離本發(fā)明的精神和范圍。因此,說明書和附圖應(yīng)被認(rèn)為是說明性的而非限制性的。

      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1