本發(fā)明涉及云流媒體實時摳像技術(shù)領(lǐng)域,具體涉及一種基于云端處理的實時高清摳像方法。
背景技術(shù):
摳像技術(shù)的產(chǎn)生源自于早期的電視制作,虛擬演播室的搭建也是基于該需求。演播室的摳像主要涉及藍/綠幕的摳像。其前期源采集過程要求嚴格,且成本高昂(包括均勻的光照和性能優(yōu)良的錄制設(shè)備),并且在摳像環(huán)節(jié)上,主流仍然選擇的是價格較高的硬件導(dǎo)播臺,因其避免了編解碼的耗時轉(zhuǎn)換,從來能基本滿足摳像的性能需求。
藍/綠幕的摳像在現(xiàn)有的一些算法性能上也參差不齊,包括邊緣的輪廓的優(yōu)化,溢色的處理和前景與背景的融合等。
目前市面上存在的摳像軟件,如photoshop,雖然經(jīng)過人工的處理能調(diào)試出較優(yōu)的摳像效果,但是其對于操作人員的摳像技術(shù)的專業(yè)要求非常高,并且整個過程耗時耗力,無法滿足使用者實時直播中快速高清的性能要求。
有鑒于此,我們開發(fā)了高清的摳像算法并且融合到我們自行開發(fā)研制的云端導(dǎo)播臺中,在確保效果優(yōu)良的前提下,極大地滿足摳像的實時性要求。并且,將硬件的摳像轉(zhuǎn)移到云端進行處理,極大提升了摳像性能并已達到縮減成本的目的。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種基于云端處理的實時高清摳像方法,用以解決現(xiàn)有摳像技術(shù)耗時耗力無法滿足使用者實時直播中快速高清的性能要求的問題。
為實現(xiàn)上述目的,本發(fā)明公開了一種基于云端處理的實時高清摳像方法,所述實時高清摳像方法包括:對基于(y,u,v)顏色空間的視頻圖像/圖片進行預(yù)處理;將預(yù)處理后具有統(tǒng)一格式的視頻圖像/圖片作為實時輸入源輸入云導(dǎo)播臺;掃描輸入源的每幀視頻圖像/圖片的所有像素點的信息;選取色鍵對來自實時輸入源的前景圖像進行摳像計算;基于摳像計算結(jié)果對前景圖像和背景圖像進行融合計算;所述融合計算公式為:
respixel=fgpixel-back_contrib+bgalpha×bgpixel
其中,respixel為合成結(jié)果圖像的像素值,fgpixel前景圖像的像素值,bgpixel為背景圖像的像素值,back_contrib為背景圖像貢獻值,bgalpha為背景圖像像素透明度;和基于融合計算結(jié)果對前景圖像和背景圖像進行實時融合。
本發(fā)明公開的上述一種基于云端處理的實時高清摳像方法,所述前景圖像的摳像計算過程包括:將前景像素點由(u,v)顏色空間坐標系旋轉(zhuǎn)至(x,z)顏色空間坐標系中進行操作;在(x,z)顏色空間坐標系中對像素點區(qū)域進行分區(qū)處理;得到第一區(qū)域和第二區(qū)域,其中,第一區(qū)域內(nèi)像素點的像素值與色鍵像素值差異大,第二區(qū)域內(nèi)像素點的像素值與色鍵像素值相同或相近;對于第二區(qū)域中的像素點保持前景不變性,直接反轉(zhuǎn)至(u,v)顏色空間坐標系中輸出;對于第一區(qū)域中的像素點進行前景源像素抑制處理;得到第一區(qū)域中像素點經(jīng)前景源像素抑制處理后的(x,z)顏色空間坐標系坐標值(x′0,z′0)和前景圖像像素透明度fgalpha的值;將第一區(qū)域中像素點經(jīng)前景源像素抑制處理后的(x,z)顏色空間坐標系坐標(x′0,z′0)反轉(zhuǎn)至(u,v)顏色空間坐標系中;根據(jù)前景圖像像素透明度fgalpha計算得到背景圖像像素透明度bgalpha的值和第一區(qū)域中像素點經(jīng)前景源像素抑制處理后的(y,u,v)顏色空間坐標系坐標值(y′,u′,v′)。
本發(fā)明公開的上述一種基于云端處理的實時高清摳像方法,所述前景像素點以色鍵向量在(u,v)顏色空間坐標系中的向量角beta由(u,v)顏色空間坐標系順時針旋轉(zhuǎn)至(x,z)顏色空間坐標系中。
本發(fā)明公開的上述一種基于云端處理的實時高清摳像方法,旋轉(zhuǎn)顏色空間坐標系后,所述前景像素點在(x,z)顏色空間坐標系中的坐標值為:
x=(pixel×key_color_u+pixel×key_color_v)/128
z=(pixel×key_color_u-pixel×key_color_v)/128
其中,pixel為前景原始圖像的像素值,key_color_u為色鍵向量在(u,v)顏色空間坐標系中的u分量值,key_color_v為色鍵向量在(u,v)顏色空間坐標系中的v分量值。
本發(fā)明公開的上述一種基于云端處理的實時高清摳像方法,利用區(qū)域角area_angle的賦值信息在(x,z)顏色空間坐標系中對所述像素點區(qū)域進行分區(qū)處理,所述區(qū)域角在0-90°范圍區(qū)間內(nèi)進行賦值。
本發(fā)明公開的上述一種基于云端處理的實時高清摳像方法,所述第二區(qū)域中的像素點保持前景不變性處理后,前景圖像和背景圖像進行融合計算的結(jié)果為:
respixel=fgpixel。
本發(fā)明公開的上述一種基于云端處理的實時高清摳像方法,所述對于第一區(qū)域中的像素點進行前景源像素抑制處理過程包括:將(x,z)顏色空間坐標系第一區(qū)域中的像素點(x0,z0)沿x軸負方向投影到第一區(qū)域和第二區(qū)域的分界線上;投影之后,像素點(x0,z0)轉(zhuǎn)換為投影點的坐標為(x′0,z′0):
z′0=z0
x′0=z0/tg(area_angle);
根據(jù)像素點在(x,z)顏色空間坐標系中的投影前后的x分量的差值估算該點前景合成時的透明度信息,前景圖像像素透明度fgalpha的估算公式為:
fgalpha=x0-|z0|/tg(area_angle)。
本發(fā)明公開的上述一種基于云端處理的實時高清摳像方法,所述第一區(qū)域中像素點經(jīng)前景源像素抑制處理后的(y,u,v)顏色空間坐標系坐標值(y′,u′,v′)的計算公式為:
y′=y(tǒng)-a×fgalpha
u′=(x′0×key_color_u+x′0×key_color_v)×128
v′=(z′0×key_color_u-z′0×key_color_v)×128
其中,a=key_color_y/fgalpha,key_color_y為色鍵在(y,u,v)顏色空間坐標系中的y分量像素值,y是原始像素點在(y,u,v)顏色空間坐標系中的y分量像素值。
本發(fā)明公開的上述一種基于云端處理的實時高清摳像方法,所述背景圖像像素透明度bgalpha的值的計算公式為:
bgalpha=255-fgalpha
其中,255為(y,u,v)顏色空間坐標系中透明通道像素分量的最大值。
本發(fā)明還公開了一種基于云端處理的實時高清摳像系統(tǒng),所述前景圖像的摳像計算過程還包括溢色處理,所述溢色處理過程包括:將色鍵周圍以噪聲水平noise_level為半徑的范圍內(nèi)的顏色作為實際色鍵區(qū)間;通過修正來得到最終的作為背景融合權(quán)值的背景圖像像素透明度,所述背景融合權(quán)值的修正公式為:
如果,pixel_dist<noise_level×noise_level,
那么,bgalpha=255,
其中,pixel_dist=(x0-key_color_x)2+(z0-key_color_z)2,pixel_dist為(x,z)顏色空間坐標系中像素點與色鍵的距離,(x0,z0)為(x,z)顏色空間坐標系中任一像素點的坐標,(key_color_x,key_color_z)為色鍵在(x,z)顏色空間坐標系中的坐標。
本發(fā)明具有如下優(yōu)點:
本發(fā)明公開了一種快速高清摳像算法,利用算法實時性的優(yōu)勢,融合到云導(dǎo)播臺中,實現(xiàn)了云端人物和虛擬背景的有效合成。另外,用戶也可自行定義合成背景(包括圖片和視頻),形成一種實時高清、成本低廉且操作簡便云端摳像方法,即可應(yīng)用在音視頻領(lǐng)域,尤其是在云流媒體領(lǐng)域,亦可適用于當前的硬件摳像領(lǐng)域,涵蓋范圍廣泛。
附圖說明
圖1為本發(fā)明公開的一種基于云端處理的實時高清摳像方法的流程圖。
圖2為將前景像素點由(u,v)顏色空間坐標系旋轉(zhuǎn)至(x,z)顏色空間坐標系中的示意圖。
圖3為在(x,z)顏色空間坐標系中對像素點區(qū)域進行分區(qū)處理的示意圖。
圖4為對于第一區(qū)域中的像素點進行前景源像素抑制處理的示意圖。
圖5為前景圖像的摳像計算過程中的溢色處理的示意圖。
具體實施方式
以下實施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。
實施例1
參考圖1,本實施例中公開的一種基于云端處理的實時高清摳像方法包括:對基于(y,u,v)顏色空間的視頻圖像/圖片進行預(yù)處理,yuv主要用于優(yōu)化彩色視頻信號的傳輸,使其向后相容老式黑白電視,與rgb視頻信號傳輸相比,它最大的優(yōu)點在于只需占用極少的頻寬(rgb要求三個獨立的視頻信號同時傳輸),其中“y”表示明亮度(luminance或luma),也就是灰階值;而“u”和“v”表示的則是色度(chrominance或chroma),作用是描述影像色彩及飽和度,用于指定像素的顏色,“亮度”是透過rgb輸入信號來建立的,方法是將rgb信號的特定部分疊加到一起,“色度”則定義了顏色的兩個方面─色調(diào)與飽和度,分別用cr和cb來表示,其中,cr反映了rgb輸入信號紅色部分與rgb信號亮度值之間的差異,而cb反映的是rgb輸入信號藍色部分與rgb信號亮度值之間的差異;將預(yù)處理后具有統(tǒng)一格式的視頻圖像/圖片作為實時輸入源輸入云導(dǎo)播臺,上述過程中,基于(y,u,v)顏色空間,有利于實現(xiàn)了云導(dǎo)播臺輸入源的無損銜接,同時也降低了后續(xù)轉(zhuǎn)換的時間消耗;掃描輸入源的每幀視頻圖像/圖片的所有像素點的信息;選取色鍵key_color對來自實時輸入源的前景圖像進行摳像計算,色鍵選取時,自動摳像過程選擇每一幀視頻圖像/圖片的第一個像素點作為色鍵,手動摳像可自行選擇色鍵值(云端配備了取色工具);基于摳像計算結(jié)果對前景圖像和背景圖像進行融合計算;和基于融合計算結(jié)果對前景圖像和背景圖像進行實時融合。
如上描述中,目前摳像融合技術(shù)中存在的合成公式為:
respixel=fgalpha×fgpixel+(1-fgalpha)×bgpixel
其中,respixel為合成結(jié)果圖像的像素值,fgalpha為前景圖像像素透明度,fgpixel和bgpixel分別為前景圖像的像素值和背景圖像的像素值。在這個公式中fgalpha和fgpixel都是未知數(shù),而bgpixel在我們虛擬場景中是可知的,所以,該方程是無法求解的。摳像的本質(zhì)是將圖像中背景圖像相關(guān)的像素轉(zhuǎn)變?yōu)橥该骱筮M行來進行前景和背景的融合,但是在一些邊界,透明物以及類似于發(fā)絲等細節(jié)處,一個像素是前景色與背景色兩者的合成體。因此,將背景圖像像素值利用背景圖像貢獻值進行轉(zhuǎn)變,并且結(jié)合透明度的思路可以更好地梳理問題。進而將整個融合計算公式則重新調(diào)整為:
respixel=fgpixel-back_contrib+bgalpha×bgpixel
其中,respixel為合成結(jié)果圖像的像素值,fgpixel前景圖像的像素值,bgpixel為背景圖像的像素值,back_contrib為背景圖像貢獻值,bgalpha為背景圖像像素透明度。接下來,就可以對融合計算公式的右邊拆分開進行計算,前半部fgpixel-back_contrib利用前景抑制進行估算,后半部分的透明度bgpixel利用像素點在(x,z)顏色空間坐標系中x方向的分量值與投影后x方向的分量值的差值計算所得,具體見下文。
如上所述,前景圖像的摳像計算過程包括:將前景像素點由(u,v)顏色空間坐標系旋轉(zhuǎn)至(x,z)顏色空間坐標系中進行操作;在(x,z)顏色空間坐標系中對像素點區(qū)域進行分區(qū)處理;得到第一區(qū)域和第二區(qū)域,其中,第一區(qū)域內(nèi)像素點的像素值與色鍵像素值差異大,第二區(qū)域內(nèi)像素點的像素值與色鍵像素值相同或相近;對于第二區(qū)域中的像素點保持前景不變性,直接反轉(zhuǎn)至(u,v)顏色空間坐標系中輸出;對于第一區(qū)域中的像素點進行前景源像素抑制處理;得到第一區(qū)域中像素點經(jīng)前景源像素抑制處理后的(x,z)顏色空間坐標系坐標值(x′0,z′0)和前景圖像透明度fgalpha的值;將第一區(qū)域中像素點經(jīng)前景源像素抑制處理后的(x,z)顏色空間坐標系坐標(x′0,z′0)反轉(zhuǎn)至(u,v)顏色空間坐標系中;根據(jù)前景圖像透明度fgalpha計算得到背景圖像像素透明度bgalpha的值和第一區(qū)域中像素點經(jīng)前景源像素抑制處理后的(y,u,v)顏色空間坐標系坐標值(y′,u′,v′)。
進一步地,參考圖2,上述前景像素點時以色鍵向量在(u,v)顏色空間坐標系中的向量角beta由(u,v)顏色空間坐標系順時針旋轉(zhuǎn)至(x,z)顏色空間坐標系中的(坐標系原點不變),旋轉(zhuǎn)之后,以從坐標系原點到色鍵key_color的方向為x軸正方向,旋轉(zhuǎn)顏色空間坐標系后,前景像素點在(x,z)顏色空間坐標系中的坐標值為:
x=(pixel×key_color_u+pixel×key_color_v)/128
z=(pixel×key_color_u-pixel×key_color_v)/128
其中,pixel為前景原始圖像的像素值,key_color_u為色鍵向量在(u,v)顏色空間坐標系中的u分量值,key_color_v為色鍵向量在(u,v)顏色空間坐標系中的v分量值,上述等式右邊的參數(shù)值都是來自于(u,v)顏色空間坐標系。
參考圖3,上述在(x,z)顏色空間坐標系中對像素點區(qū)域進行分區(qū)處理時,是利用區(qū)域角area_angle的賦值信息在(x,z)顏色空間坐標系中對像素點區(qū)域進行分區(qū)處理,區(qū)域角是在0-90°范圍區(qū)間內(nèi)進行人為賦值的,通過調(diào)整區(qū)域角角度信息可以得到不同的摳像效果,將像素點區(qū)域分為兩大區(qū)域,第一區(qū)域待后續(xù)處理,即第一區(qū)域?qū)?yīng)于原始圖像中與色鍵相似度較大的部分,該區(qū)域是摳像的重點待處理區(qū)域;第二區(qū)域中的像素具有和色鍵極小的相似度,故保持前景不變性(bgalpha=0和back_contrib=0),可不做調(diào)整,直接輸出,第二區(qū)域套用調(diào)整后的融合計算公式計算出來的結(jié)果為:respixel=fgpixel。
對于第一區(qū)域中的像素點進行前景源像素抑制處理過程包括:將(x,z)顏色空間坐標系第一區(qū)域中的像素點(x0,z0)沿x軸負方向投影到第一區(qū)域和第二區(qū)域的分界線上;利用該投影方式來處理像素抑制,可以讓第一區(qū)域中遠離分界線的像素點以更快的速度進行衰減,實際對應(yīng)于摳像本身而言,則該區(qū)域的背景像素分量可以被摳除的更加干凈,如圖4所示,投影之后,像素點(x0,z0)轉(zhuǎn)換為投影點的坐標為(x′0,z′0):
z′0=z0
x′0=z0/tg(area_angle);
根據(jù)像素點在(x,z)顏色空間坐標系中的投影前后的x分量的差值估算該點前景合成時的透明度信息,前景圖像透明度fgalpha的估算公式為:
fgalpha=x0-|z0|/tg(area_angle)。
由于前景圖像像素透明度和背景圖像像素透明度之間的關(guān)系為:
fgalpha+bgalpha=255,
其中,255為(y,u,v)顏色空間坐標系中透明通道像素分量的最大值,也表示為透明度中的完全不透明,
所以,bgalpha=255-fgalpha。
目前計算出來的結(jié)果是在(x,z)顏色空間坐標系下面的,故對顏色空間進行反轉(zhuǎn),重新回到(u,v)顏色空間坐標系中,并加上y的分量信息,計算后原始像素點在(y,u,v)顏色空間坐標系中的像素信息結(jié)果如下:
y′=y(tǒng)-a×fgalpha
u′=(x′0×key_color_u+x′0×key_color_v)×128
v′=(z′0×key_color_u-z′0×key_color_v)×128
其中,亮度分量y′是利用前景圖像像素透明度直接計算出的,a=key_color_y/fgalpha,key_color_y為色鍵在(y,u,v)顏色空間坐標系中的y分量像素值,y是原始像素點在(y,u,v)顏色空間坐標系中的y分量像素值。至此,計算得到的結(jié)果包含了背景圖像透明度bgalpha的值和第一區(qū)域中像素點經(jīng)前景源像素抑制處理后的(y,u,v)顏色空間坐標系坐標值(y′,u′,v′),完成了上述調(diào)整后的融合計算公式需要的計算信息。
另外,參考圖5,上述前景圖像的摳像計算過程中,還可以進行溢色處理,在溢色(前景圖像上有背景光的反色)上引入了噪聲水平noise_level的概念,其溢色處理過程包括:將色鍵周圍以噪聲水平noise_level為半徑的范圍內(nèi)的顏色作為實際色鍵區(qū)間;通過修正來得到最終的作為背景融合權(quán)值的背景圖像透明度,所述背景融合權(quán)值的修正公式為:
如果,pixel_dist<noise_level×noise_level,
那么,bgalpha=255,
其中,pixel_dist=(x0-key_color_x)2+(z0-key_color_z)2,pixel_dist為(x,z)顏色空間坐標系中像素點與色鍵的距離,(x0,z0)為(x,z)顏色空間坐標系中任一像素點的坐標,(key_color_x,key_color_z)為色鍵在(x,z)顏色空間坐標系中的坐標。該處理方式的意義在于,用一個確定的色鍵key_color處理,將無法滿足前景拍攝過程中光照不均、顏色漸變等造成的影響,導(dǎo)致穩(wěn)定性下降。以色鍵為圓心選取以噪聲水平noise_level為半徑大小的圓作為色鍵閉區(qū)間,可以將溢色處理地更加干凈,得到更好的視覺效果。
最后,前景圖像和背景圖像按照每個像素計算所得像素抑制結(jié)果和透明度進行加權(quán)融合,最終,合成后的圖像對于透明物體、有反色物體以及毛發(fā)等細節(jié)都能處理的更加真實、自然,并且前景圖像和背景圖像的過度處也更加平滑。因此,在摳像上,細節(jié)處理更加細膩,人物身上的泛綠也處理的非常干凈,同時,在前景人物和背景的融合上,邊緣處沒有很生硬的過度,融合度較高。
雖然,上文中已經(jīng)用一般性說明及具體實施例對本發(fā)明作了詳盡的描述,但在本發(fā)明基礎(chǔ)上,可以對之作一些修改或改進,這對本領(lǐng)域技術(shù)人員而言是顯而易見的。因此,在不偏離本發(fā)明精神的基礎(chǔ)上所做的這些修改或改進,均屬于本發(fā)明要求保護的范圍。