本發(fā)明涉及一種視頻轉(zhuǎn)碼技術(shù),特別是一種基于HEVC標(biāo)準(zhǔn)下提高視頻轉(zhuǎn)碼速率的實現(xiàn)方法。
背景技術(shù):
高效視頻編碼(High Efficiency Video Coding,HEVC)是由ISO/IEC Moving Picture Experts Group(MPEG)和ITU-T Video Coding Experts Group(VCEG)聯(lián)合制定的新一代視頻編碼標(biāo)準(zhǔn)。作為H.264的繼任者,HEVC克服了H.264的宏塊機(jī)制在處理高清視頻上的缺陷,它更適合處理高清視頻,是未來很長一段時間內(nèi)的主流編碼標(biāo)準(zhǔn),并將在視頻電話、視頻會議和網(wǎng)絡(luò)流媒體視頻點播方面有著廣泛的應(yīng)用前景。隨著科學(xué)技術(shù)的進(jìn)步,網(wǎng)絡(luò)視頻播放平臺已經(jīng)不局限于傳統(tǒng)的個人計算機(jī),手機(jī)、iPad等移動終端也占據(jù)很大的比重,同時受到不同場景下網(wǎng)絡(luò)帶寬的限制因素等等,導(dǎo)致了市場目前對視頻轉(zhuǎn)碼的迫切需求。
一般來說,視頻轉(zhuǎn)碼主要有:比特率轉(zhuǎn)碼、分辨率轉(zhuǎn)碼、視頻編碼格式轉(zhuǎn)換等。針對比特率轉(zhuǎn)碼來說,國外對轉(zhuǎn)碼最早的研究就是從降低原始壓縮碼流的比特率開始,目的在不改變分辨率的基礎(chǔ)上,擁有低復(fù)雜度和高質(zhì)量輸出的情況下降低碼率。最直接的方法是像素域級聯(lián)結(jié)構(gòu)(CPDT),這個結(jié)構(gòu)很簡單,無錯誤傳播,但是它的計算量十分復(fù)雜,很難實時轉(zhuǎn)碼,且運動重估計時會有信息丟失,視頻質(zhì)量也會隨之下降。目前比特率轉(zhuǎn)碼的轉(zhuǎn)碼結(jié)構(gòu)主要分為兩大類:開環(huán)結(jié)構(gòu)和閉環(huán)結(jié)構(gòu)。開環(huán)轉(zhuǎn)碼不需要運動估計、DCT/IDCT變換,效率很高,但是存在誤碼擴(kuò)散,其有效解決方法為采用幀內(nèi)塊刷新結(jié)構(gòu),增加編碼宏塊數(shù)量。閉環(huán)結(jié)構(gòu)增加了算法復(fù)雜度以及存儲,可以得到較為理想的圖像質(zhì)量。根據(jù)紋理數(shù)據(jù)處理方式,又可以分為:像素域級聯(lián)轉(zhuǎn)碼和DCT域轉(zhuǎn)碼。像素域級聯(lián)結(jié)構(gòu),它是部分解碼和部分編碼的組合,比較復(fù)雜,而像素域快速級聯(lián)轉(zhuǎn)碼結(jié)構(gòu)是通過對原始碼流的預(yù)測殘差作運動補償?shù)玫降念A(yù)測殘差,DCT/IDCT運算能偶減少一半。而DCT域的轉(zhuǎn)碼結(jié)構(gòu)(DDT)中,當(dāng)運動矢量為0或8的倍數(shù)時,DCT域運動補償不需要做任何運算。對于低速運動或靜止的視頻系列,DDT計算量更小,但由于一些其他因素導(dǎo)致該結(jié)構(gòu)的應(yīng)用也受到限制。本發(fā)明基于最新的視頻壓縮標(biāo)準(zhǔn)HEVC,主要針對上述降分辨率轉(zhuǎn)碼中的閉環(huán)結(jié)構(gòu)進(jìn)行速度優(yōu)化。在將一個高比特率的輸入視頻流解碼,之后利用更大的量化參數(shù)(QP)將重建序列重新編碼成較低碼率視頻流的過程中,我們利用原始輸入視頻流中編碼單元(CU)劃分模式的信息,通過已經(jīng)受到大量訓(xùn)練的樸素貝葉斯分類器,從而提前判斷再次編碼時編碼單元(CU)的劃分模式,減少RDcost的計算量,從而在保證視頻質(zhì)量的同時大大減少轉(zhuǎn)碼的時間。
技術(shù)實現(xiàn)要素:
本發(fā)明主要是在HEVC標(biāo)準(zhǔn)內(nèi),利用機(jī)器學(xué)習(xí),通過原始碼流信息和前一幀信息減少再編碼時CU劃分模式的判斷,從而減少計算量,因此能夠有效地提高視頻轉(zhuǎn)碼的速度和效率。
一種基于HEVC標(biāo)準(zhǔn)下提高視頻轉(zhuǎn)碼速率的實現(xiàn)方法,包括以下步驟:
步驟1,在將高比特率的原始視頻流按照QP1解碼成視頻序列過程中提取原始視頻流對應(yīng)幀相關(guān)編碼單元劃分信息;
步驟2,在將解碼后的視頻序列按照QP2再編碼成為低比特率的視頻流過程中提取存儲的時域前一幀編碼后的相關(guān)編碼單元劃分信息;
步驟3,將步驟1和步驟2中獲取的劃分信息作為特征輸入已經(jīng)訓(xùn)練完畢的對應(yīng)樸素貝葉斯分類器,獲得訓(xùn)練結(jié)果;
步驟4,若訓(xùn)練結(jié)果為1,則對當(dāng)前幀編碼單元繼續(xù)劃分;若訓(xùn)練結(jié)果為0,當(dāng)前幀編碼單元停止劃分;
其中,相關(guān)編碼單元為對應(yīng)幀中位置以及大小相同的編碼單元;
其中,QP1<QP2。
本發(fā)明與現(xiàn)有技術(shù)相比,具有以下優(yōu)點:
(1)本發(fā)明利用了原始碼流的先驗信息,相比于其他只是在編碼端判斷CU劃分的方法,更加快速和有效;
(2)本發(fā)明不僅利用原始碼流信息,同時結(jié)合了時域相鄰幀的CU劃分信息,使得訓(xùn)練結(jié)果更加科學(xué)全面;
(3)本發(fā)明使用了樸素貝葉斯分類模型,模型直觀簡單,易于操作,同時效果也十分顯著,可以對大量訓(xùn)練樣本進(jìn)行訓(xùn)練,從而比傳統(tǒng)統(tǒng)計方法更加精確。
下面結(jié)合說明書附圖對本發(fā)明作進(jìn)一步描述。
附圖說明
圖1是HEVC全解全編轉(zhuǎn)碼流程圖。
圖2是本發(fā)明轉(zhuǎn)碼流程圖。
圖3 CU劃分對應(yīng)深度示意圖。
圖4分類器T0、T1、T2使用示意圖。
圖5是本發(fā)明的方法流程圖。
具體實施方式
結(jié)合圖5,一種基于HEVC標(biāo)準(zhǔn)下提高視頻轉(zhuǎn)碼速率的實現(xiàn)方法,包括以下步驟:
步驟1,在將高比特率的原始視頻流按照QP1解碼成視頻序列過程中提取原始視頻流對應(yīng)幀相關(guān)編碼單元劃分信息;
步驟2,在將解碼后的視頻序列按照QP2再編碼成為低比特率的視頻流過程中提取存儲的時域前一幀編碼后的相關(guān)編碼單元劃分信息;
步驟3,將步驟1和步驟2中獲取的劃分信息作為特征輸入已經(jīng)訓(xùn)練完畢的對應(yīng)樸素貝葉斯分類器,獲得訓(xùn)練結(jié)果;
步驟4,若訓(xùn)練結(jié)果為1,則對當(dāng)前幀編碼單元繼續(xù)劃分;若訓(xùn)練結(jié)果為0,當(dāng)前幀編碼單元停止劃分;
其中,相關(guān)編碼單元為對應(yīng)幀中位置以及大小相同的編碼單元;
其中,QP1<QP2。
所述步驟1中提取原始碼流對應(yīng)幀相關(guān)編碼單元(CU)劃分信息,所述步驟2中提取存儲的前一幀編碼后的相關(guān)CU劃分信息,將兩個劃分信息作為特征輸入已經(jīng)訓(xùn)練完畢的對應(yīng)樸素貝葉斯分類器,得出類A,類B,根據(jù)分類進(jìn)一步判斷CU劃分模式,從而減少再編碼計算量,提高轉(zhuǎn)碼速度。
具體地,設(shè)ΔQP=QP2-QP1,表示視頻原始碼流量化參數(shù)為QP1,通過轉(zhuǎn)碼后的量化參數(shù)為QP2,且QP1<QP2,則量化參數(shù)變化量為ΔQP。針對此固定ΔQP,進(jìn)行分類器訓(xùn)練。
訓(xùn)練視頻樣本要滿足盡可能涵蓋多種類型,包括低速運動,中速運動,高速運動,高分辨率,低分辨率等類型視頻。例如可選ParkScene,BasketballDrill,BQMall,BQSquare,FourPeople;每段視頻各選取50幀,且只選取P幀和B幀。
將訓(xùn)練視頻樣本由QP1的高比特率視頻流轉(zhuǎn)碼為QP2的低比特率視頻流,使用全解全編的轉(zhuǎn)碼方式,如圖1。
所述的提取的樸素貝葉斯分類器訓(xùn)練樣本視頻的特征為:
ΔDepth_correspondingCU(以下簡稱ΔDc)
ΔDepth_timepreviousCU(以下簡稱ΔDt)
其中,correspondingCU表示在輸入的原始視頻流中與待處理CU相關(guān)性最強的CU,timepreviousCU表示在時域前一幀中與待處理CU相關(guān)性最強的CU,其中相關(guān)性最強CU表示對應(yīng)幀(幀的編碼序號相同)內(nèi)的對應(yīng)LCU中位置和大小相同的CU,可通過程序中uiAbsPartIdx大小來判斷位置;ΔDepth表示計算該CU大小對應(yīng)的深度與該CU中劃分最深深度的差值。注:64*64大小的CU深度為0,32*32大小的CU深度為1,16*16大小的CU深度為2,8*8大小的CU深度為3(具體見圖3)。
分類器訓(xùn)練結(jié)果類別:
A類:再編碼端待處理CU的split-flag值為1,該CU繼續(xù)劃分;
B類:在編碼端待處理CU的split-flag值為0,該CU停止劃分。
分類器模型為樸素貝葉斯分類器,共有三個:T0,T1,T2。分別針對64*64,32*32,16*16三種大小的CU。
針對不同訓(xùn)練器進(jìn)行訓(xùn)練:訓(xùn)練分類器T0,則提取訓(xùn)練視頻中所有編碼端64*64大小的CU所對應(yīng)的特征和類別;同理,訓(xùn)練分類器T1,則提取訓(xùn)練視頻中所有編碼端32*32大小的CU所對應(yīng)的特征和類別;訓(xùn)練分類器T2,則提取訓(xùn)練視頻中所有編碼端16*16大小的CU所對應(yīng)的特征和類別進(jìn)行訓(xùn)練。
訓(xùn)練好三個分類器后,按照圖2所示流程進(jìn)行轉(zhuǎn)碼,再編碼時若該幀為I幀,不做處理,若為B幀或者P幀,按照不同CU大小,提取原始碼流中信息(ΔDc)和時域前一幀信息(ΔDt),分別通過對應(yīng)分類器(T0,T1,T2)分類,得出相應(yīng)CU的預(yù)測split-flag值(簡稱pSF),便可直接判斷CU劃分情況而不用進(jìn)行大量RDcost計算,具體判斷流程見圖4。