麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

一種對虛擬場景直播進行美顏處理的方法及系統與流程

文檔序號:12068827閱讀:1012來源:國知局
一種對虛擬場景直播進行美顏處理的方法及系統與流程

本發明涉及多媒體數據處理領域,特別是涉及一種對虛擬場景直播數據進行處理的技術。



背景技術:

由于設備成本的下降和直播技術的日臻成熟,通過網絡進行表演直播的娛樂形式逐漸為大眾所接受和歡迎。虛擬場景合成技術是一種應用于電視臺演播廳錄播節目或電影制作中的多媒體數據處理技術,例如天氣預報節目等。

現有技術中,虛擬場景合成技術通常通過將攝像裝置采集到的純色背景中的人像提取出來,然后與渲染出來的虛擬場景背景進行疊加合成,再將合成后的圖像數據輸出用于播放或錄制存儲。

現有的虛擬場景技術無法實現主播對象與觀眾對象之間高品質的互動交流。具體的,例如在網絡直播領域中,現有的直播平臺和技術,使得觀眾只能看到主播攝像頭拍攝的畫面,觀眾可以向主播贈送虛擬禮物,但是這些虛擬禮物只能在現有的場景下進行粗糙地疊加。又例如,現有MTV制作通常由導演和表演者交流后錄制完成,錄制過程缺乏趣味性,錄制效果單一。并且在現有直播技術中,為了使客戶端能夠看到其他客戶端與主播之間的互動效果,需要客戶端將互動信息和素材發送到云端服務器,云端服務器通知所有在線客戶端從指定位置下載素材,并由客戶端疊加到直播畫面上。可見,客戶端需要下載指定素材,效率低下,且浪費流量;并且需要每個客戶端在本地存儲所述互動素材,占用客戶端存儲空間,而且互動內容不便于及時進行擴展。

而且,由于攝像裝置所拍攝的主播對象的像素點高,成像真實,導致主播對象臉部的瑕疵都直接呈現在鏡頭上,故此,在直播之前往往需要對主播對象進行美顏。而現有的美顏處理,是對圖像中的每個像素點進行處理運算,處理運算的數據量大,具有較高的延遲,并占用大量CPU資源,無法應用于實時性要求較高的直播。另外,在一些現有的直播數據處理方案中,是直接對視頻流進行美顏處理,無形中增加了直播的延遲。

因此發明人認為需要研發一種能夠降低網絡虛擬場景直播美顏處理所造成直播延遲的技術。



技術實現要素:

為此,需要提供一種能夠對虛擬場景直播數據進行快速美顏處理的技術,用于降低網絡虛擬場景直播美顏處理的延遲時間。

為實現上述目的,發明人提供了一種對虛擬場景直播進行美顏處理的方法,包括以下步驟:

實時獲取攝像裝置的數據,得到第一圖像數據;

將第一圖像數據轉換成紋理圖像,并將所述紋理圖像更新至虛擬場景中;

通過GPU從紋理圖像中識別出第一對象,將紋理圖像除第一對象外的剩余部分透明化,然后對第一對象進行美顏處理,再對美顏后的第一對象及所述虛擬場景進行渲染,得到渲染圖像。

進一步的,得到渲染圖像之后還包括步驟:

對所述渲染圖像進行合成圖像編碼操作,得到第一視頻數據;

獲取攝像裝置數據的同時,實時獲取音效器的音頻數據,將音效器的音頻數據與第一視頻數據封裝成音視頻數據。

進一步的,得到所述音視頻數據之后還包括步驟:通過實時流傳輸協議,將所述音視頻數據直播給局域網中的在線客戶端;

或通過實時流傳輸協議,將所述音視頻數據發送給第三方網絡服務器;

第三方網絡服務器生成所述音視頻數據的互聯網直播鏈接。

進一步的,還包括接收客戶端發送的互動指令,從及根據互動指令更新或切換虛擬場景。

進一步的,所述對所述渲染圖像進行合成圖像編碼操作包括步驟:

使用硬件編碼模塊截取所述渲染圖像,以及對所截取的渲染圖像進行壓縮編碼。

進一步的,所述對第一對象進行美顏處理包括步驟:利用shader對第一對象進行磨皮處理,去斑處理和加亮處理。

進一步的,所述虛擬場景為3D虛擬現實場景或3D視頻場景。

為實現上述目的,發明人還提供了另一技術方案:一種對虛擬場景直播進行美顏處理的系統,包括:

解析單元,用于實時獲取攝像裝置的數據,得到第一圖像數據;

更新單元,用于將第一圖像數據轉換成紋理圖像,并將所述紋理圖像更新至虛擬場景中;以及

渲染單元,通過GPU從紋理圖像中識別出第一對象,將紋理圖像除第一對象外的剩余部分透明化,然后對第一對象進行美顏處理,再對美顏后的第一對象及所述虛擬場景進行渲染,得到渲染圖像。

進一步的,對虛擬場景直播進行美顏處理的系統還包括:

合成圖像編碼單元,用于對所述渲染圖像進行合成圖像編碼操作,得到第一視頻數據;以及

封裝單元,用于獲取攝像裝置數據的同時,實時獲取音效器的音頻數據,將音效器的音頻數據與第一視頻數據封裝成音視頻數據。

進一步的,還包括傳輸單元,用于通過實時流傳輸協議,將所述音視頻數據直播給局域網中的在線客戶端;

或用于通過實時流傳輸協議,將所述音視頻數據發送給第三方網絡服務器;

第三方網絡服務器生成所述音視頻數據的互聯網直播鏈接。

進一步的,還包括互動單元,用于接收客戶端發送的互動指令,從及根據互動指令更新或切換虛擬場景。

進一步的,所述合成圖像編碼單元對所述渲染圖像進行合成圖像編碼操包括,使用硬件編碼模塊截取所述渲染圖像,以及對所截取的渲染圖像進行壓縮編碼。

區別于現有技術,美顏處理是對直播圖像中的每個像素點進行處理運算,或對直播的視頻流進行美顏處理,處理的數據量大,延遲時間長;上述技術方案先將攝像裝置的數據轉換成紋理圖像,并將紋理圖像更新至虛擬場景中,然后在虛擬場景渲染階段,通過GPU識別第一對象,并對第一對象進行美顏處理,得到渲染圖像,其中,GPU進行圖像渲染以及第一對象的識別與美顏處理是并行進行的,該技術方案將第一對象的識別以及美顏處理放到圖像渲染階段中,通過GPU同時并行進行,從而大大降低了虛擬場景直播時美顏處理的延遲時間。

附圖說明

圖1為具體實施方式所述對虛擬場景直播進行美顏處理的方法的流程圖;

圖2為具體實施方式中得到渲染圖像后進行網絡直播的操作流程圖;

圖3具體實施方式所述對虛擬場景直播進行美顏處理的系統的模塊框圖;

圖4具體實施方式所述對虛擬場景直播進行美顏處理的系統的模塊框圖;

圖5具體實施方式所述網絡虛擬場景直播系統的示意圖。

附圖標記說明:

10、解析單元

20、更新單元

30、渲染單元

40、合成圖像編碼單元

50、封裝單元

501、攝像裝置

502、傳聲器

503、視頻解碼器

504、Unity端

505、錄制服務器

506、RTSP服務器

507、客戶端

508、第三方服務器

具體實施方式

為詳細說明技術方案的技術內容、構造特征、所實現目的及效果,以下結合具體實施例并配合附圖詳予說明。

請參閱圖1,本實施例一種對虛擬場景直播進行美顏處理的方法,該方法可應用于通過網絡進行真人與虛擬場景相結合的視頻直播節目,包括以下步驟:

S101、實時獲取攝像裝置的數據,得到第一圖像數據。具體的,對所述攝像裝置的數據進行解碼,并在每獲得到一幀完整的解碼圖像數據時,將圖像數據放至數據緩沖區中。在某些實施例中,使用FFMPEG+mediacodec的組合對攝像裝置的實時數據流進行讀取、解碼、并實時更新到緩沖區中。FFMPEG+mediacodec是android平臺下實現硬編碼硬解碼的類,能明顯提升數據流編解碼的速度。

S102、將第一圖像數據轉換成紋理圖像,并將所述紋理圖像更新至虛擬場景中。其中,所述紋理圖像是指具有紋理的圖像,紋理是計算機圖形學名詞,是一種反映圖像中同質現象的視覺特征,它體現了物體表面的具有緩慢變化或者周期性變化的表面結構組織排列屬性。紋理又稱紋理貼圖,是貼在物體表面,體現物體表面細節的一幅或多幅二維圖形。紋理具有三大標志:某種局部序列性不斷重復、非隨機排列、紋理區域內大致為均勻的統一體。紋理不同于灰度、顏色等圖像特征,它通過像素及其周圍空間鄰域的灰度分布來表現,即:局部紋理信息。局部紋理信息不同程度的重復性,即全局紋理信息。

在實施例中,將所述紋理圖像更新至虛擬場景中,可以是將紋理圖像以紋理的形式體現在虛擬場景的一個平面中。所述虛擬場景包括計算機模擬的虛擬現實場景或真實拍攝的視頻場景等。更進一步的,實施例還可以結合新近發展的3D圖像技術來提供虛擬場景,例如3D虛擬現實場景或3D視頻場景。

3D虛擬現實場景技術是一種可以創建和體驗虛擬世界的計算機仿真系統,它利用計算機生成一種現實場景的3D模擬場景,是一種多源信息融合的交互式的三維動態視景和實體行為的系統仿真。虛擬場景包括任何現實生活中存在的實際場景,包含視覺、聽覺等任何能通過體感感受到的場景,通過計算機技術來模擬實現。3D虛擬現實場景的一種應用是3D虛擬舞臺,3D虛擬舞臺是通過計算機技術模擬現實舞臺,實現一種立體感、真實感強的舞臺效果。可以通過3D虛擬舞臺實現,在現實中不在舞臺上的主播對象在各種舞臺上進行表演的場景效果。

3D視頻是拍攝影像時,用兩臺攝影機模擬左右兩眼視差,分別拍攝兩條影片,然后將這兩條影片同時放映到銀幕上,放映時讓觀眾左眼只能看到左眼圖像,右眼只能看到右眼圖像。最后兩幅圖像經過大腦疊合后,就能看到具有立體縱深感的畫面,即為3D視頻。

S103、通過GPU從紋理圖像中識別出第一對象,將紋理圖像除第一對象外的剩余部分透明化,然后對第一對象進行美顏處理,再對美顏后的第一對象及所述虛擬場景進行渲染,得到渲染圖像。其中,第一對象為攝像裝置所拍攝的圖像中的對象。在不同的實施例中根據需要,第一對象可以是不同的具體對象,例如第一對象可以是真人主播,可以是寵物動物等;第一對象的數量可以是單個,也可以是2個以上。根據這些實際需求的不同,可以使用不同的算法和設置,以有效地在虛擬場景中提取第一對象。由于第一對象是在第一圖像數據內,因此,從虛擬場景中提取第一對象,實際上就是從第一圖像數據中提取第一對象。以下通過一具體提取第一對象的算法實施例進行舉例說明。

在某一實施例中,第一圖像數據中,第一對象為人物主播,主播所處的背景為純色背景。識別虛擬場景中第一對象的具體步驟為:GPU將紋理圖像中的每個像素的顏色值與預設的閾值做比較;若像素的顏色值在預設的閾值內,則該像素點不屬于第一對象,并將該像素點的Alpha通道設為零,即將背景顯示為透明色;若像素的顏色值在預設的閾值外,則該像素點屬于第一對象,該像素點的Alpha通道設為1,即保留該像素點從而識別并提取出對象。

由于背景為純色,所以本實施例采用色度鍵法進行摳圖。其中預設的閾值為背景顏色的顏色值,例如,背景顏色為綠色,則預設的像素點RGB顏色值的閾值為(0±10、255-10、0±10)。背景色可以選擇綠色或藍色,在拍攝的場所可同時設置兩種顏色的背景,供主播選擇。當主播穿與綠色反差較大的衣服唱歌時,可選用綠色的背景。在對象(人像)提取過程中,由于主播穿的衣服與背景色相差較大,所以圖像中的每個像素的顏色值與預設的閾值進行比較后,背景部分像素點的顏色值在預設的閾值內,將背景部分像素點的Alpha通道設為零,即將背景顯示為透明色;而人像部分的像素點不在預設的閾值內,保留人像部分,從而實現將紋理圖像中的背景部分透明化。

在對象(人像)提取過程中,還可設置閾值區間,當像素的顏色值大于上限值時,將該像素點的Alpha通道設為零,即將背景顯示為透明色;當當像素的顏色值小于下限值時,將該像素點的Alpha通道設為1,即保留人像部分;當像素的顏色值介于上限和下限之間,認為該像素是過渡色(一半出現在圖像邊緣處),這時使用線性函數將該像素的alpha通道設置為0~1中的一個。過渡色的設定有利于摳出來的人像和虛擬場景進行更自然的融合。

所述美顏處理是指,對所選擇的對象進行處理以提高其顏值,在不同的實施例中根據需要,所述對第一對象進行美顏處理可以包括皮膚磨皮處理、臉部去斑處理和加亮處理。本發明的美顏操作均可通過shader實現GPU對第一對象的識別以及進行美顏處理。以人物為美顏對象為例,首先在shader程序中,先從人物對象中識別出皮膚部分,皮膚識別可利用人類皮膚在YCbCr顏色空間的呈現高斯分布的特點,對皮膚和非皮膚區域進行分割。其中,所述Shader(又稱著色器)是一段能夠針對3D對象進行操作、并被GPU所執行的程序。在識別出皮膚之后可進行磨皮處理,磨皮處理是使用雙邊濾波算法,對皮膚進行平滑處理,平滑皮膚區域的同時避免邊緣鈍化。在磨皮處理之后可進行加亮處理,加亮部分采用LOG曲線進行整體像素的增益校正,避免圖像變化過于生硬。

所述圖像渲染是利用計算機技術進行視覺設計的最后一道工序(當然,除了后期制作),也是使設計的圖像以3D視覺進行呈現的階段。

在實施例中,將攝像裝置的數據轉換成紋理圖像,并將紋理圖像更新至虛擬場景中,然后在虛擬場景渲染階段;所述第一對象的識別與美顏,都是在圖像渲染階段通過GPU并行執行的,不占用CPU時間,提高系統速度;并且由于GPU是專門對圖像進行處理的硬件,對不同大小的像素運算時間一樣,例如,8位、16位、32位的像素運算時間均一樣,可大大節省了對像素的運算時間;而普通的CPU會隨像素大小的增大延長處理時間,所以本實施例的人像提取速度大大提高。上述的區別點使得本實施例中還可以采用帶有GPU的嵌入式設備實現,即使嵌入式方案中的CPU性能較弱,但是應用本實施例的方案,嵌入式設備方案仍然能實現流暢顯示,因為若使用CPU從第一圖像數據中提取第一對象,CPU需進行讀取攝像裝置獲取的視頻,并進行摳圖等處理,CPU負擔太重,無法進行流暢的顯示。而本實施例應用于嵌入式方案中,將上述摳圖處理放入GPU中進行,既減輕了CPU的負擔,同時不會對GPU的運行造成影響。

請參閱圖2,在一些實施例中,在得到渲染圖像之后還包括步驟:

S201、對所述渲染圖像進行合成圖像編碼操作,得到第一視頻數據;

S202、以及將第一視頻數據與音頻數據封裝成音視頻數據,其中,所述音頻數據是在獲取攝像裝置數據的同時,通過音效器實時獲取的。

其中,所述對所述渲染圖像進行合成圖像編碼操作,包括步驟:

通過安卓、ios或windows等設備自帶的硬件編碼模塊截取所述渲染圖像,以及對所截取的渲染圖像進行壓縮編碼。

而在獲取所述音頻數據時,音效器獲取音頻數據,并將音頻數據編碼成便于網絡傳輸的音頻格式。在一些直播應用的實施例中,所述音頻數據主要為直播者演唱的聲音及歌曲伴奏的混合聲音。

在上述實施例中,所述合成圖像編碼操作、獲取音頻數據以及封裝操作是由不同的設備分別完成,從而保證數據處理的速率與實時性。而在一些實施例中,上述合成圖像編碼操作、獲取音頻數據以及封裝操作也可在同一服務器上完成。

封裝所得到的音視頻數據即可用于網絡直播、顯示或存儲。其中,網絡直播是將封裝好的音視頻數據傳送給實時數據流服務器(即RTSP服務器),由實時數據流服務器在局域網內直播或互聯網外直播。

在局域網內直播時,實時數據流服務器檢測是否有客戶端連接于該服務器,以及是否有播放請求,在檢測到有客戶端連接,并接收到播放請求時,通過實時流傳輸協議,將所述音視頻數據發送給局域網在線客戶端。所述客戶端可以是各種支持RTSP的播放器,如PC機、平板電腦、智能手機等。客戶端在接收到實時流服務器傳來的音視頻數據后,進行解碼即可進行播放,播放的內容即為直播對象與虛擬場景相結合渲染的畫面;音視頻數據中的音頻數據解碼后,通過揚聲器播放即為演唱者演唱的聲音及伴奏。

在互聯網直播時,實時數據流服務器通過實時流傳輸協議,將所述音視頻數據發送給第三方網絡服務器,由第三方網絡服務器生成所述音視頻數據的直播鏈接。客戶端通過點擊所述直播鏈接,即可獲取所述音視頻數據的實時數據流,并通過解碼播放。

在一些實施例中,客戶端還可通過計算機網絡發送互動指令與主播進行虛擬場景互動。主播端接收到客戶端發送的互動指令時,可根據互動指令更新或切換虛擬場景,并在渲染階段對新的虛擬場景與第一對象進行渲染。其中,所述計算機網絡可以是Internet網絡也可以是局域網,可以是由有線網絡、WiFi網絡、3G/4G移動通訊網絡、藍牙網絡或ZigBee網絡等進行連接。

在不同虛擬場景中互動的實施例中,互動指令可以包括不同的內容,在某些實施例中,所述互動指令包括將第一素材更新到虛擬場景中的命令。具體為:在將第一對象實時更新到虛擬場景的同時,根據所述互動指令,將第一素材也更新到虛擬場景中,并對美顏后的第一對象及所述虛擬場景進行渲染,得到渲染圖像。

所述第一素材可以為圖像素材、聲音素材或者圖像素材與聲音素材的結合。以網絡直播為例,所述第一素材包括有虛擬禮物、點贊、背景音、喝彩等,網絡直播的觀眾可通過移動手機,向主播送鮮花等虛擬禮物的互動指令,所送的禮物將以鮮花圖片的形式在虛擬場景中體現出來。網絡直播的觀眾還可以通過移動手機,向主播發送鼓掌的互動指令,鼓掌的互動指令將以掌聲的形式進行播放。

這些第一素材可以是系統預置的,供給用戶選擇使用,而在某些實施例中,所述互動指令除了包括將第一素材更新到虛擬場景中的命令,還可包括了第一素材的內容數據。例如觀眾在通過移動終端上傳一個贈送虛擬禮物的互動指令,以及在互動指令中還包含了一張所贈送虛擬禮物的圖片,在接收到所述互動指令后,將所述禮物的圖片更新至虛擬場景中。因此觀眾在發送互動指令時,除了可以選擇互動的方式,還可以根據自己的喜好自定義第一素材的內容數據,如喜歡的圖片素材、聲音素材或圖片與聲音結合的素材。

在一些實施例中,所述互動指令還包括變換虛擬場景鏡頭的命令,所述變換虛擬場景鏡頭的命令包括有切換虛擬場景鏡頭的視角,改變虛擬場景鏡頭焦距以及對虛擬場景進行局部模糊處理等。通過切換虛擬場景鏡頭的視角,可以模擬從不同視角觀看虛擬場景的畫面;通過改變虛擬場景鏡頭焦距,可對拉近和推遠虛擬場景的畫面;而對對虛擬場景進行局部模糊處理,可使虛擬場景中未模糊處理部分畫面被突出顯示。通過所述變換虛擬場景鏡頭的命令,可大大提高觀眾的互動程度和趣味性。

上述虛擬場景互動的實施例中,可以根據客戶端發送的互動指令,對虛擬場景進行更新或切換,以實現在得到的渲染圖像中既具有豐富多彩的場景變化效果,又同時保存有第一對象的實時活動效果。上述技術方案中觀眾可通過客戶端發送互動指令,在主播端將互動的內容與第一對象更新至虛擬場景中,使互動內容、主播對象以及虛擬場景融合在一起,因此各第一終端均可看到互動的效果,其中互動的內容是在主播端就融合至虛擬場景中,因此,各觀眾的客戶端無需從服務器下載互動素材,從而便于互動內容的擴展。

請參閱圖3,另一實施例為一種對虛擬場景直播進行美顏處理的系統,該虛擬場景直播進行美顏處理的系統可用于通過網絡進行真人與虛擬場景相結合的視頻直播節目,該系統包括:

解析單元10,用于實時獲取攝像裝置的數據,得到第一圖像數據。對所述攝像裝置的數據進行解碼,并在每獲得到一幀完整的解碼圖像數據時,將圖像數據放至數據緩沖區中。在某些實施例中,使用FFMPEG+mediacodec的組合對攝像裝置的實時數據流進行讀取、解碼、并實時更新到緩沖區中。FFMPEG+mediacodec是android平臺下實現硬編碼硬解碼的類,能明顯提升數據流編解碼的速度。

更新單元20,用于將第一圖像數據轉換成紋理圖像,并將所述紋理圖像更新至虛擬場景中。在實施例中,將所述紋理圖像更新至虛擬場景中,可以是將紋理圖像以紋理的形式體現在虛擬場景的一個平面中。更進一步的,實施例還可以結合新近發展的3D圖像技術來提供虛擬場景,例如3D虛擬現實場景或3D視頻場景。

渲染單元30,用于通過GPU從紋理圖像中識別出第一對象,將紋理圖像除第一對象外的剩余部分透明化,然后對第一對象進行美顏處理,再對美顏后的第一對象及所述虛擬場景進行渲染,得到渲染圖像。其中,第一對象為攝像裝置所拍攝的圖像中的對象。在不同的實施例中根據需要,第一對象可以是不同的具體對象,例如第一對象可以是真人主播,可以是寵物動物等;第一對象的數量可以是單個,也可以是2個以上。所述對第一對象進行美顏處理可以包括皮膚磨皮處理、臉部去斑處理和加亮處理。

在實施例中,將攝像裝置的數據轉換成紋理圖像,并將紋理圖像更新至虛擬場景中,然后在虛擬場景渲染階段;所述第一對象的提取與美顏,都是在圖像渲染階段通過GPU并行執行的,由于GPU是專門對圖像進行處理的硬件,對不同大小的像素運算時間一樣,不僅不占用CPU時間,而且可大大節省了對像素的運算時間,從而有效降低了虛擬場景直播時美顏處理的延遲時間。

請參閱圖4,在一些實施例中,對虛擬場景直播進行美顏處理的系統還包括:

合成圖像編碼單元40,用于對所述渲染圖像進行合成圖像編碼操作,得到第一視頻數據;以及

封裝單元50,用于獲取攝像裝置數據的同時,實時獲取傳聲器的數據,將聲效器的數據與第一視頻數據封裝成音視頻數據。

合成圖像編碼單元通過合成圖像編碼服務器的硬件編碼模塊截取所述渲染圖像,以及對所截取的渲染圖像進行壓縮編碼。

而在獲取所述音頻數據時,音效器獲取音頻數據,并將音頻數據編碼成便于網絡傳輸的音頻格式。在一些直播應用的實施例中,所述音頻數據主要為直播者演唱的聲音及歌曲伴奏的混合聲音。

在上述實施例中,所述合成圖像編碼操作、獲取音頻數據以及封裝操作是由不同的設備分別完成,從而保證數據處理的速率與實時性。而在一些實施例中,上述合成圖像編碼操作、獲取音頻數據以及封裝操作也可在同一服務器上完成。

對虛擬場景直播進行美顏處理的系統還包括傳輸單元,用于通過實時流傳輸協議,在局域網內直播或互聯網外直播。

在局域網內直播時,實時數據流服務器檢測是否有客戶端連接于該服務器,以及是否有播放請求,在檢測到有客戶端連接,并接收到播放請求時,通過實時流傳輸協議,將所述音視頻數據發送給局域網中在線客戶端。客戶端在接收到實時流服務器傳來的音視頻數據后,進行解碼即可進行播放,播放的內容即為直播對象與虛擬場景相結合渲染的畫面;音視頻數據中的音頻數據解碼后,通過揚聲器播放即為演唱者演唱的聲音及伴奏。

在互聯網直播時,,實時數據流服務器通過實時流傳輸協議,將所述音視頻數據發送給第三方網絡服務器,由第三方網絡服務器生成所述音視頻數據的互聯網直播鏈接。客戶端通過點擊所述鏈接,即可獲取所述音視頻數據的實時數據流,并通過解碼播放。

在一些實施例中,所述對虛擬場景直播進行美顏處理的系統還包括互動單元,用于接收客戶端發送的互動指令,從及根據互動指令更新或切換虛擬場景。因此客戶端可通過計算機網絡發送互動指令與主播進行虛擬場景互動。主播端接收到客戶端發送的互動指令時,可根據互動指令更新或切換虛擬場景,并在渲染階段對新的虛擬場景與第一對象進行渲染。其中,所述計算機網絡可以是Internet網絡也可以是局域網,可以是由有線網絡、WiFi網絡、3G/4G移動通訊網絡、藍牙網絡或ZigBee網絡等進行連接。

在不同虛擬場景中互動的實施例中,互動指令可以包括不同的內容,在某些實施例中,所述互動指令包括將第一素材更新到虛擬場景中的命令。具體為:在將第一對象實時更新到虛擬場景的同時,根據所述互動指令,將第一素材也更新到虛擬場景中,并對美顏后的第一對象及所述虛擬場景進行渲染,得到渲染圖像。

所述第一素材可以為圖像素材、聲音素材或者圖像素材與聲音素材的結合。以網絡直播為例,所述第一素材包括有虛擬禮物、點贊、背景音、喝彩等,網絡直播的觀眾可通過移動手機,向主播送鮮花等虛擬禮物的互動指令,所送的禮物將以鮮花圖片的形式在虛擬場景中體現出來。網絡直播的觀眾還可以通過移動手機,向主播發送鼓掌的互動指令,鼓掌的互動指令將以掌聲的形式進行播放。

這些第一素材可以是系統預置的,供給用戶選擇使用,而在某些實施例中,所述互動指令除了包括將第一素材更新到虛擬場景中的命令,還可包括了第一素材的內容數據。例如觀眾在通過移動終端上傳一個贈送虛擬禮物的互動指令,以及在互動指令中還包含了一張所贈送虛擬禮物的圖片,在接收到所述互動指令后,將所述禮物的圖片更新至虛擬場景中。因此觀眾在發送互動指令時,除了可以選擇互動的方式,還可以根據自己的喜好自定義第一素材的內容數據,如喜歡的圖片素材、聲音素材或圖片與聲音結合的素材。

在一些實施例中,所述互動指令還包括變換虛擬場景鏡頭的命令,所述變換虛擬場景鏡頭的命令包括有切換虛擬場景鏡頭的視角,改變虛擬場景鏡頭焦距以及對虛擬場景進行局部模糊處理等。通過切換虛擬場景鏡頭的視角,可以模擬從不同視角觀看虛擬場景的畫面;通過改變虛擬場景鏡頭焦距,可對拉近和推遠虛擬場景的畫面;而對對虛擬場景進行局部模糊處理,可使虛擬場景中未模糊處理部分畫面被突出顯示。通過所述變換虛擬場景鏡頭的命令,可大大提高觀眾的互動程度和趣味性。

上述虛擬場景互動的實施例中,可以根據客戶端發送的互動指令,對虛擬場景進行更新或切換,以實現在得到的渲染圖像中既具有豐富多彩的場景變化效果,又同時保存有第一對象的實時活動效果。上述技術方案中觀眾可通過客戶端發送互動指令,在主播端將互動的內容與第一對象更新至虛擬場景中,使互動內容、主播對象以及虛擬場景融合在一起,因此各第一終端均可看到互動的效果,其中互動的內容是在主播端就融合至虛擬場景中,因此,各觀眾的客戶端無需從服務器下載互動素材,從而便于互動內容的擴展。

請參閱圖5,為一實施例中網絡虛擬場景直播系統的示意圖,該網絡虛擬場景直播系統可對直播對象進行美顏處理,并進行實時直播,該系統包括有攝像裝置501、聲效器502、視頻解碼器503、Unity端504、錄制服務器505、RTSP服務器506、第三方服務器508和客戶端507。

其中,攝像裝置501用于獲取直播對象的視頻數據。

聲效器502用于獲取直播對象的音頻數據。

所述視頻解碼器503用于對攝像裝置501所獲取的視頻數據進行解碼,并在每獲取一幀完整的圖像數據(YCrCb格式)時,將圖像數據放到解碼器的緩沖區中;所述視頻解碼器503還用于將解碼得到的圖像數據,轉換成紋理貼圖,并傳遞給Unity端504。其中,視頻解碼器503使用FFMPEG+mediacodec(android平臺下實現硬編碼硬解碼的類)的組合對網絡攝像頭的視頻數據流進行讀取、解碼、并實時更新到緩沖區中,從而明顯提升編解碼速度。視頻解碼器503使用GLES來給攝像頭數據生成紋理貼圖。其中,所述GLES即為OpenGL ES(英文全稱為:OpenGL for Embedded Systems),是OpenGL三維圖形API的子集,是針對手機、PDA和游戲主機等嵌入式設備而設計,GLES2.0是GLES的一個版本。

Unity端504集成為GPU,并安裝有Unity3D軟件,Unity3D軟件是由Unity Technologies開發的一個讓玩家輕松創建諸如三維視頻游戲、建筑可視化、實時三維動畫等類型互動內容的多平臺的綜合型游戲開發工具,是一個全面整合的專業游戲引擎。Unity類似于Director,Blender game engine,Virtools或Torque Game Builder等利用交互的圖型化開發環境為首要方式的軟件。

Unity端504將紋理貼圖以紋理的形式體現在虛擬場景的一個平面中,之后,Unity端504的GPU還用于對虛擬場景進行渲染,在渲染階段,對圖像數據中的直播對象進行摳圖和美顏,從而得到包括有直播對象和虛擬場景的渲染圖像。

摳圖將直播對象和背景分離,使背景部分不顯示,摳圖時預設一個像素參考點作為摳圖的基準顏色,并設置摳圖閾值上下限。對圖像逐像素進行比較運算,得出當前像素與預設像素的差異量。當差異量小于閾值下限,則認為該像素點是背景色,并將該像素的alpha通道置為0,使其為透明;當差異量大于閾值上限,這時候認為該像素點是前景色,alpha通道置為1,使其保留下來;當差異量介于上限和下限之間,認為該像素是過渡色,使用線性函數將alpha通道設置為0~1中的一個,使該像素一半出現在圖像邊緣處。過渡色的設定有利于摳出來的人像和虛擬場景融合的更自然。

美顏時先對對象(主要是人物對象)進行膚色識別,膚色識別是利用人類皮膚在YCbCr顏色空間的呈現高斯分布的特點,將皮膚和非皮膚區域區分開來。膚色識別之后對皮膚進行磨皮,磨皮是使用雙邊濾波算法,在平滑皮膚區域的同時避免邊緣鈍化。然后是去除斑點和加亮處理,加亮處理是采用LOG曲線進行整體像素的增益校正,避免圖像變化過于生硬。以上摳圖和美顏操作均通過GPU的渲染步驟(shader步驟)實現的。

錄制服務器505用于使用硬件編碼模塊,對Unity端504的屏幕畫面進行截取、壓縮編碼,得到視頻數據;以及用于將聲效器的音頻數據編碼成便于網絡傳輸的音頻格式。最后錄制服務器505還用于對所述音頻數據和視頻數據后進行封裝,封裝好的數據即為可供播放的音視頻數據,錄制服務器505將封裝好的數據傳遞給RTSP服務器506。

RTSP服務器506即為實時流服務器,用于音視頻數據的直播,直播分為內網直播和外網直播兩種方式,在本實施例中,RTSP服務器506將音視頻數據推送到第三方服務器508中,第三方服務器508生成外網鏈接供各地網絡客戶端507點播。客戶端在接收到第三方服務器傳來的音視頻數據后,解碼即可顯示畫面,畫面內容即為虛擬場景渲染的畫面;音頻數據解碼后通過揚聲器播放即為演唱者演唱的聲音及伴奏。

需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設備所固有的要素。在沒有更多限制的情況下,由語句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設備中還存在另外的要素。此外,在本文中,“大于”、“小于”、“超過”等理解為不包括本數;“以上”、“以下”、“以內”等理解為包括本數。

本領域內的技術人員應明白,上述各實施例可提供為方法、裝置、或計算機程序產品。這些實施例可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。上述各實施例涉及的方法中的全部或部分步驟可以通過程序來指令相關的硬件來完成,所述的程序可以存儲于計算機設備可讀取的存儲介質中,用于執行上述各實施例方法所述的全部或部分步驟。所述計算機設備,包括但不限于:個人計算機、服務器、通用計算機、專用計算機、網絡設備、嵌入式設備、可編程設備、智能移動終端、智能家居設備、穿戴式智能設備、車載智能設備等;所述的存儲介質,包括但不限于:RAM、ROM、磁碟、磁帶、光盤、閃存、U盤、移動硬盤、存儲卡、記憶棒、網絡服務器存儲、網絡云存儲等。

上述各實施例是參照根據實施例所述的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到計算機設備的處理器以產生一個機器,使得通過計算機設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。

這些計算機程序指令也可存儲在能引導計算機設備以特定方式工作的計算機設備可讀存儲器中,使得存儲在該計算機設備可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。

這些計算機程序指令也可裝載到計算機設備上,使得在計算機設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。

盡管已經對上述各實施例進行了描述,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例做出另外的變更和修改,所以以上所述僅為本發明的實施例,并非因此限制本發明的專利保護范圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技術領域,均同理包括在本發明的專利保護范圍之內。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 花垣县| 北辰区| 吴川市| 达拉特旗| 彭山县| 江北区| 石台县| 横峰县| 鞍山市| 玛多县| 吴忠市| 剑河县| 黄冈市| 宿迁市| 临江市| 镇原县| 奈曼旗| 安顺市| 阿拉善盟| 德钦县| 衡阳市| 通化县| 焦作市| 策勒县| 南丰县| 嘉义县| 郯城县| 昌黎县| 库尔勒市| 商河县| 濮阳市| 武陟县| 湖南省| 库车县| 赤城县| 金寨县| 象州县| 称多县| 镇巴县| 偏关县| 张家港市|