1.一種基于視頻顯著性的HEVC解碼復(fù)雜度控制方法,其特征在于,具體步驟如下:
步驟一、針對某段視頻,用戶根據(jù)智能終端的計(jì)算能力、電量剩余或者根據(jù)自己的要求設(shè)定視頻解碼的目標(biāo)復(fù)雜度;
步驟二、利用HEVC壓縮域的區(qū)域顯著性檢測算法,生成該視頻中每一幀的LCU級別顯著性圖譜;
LCU(Largest Coding Unit)是指最大編碼單元;每幀中LCU的數(shù)量為N;
步驟三、根據(jù)目標(biāo)復(fù)雜度和LCU顯著性圖譜,設(shè)計(jì)解碼復(fù)雜度—感知失真優(yōu)化控制模型;
優(yōu)化控制模型為:視頻的復(fù)雜度下降值大于等于目標(biāo)下降值的時(shí)候,使得視頻的主觀失真最小,即
ΔSD(fn,wn)為去掉/不去掉去塊濾波器時(shí)的視頻感知失真;wn為第n個(gè)LCU的顯著性值;fn表示是否去掉第n個(gè)LCU的去塊濾波器的參數(shù);ΔSM(gn,wn)為簡化運(yùn)動補(bǔ)償時(shí)的感知失真;gn表示第n個(gè)LCU中的每4個(gè)像素里,使用臨近像素插值而不使用運(yùn)動補(bǔ)償算法的像素個(gè)數(shù);gn的值為{0,1,2,3};
ΔCD(fn,wn)為去塊濾波器與解碼復(fù)雜度之間的函數(shù)表達(dá)式;ΔCM(gn)為簡化運(yùn)動補(bǔ)償與解碼復(fù)雜度之間的函數(shù)關(guān)系;ΔCT為特定視頻解碼復(fù)雜度的目標(biāo)下降值;
由于ΔSD(fn,wn)<<ΔSM(gn,wn),優(yōu)化方程分解并化簡為:
其中,ΔSD(fn,wn)歸一化得到ΔSM(gn,wn)歸一化后得到
ΔC'T為特定視頻需要通過簡化運(yùn)動補(bǔ)償達(dá)到的解碼復(fù)雜度的下降值;
參數(shù)a和b的值隨量化參數(shù)QP(Quantization Parameter)的變化而變化;
步驟四、利用解碼復(fù)雜度—感知失真優(yōu)化控制模型,控制視頻的實(shí)際解碼復(fù)雜度;達(dá)到視頻的解碼復(fù)雜度等于設(shè)定的目標(biāo)復(fù)雜度,并且保證視頻的感知失真最小的目的;
若結(jié)果為:
其中,I滿足:
為的升序排列;
若結(jié)果為:
其中,N1,N2和N3分別為gn=1,2,3的LCU個(gè)數(shù),通過以下公式求得:
參數(shù)h1、h2和h3的值為常數(shù);參數(shù)c的值隨量化參數(shù)QP的變化而變化;
兩個(gè)求解結(jié)果為在滿足約束條件的前提下,給顯著性wn較小的LCU分配較大的fn和gn。
2.如權(quán)利要求1所述的一種基于視頻顯著性的HEVC解碼復(fù)雜度控制方法,其特征在于,所述的步驟二具體如下:
步驟201、輸入該段視頻經(jīng)過HEVC壓縮編碼的視頻比特流;
步驟202、針對視頻壓縮編碼中每幀包括的LCU,從視頻比特流中提取編碼每個(gè)LCU所使用的比特?cái)?shù);
bn表示編碼第n個(gè)LCU使用的比特?cái)?shù);
步驟203、針對某幀中的第n個(gè)LCU,計(jì)算該LCU與周圍8鄰域LCU的比特?cái)?shù)差值Δbn;
Δbn計(jì)算公式如下:
其中I為當(dāng)前LCU的8鄰域LCU的集合,dn'是第n'個(gè)LCU和第n個(gè)LCU之間的歐氏距離,σb為高斯窗函數(shù)的參數(shù);
步驟204、根據(jù)比特?cái)?shù)bn和比特?cái)?shù)差值Δbn計(jì)算第n個(gè)LCU的顯著性值wn;
計(jì)算公式如下:
其中bmax表示每幀中bn的最大值;Δbmax表示每幀中Δbn的最大值;
步驟205、將每一幀內(nèi)所有LCU的顯著性值構(gòu)成顯著性圖譜。
3.如權(quán)利要求1所述的一種基于視頻顯著性的HEVC解碼復(fù)雜度控制方法,其特征在于,所述的步驟三具體如下:
步驟301、通過訓(xùn)練若干個(gè)視頻,建立去塊濾波器與解碼復(fù)雜度之間的函數(shù)關(guān)系;
步驟302、通過訓(xùn)練若干個(gè)視頻,建立去塊濾波器與視頻感知失真之間的函數(shù)關(guān)系;
視頻的感知失真用視頻顯著性加權(quán)的均方誤差來表示;
去掉/不去掉去塊濾波器時(shí)的視頻感知失真表示為:
其中,MSED(fn)為:設(shè)置fn∈{0,1}后解碼產(chǎn)生的第n個(gè)LCU,與使用原始HEVC解碼產(chǎn)生的第n個(gè)LCU之間的均方誤差(MSE);
將ΔSD(fn,wn)進(jìn)行歸一化得到
確定的具體函數(shù)表達(dá)式,得到
步驟303、通過訓(xùn)練若干個(gè)視頻,建立簡化運(yùn)動補(bǔ)償與解碼復(fù)雜度之間的函數(shù)關(guān)系;
步驟304、通過訓(xùn)練若干個(gè)視頻,建立簡化運(yùn)動補(bǔ)償與視頻感知失真之間的函數(shù)關(guān)系;
簡化運(yùn)動補(bǔ)償時(shí)的感知失真可以表示為
其中,MSEM(gn)為:設(shè)置gn∈{0,1,2,3}后解碼產(chǎn)生的第n個(gè)LCU,與使用原始HEVC解碼產(chǎn)生的第n個(gè)LCU之間的均方誤差(MSE);
將ΔSM(gn,wn)進(jìn)行歸一化后為歸一化方法為:
步驟305、得到解碼復(fù)雜度—感知失真優(yōu)化控制模型并進(jìn)行簡化。
4.如權(quán)利要求3所述的一種基于視頻顯著性的HEVC解碼復(fù)雜度控制方法,其特征在于,所述的步驟301具體如下:
步驟3011、選取若干個(gè)訓(xùn)練視頻,獲取數(shù)萬個(gè)LCU;
步驟3012、使用原始HEVC解碼器對所有訓(xùn)練視頻的視頻比特流進(jìn)行解碼,記錄每個(gè)LCU的去塊濾波器的時(shí)間;
步驟3013、針對每一個(gè)LCU,記錄該LCU的去塊濾波器的時(shí)間占平均每幀解碼的時(shí)間比例
該LCU的去塊濾波器的時(shí)間是指該LCU去掉去塊濾波器后,解碼時(shí)間的下降值;
平均每幀解碼的時(shí)間是指該LCU所在的視頻中,所有幀解碼時(shí)間的平均值;
參數(shù)fn=1表示去掉第n個(gè)LCU的去塊濾波器;參數(shù)fn=0表示不去掉第n個(gè)LCU的去塊濾波器;
步驟3014、對所有時(shí)間比例采用最小二乘法擬合,獲得去掉去塊濾波器時(shí),且不同顯著值的LCU,解碼復(fù)雜度下降的函數(shù)表達(dá)式ΔCD(fn=1,wn);
當(dāng)不去掉去塊濾波器時(shí)fn=0,解碼復(fù)雜度下降ΔCD(fn=0,wn)=0;
步驟3015、得到去塊濾波器與解碼復(fù)雜度之間的函數(shù)表達(dá)式ΔCD(fn,wn);
5.如權(quán)利要求3所述的一種基于視頻顯著性的HEVC解碼復(fù)雜度控制方法,其特征在于,所述的步驟303具體如下:
步驟3031、選取若干個(gè)訓(xùn)練視頻,包含數(shù)萬個(gè)LCU;
步驟3032、使用原始HEVC解碼器對每個(gè)訓(xùn)練視頻的視頻比特流進(jìn)行解碼,記錄每個(gè)訓(xùn)練視頻中平均每幀的解碼時(shí)間以及每個(gè)LCU的解碼時(shí)間;
步驟3033、針對每個(gè)訓(xùn)練視頻分別進(jìn)行四次解碼,并記錄每個(gè)LCU解碼時(shí)間的下降值;
在四次解碼中,分別將每個(gè)LCU中占0、1/4、2/4、3/4比例的像素使用臨近像素插值而跳過運(yùn)動補(bǔ)償算法;
LCU解碼時(shí)間的下降值是指:與使用原始HEVC解碼器解碼時(shí)每個(gè)LCU的解碼時(shí)間相比,使用臨近像素插值而跳過運(yùn)動補(bǔ)償算法時(shí)該LCU解碼時(shí)間的下降值;
步驟3034、針對四次解碼,分別記錄每個(gè)LCU解碼時(shí)間的下降值與平均幀解碼時(shí)間的比值,作為復(fù)雜度下降值
步驟3035、對于每個(gè)視頻,分別求四次解碼復(fù)雜度下降值的平均值;
其中L為一個(gè)訓(xùn)練視頻中的LCU數(shù)量,l為訓(xùn)練視頻中LCU的序號;
步驟3036、將所有視頻的通過最小二乘法進(jìn)行擬合,得到簡化運(yùn)動補(bǔ)償與解碼復(fù)雜度之間的函數(shù)關(guān)系ΔCM(gn);
6.如權(quán)利要求3所述的一種基于視頻顯著性的HEVC解碼復(fù)雜度控制方法,其特征在于,所述的步驟304具體如下:
步驟3041、選取若干個(gè)訓(xùn)練視頻,包含數(shù)萬個(gè)LCU;
步驟3042、使用原始HEVC解碼器對每個(gè)訓(xùn)練視頻的視頻比特流進(jìn)行解碼,得到解碼后的重建視頻;
步驟3043、對每個(gè)訓(xùn)練視頻進(jìn)行四次解碼,記錄每次解碼時(shí)的每個(gè)視頻與原始HEVC解碼器得到的重建視頻的均方誤差
在四次解碼中,每次解碼時(shí)分別將每個(gè)LCU中占總像素個(gè)數(shù)0、1/4、2/4、3/4比例的像素使用臨近像素插值而跳過運(yùn)動補(bǔ)償算法;分別對應(yīng)gn=0,1,2,3;
步驟3044、對每次解碼時(shí)每個(gè)視頻的均方誤差均使用進(jìn)行歸一化;
步驟3045、對所有訓(xùn)練數(shù)據(jù)進(jìn)行最小二乘擬合,得到的函數(shù)關(guān)系,進(jìn)而得到的函數(shù)表達(dá)式: