本發(fā)明屬于視頻解碼領(lǐng)域,具體是一種基于視頻顯著性的HEVC解碼復(fù)雜度控制方法。
背景技術(shù):
:在視頻解碼領(lǐng)域,復(fù)雜度控制對視頻解碼有重要影響;解碼復(fù)雜度控制一般是指降低原解碼復(fù)雜度至任意指定目標(biāo)復(fù)雜度,同時(shí)保證由復(fù)雜度降低所導(dǎo)致的視頻失真最小。在視頻編碼標(biāo)準(zhǔn)的演進(jìn)過程中,伴隨著編碼效率的不斷提高,視頻解碼的復(fù)雜度也不斷提高;降低和控制視頻解碼的復(fù)雜度成為了視頻解碼的關(guān)鍵問題。最新一代高效率視頻編碼HEVC(HighEfficiencyVideoCoding)標(biāo)準(zhǔn),能夠減少時(shí)空冗余以滿足高清乃至超高清視頻的壓縮需求,具有靈活的圖像分割方案,并行化編解碼設(shè)定,相比較之前的H.264/AVC視頻編碼標(biāo)準(zhǔn),HEVC可以在只消耗H.264一半碼率的前提下獲得幾乎相同的視頻壓縮質(zhì)量;但是這是以編碼和解碼復(fù)雜度作為代價(jià)的,這種較高的解碼復(fù)雜度對HEVC的實(shí)時(shí)解碼的應(yīng)用造成了很大的挑戰(zhàn)。隨著當(dāng)下智能終端的多樣化發(fā)展,越來越多的智能終端(智能手機(jī),平板電腦,筆記本電腦,計(jì)算機(jī)等)進(jìn)入到人們的生活。計(jì)算能力的不同導(dǎo)致各智能終端對視頻解碼時(shí)解碼復(fù)雜度的承受能力不同。同時(shí),各類智能終端自帶的電量也十分迥異,觀看視頻的剩余電量也可能差異很大。因此,有必要根據(jù)智能終端實(shí)際計(jì)算能力和電量水平進(jìn)行視頻解碼的復(fù)雜度控制。然而,在解碼復(fù)雜度控制時(shí),通常需要降低解碼復(fù)雜度,而降低解碼復(fù)雜度的代價(jià)是視頻失真。通常,視頻的輸出端是人眼,因此在解碼復(fù)雜度控制時(shí),需要以最小感知失真為優(yōu)化目標(biāo)。人眼在觀看視頻的時(shí)候,關(guān)注點(diǎn)并不會遍布整個(gè)屏幕,而是會集中在很小的區(qū)域中。視頻顯著性可以用來描述各個(gè)區(qū)域的受關(guān)注程度。顯著性非常高的區(qū)域稱之為感興趣區(qū)域(Region-of-Interest,ROI),反之則成為非感興趣區(qū)域。ROI區(qū)域中的圖像質(zhì)量對視頻的感知質(zhì)量影響很大,而非ROI區(qū)域則影響很小。技術(shù)實(shí)現(xiàn)要素:本發(fā)明針對目前尚沒有可以離線完成視頻解碼復(fù)雜度控制的算法,以及現(xiàn)有的降低HEVC解碼復(fù)雜度的算法沒有考慮感知質(zhì)量優(yōu)化的問題,提出了一種基于視頻顯著性的HEVC解碼復(fù)雜度控制方法。具體步驟如下:步驟一、針對某段視頻,用戶根據(jù)智能終端的計(jì)算能力、電量剩余或者根據(jù)自己的要求設(shè)定視頻解碼的目標(biāo)復(fù)雜度;步驟二、利用HEVC壓縮域的區(qū)域顯著性檢測算法,生成該視頻中每一幀的LCU級別顯著性圖譜。具體步驟如下:步驟201、輸入該段視頻經(jīng)過HEVC壓縮編碼的視頻比特流;視頻壓縮編碼時(shí),每一幀包括若干最大編碼單元LCU(LargestCodingUnit)。步驟202、針對視頻壓縮編碼中每幀包括的LCU,從視頻比特流中提取編碼每個(gè)LCU所使用的比特?cái)?shù);bn表示編碼第n個(gè)LCU使用的比特?cái)?shù),每幀中LCU的數(shù)量為N。步驟203、針對某幀中的第n個(gè)LCU,計(jì)算該LCU與周圍8鄰域LCU的比特?cái)?shù)差值Δbn。Δbn計(jì)算公式如下:Δbn=(Σn′∈Iexp(dn′2σb2)(bn′-bn)2Σn′∈Iexp(dn′2σb2))12]]>其中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ì)算公式如下:wn=12(bnbmax+ΔbnΔbmax)]]>其中bmax表示每幀中bn的最大值。Δbmax表示每幀中Δbn的最大值步驟205、將每一幀內(nèi)所有LCU的顯著性值構(gòu)成顯著性圖譜。步驟三、根據(jù)目標(biāo)復(fù)雜度和LCU顯著性圖譜,設(shè)計(jì)解碼復(fù)雜度—感知失真優(yōu)化控制模型。具體步驟為:步驟301、通過訓(xùn)練若干個(gè)視頻,建立去塊濾波器與解碼復(fù)雜度之間的函數(shù)關(guān)系;具體步驟如下:步驟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)。ΔCD(fn,wn)=1N·(a·wn+b)·fn]]>參數(shù)a和b的值隨量化參數(shù)QP(QuantizationParameter)的變化而變化。步驟302、通過訓(xùn)練若干個(gè)視頻,建立去塊濾波器與視頻感知失真之間的函數(shù)關(guān)系;視頻的感知失真用視頻顯著性加權(quán)的均方誤差來表示;去掉/不去掉去塊濾波器時(shí)的視頻感知失真表示為:ΔSD(fn,wn)=wnΣn=1NwnMSED(fn)]]>其中,MSED(fn)為:設(shè)置fn∈{0,1}后解碼產(chǎn)生的第n個(gè)LCU,與使用原始HEVC解碼產(chǎn)生的第n個(gè)LCU之間的均方誤差(MSE)。將ΔSD(fn,wn)進(jìn)行歸一化得到ΔS~D(fn,wn)=ΔSD(fn,wn)ΔSD(fn=1,wn=1)=wnMSED(fn)MSED(fn=1)]]>確定的具體函數(shù)表達(dá)式,得到步驟303、通過訓(xùn)練若干個(gè)視頻,建立簡化運(yùn)動(dòng)補(bǔ)償與解碼復(fù)雜度之間的函數(shù)關(guān)系。具體步驟為:步驟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)動(dòng)補(bǔ)償算法;LCU解碼時(shí)間的下降值是指:與使用原始HEVC解碼器解碼時(shí)每個(gè)LCU的解碼時(shí)間相比,使用臨近像素插值而跳過運(yùn)動(dòng)補(bǔ)償算法時(shí)該LCU解碼時(shí)間的下降值。步驟3034、針對四次解碼,分別記錄每個(gè)LCU解碼時(shí)間的下降值與平均幀解碼時(shí)間的比值,作為復(fù)雜度下降值gn表示第n個(gè)LCU中的每4個(gè)像素里,使用臨近像素插值而不使用運(yùn)動(dòng)補(bǔ)償算法的像素個(gè)數(shù);gn的值為{0,1,2,3};步驟3035、對于每個(gè)視頻,分別求四次解碼復(fù)雜度下降值的平均值;ΔC‾M*(gn)=1LΣl=1LΔCM*(gl=gn)]]>其中L為一個(gè)訓(xùn)練視頻中的LCU數(shù)量,l為訓(xùn)練視頻中LCU的序號。步驟3036、將所有視頻的通過最小二乘法進(jìn)行擬合,得到簡化運(yùn)動(dòng)補(bǔ)償與解碼復(fù)雜度之間的函數(shù)關(guān)系ΔCM(gn);ΔCM(gn)=1N·c·gn]]>其中參數(shù)c的值隨量化參數(shù)QP的變化而變化。步驟304、通過訓(xùn)練若干個(gè)視頻,建立簡化運(yùn)動(dòng)補(bǔ)償與視頻感知失真之間的函數(shù)關(guān)系。簡化運(yùn)動(dòng)補(bǔ)償時(shí)的感知失真可以表示為ΔSM(gn,wn)=wnΣn=1NwnMSEM(gn)]]>其中,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)行歸一化,歸一化后為歸一化方法為:ΔS~M(gn,wn)=ΔSM(gn,wn)ΔSM(gn=3,wn=1)=wnMSEM(gn)MSEM(gn=3)]]>確定的具體函數(shù)表達(dá)式,具體步驟如下:步驟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)動(dòng)補(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á)式。ΔS~M(gn,wn)=wn·(h1gn3+h2gn2+h3gn)]]>參數(shù)h1、h2和h3的值為常數(shù)。步驟305、得到解碼復(fù)雜度—感知失真優(yōu)化控制模型并進(jìn)行簡化。優(yōu)化控制模型為:視頻的復(fù)雜度下降值大于等于目標(biāo)下降值的時(shí)候,使得視頻的主觀失真最小,即min{fn,gn}n=1NΣn=1N(ΔSD(fn,wn)+ΔSM(gn,wn)]]>s.t.Σn=1N(ΔCD(fn,wn)+ΔCM(gn))≥ΔCT]]>ΔCT為特定視頻解碼復(fù)雜度的目標(biāo)下降值;當(dāng)滿足ΔSD(fn,wn)<<ΔSM(gn,wn),優(yōu)化方程分解并化簡為:其中ΔC'T為特定視頻需要通過簡化運(yùn)動(dòng)補(bǔ)償達(dá)到的解碼復(fù)雜度的下降值;ΔCT′=ΔCT-Σn=1NΔCD(fn=1,wn)=ΔCT-Σn=1N1N·(a·wn+b)]]>步驟四、利用解碼復(fù)雜度—感知失真優(yōu)化控制模型,控制視頻的實(shí)際解碼復(fù)雜度;達(dá)到視頻的解碼復(fù)雜度等于設(shè)定的目標(biāo)復(fù)雜度,并且保證視頻的感知失真最小的目的。若結(jié)果為:其中,I滿足:1NΣn=1I(a·w~n+b)≥ΔCT>1NΣn=1I-1(a·w~n+b)]]>為的升序排列;若結(jié)果為:其中,N1,N2和N3分別為gn=1,2,3的LCU個(gè)數(shù),通過以下公式求得:minN3,N2,N1N32+(8h1+4h2+2h3)·(N22-N32)+(h1+h2+h3)·(N22-N12)]]>s.t.1N·c·(N1+2N2+3N3)≥ΔCT′]]>兩個(gè)求解結(jié)果為在滿足約束條件的前提下,給顯著性wn較小的LCU分配較大的fn和gn,也即首先去掉顯著性較小的LCU的去塊濾波器,并且首先簡化顯著性較小的LCU的運(yùn)動(dòng)補(bǔ)償,且簡化程度按照顯著性從小到大的順序減小。本發(fā)明的優(yōu)點(diǎn)在于:(1)一種基于視頻顯著性的HEVC解碼復(fù)雜度控制方法,可以離線完成視頻解碼的復(fù)雜度控制,并且可以應(yīng)用于最新一代視頻編碼標(biāo)準(zhǔn)HEVC。(2)一種基于視頻顯著性的HEVC解碼復(fù)雜度控制方法,可以在視頻解碼的復(fù)雜度降低至指定目標(biāo)的前提下,最大程度地保證視頻的感知質(zhì)量。(3)一種基于視頻顯著性的HEVC解碼復(fù)雜度控制方法,用戶可以在解碼端根據(jù)既定需求指定目標(biāo)復(fù)雜度進(jìn)行解碼,從而將HEVC解碼廣泛地應(yīng)用于具有不同計(jì)算能力或者不同電量的終端設(shè)備中,或在一定電量下完成指定時(shí)間內(nèi)的視頻播放。(4)一種基于視頻顯著性的HEVC解碼復(fù)雜度控制方法,可實(shí)現(xiàn)離線完成HEVC解碼復(fù)雜度的精準(zhǔn)控制,以適應(yīng)不同智能終端的不同的計(jì)算能力或剩余電量,并且保證控制后視頻的感知質(zhì)量下降最小。(5)一種基于視頻顯著性的HEVC解碼復(fù)雜度控制方法,可以在不改變編碼器的情況下,有解碼器離線完成視頻解碼的復(fù)雜度控制,并且可以應(yīng)用于最新一代視頻編碼標(biāo)準(zhǔn)HEVC;可以在控制解碼復(fù)雜度時(shí),最大程度地保證視頻的感知質(zhì)量;用戶可以在解碼端根據(jù)既定需求指定目標(biāo)復(fù)雜度進(jìn)行解碼,從而將HEVC解碼廣泛地應(yīng)用于具有不同計(jì)算能力或者不同電量的終端設(shè)備中,或在一定電量下完成指定時(shí)間內(nèi)的視頻播放。附圖說明圖1為本發(fā)明基于視頻顯著性的HEVC解碼復(fù)雜度控制方法的示意圖;圖2為本發(fā)明基于視頻顯著性的HEVC解碼復(fù)雜度控制方法的流程圖;圖3為本發(fā)明生成視頻每一幀的LCU顯著性圖譜的方法流程圖;圖4為本發(fā)明生成視頻每一幀的LCU顯著性圖譜的方法示意圖;圖5為本發(fā)明設(shè)計(jì)解碼復(fù)雜度—感知失真優(yōu)化控制模型的方法流程圖;圖6為本發(fā)明去塊濾波器與解碼復(fù)雜度之間的函數(shù)關(guān)系訓(xùn)練流程圖;圖7為本發(fā)明簡化運(yùn)動(dòng)補(bǔ)償與解碼復(fù)雜度之間關(guān)系訓(xùn)練流程圖;圖8為本發(fā)明簡化運(yùn)動(dòng)補(bǔ)償與視頻感知失真程度之間關(guān)系訓(xùn)練流程圖;圖9為本發(fā)明去塊濾波器與解碼復(fù)雜度之間關(guān)系訓(xùn)練效果圖;圖10為本發(fā)明簡化運(yùn)動(dòng)補(bǔ)償與解碼復(fù)雜度之間關(guān)系訓(xùn)練效果圖;圖11為本發(fā)明簡化運(yùn)動(dòng)補(bǔ)償與失真程度的訓(xùn)練效果圖;圖12為本發(fā)明優(yōu)化控制模型求解結(jié)果示意圖;圖13為本發(fā)明優(yōu)化控制模型求解結(jié)果示例;圖14為本發(fā)明實(shí)際應(yīng)用場景示意圖。具體實(shí)施方式下面結(jié)合附圖與具體實(shí)例對本發(fā)明作進(jìn)一步的描述:一種基于視頻顯著性的HEVC解碼復(fù)雜度控制方法,如圖1所示,首先,由用戶根據(jù)設(shè)備的計(jì)算能力、電量剩余或者根據(jù)自己的要求設(shè)定視頻解碼的目標(biāo)復(fù)雜度。然后,通過檢測待解碼的視頻比特流中每個(gè)LCU在編碼時(shí)所需的比特?cái)?shù),來預(yù)測每一個(gè)LCU的顯著性,進(jìn)而生成塊級別顯著性權(quán)重圖譜;然后,通過若干個(gè)訓(xùn)練視頻的統(tǒng)計(jì)學(xué)習(xí),提前訓(xùn)練四個(gè)函數(shù)關(guān)系:去塊濾波器與解碼復(fù)雜度之間的函數(shù)關(guān)系,簡化運(yùn)動(dòng)補(bǔ)償與解碼復(fù)雜度之間的函數(shù)關(guān)系,去塊濾波器與感知失真程度之間的函數(shù)關(guān)系,以及簡化運(yùn)動(dòng)補(bǔ)償與感知失真程度之間的函數(shù)關(guān)系;接下來根據(jù)顯著性圖譜和訓(xùn)練好的函數(shù)關(guān)系建立HEVC解碼復(fù)雜度控制與感知質(zhì)量優(yōu)化方程,并對優(yōu)化方程進(jìn)行分解和化簡;最后,解碼器根據(jù)目標(biāo)復(fù)雜度和LCU級別的顯著性圖譜,求解優(yōu)化方程,求解出哪些LCU需要去掉去塊濾波器、哪些LCU需要簡化運(yùn)動(dòng)補(bǔ)償以及簡化的程度。最后將求解的結(jié)果輸入到HEVC解碼器中,使得HEVC解碼器按照求解的結(jié)果對解碼過程進(jìn)行簡化,這樣就可達(dá)到精確控制HEVC解碼復(fù)雜度,并且保證感知失真最小的目的。具體步驟如下,如圖2所示:步驟一、針對某段視頻,用戶根據(jù)智能終端的計(jì)算能力、電量剩余或者根據(jù)自己的要求設(shè)定視頻解碼的目標(biāo)復(fù)雜度;步驟二、利用HEVC壓縮域的區(qū)域顯著性檢測算法,生成該視頻中每一幀的LCU級別顯著性圖譜。如圖3和圖4所示,具體步驟如下:步驟201、輸入該段視頻經(jīng)過HEVC壓縮編碼的視頻比特流;視頻比特流的格式優(yōu)選.bin文件,但不局限于此格式。視頻由幀組成,每一幀包括多個(gè)LCU,每個(gè)LCU含有多個(gè)像素點(diǎn);本發(fā)明實(shí)例中,LCU尺寸為64*64;如果編碼區(qū)域不重合的話,一個(gè)像素點(diǎn)只能屬于一個(gè)LCU,每個(gè)LCU可以包含多個(gè)像素點(diǎn);步驟202、針對視頻壓縮編碼中每幀包括的LCU,從視頻比特流中提取編碼每個(gè)LCU所使用的比特?cái)?shù);bn表示編碼第n個(gè)LCU使用的比特?cái)?shù),每幀中LCU的數(shù)量為N。步驟203、針對某幀中的第n個(gè)LCU,計(jì)算該LCU與周圍8鄰域LCU的比特?cái)?shù)差值Δbn。Δbn計(jì)算公式如下:Δbn=(Σn′∈Iexp(dn′2σb2)(bn′-bn)2Σn′∈Iexp(dn′2σb2))12]]>其中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。對于第n個(gè)LCU,顯著性預(yù)測值wn計(jì)算公式如下:wn=12(bnbmax+ΔbnΔbmax)]]>其中bmax表示每幀中bn的最大值。Δbmax表示每幀中Δbn的最大值步驟205、將每一幀內(nèi)所有LCU的顯著性值構(gòu)成顯著性圖譜。對視頻中每一幀內(nèi)的每一個(gè)LCU都進(jìn)行步驟202-204,獲得每一個(gè)LCU的顯著性預(yù)測值,從而生成該幀的LCU級別顯著性圖譜。步驟三、根據(jù)目標(biāo)復(fù)雜度和LCU顯著性圖譜,解碼器設(shè)計(jì)解碼復(fù)雜度—感知失真優(yōu)化控制模型。如圖5所示,具體步驟包括:步驟301、通過訓(xùn)練若干個(gè)視頻,建立去塊濾波器與解碼復(fù)雜度之間的函數(shù)關(guān)系。本發(fā)明采用如下步驟訓(xùn)練該函數(shù)關(guān)系,但不局限該方法。如圖6所示,具體步驟包括:步驟3011、選取若干個(gè)訓(xùn)練視頻,獲取數(shù)萬個(gè)LCU。本發(fā)明不局限于訓(xùn)練視頻數(shù)量和LCU的數(shù)量。步驟3012、使用原始HEVC解碼器對所有訓(xùn)練視頻的視頻比特流進(jìn)行解碼,記錄每個(gè)LCU的去塊濾波器的時(shí)間;步驟3013、針對每一個(gè)LCU,記錄該LCU的去塊濾波器的時(shí)間占平均每幀解碼的時(shí)間比例該LCU的去塊濾波器的時(shí)間是指該LCU去掉去塊濾波器后,解碼時(shí)間的下降值;平均每幀解碼的時(shí)間是指該LCU所在的視頻中,所有幀解碼時(shí)間的平均值。設(shè)置fn∈{0,1}表示第n個(gè)LCU的去塊濾波器是否去掉,參數(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。ΔCD(fn=1,wn)的擬合曲線如圖9所示,橫坐標(biāo)是wn,縱坐標(biāo)是N·ΔCD(fn=1,wn),其中N為一幀中的LCU總數(shù)。圖中的黑點(diǎn)表示在對應(yīng)顯著值(wn)下的去塊濾波器復(fù)雜度,黑點(diǎn)包含所有訓(xùn)練視頻中隨機(jī)選取的3000個(gè)LCU,然后對所選取的數(shù)據(jù)進(jìn)行多項(xiàng)式擬合,得到去掉(fn=1)去塊濾波器時(shí),不同顯著值(wn)的LCU的復(fù)雜度下降ΔCD(fn=1,wn)的函數(shù)表達(dá)式。本發(fā)明進(jìn)行多項(xiàng)式擬合時(shí),并不限于選取的LCU的個(gè)數(shù)。步驟3015、得到去塊濾波器與解碼復(fù)雜度之間的函數(shù)表達(dá)式ΔCD(fn,wn)。ΔCD(fn,wn)的含義為第n個(gè)LCU在給定fn時(shí)的解碼復(fù)雜度下降值占平均每幀解碼復(fù)雜度的比例。訓(xùn)練得到的ΔCD(fn,wn)的函數(shù)表達(dá)式為:ΔCD(fn,wn)=1N·(a·wn+b)·fn]]>參數(shù)a和b的值隨量化參數(shù)(QuantizationParameter,QP)的變化而變化,具體數(shù)值見于表1。表1QP=22QP=27QP=32QP=37a0.30410.38740.41010.4347b0.02550.04330.04590.0576步驟302、通過訓(xùn)練若干個(gè)視頻,建立去塊濾波器與視頻感知失真之間的函數(shù)關(guān)系;在本發(fā)明中,采用視頻顯著性加權(quán)的均方誤差(SaliencyWeightedMeanSquareError,SW-MSE)來表示視頻的感知失真。去掉(fn=1)和不去掉(fn=0)去塊濾波器時(shí)的感知失真表示為:ΔSD(fn,wn)=wnΣn=1NwnMSED(fn)]]>其中,MSED(fn)為:設(shè)置fn∈{0,1}后解碼產(chǎn)生的第n個(gè)LCU,與使用原始HEVC解碼產(chǎn)生的第n個(gè)LCU之間的均方誤差(MSE)。將ΔSD(fn,wn)進(jìn)行歸一化后得到為:ΔS~D(fn,wn)=ΔSD(fn,wn)ΔSD(fn=1,wn=1)=wnMSED(fn)MSED(fn=1)]]>確定的函數(shù)表達(dá)式,得到步驟303、通過訓(xùn)練若干個(gè)視頻,建立簡化運(yùn)動(dòng)補(bǔ)償與解碼復(fù)雜度之間的函數(shù)關(guān)系。如圖7所示,具體步驟包括:步驟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)動(dòng)補(bǔ)償算法;LCU解碼時(shí)間的下降值是指:與使用原始HEVC解碼器解碼時(shí)每個(gè)LCU的解碼時(shí)間相比,使用臨近像素插值而跳過運(yùn)動(dòng)補(bǔ)償算法時(shí)該LCU解碼時(shí)間的下降值。步驟3034、針對四次解碼,分別記錄每個(gè)LCU解碼時(shí)間的下降值與不簡化運(yùn)動(dòng)補(bǔ)償時(shí)平均每幀解碼時(shí)間的比值,作為復(fù)雜度下降值gn表示第n個(gè)LCU中的每4個(gè)像素里,使用臨近像素插值而不使用運(yùn)動(dòng)補(bǔ)償算法計(jì)算的像素個(gè)數(shù);gn的值為{0,1,2,3};記錄每一個(gè)LCU在gn=0,1,2,3時(shí)該LCU解碼時(shí)間的下降值,并除以不簡化運(yùn)動(dòng)補(bǔ)償時(shí)平均每幀的解碼時(shí)間,這個(gè)比值用表示。gn=0表示第n個(gè)LCU中,沒有像素使用臨近像素插值而不使用運(yùn)動(dòng)補(bǔ)償算法;gn=1表示第n個(gè)LCU中占1/4比例的像素,使用臨近像素插值而不使用運(yùn)動(dòng)補(bǔ)償算法;gn=2表示第n個(gè)LCU中占2/4比例的像素,使用臨近像素插值而不使用運(yùn)動(dòng)補(bǔ)償算法;gn=3表示第n個(gè)LCU中占3/4比例的像素,使用臨近像素插值而不使用運(yùn)動(dòng)補(bǔ)償算法;步驟3035、對于每個(gè)視頻,分別求四次解碼復(fù)雜度下降值的平均值;對于每個(gè)視頻,都在gn=0,1,2,3時(shí),分別求復(fù)雜度下降平均值:ΔC‾M*(gn)=1LΣl=1LΔCM*(gl=gn)]]>其中L為一個(gè)訓(xùn)練視頻中的LCU數(shù)量,l為訓(xùn)練視頻中LCU的序號。步驟3036、將所有視頻的通過最小二乘法進(jìn)行擬合,得到簡化運(yùn)動(dòng)補(bǔ)償與解碼復(fù)雜度之間的函數(shù)關(guān)系ΔCM(gn);ΔCM(gn)的含義為第n個(gè)LCU在給定gn時(shí)的解碼復(fù)雜度下降值占平均每幀解碼復(fù)雜度的比例。擬合曲線如圖10所示,橫坐標(biāo)是gn,縱坐標(biāo)是N·ΔCM(gn),其中N為一幀中的LCU總數(shù)。圖中的黑點(diǎn)表示在對應(yīng)簡化程度(gn)下的簡化運(yùn)動(dòng)補(bǔ)償引起的解碼復(fù)雜度下降,黑點(diǎn)包含所有訓(xùn)練視頻的訓(xùn)練數(shù)據(jù),然后對所有的數(shù)據(jù)進(jìn)行多項(xiàng)式擬合,得到簡化程度(gn)下的簡化運(yùn)動(dòng)補(bǔ)償引起的解碼復(fù)雜度下降ΔCM(gn)的函數(shù)表達(dá)式。訓(xùn)練得到的ΔCM(gn)的函數(shù)表達(dá)式為:ΔCM(gn)=1N·c·gn]]>其中參數(shù)c的值隨QP的變化而變化,具體數(shù)值見于表2。表2QP=22QP=27QP=32QP=37c0.03510.05200.06650.0792步驟304、通過訓(xùn)練若干個(gè)視頻,建立簡化運(yùn)動(dòng)補(bǔ)償與視頻感知失真之間的函數(shù)關(guān)系。簡化運(yùn)動(dòng)補(bǔ)償時(shí)的感知失真可以表示為ΔSM(gn,wn)=wnΣn=1NwnMSEM(gn)]]>其中,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)行歸一化,歸一化后為歸一化方法為:ΔS~M(gn,wn)=ΔSM(gn,wn)ΔSM(gn=3,wn=1)=wnMSEM(gn)MSEM(gn=3)]]>具體步驟如圖8所示,包括:步驟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)動(dòng)補(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á)式。擬合曲線如圖11所示,橫坐標(biāo)是gn,縱坐標(biāo)是圖中的黑點(diǎn)表示在對應(yīng)簡化程度(gn)下的簡化運(yùn)動(dòng)補(bǔ)償引起的歸一化均方誤差,黑點(diǎn)包含所有訓(xùn)練視頻的訓(xùn)練數(shù)據(jù),然后對所有的數(shù)據(jù)進(jìn)行多項(xiàng)式擬合,得到簡化程度(gn)下的簡化運(yùn)動(dòng)補(bǔ)償引起的歸一化均方誤差的函數(shù)表達(dá)式。最終,訓(xùn)練得到的的函數(shù)表達(dá)式為:ΔS~M(gn,wn)=wn·(h1gn3+h2gn2+h3gn)]]>參數(shù)h1、h2和h3的值為常數(shù),具體數(shù)值見于表3。表3步驟305、得到解碼復(fù)雜度—感知失真優(yōu)化控制模型并進(jìn)行簡化。綜合去塊濾波器/運(yùn)動(dòng)補(bǔ)償與解碼復(fù)雜度,感知失真程度之間的函數(shù)關(guān)系以及步驟二中每一幀的LCU顯著性圖譜,得到解碼復(fù)雜度—感知失真優(yōu)化控制模型:優(yōu)化控制模型為:視頻的復(fù)雜度下降值大于等于目標(biāo)下降值的時(shí)候,使得視頻的主觀失真最小,即minΔSs.t.ΔC≥ΔCTmin{fn,gn}n=1NΣn=1N(ΔSD(fn,wn)+ΔSM(gn,wn)]]>s.t.Σn=1N(ΔCD(fn,wn)+ΔCM(gn))≥ΔCT]]>ΔCT為特定視頻解碼復(fù)雜度的目標(biāo)下降值;該解碼復(fù)雜度—感知失真優(yōu)化控制模型中,含有一個(gè)優(yōu)化目標(biāo)和一個(gè)優(yōu)化條件。優(yōu)化目標(biāo)是第一個(gè)表達(dá)式,使得視頻的感知失真最小。優(yōu)化條件為第二個(gè)表達(dá)式:HEVC的解碼復(fù)雜度下降值大于等于目標(biāo)下降值。為了達(dá)到感知失真最小,該方程的解會使得解碼復(fù)雜度下降值在滿足大于等于目標(biāo)下降值的前提下,盡可能接近目標(biāo)下降值;既達(dá)到控制解碼復(fù)雜度到目標(biāo)復(fù)雜度的目的,又可以到達(dá)讓解碼復(fù)雜度下降到目標(biāo)復(fù)雜度以下,以滿足計(jì)算資源和電量剩余限制的目的。下面對控制優(yōu)化方程進(jìn)行化簡,由于去掉去塊濾波器導(dǎo)致的感知失真要遠(yuǎn)遠(yuǎn)小于由于簡化運(yùn)動(dòng)補(bǔ)償而導(dǎo)致的失真,即ΔSD(fn,wn)<<ΔSM(gn,wn),上述優(yōu)化方程可分解并化簡為:當(dāng)只去掉某些LCU的去塊濾波器,就可以達(dá)到目標(biāo)復(fù)雜度時(shí),僅去掉某些LCU的去塊濾波器,不簡化運(yùn)動(dòng)補(bǔ)償,模型簡化為(1)式;否則,當(dāng)去掉全部LCU的去塊濾波器時(shí),還達(dá)不到目標(biāo)復(fù)雜度,則首先去掉所有LCU的去塊濾波器,然后簡化某些LCU的運(yùn)動(dòng)補(bǔ)償,模型簡化為(2)式;ΔC'T為特定視頻,需要通過簡化運(yùn)動(dòng)補(bǔ)償達(dá)到的解碼復(fù)雜度的下降值;ΔCT′=ΔCT-Σn=1NΔCD(fn=1,wn)=ΔCT-Σn=1N1N·(a·wn+b).]]>步驟四、利用解碼復(fù)雜度—感知失真優(yōu)化控制模型,控制視頻的實(shí)際解碼復(fù)雜度;達(dá)到視頻的解碼復(fù)雜度等于設(shè)定的目標(biāo)復(fù)雜度,并且保證視頻的感知失真最小的目的。具體步驟為:步驟401、當(dāng)所設(shè)置的目標(biāo)復(fù)雜度滿足時(shí),求解公式(1)。方程(1)的求解結(jié)果為:其中,I滿足:1NΣn=1I(a·w~n+b)≥ΔCT>1NΣn=1I-1(a·w~n+b)]]>定義為的升序排列;步驟402、當(dāng)所設(shè)置的目標(biāo)復(fù)雜度滿足時(shí),求解公式(2)。具體步驟如下:首先、選取若干個(gè)訓(xùn)練視頻,獲得數(shù)千幀;通過對幀的進(jìn)行觀察,定義為的升序排列,可以得到:∀Nt∈{n}n=1N,Σn=1Ntw~n≈k·Nt2---(3)]]>然后,根據(jù),公式(3),求解方程(2)的解為:gn=3,wn≤w~N32,w~N3+1≤wn≤w~N3+N21,w~N3+N2+1≤wn≤w~N3+N2+N10,w~N3+N2+N1+1≤wn≤w~N]]>其中,N1,N2和N3分別為gn=1,2,3的LCU個(gè)數(shù),通過以下公式求得:minN3,N2,N1N32+(8h1+4h2+2h3)·(N22-N32)+(h1+h2+h3)·(N22-N12)]]>s.t.1N·c·(N1+2N2+3N3)≥ΔCT′---(4)]]>為降低求解公式(4)所消耗的復(fù)雜度,可以采用查表法,即事先對每個(gè)目標(biāo)復(fù)雜度ΔCT都求出公式(4)的解N1,N2和N3,并建立一張表,在實(shí)際應(yīng)用時(shí)從表中查得N1,N2和N3的值即可,但此處并不限于此方法。方程(1)和(2)的兩個(gè)求解結(jié)果如圖12a和圖12b所示,為在滿足約束條件的前提下,給顯著性(wn)較小的LCU分配較大的fn和gn,也即首先去掉顯著性較小的LCU的去塊濾波器,并且首先簡化顯著性較小的LCU的運(yùn)動(dòng)補(bǔ)償,且簡化程度按照顯著性從小到大的順序減小;顯著性越小簡化程度越高,顯著性越大簡化程度越低。如圖13所示,展示了求解結(jié)果的示例,通過和人眼關(guān)注點(diǎn)分布以及圖2的顯著性預(yù)測分布比較,可以發(fā)現(xiàn)求得的解滿足上述規(guī)律。在實(shí)施例中,排序優(yōu)選快速排序法,但不局限于快速排序方法。如圖14所示,本發(fā)明以一幀視頻為例實(shí)際應(yīng)用場景示意圖,展示了本發(fā)明在可移動(dòng)設(shè)備電量剩余不足時(shí)的應(yīng)用場景。在圖中,每列對應(yīng)一個(gè)目標(biāo)復(fù)雜度。假設(shè)當(dāng)所使用的設(shè)備電量剩余80%時(shí),該視頻恰好可以在電量用盡前完成解碼和播放。如果設(shè)備電量不足,例如剩余70%,則需要使用本發(fā)明的方法,將解碼復(fù)雜度降至某個(gè)目標(biāo)復(fù)雜度,這一目標(biāo)復(fù)雜度是由觀看視頻時(shí)解碼所占功耗比例決定的。當(dāng)解碼復(fù)雜度下降時(shí),視頻質(zhì)量也會下降。從圖中還可以看出,當(dāng)解碼復(fù)雜度下降時(shí),視覺顯著區(qū)域(例如人臉)的質(zhì)量下降不明顯,而非顯著區(qū)域(例如背景中的箱子)的質(zhì)量下降較為明顯。這說明,本發(fā)明方法犧牲非顯著區(qū)域的質(zhì)量,而盡可能保證了顯著區(qū)域的質(zhì)量。這樣,可以使得視頻感知質(zhì)量達(dá)到最優(yōu)。本發(fā)明是具有基于視頻顯著性的解碼復(fù)雜度分配機(jī)制,能夠按照區(qū)域的視覺顯著性來分配相應(yīng)的解碼復(fù)雜度,在一定程度上減小由于解碼復(fù)雜度的降低所導(dǎo)致的視頻的感知失真。本發(fā)明通過建立并求解HEVC的解碼復(fù)雜度—感知失真優(yōu)化控制模型,可以準(zhǔn)確地控制HEVC視頻解碼的復(fù)雜度,并且通過保證關(guān)鍵區(qū)域的視頻質(zhì)量,來保證解碼后視頻整體的感知質(zhì)量,即在將實(shí)際視頻編碼的復(fù)雜度降低至指定水平的目標(biāo)復(fù)雜度的前提下,最大程度地保證視頻感知質(zhì)量。本發(fā)明通過設(shè)定目標(biāo)復(fù)雜度,對視頻編碼的復(fù)雜度進(jìn)行準(zhǔn)確地控制,適用于需要進(jìn)行視頻解碼但計(jì)算能力受限或者電量不足的終端設(shè)備中。盡管本發(fā)明已參照具體實(shí)施方式進(jìn)行描述和舉例說明,但是并不意味著本發(fā)明限于這些描述的實(shí)施方式。當(dāng)前第1頁1 2 3