本申請涉及通信技術(shù),特別涉及一種高分辨率視頻的參數(shù)檢測方法。
背景技術(shù):
在android平臺的終端上,通常需要獲取視頻播放時采用的視頻關(guān)鍵參數(shù)。一般地,在視頻錄制前,預(yù)先對一段視頻樣圖進行編解碼來確定這些視頻關(guān)鍵參數(shù)。這些視頻關(guān)鍵參數(shù)包括序列參數(shù)集(SPS)和圖像參數(shù)集(PPS)。其中,SPS作用于一系列連續(xù)的編碼圖像,而PPS作用于編碼視頻序列中一個或多個獨立的圖像。如果無法獲取SPS和PPS,則無法對錄制視頻進行解碼。另外,對于不同的終端,其在視頻播放時可能需要將UV分量進行反轉(zhuǎn),才能使視頻的顏色顯示正常。在獲取SPS和PPS的過程中如果解碼成功就可以獲取終端的UV分量偏轉(zhuǎn)標記。
同時,在獲取SPS和PPS時必須使用視頻的實際分辨率。但是當錄制視頻的分辨率大于176*144時,比如352*288、720P或1080P,在某些芯片平臺上比如優(yōu)能終端和huawei Mate2終端上,會因為緩存區(qū)小導(dǎo)致解碼失敗,由于解碼失敗致使UV分量偏轉(zhuǎn)檢測失敗,因此在顏色顯示時會出現(xiàn)紅藍顏色顛倒。
為解決上述問題,可以在每次實際視頻錄制時經(jīng)過解碼過程獲取UV分量偏轉(zhuǎn)標記,但是這種處理方式導(dǎo)致視頻錄制過程的性能不佳,在每次視頻錄制的開始3秒內(nèi)會出現(xiàn)花屏現(xiàn)象。
技術(shù)實現(xiàn)要素:
本申請?zhí)峁┮环N高分辨率視頻的參數(shù)檢測方法,能夠在視頻錄制前獲取正確的UV分量偏轉(zhuǎn)、SPS和PPS,提高視頻錄制性能。
為實現(xiàn)上述密度,本申請采用如下的技術(shù)方案:
一種高分辨率視頻的參數(shù)檢測方法,對實際分辨率高于設(shè)定分辨率的終端,參數(shù)檢測方法包括:
a、針對以所述設(shè)定分辨率錄制的樣圖視頻,進行編解碼處理獲取序列參數(shù)集SPS和圖像參數(shù)集PPS,確定UV分量偏轉(zhuǎn)標記并保存;
b、針對以終端實際分辨率錄制的樣圖視頻,進行編解碼處理,并按照保存的UV分量偏轉(zhuǎn)標記獲取所述實際分辨率下的SPS和PPS。
較佳地,在確定UV分量偏轉(zhuǎn)標記并保存后,該方法進一步包括:保存檢測成功與否的標記;
在獲取所述實際分辨率下的SPS和PPS前,該方法進一步包括:判斷UV分量偏轉(zhuǎn)是否檢測成功,若是,執(zhí)行所述按照保存的UV分量偏轉(zhuǎn)標記獲取實際分辨率下SPS和PPS的操作;否則,不執(zhí)行所述按照保存的UV分量偏轉(zhuǎn)標記獲取所述實際分辨率下SPS和PPS的操作,按照現(xiàn)有方式獲取實際分辨率下SPS、PPS以及UV分量偏轉(zhuǎn)標記。
較佳地,所述設(shè)定分辨率為176*144。
由上述技術(shù)方案,本申請中,針對以設(shè)定分辨率錄制的樣圖視頻,進行編解碼處理獲取序列參數(shù)集SPS和圖像參數(shù)集PPS,確定UV分量偏轉(zhuǎn)并保存;然后,針對以終端實際分辨率錄制的樣圖視頻,進行編解碼處理,并按照保存的UV分量偏轉(zhuǎn)獲取所述實際分辨率下的SPS和PPS。通過上述方式,一方面不會由于終端實際分辨率過大導(dǎo)致解碼失敗而無法獲取UV分量偏轉(zhuǎn),另一方面也不會由于僅采用設(shè)定分辨率進行參數(shù)檢測而獲取不準確的SPS和PPS,能夠在視頻錄制前獲取正確的UV分量偏轉(zhuǎn)、SPS和PPS,提高視頻錄制性能。
附圖說明
圖1為本申請中高分辨率視頻的參數(shù)檢測方法流程圖;
圖2為以設(shè)定分辨率進行編解碼獲取SPS和PPS的程序代碼示例圖;
圖3為以設(shè)定分辨率進行編解碼時確定UV分量偏轉(zhuǎn)標記的程序代碼示例圖。
具體實施方式
為了使本申請的目的、技術(shù)手段和優(yōu)點更加清楚明白,以下結(jié)合附圖對本申請做進一步詳細說明。
在背景技術(shù)介紹的參數(shù)檢測方法中,一次性進行SPS、PPS和UV分量偏轉(zhuǎn)的檢測,由于獲取SPS和PPS必須使用實際視頻分辨率,但是高分辨率會導(dǎo)致解碼失敗,從而獲取UV分量偏轉(zhuǎn)標記失敗。而事實上,UV分量偏轉(zhuǎn)的檢測是將解碼后得到的重構(gòu)樣圖與原始樣圖的顏色進行比較,從而確定是否需要進行UV分量反轉(zhuǎn),因此,UV分量偏轉(zhuǎn)其實和視頻分辨率是無關(guān)的,只要能夠正確解碼得到重構(gòu) 樣圖,就可以得到正確UV分量偏轉(zhuǎn)。雖然UV分量偏轉(zhuǎn)的檢測與視頻分辨率無關(guān),但是,如果使用低分辨率創(chuàng)建樣圖,即使能夠確保解碼成功獲得正確的UV分量偏轉(zhuǎn)標記,但是該分辨率對應(yīng)的SPS和PPS卻是錯誤的,因此這種方式也無法得到完全正確的視頻參數(shù)。
基于上述分析,本申請?zhí)峁┮环N高分辨率視頻的視頻參數(shù)檢測方法,能夠獲取實際分辨率下正確的SPS、PPS和UV分量偏轉(zhuǎn)標記。具體地,本申請中的視頻參數(shù)檢測方法流程如圖1所示,該流程適用于實際分辨率高于設(shè)定分辨率(例如176*144)的終端,流程處理具體包括:
步驟101,針對以設(shè)定分辨率錄制的樣圖視頻,進行編解碼處理獲取序列參數(shù)集SPS和圖像參數(shù)集PPS,確定UV分量偏轉(zhuǎn)并保存。
在本申請?zhí)峁┑姆椒ㄖ校紫纫暂^低的設(shè)定分辨率進行SPS和PPS的獲取,并確定出UV分量偏轉(zhuǎn)標記進行保存。
具體獲取SPS和PPS的過程與現(xiàn)有方式相同,只是其針對的分辨率為較低的設(shè)定分辨率。圖2為使用程序代碼實現(xiàn)本步驟的示例程序,其中,F(xiàn)orTest函數(shù)表明使用的是低分辨率(176*144),而不是實際分辨率。
由于本步驟是以較低的設(shè)定分辨率進行樣圖視頻的編解碼,因此,不會由于終端內(nèi)存太小而導(dǎo)致解碼失敗,從而可以獲取正確的UV分量偏轉(zhuǎn)標記,這里將該UV分量偏轉(zhuǎn)標記進行保存。如前所述,UV分量偏轉(zhuǎn)標記與分辨率無關(guān),因此,這里即便未使用實際分辨率獲取UV分量偏轉(zhuǎn)標記,也可以獲取到正確的UV分量偏轉(zhuǎn)標記。
經(jīng)過編解碼處理后將解碼后的圖像與樣圖進行比較確定UV分量偏轉(zhuǎn)標記。圖3為利用程序代碼實現(xiàn)UV分類偏轉(zhuǎn)標記確定過程的示例程序。
這里,設(shè)定分辨率可以根據(jù)實際需要進行設(shè)定,例如,根據(jù)終端緩沖區(qū)大小所能支持正確解碼的視頻分辨率進行設(shè)定。優(yōu)選地,可以設(shè)定為176*144。
步驟102,針對以終端實際分辨率錄制的樣圖視頻,進行編解碼處理,并按照保存的UV分量偏轉(zhuǎn)標記獲取實際分辨率下的SPS和PPS。
在上一步驟已經(jīng)獲得UV分量偏轉(zhuǎn)標記的前提下,本步驟再次對樣圖視頻進行編解碼處理。本次的編解碼處理針對實際分辨率錄制的樣圖視頻進行,從而獲取實際分辨率下的SPS和PPS。在此過程中,按照在上一步驟中已經(jīng)確定并保存的UV分類偏轉(zhuǎn)標記,構(gòu)成實際分辨率下的SPS和PPS。由于本次SPS和PPS的獲取是基于實際分辨率進行的,因此能夠保證SPS和PPS的準確性。
至此,本申請中的視頻參數(shù)檢測方法流程結(jié)束。
另外,進一步優(yōu)選地,在上述圖1中步驟101后,還可以進一步包括:判斷UV分量偏轉(zhuǎn)是否檢測成功,若是,在步驟102中獲取實際分辨率下SPS和PPS時按照保存的UV分量偏轉(zhuǎn)標記進行;否則,按照現(xiàn)有方式獲取實際分辨率下SPS、PPS以及UV分量偏轉(zhuǎn)標記,也就是在實際分辨率下獲取UV分量偏轉(zhuǎn)標記。通過上述方式,能夠及時確定UV分量偏轉(zhuǎn)標記是否已經(jīng)檢測成功,就可以確定是否可以直接按照保存的UV分量偏轉(zhuǎn)標記進行播放。
基于上述視頻參數(shù)檢測方法,可以獲取正確的UV分量偏轉(zhuǎn)標記、SPS和PPS,從而能夠及時準確地進行錄制視頻的播放,提高視頻錄制的性能。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明保護的范圍之內(nèi)。