本發(fā)明涉及計(jì)算機(jī)視覺(jué)與數(shù)字圖像處理領(lǐng)域,特別涉及一種超高清視頻編碼的自適應(yīng)云卸載方法。
背景技術(shù):
近些年來(lái),隨著移動(dòng)設(shè)備技術(shù)的不斷改進(jìn)以及移動(dòng)端的逐漸普及,移動(dòng)端相關(guān)應(yīng)用也越來(lái)越多,視頻傳輸便是其主要方向之一。但是隨著目前人們對(duì)高清視頻的需求以及3D視頻資源的普及,待傳輸?shù)囊曨l文件越來(lái)越大,視頻下載和傳輸也將更費(fèi)時(shí),導(dǎo)致人們對(duì)編碼的要求越來(lái)越高。
當(dāng)前伴隨著大量編碼新技術(shù)的引入,超高清視頻編碼技術(shù)不斷發(fā)展,編碼效率大大提高。新一代視頻編碼標(biāo)準(zhǔn)HEVC是ITU-T VCEG繼H.264之后所制定的新的視頻編碼標(biāo)準(zhǔn),支持更加靈活的樹(shù)狀塊劃分結(jié)構(gòu)、多參考幀幀間預(yù)測(cè)和更大的運(yùn)動(dòng)搜索范圍。這些新技術(shù)的引入,實(shí)現(xiàn)了編碼效率提升的同時(shí),也毫無(wú)疑問(wèn)地對(duì)編碼器或者解碼器的片內(nèi)存儲(chǔ)空間和片內(nèi)外數(shù)據(jù)交互帶寬提出了更高的要求。而且,編碼本身算法非常復(fù)雜,移動(dòng)端CPU的處理能力以及電池容量十分有限,導(dǎo)致在移動(dòng)端上編碼十分困難。
隨著云計(jì)算的流行,越來(lái)越多的研究致力于將移動(dòng)端的大量復(fù)雜的計(jì)算卸載到云端,用以降低移動(dòng)端的功耗。移動(dòng)終端通過(guò)無(wú)線(xiàn)網(wǎng)絡(luò)連接到云端彼此以網(wǎng)絡(luò)相連的分布式計(jì)算設(shè)備,將本應(yīng)在本地終端進(jìn)行的計(jì)算工作及數(shù)據(jù)發(fā)送到云端,由云端多個(gè)虛擬機(jī)完成計(jì)算,以降低本地終端功耗。但是,現(xiàn)存的云卸載的方法在卸載的同時(shí)會(huì)產(chǎn)生大量的功耗,而目前還沒(méi)有特定的針對(duì)編碼的云卸載方案。
技術(shù)實(shí)現(xiàn)要素:
為解決上述技術(shù)問(wèn)題,本發(fā)明提出一種超高清視頻編碼的自適應(yīng)云卸載方法,可以有效地降低移動(dòng)端的功耗。
為此,本發(fā)明采用如下技術(shù)方案包括如下步驟:
A1:在移動(dòng)端輸入YUV視頻,將某段時(shí)間內(nèi)的每幀圖像帶入云卸載模型,得到使移動(dòng)端功耗最小化的最優(yōu)分配結(jié)果,即確定該時(shí)間段每幀圖像是在移動(dòng)端還是云端進(jìn)行編碼;
A2:每幀圖像按照A1的分配結(jié)果在移動(dòng)端或者云端利用相同的編碼器對(duì)其進(jìn)行編碼;
A3:將移動(dòng)端和云端編碼后的碼流進(jìn)行整合,在云端輸出碼流。
本發(fā)明的有益效果是:在移動(dòng)端輸入高清視頻,移動(dòng)端會(huì)將視頻的某段時(shí)間內(nèi)的每幀圖像帶入云卸載模型。通過(guò)本發(fā)明提出的云卸載模型,可以直接計(jì)算得到使移動(dòng)端功耗最小化的最優(yōu)分配結(jié)果,即該段視頻幀是在移動(dòng)端還是云端編碼。最后整合碼流的工作也是在云端完成,而不是在客戶(hù)端完成。這使得同一視頻的不同時(shí)段視頻幀可以同時(shí)分別在移動(dòng)端和云端進(jìn)行編碼,提高了視頻編碼的效率。而且部分視頻幀編碼和最后整合碼流的工作被分配到了云端,降低了移動(dòng)端的功耗。
附圖說(shuō)明
圖1是本發(fā)明所提出的超高清視頻編碼的自適應(yīng)云卸載方法流程圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
圖1描述了本發(fā)明所提出的超高清視頻編碼的自適應(yīng)云卸載方法流程圖,其中該方法包括以下步驟:
A1:在移動(dòng)端輸入YUV視頻,將某段時(shí)間內(nèi)的每幀圖像帶入云卸載模型,得到使移動(dòng)端功耗最小化的最優(yōu)分配結(jié)果;
云卸載模型包括對(duì)高清視頻某一時(shí)間段內(nèi)每幀圖像的負(fù)載預(yù)測(cè),為了提高每幀負(fù)載預(yù)測(cè)的準(zhǔn)確性,采用基于希爾伯特變換的負(fù)載預(yù)測(cè)模型,即采用希爾伯特變換。取前一時(shí)間段的n幀的時(shí)長(zhǎng)對(duì)應(yīng)負(fù)載的點(diǎn)的包絡(luò),預(yù)測(cè)上一時(shí)間段負(fù)載的整體走勢(shì),提高預(yù)測(cè)的準(zhǔn)確性,同時(shí)引入誤差抑制函數(shù)來(lái)減小負(fù)載預(yù)測(cè)的誤差。為保證視頻播放的流暢性,每秒至少播放N幀。設(shè)定某一時(shí)間段有n幀視頻被編碼,其中n<N且N/n整除,則第i個(gè)時(shí)間段內(nèi)的第j幀視頻的編碼負(fù)載可以表示為
其中,Wi'(k)是第i個(gè)時(shí)間段預(yù)測(cè)到的第k幀的負(fù)載(k=1,2,···,j-1),Wi-1(k)第i-1個(gè)時(shí)間段第k幀的實(shí)際編碼負(fù)載(k=j(luò),j+1,···,n),可表示為
其中,Ti-1,k為第i-1時(shí)間段中第k幀的實(shí)際編碼時(shí)長(zhǎng),TM為編碼過(guò)程中編碼時(shí)間最長(zhǎng)的一幀的編碼時(shí)長(zhǎng)。
其中,mean(~)表示取括號(hào)中的變量的平均值。A(j)反映上一時(shí)間段負(fù)載的整體走向,可以表示為
對(duì)于一般基于時(shí)間間隔的負(fù)載預(yù)測(cè)算法,L=3。公式(3)中G(j)可以由上一時(shí)間段i-1的負(fù)載的平均值計(jì)算得到
為G(j)的希爾伯特變換,可以表示為
其中,F(·)和F-1(·)分別為傅里葉變換和傅里葉反變換,sgn(f)表示符號(hào)函數(shù)。
對(duì)于公式(4)中,是第i-1時(shí)間段的n幀平均負(fù)載。以時(shí)長(zhǎng)為N/n時(shí)間段為單位,第i-1個(gè)時(shí)間段內(nèi)的每一幀的負(fù)載預(yù)測(cè)可以表示為
其中,Tj為第i-1時(shí)間段中第j幀的編碼時(shí)長(zhǎng)。
對(duì)于公式(1)中,en-1表示誤差抑制因子。
其中,表示梯度函數(shù),fs為給定的編碼速度的限制,優(yōu)選地,fs為30f/s;Fn表示在編碼結(jié)束之前所處理的幀數(shù),可寫(xiě)為
Fn=n×N-|n×N/fs|×fs 公式(8)
該云卸載模型還考慮移動(dòng)端和云端的計(jì)算能力、移動(dòng)端傳輸?shù)皆贫说臄?shù)據(jù)量的大小以及移動(dòng)端和云端之間的傳輸速率的影響,算法包括:
針對(duì)移動(dòng)端編碼的云卸載模型定義為
s.t.Esum≤E′sum,
其中,為向量,n為選定時(shí)間段的幀數(shù),如果Ii(i=1,2…,n)為1,則第i幀分配到云端進(jìn)行編碼,若Ii為0,則第i幀在移動(dòng)端進(jìn)行編碼;Esum和E′sum分別表示為使用云卸載模型和未使用云卸載模型時(shí)移動(dòng)端消耗的能量,可表示為
其中,Pc,Pi和Ptr分別為移動(dòng)端在計(jì)算,閑置和數(shù)據(jù)傳送時(shí)的功耗;f和S分別為移動(dòng)端和云端的處理速度,單位為每秒的指令數(shù);D和D'分別是使用云卸載模型和未使用云卸載模型時(shí)云端和移動(dòng)端之間傳輸?shù)臄?shù)據(jù)量的大小,B為帶寬;Cc和Cm分別為未加入云卸載模型時(shí)分配到移動(dòng)端和云端的幀編碼時(shí)的算法指令數(shù);C'c和C'm分別為某一時(shí)間段使用云卸載模型時(shí)分配到移動(dòng)端和云端的幀進(jìn)行編碼時(shí)的算法指令數(shù);
其中,Wij(j=1,2,…,n)表示第i時(shí)間段第j幀進(jìn)行編碼時(shí)的負(fù)載,ft為當(dāng)前設(shè)備的每秒處理速度;
當(dāng)不使用云卸載模型時(shí),傳輸?shù)皆贫说臄?shù)據(jù)量為編碼后的數(shù)據(jù)。固定時(shí)間段內(nèi)n幀傳輸?shù)臄?shù)據(jù)可表示為
D=8nγWH 公式(13)
其中,W和H分別為每一幀視頻的寬度和高度;對(duì)應(yīng)于YUV 420,YUV 422和YUV 444的視頻,γ分別為1.5,2和3;
當(dāng)使用云卸載模型時(shí),傳輸?shù)皆贫说臄?shù)據(jù)量為
D'=D'm+Dc' 公式(14)
其中,D'm和Dc'分別為在移動(dòng)端上和在云端編碼時(shí)需要傳輸?shù)皆贫说臄?shù)據(jù)。對(duì)于某一時(shí)間段n幀中配到云端進(jìn)行編碼的幀,需要傳輸?shù)皆贫说臄?shù)據(jù)即原視頻數(shù)據(jù);
對(duì)于分配到移動(dòng)端進(jìn)行編碼的幀,需要傳輸?shù)皆贫说臑橐褖嚎s之后的數(shù)據(jù),設(shè)壓縮后的數(shù)據(jù)約為原大小的1/K。
對(duì)于HEVC編碼器,K為250;對(duì)于H.264編碼器,K為100。
A2:每幀圖像按照A1的分配結(jié)果在移動(dòng)端或者云端利用相同的編碼器對(duì)其進(jìn)行編碼;優(yōu)選的,采用HEVC編碼器或者H.264編碼器。
A3:將移動(dòng)端和云端編碼后的碼流進(jìn)行整合,在云端按照編碼前的順序輸出碼流。
以上內(nèi)容是結(jié)合具體/優(yōu)選的實(shí)施方式對(duì)本發(fā)明所作的進(jìn)一步詳細(xì)說(shuō)明,不能認(rèn)定本發(fā)明的具體實(shí)施只局限于這些說(shuō)明。對(duì)于本發(fā)明所屬技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,其還可以對(duì)這些已描述的實(shí)施方式做出若干替代或變型,而這些替代或變型方式都應(yīng)當(dāng)視為屬于本發(fā)明的保護(hù)范圍。