專利名稱:一種基于分級機制的視頻丟幀策略的制作方法
技術領域:
本發(fā)明涉及多媒體音視頻播放領域,更具體的是音視頻同步過程的視頻丟幀策略。
背景技術:
當用戶點擊播放視頻文件時,多媒體播放系統(tǒng)首先從視頻文件中讀取音視頻數據,然后將其送交解碼器解碼,解碼輸出的音頻內容和視頻內容經過同步措施將經過輸出模塊分別送交音頻設備輸出,視頻設備顯示,最終完成了整個播放流程。當視頻解碼效率無法滿足視頻輸出幀率要求時,視頻顯示內容就將落后音頻輸出,如果不做出任何處理,音視頻則不能同步輸出。通常根據編碼系統(tǒng)中存在參考幀(I 幀),前向預測編碼幀(P幀),雙向預測編碼幀(B幀),丟掉一定數量的編碼幀,減少解碼時間,從而達到同步的目的。常規(guī)丟幀策略的做法為,在視頻解碼單元獲得當前系統(tǒng)同步時鐘,在視頻解碼前判斷視頻當前時間戳與同步時鐘的差值GT,如果GT超過一定的閾值,則判斷該幀是否為B 幀,若為B幀則丟棄該幀,否則不丟幀。該策略容易造成連續(xù)丟掉B幀的情況出現,導致視頻播放不平滑;另外如果視頻沒有B幀,則不能丟幀,會導致視頻嚴重不同步。
發(fā)明內容
本發(fā)明的目的是提供一種優(yōu)先保證音視頻同步,致力于使視頻播放更加平滑,流暢的丟幀策略。根據視頻編碼存在I幀,P幀,B幀的特性,引入了分級丟幀策略。丟幀策略分為3 級。具體做法如下1、根據人的感官靈敏性,設定三級閾值。不同的應用場合,閾值可以略微不同。閾值設定為一級閾值Ni,二級N2,三級N3。附< N2 < N3。2、視頻播放過程中,假定當前視頻輸出幀的時間戳為T,同步時鐘為S則視頻輸出延時D = T-S。在視頻輸出端獲得該延時D后告知視頻解碼器。然后視頻解碼單元會在解碼下一幀數據時判斷該幀是否被丟棄。若D小于m則認為視頻同步,不丟幀;若D在m N2之間,則首先判斷前一幀是否被丟棄,如果前一幀被丟棄,則不丟棄該幀,否則判斷該幀是否為B幀,若為B幀則丟棄該幀;若D在N2 N3之間,則直接判斷該幀是否為B幀,若為 B幀則丟棄該幀;若D大于N3,則直接丟棄該幀,并且連續(xù)丟掉后續(xù)幀直至后續(xù)幀出現I幀為止。
圖為視頻丟幀流程具體實施方式
下面結合附圖進一步闡述本發(fā)明圖為本發(fā)明的視頻丟幀流程。設置丟幀三級閾值,m為180,N2為360,N3為700, 單位均為毫秒。當解碼單元得到待解碼的數據時,首先要獲得當前視頻延時狀態(tài),即從輸出單元獲取當前視頻輸出延時值D。然后獲得當前丟幀狀態(tài),即上一幀是否丟幀。這時再利用本發(fā)明所闡述的三級閾值丟幀策略,決定當前幀是否該被丟棄。若當前幀被丟棄,則首先設置當前狀態(tài)為已丟幀,然后繼續(xù)讀取數據進行上述過程。若沒有丟幀,視頻解碼送交輸出端后,計算出當前視頻輸出延時值后將視頻幀輸出。一幀數據丟幀判定完成。上述操作過程是本發(fā)明的一種典型的實施應用,已經在基于盈方微芯片的1080P 多媒體解決方案中經百萬級出貨量驗證,可以很好地滿足用戶的多媒體體驗。對于本領域的一般技術人員,在上述實施例的基礎上,可以做出多種變化,同樣能實現本發(fā)明的目的。 但是,這種變化顯然是在本發(fā)明的權利要求書的保護范圍內。
權利要求
1.一種基于分級機制的視頻丟幀策略,其特征在于根據視頻編碼存在I巾貞,P巾貞,B幀的特性,引入了分級丟幀策略。具體做法如下第一步,根據人的感官靈敏性,設定三級閾值。第二步,視頻播放過程中,假定當前視頻輸出幀的時間戳為T,同步時鐘為S則視頻輸出延時D = T-S。在視頻輸出端獲得該延時D后告知視頻解碼器。然后視頻解碼單元會在解碼下一幀數據時,通過判定輸入幀的I,P,B幀性質來決定該幀是否被丟棄。
2.如權利要求1所述的基于分級機制的視頻丟幀策略,其特征在于所述第一步中,根據人的感官靈敏性,設定三級閾值時,不同的應用場合,閾值可以略微不同。閾值設定為一級閾值Ni,二級N2,三級N3。附< N2 < N3。
3.如權利要求1所述的基于分級機制的視頻丟幀策略,其特征在于所述第二步中,在判斷是否被丟棄時,若D小于m則認為視頻同步,不丟幀;若D在 Nl N2之間,則首先判斷前一幀是否被丟棄,如果前一幀被丟棄,則不丟棄該幀,否則判斷該幀是否為B幀,若為B幀則丟棄該幀;若D在N2 N3之間,則直接判斷該幀是否為B幀, 若為B幀則丟棄該幀;若D大于N3,則直接丟棄該幀,并且連續(xù)丟掉后續(xù)幀直至后續(xù)幀出現 I幀為止。
全文摘要
一種基于分級機制的視頻丟幀策略,所屬技術領域涉及多媒體音視頻播放領域,更具體的是音視頻同步過程的視頻丟幀策略。本發(fā)明的目的是提供一種優(yōu)先保證音視頻同步,致力于使視頻播放更加平滑,流暢的丟幀策略。方案如下根據人的感官靈敏性,設定三級閾值;視頻播放過程中,假定當前視頻輸出幀的時間戳為T,同步時鐘為S則視頻輸出延時D=T-S。在視頻輸出端獲得該延時D后告知視頻解碼器。然后視頻解碼單元會在解碼下一幀數據時判斷該幀是否被丟棄。本發(fā)明的一、二、三級閾值能確保視頻流暢同步播放。在視頻輸出端判定當前視頻延時大小更為合理,判斷下一幀是否丟幀更加準確。
文檔編號H04N7/52GK102368823SQ20111017964
公開日2012年3月7日 申請日期2011年6月28日 優(yōu)先權日2011年6月28日
發(fā)明者付偉, 葉偉澤, 李興仁, 王勝, 章志剛 申請人:上海盈方微電子有限公司