本發(fā)明涉及計算機領域,具體而言,涉及一種虛擬現(xiàn)實媒體文件生成方法及裝置。
背景技術:
目前,現(xiàn)有技術中所生成的用于播放的媒體文件,往往是使用物理硬件設備采集真實世界而得到的媒體文件。
然而,通過這種方式得到的媒體文件,不僅使得采集成本增加,而且所生成的媒體文件仍然只能觀看到二維畫面,媒體文件的內(nèi)容過于單一。
針對上述的問題,目前尚未提出有效的解決方案。
技術實現(xiàn)要素:
本發(fā)明實施例提供了一種虛擬現(xiàn)實媒體文件生成方法及裝置,以至少解決現(xiàn)有技術中無法生成虛擬現(xiàn)實媒體文件所導致的內(nèi)容過于單一的技術問題。
根據(jù)本發(fā)明實施例的一個方面,提供了一種基于虛擬現(xiàn)實場景的虛擬現(xiàn)實媒體文件生成方法,包括:獲取生成請求,其中,上述生成請求用于請求生成虛擬現(xiàn)實媒體文件,上述生成請求中攜帶有與上述虛擬現(xiàn)實媒體文件匹配的位置參考標識;響應上述生成請求按照預定策略獲取圖像組,其中,一組上述圖像組用于指示三維場景中在預定時刻在上述位置參考標識所指示的參考位置上,從多個視角獲取到的多個畫面,每張圖像至少用于指示一個視角獲取到的一個畫面;根據(jù)上述圖像組生成上述虛擬現(xiàn)實媒體文件。
根據(jù)本發(fā)明實施例的另一方面,還提供了一種基于虛擬現(xiàn)實場景的虛擬現(xiàn)實媒體文件生成裝置,包括:第一獲取單元,用于獲取生成請求,其中,上述生成請求用于請求生成虛擬現(xiàn)實媒體文件,上述生成請求中攜帶有與上述虛擬現(xiàn)實媒體文件匹配的位置參考標識;第二獲取單元,用于響應上述生成請求按照預定策略獲取圖像組,其中,一組上述圖像組用于指示三維場景中在預定時刻在上述位置參考標識所指示的參考位置上,從多個視角獲取到的多個畫面,每張圖像至少用于指示一個視角獲取到的一個畫面;生成單元,用于根據(jù)上述圖像組生成上述虛擬現(xiàn)實媒體文件。
在本發(fā)明實施例中,在獲取到生成請求后,其中,生成請求中攜帶有與虛擬現(xiàn)實媒體文件匹配的位置參考標識,按照預定策略獲取用于呈現(xiàn)三維場景中在參考位置上的三維畫面的圖像組,其中,一組圖像組中包括在預定時刻從多個視角獲取到的多個畫面,以生成可以呈現(xiàn)三維場景中三維效果的虛擬現(xiàn)實媒體文件,從而達到豐富所播放的媒體文件的播放內(nèi)容的目的,使得播放虛擬現(xiàn)實媒體文件的一方可以從多個視角看到參考位置上的三維畫面,實現(xiàn)對播放內(nèi)容進行內(nèi)容擴展的效果,進而解決了現(xiàn)有技術中無法生成虛擬現(xiàn)實媒體文件所導致的內(nèi)容過于單一的技術問題。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中:
圖1是根據(jù)本發(fā)明實施例的一種可選的基于虛擬現(xiàn)實場景的虛擬現(xiàn)實媒體文件生成方法的應用環(huán)境示意圖;
圖2是根據(jù)本發(fā)明實施例的一種可選的基于虛擬現(xiàn)實場景的虛擬現(xiàn)實媒體文件生成方法的流程圖;
圖3是根據(jù)本發(fā)明實施例的一種可選的基于虛擬現(xiàn)實場景的虛擬現(xiàn)實媒體文件生成方法的效果示意圖;
圖4是根據(jù)本發(fā)明實施例的另一種可選的基于虛擬現(xiàn)實場景的虛擬現(xiàn)實媒體文件生成方法的示意圖;
圖5是根據(jù)本發(fā)明實施例的又一種可選的基于虛擬現(xiàn)實場景的虛擬現(xiàn)實媒體文件生成方法的示意圖;
圖6是根據(jù)本發(fā)明實施例的一種可選的基于虛擬現(xiàn)實場景的虛擬現(xiàn)實媒體文件生成方法的效果示意圖;
圖7是根據(jù)本發(fā)明實施例的又一種可選的基于虛擬現(xiàn)實場景的虛擬現(xiàn)實媒體文件生成方法的示意圖;
圖8是根據(jù)本發(fā)明實施例的一種可選的基于虛擬現(xiàn)實場景的虛擬現(xiàn)實媒體文件生成裝置的示意圖;
圖9是根據(jù)本發(fā)明實施例的一種可選的基于虛擬現(xiàn)實場景的虛擬現(xiàn)實媒體文件生成服務器的示意圖。
具體實施方式
為了使本技術領域的人員更好地理解本發(fā)明方案,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本發(fā)明保護的范圍。
需要說明的是,本發(fā)明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數(shù)據(jù)在適當情況下可以互換,以便這里描述的本發(fā)明的實施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設備固有的其它步驟或單元。
實施例1
在本發(fā)明實施例中,提供了一種基于虛擬現(xiàn)實場景的虛擬現(xiàn)實媒體文件生成方法的實施例,作為一種可選的實施方式,該基于虛擬現(xiàn)實場景的虛擬現(xiàn)實媒體文件生成方法可以但不限于應用于如圖1所示的應用場景,應用于虛擬現(xiàn)實場景的智能設備(如圖1所示虛擬現(xiàn)實眼鏡102)中安裝有第一客戶端,服務器106通過網(wǎng)絡104獲取第一客戶端發(fā)送的生成請求,其中,該生成請求用于請求生成虛擬現(xiàn)實媒體文件,且該生成請求中攜帶有與虛擬現(xiàn)實媒體文件匹配的位置參考標識;服務器106響應上述生成請求按照預定策略獲取圖像組,其中,一組圖像組用于指示三維場景中在預定時刻在位置參考標識所指示的參考位置上,從多個視角獲取到的多個畫面,其中,每張圖像至少用于指示一個視角獲取到的一個畫面;然后,根據(jù)獲取到上述圖像組生成虛擬現(xiàn)實場景下的虛擬現(xiàn)實媒體文件。
在本實施例中,在獲取到生成請求后,其中,生成請求中攜帶有與虛擬現(xiàn)實媒體文件匹配的位置參考標識,按照預定策略獲取用于生成虛擬現(xiàn)實媒體文件的圖像組,其中,一組該圖像組用于指示三維場景中在預定時刻在位置參考標識所指示的參考位置上,從多個視角獲取到的多個畫面,每張圖像至少用于指示一個視角獲取到的一個畫面;從而利用上述圖像組生成對應的虛擬現(xiàn)實媒體文件。也就是說,獲取三維場景中的參考位置上用于呈現(xiàn)三維畫面的圖像組,其中,一組圖像組中包括三維場景中在預定時刻從多個視角獲取到的多個畫面,以生成呈現(xiàn)三維場景中三維效果的虛擬現(xiàn)實媒體文件,從而達到豐富所播放的虛擬現(xiàn)實媒體文件的播放內(nèi)容的目的,使得播放虛擬現(xiàn)實媒體文件的一方可以從多個視角看到參考位置上的三維畫面,進而實現(xiàn)對虛擬現(xiàn)實媒體文件進行內(nèi)容擴展的效果。
可選地,在本實施例中,上述應用于基于虛擬現(xiàn)實場景的虛擬現(xiàn)實媒體文件生成方法的設備可以包括但不限于:虛擬現(xiàn)實(virtualreality,簡稱vr)眼鏡,及其他用于實現(xiàn)虛擬現(xiàn)實場景交互的硬件設備。上述只是一種示例,本實施例對此不做任何限定。
根據(jù)本發(fā)明實施例,提供了一種基于虛擬現(xiàn)實場景的虛擬現(xiàn)實媒體文件生成方法,如圖2所示,該方法包括:
s202,獲取生成請求,其中,生成請求用于請求生成虛擬現(xiàn)實媒體文件,生成請求中攜帶有與虛擬現(xiàn)實媒體文件匹配的位置參考標識;
s204,響應生成請求按照預定策略獲取圖像組,其中,一組圖像組用于指示三維場景中在預定時刻在位置參考標識所指示的參考位置上,從多個視角獲取到的多個畫面,每張圖像至少用于指示一個視角獲取到的一個畫面;
s206,根據(jù)圖像組生成虛擬現(xiàn)實媒體文件。
可選地,在本實施例中,上述虛擬現(xiàn)實媒體文件生成方法可以但不限于應用于不同具備虛擬現(xiàn)實場景的應用中,且該應用可以提供三維畫面素材。例如,上述應用可以包括但不限于:游戲應用、購物應用等。例如,上述基于虛擬現(xiàn)實場景的虛擬現(xiàn)實媒體文件生成方法可以但不限于應用于具有虛擬現(xiàn)實場景的游戲應用中,采集游戲應用的三維場景中參考位置上的三維畫面素材(如圖像組),以生成呈現(xiàn)三維效果的虛擬現(xiàn)實媒體文件的過程中,也就是說,可以錄制三維場景中呈現(xiàn)三維效果的游戲視頻)。上述僅是一種示例,本實施例中對此不做任何限定。
需要說明的是,在獲取到生成請求后,其中,生成請求中攜帶有與虛擬現(xiàn)實媒體文件匹配的位置參考標識,按照預定策略獲取用于生成虛擬現(xiàn)實媒體文件的圖像組,其中,一組該圖像組用于指示三維場景中在預定時刻在位置參考標識所指示的參考位置上,從多個視角獲取到的多個畫面,每張圖像至少用于指示一個視角獲取到的一個畫面;從而利用上述圖像組生成對應的虛擬現(xiàn)實媒體文件。也就是說,獲取三維場景中的參考位置上用于呈現(xiàn)三維畫面的圖像組,其中,一組圖像組中包括三維場景中在預定時刻從多個視角獲取到的多個畫面,以生成呈現(xiàn)三維場景中三維效果的虛擬現(xiàn)實媒體文件,從而達到豐富所播放的虛擬現(xiàn)實媒體文件的播放內(nèi)容的目的,使得播放虛擬現(xiàn)實媒體文件的一方可以從多個視角看到參考位置上的三維畫面,進而實現(xiàn)對虛擬現(xiàn)實媒體文件進行內(nèi)容擴展的效果。
可選地,在本實施例中,上述生成請求可以但不限于為使用第一賬號的第一客戶端發(fā)送的生成請求,所請求的虛擬現(xiàn)實媒體文件可以但不限于與第一賬號具有關聯(lián)關系,例如,上述與虛擬現(xiàn)實媒體文件匹配的位置參考標識所指示的位置可以包括但不限于:三維場景中第一賬號所使用的虛擬人物角色所在的位置、三維場景中的固定預設位置。上述僅是一種示例,本實施例中對此不做任何限定。
可選地,在本實施例中,在根據(jù)圖像組生成虛擬現(xiàn)實媒體文件之后,可以但不限于將虛擬現(xiàn)實媒體文件推送給第二賬號,以使第二賬號播放虛擬現(xiàn)實媒體文件,其中,第二賬號與第一賬號為關聯(lián)賬號。例如,第二賬號與第一賬號為互相關注的好友賬號,或者具有授權的關聯(lián)賬號,本實施例中對此不做任何限定。
需要說明的是,上述第二賬號可以但不限于為第一賬號所在應用中與第一賬號關聯(lián)的好友賬號,第二賬號通過播放第一賬號推送的虛擬現(xiàn)實媒體文件,其中,該虛擬現(xiàn)實媒體文件中包括基于參考位置上,從不同視角獲取到的不同畫面,以觀看第一賬號所在三維場景中的三維畫面。舉例來說,第一賬號與第二賬號所在應用可以為游戲應用,從而實現(xiàn)在應用內(nèi)共享虛擬現(xiàn)實媒體文件;此外,在本實施例中,上述第二賬號也可以但不限于為與第一賬號所在應用不同的應用中的賬號,兩種應用具有關聯(lián)關系,例如,第一賬號所在應用授權第二賬號所在應用播放上述虛擬現(xiàn)實媒體文件。舉例來說,第一賬號所在應用可以為游戲應用,第二賬號所在應用可以為播放應用,其中,游戲應用授權播放應用,允許播放應用播放所生成的虛擬現(xiàn)實媒體文件,從而實現(xiàn)跨平臺共享媒體數(shù)據(jù)。上述僅是一種示例,本實施例中對此不做任何限定。
可選地,在本實施例中,使用第二賬號的第二客戶端可以但不限于從虛擬現(xiàn)實媒體文件中獲取與第二客戶端的視角相匹配的畫面進行播放。也就是說,第二賬號受播放視角所限,將播放與視角相匹配的畫面。需要說明的是,隨著第二賬號播放視角的改變,所播放的畫面會隨之變化,可以實現(xiàn)遍歷虛擬現(xiàn)實媒體文件中從不同視角獲取到的不同畫面。
可選地,在本實施例中,響應生成請求按照預定策略獲取圖像組包括:
1)在生成請求指示所生成的虛擬現(xiàn)實媒體文件為媒體數(shù)據(jù)包的情況下,按照預定策略獲取在預定時間段內(nèi)的多組圖像組,其中,預定時間段的時長為虛擬現(xiàn)實媒體文件的播放時長;和/或
2)在生成請求指示所生成的虛擬現(xiàn)實媒體文件為媒體流的情況下,按照預定策略實時獲取圖像組。
需要說明的是,在本實施例中,上述虛擬現(xiàn)實媒體文件可以但不限于為媒體數(shù)據(jù)包,例如,上述虛擬現(xiàn)實媒體文件可以為預先生成的完整的視頻資源。通過獲取預定時間段內(nèi)的多組圖像組,以利用上述多組圖像組生成完整的視頻資源,從而實現(xiàn)在播放端通過播放請求獲取該視頻資源,以播放上述所生成的虛擬現(xiàn)實媒體文件;此外,在本實施例中,上述虛擬現(xiàn)實媒體文件也可以但不限于為媒體流,例如,上述虛擬現(xiàn)實媒體文件可以為流數(shù)據(jù)。通過實時獲取對應時刻的圖像組,以生成媒體流,從而實現(xiàn)在直播過程中直播上述所生成的虛擬現(xiàn)實媒體文件。
可選地,在本實施例中,上述預定策略可以包括但不限于以下至少之一:
1)單眼策略,以上述參考位置標識所指示的參考位置為參考中心,相對參考中心構建立方體;將在立方體的每個表面上獲取到的畫面,作為圖像組中的圖像,其中,立方體的一個表面對應一個視角。
也就是說,將一個參考位置作為參考中心,將以該參考位置為中心構建的立方體的六個表面上的畫面,作為圖像組中的六張圖像,從而實現(xiàn)基于上述圖像組生成三維場景中基于單眼的虛擬現(xiàn)實媒體文件。
2)雙眼策略,以上述參考位置標識所指示的參考位置為參考圓心,預定距離為參考半徑,獲取參考圓;在參考圓上均勻獲取多個采集點,其中,多個采集點的視野范圍覆蓋360度全景;在多個采集點中的每個采集點上分別獲取預定視野角度范圍內(nèi)的畫面,作為圖像組中的圖像,其中,一個采集點至少對應一個視角。
也就是說,以參考圓上的采集點作為左眼和右眼兩個眼睛的參考,將左眼分別在每個采集點上獲取到的預定視野角度范圍內(nèi)的畫面,與右眼分別在每個采集點上獲取到的預定視野角度范圍內(nèi)的畫面,以及位于參考圓上方的頂圖像及位于參考圓下方的底圖像,作為圖像組中的圖像,從而實現(xiàn)基于上述圖像組生成三維場景中基于雙眼的虛擬現(xiàn)實媒體文件。
可選地,在本實施例中,在多個采集點中的每個采集點上分別獲取預定視野角度范圍內(nèi)的畫面包括:按順時針方向旋轉,將在每個采集點上獲取到的預定視野角度范圍內(nèi)的畫面,作為第一圖像集中的圖像;并按逆時針方向旋轉,將在每個采集點上獲取到的預定視野角度范圍內(nèi)的畫面,作為第二圖像集中的圖像;根據(jù)第一圖像集和第二圖像集獲取圖像組。其中,上述多個采集點可以但不限于為參考圓上均勻分布的四個采集點,每個殘疾點的預定視野角度范圍可以但不限于大于等于90度。上述僅是一種示例,本實施例對此不做任何限定。
可選地,在本實施例中,通過重復執(zhí)行以下步驟,以獲取一組圖像組中的全部圖像;
s12,獲取當前視角中的畫面作為圖像組中的一張圖像;
s14,判斷是否獲取到圖像組中的全部圖像;
s16,在未獲取到圖像組中的全部圖像的情況下,調(diào)整視角,以獲取下一個視角中的畫面作為圖像組中的下一張圖像。
需要說明的是,在本實施例中可以但不限于自動切換視角,以獲取不同視角上的畫面作為圖像組中的圖像,在獲取一組圖像組中的全部圖像后,可以推送至播放端進行播放。
具體結合以下示例進行說明,重復執(zhí)行以下步驟,以生成可以呈現(xiàn)三維場景中三維效果的vr虛擬現(xiàn)實媒體文件:
(1)獲取鼠標和/或鍵盤操作,屏蔽鼠標和/或鍵盤操作所生成的鼠標鍵盤事件。例如,對應輸入源為窗口消息、directxinput等。由于視角改變時,屏幕上2d到3d的映射被改變了,這個時候響應鼠標和/或鍵盤操作所生成的鼠標鍵盤事件,會發(fā)生非預期的行為,因而,在本實施例中,將攔截屏蔽用戶操作的消息、或者在當前周期里主動不獲取用戶操作的消息。
(2)修改調(diào)整視角。根據(jù)當前策略是需要生成基于單眼的虛擬現(xiàn)實媒體文件,還是基于雙眼的虛擬現(xiàn)實媒體文件,在當前周期里必須不斷的修改當前視角,例如,基于單眼的虛擬現(xiàn)實媒體文件將分別調(diào)整獲取指定位置(如參考位置)的前、右、后、左、上、下,六個視角對應的視圖畫面,每個視角的視野角度分別可以但不限于為90度;或者,基于雙眼的虛擬現(xiàn)實媒體文件將分別調(diào)整獲取指定位置(如參考位置)前方向左看、前方向右看、右方向左看、右方向右看、后方向左看、后方向右看、左方向左看、左方向右看、上、下,每個視角的視野角度可以但不限于為100度。這樣,獲取到的圖像組將可以覆蓋基于參考位置的整個3d世界的畫面。找到設置視角的地方,在本實施例中,可以但不限于主動通過directx的接口如d3dxmatrixlookatlh、d3dxmatrixperspectivefovlh、settransform等進行修改,或者游戲提供接口幫助修改。
(3)屏蔽2d內(nèi)容的繪制。其中,2d內(nèi)容可能會包括:提示信息、聊天信息等等。在本實施例中,可以但不限于通過2d渲染的入口進行屏蔽,或者在當前周期里不渲染2d元素。
(4)獲取游戲3d部分對應投影成的2d圖像,不渲染到屏幕。在調(diào)用類似directxendscene接口之后就可以生成對應的2d圖像,通過類似lock接口就可以把圖像數(shù)據(jù)取出來。但這些畫面不顯示到屏幕上,通過屏蔽present等方法可以做到。
(5)在本實施例中可以但不限于采用兩種策略獲取用于生成虛擬現(xiàn)實媒體文件,其中,單眼策略將生成基于立方體的一組六張的圖像組,以生成虛擬現(xiàn)實媒體文件,雙眼策略將生成一組10張的圖像組。在本實施例中,可以但不限于截取中間部分的正方形,再將所有的圖拼成一張大圖。以此也可以匹配各種分辨率問題。其中,一組10張的圖像組還可以但不限于轉換融合成2張分別用于左眼和右眼觀看的全景圖像。
(6)將圖像組發(fā)送到視頻編碼器里,生成對應的視頻幀,進而得到最終所要播放的虛擬現(xiàn)實文件。虛擬現(xiàn)實文件可以但不限于采用開源解決方案ffmpeg。
通過本申請?zhí)峁┑膶嵤├?,獲取用于呈現(xiàn)三維場景中在參考位置上的三維畫面的圖像組,其中,一組圖像組中包括在預定時刻從多個視角獲取到的多個畫面,以生成三維場景中可以呈現(xiàn)三維效果的虛擬現(xiàn)實媒體文件,從而達到豐富所播放的虛擬現(xiàn)實媒體文件的播放內(nèi)容的目的,使得播放虛擬現(xiàn)實媒體文件的一方可以從多個視角看到參考位置上的三維畫面,進而實現(xiàn)對虛擬現(xiàn)實媒體文件進行內(nèi)容擴展的效果。
作為一種可選的方案,響應生成請求按照預定策略獲取圖像組包括:
s1,以參考位置為參考中心,相對參考中心構建立方體;
s2,將在立方體的每個表面上獲取到的畫面,作為圖像組中的圖像,其中,立方體的一個表面對應一個視角。
具體結合圖3所示進行說明,例如,參考位置以圖3所示立方體中心位置為例,相對該參考中心構建立方體之后,可以但不限于將在立方體的每個表面上獲取到的畫面,如六個表面上的六個畫面,作為圖像組中的六張圖像,其中,立方體的一個表面對應一個視角。也就是說,將一個表面上的畫面作為一個視角的畫面,作為獲取到的圖像組中的一張圖像。
通過本申請?zhí)峁┑膶嵤├?,通過以參考位置為參考中心,相對參考中心構建立方體,從而實現(xiàn)將在立方體的每個表面上獲取到的畫面,作為圖像組中的圖像,以生成基于一個參考位置的虛擬現(xiàn)實媒體文件,從而達到豐富媒體文件的文件內(nèi)容的效果。
作為一種可選的方案,響應生成請求按照預定策略獲取圖像組包括:
s1,以參考位置為參考圓心,預定距離為參考半徑,獲取參考圓;
s2,在參考圓上均勻獲取多個采集點,其中,多個采集點的視野范圍覆蓋360度全景;
s3,在多個采集點中的每個采集點上分別獲取預定視野角度范圍內(nèi)的畫面,作為圖像組中的圖像,其中,一個采集點至少對應一個視角。
具體結合圖4所示進行說明,假設參考位置以o為參考圓心,預定距離r為參考半徑,獲取參考圓,并在參考圓上均勻獲取四個采集點,如圖4所示,分別為采集點a、采集點b、采集點c及采集點d,其中每個采集點的視野范圍可以但不限于為大于等于90度,以90度為例。在多個采集點中的每個采集點上分別獲取90度視野范圍內(nèi)的畫面。也就是說,將一個采集點采集的畫面作為一個視角的畫面,作為獲取到的圖像組中的一張圖像。
例如,假定左眼在a點上,看向a’,得到一個90度的視野成像p1。然后以o為中心點移動左眼到b點上,看向b’,得到一個90度的視野成像p2。合并p1和p2得到p,p將作為左眼從a點移動到b點這個過程中看到的圖像,然后,移動至c點看向c`,移動至d點看向d`,就可以得到一張左眼旋轉360度看到的全景圖像。進一步,以a、b、c、d逆時針方向取圖,可以得到右眼的360度看到的全景圖像。
例如,以圖5所示為例,左眼在a點上看向e’點,右眼在b點上看向e’點,通過雙眼疊加觀看,則可以得到雙眼在三維場景中的三維成像效果。
通過本申請?zhí)峁┑膶嵤├ㄒ詤⒖嘉恢脼閰⒖紙A心,預定距離為參考半徑,獲取參考圓,從而實現(xiàn)將在參考圓上多個采集點獲取到的畫面,作為圖像組中的圖像,以實現(xiàn)基于多個采集點生成更加準確的虛擬現(xiàn)實媒體文件,從而達到豐富媒體文件的文件內(nèi)容的效果。
作為一種可選的方案,在多個采集點中的每個采集點上分別獲取預定視野角度范圍內(nèi)的畫面包括:
s1,按順時針方向旋轉,將在每個采集點上獲取到的預定視野角度范圍內(nèi)的畫面,作為第一圖像集中的圖像;并按逆時針方向旋轉,將在每個采集點上獲取到的預定視野角度范圍內(nèi)的畫面,作為第二圖像集中的圖像;
s2,根據(jù)第一圖像集和第二圖像集獲取圖像組。
可選地,在本實施例中,根據(jù)第一圖像集和第二圖像集獲取圖像組包括:對第一圖像集中兩兩相鄰的兩張圖像執(zhí)行圖像融合處理,并對第二圖像集中兩兩相鄰的兩張圖像執(zhí)行圖像融合處理,其中,預定視野角度范圍為大于等于90度。
需要說明的是,在a看向a’,b看向b’的圖像時,因為是在不同位置看的成像,實際貼合的時候,兩兩相鄰的兩張圖像將會存在一點的誤差。為了減小誤差,在本實施例中,可以但不限于將視野角度范圍從90度調(diào)整到100度,并基于圖像融合算法可以把過度區(qū)域做的更平滑。
可選地,在本實施例中,根據(jù)第一圖像集和第二圖像集獲取圖像組包括:將第一圖像集中的圖像合并為第一全景圖像,并將第二圖像集中的圖像合并為第二全景圖像,其中,圖像組包括第一全景圖像及第二全景圖像。
具體結合圖6所示進行說明,假設第一圖像集為基于左眼采集到的圖像,第二圖像集為基于右眼采集到的圖像,在本實施例中,可以但不限于在服務器中將第一圖像集中的圖像合并得到第一全景圖像,如圖6上方所示全景圖像,將第二圖像集中的圖像合并得到第二全景圖像,如圖6下方所示全景圖像。將上述第一全景圖像及第二全景圖像作為圖像組中的部分圖像,以生成包含三維畫面的虛擬現(xiàn)實媒體文件。從而實現(xiàn)在成像過程中,左眼觀看第一全景圖像,右眼觀看第二全景圖像,以達到在三維場景中播放虛擬現(xiàn)實媒體文件的過程中,可以獲取的更多虛擬現(xiàn)實媒體文件內(nèi)容。
可選地,在本實施例中,圖像組還包括:位于參考圓上方的頂圖像及位于參考圓下方的底圖像。
具體結合圖7所示進行說明,假設仍以在參考圓上的四個采集點為例,雙眼分別在四個采集點獲取畫面作為圖像組中的圖像,例如,在四個采集點順時針旋轉,以獲取左眼的四個視圖畫面,如圖7左側所示,左眼的前視圖、左視圖、后視圖及右視圖;在四個采集點逆時針旋轉,以獲取右眼的四個視圖畫面,如圖7右側所示,右眼的前視圖、左視圖、后視圖及右視圖。進一步,再獲取位于參考圓上方的頂圖像及位于參考圓下方的底圖像,從而實現(xiàn)獲取基于雙眼的十張圖像作為一組圖像組。
通過本申請?zhí)峁┑膶嵤├?,通過分別獲取與左右眼對應的第一圖像集和第二圖像集,以生成基于雙眼的虛擬現(xiàn)實媒體文件,并通過對第一圖像和第二圖像集進行進一步的融合合并處理,以使得所生成的虛擬現(xiàn)實媒體文件更加準確真實。
作為一種可選的方案,上述獲取生成請求包括:獲取使用第一賬號的第一客戶端發(fā)送的生成請求;在根據(jù)圖像組生成虛擬現(xiàn)實媒體文件之后,還包括:將虛擬現(xiàn)實媒體文件推送給第二賬號,以使第二賬號播放虛擬現(xiàn)實媒體文件,其中,第二賬號與第一賬號為關聯(lián)賬號。
可選地,在將虛擬現(xiàn)實媒體文件推送給第二賬號之后,還包括:使用第二賬號的第二客戶端獲取虛擬現(xiàn)實媒體文件;第二客戶端從虛擬現(xiàn)實媒體文件中獲取與第二客戶端的視角相匹配的畫面進行播放。
需要說明的是,上述第二賬號可以但不限于為第一賬號所在應用中與第一賬號關聯(lián)的好友賬號,第二賬號通過播放第一賬號推送的虛擬現(xiàn)實媒體文件,其中,該虛擬現(xiàn)實媒體文件中包括基于參考位置上,從不同視角獲取到的不同畫面,以觀看第一賬號所在三維場景中的三維畫面。舉例來說,第一賬號與第二賬號所在應用可以為游戲應用,從而實現(xiàn)在應用內(nèi)共享虛擬現(xiàn)實媒體文件;此外,在本實施例中,上述第二賬號也可以但不限于為與第一賬號所在應用不同的應用中的賬號,兩種應用具有關聯(lián)關系,例如,第一賬號所在應用授權第二賬號所在應用播放上述虛擬現(xiàn)實媒體文件。舉例來說,第一賬號所在應用可以為游戲應用,第二賬號所在應用可以為播放應用,其中,游戲應用授權播放應用,允許播放應用播放所生成的虛擬現(xiàn)實媒體文件,從而實現(xiàn)跨平臺共享媒體數(shù)據(jù)。上述僅是一種示例,本實施例中對此不做任何限定。
可選地,在本實施例中,使用第二賬號的第二客戶端可以但不限于從虛擬現(xiàn)實媒體文件中獲取與第二客戶端的視角相匹配的畫面進行播放。也就是說,第二賬號受播放視角所限,將播放與視角相匹配的畫面。需要說明的是,隨著第二賬號播放視角的改變,所播放的畫面會隨之變化,可以實現(xiàn)遍歷虛擬現(xiàn)實媒體文件中從不同視角獲取到的不同畫面。
通過本申請?zhí)峁┑膶嵤├?,第二賬號可以通過第二客戶端獲取第一賬號推送的虛擬現(xiàn)實媒體文件,從而實現(xiàn)媒體數(shù)據(jù)的共享,此外,第二賬號通過第二客戶端可以觀看到第一賬號在三維場景中的虛擬現(xiàn)實媒體文件,將吸引更多的用戶參與,提高了應用的關注度。
需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到根據(jù)上述實施例的方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術方案本質(zhì)上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如rom/ram、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。
實施例2
根據(jù)本發(fā)明實施例,還提供了一種用于實施上述的基于虛擬現(xiàn)實場景的虛擬現(xiàn)實媒體文件生成方法的基于虛擬現(xiàn)實場景的虛擬現(xiàn)實媒體文件生成裝置,如圖8所示,該裝置包括:
1)第一獲取單元802,用于獲取生成請求,其中,生成請求用于請求生成虛擬現(xiàn)實媒體文件,生成請求中攜帶有與虛擬現(xiàn)實媒體文件匹配的位置參考標識;
2)第二獲取單元804,用于響應生成請求按照預定策略獲取圖像組,其中,一組圖像組用于指示三維場景中在預定時刻在位置參考標識所指示的參考位置上,從多個視角獲取到的多個畫面,每張圖像至少用于指示一個視角獲取到的一個畫面;
3)生成單元806,用于根據(jù)圖像組生成虛擬現(xiàn)實媒體文件。
可選地,在本實施例中,上述虛擬現(xiàn)實媒體文件生成裝置可以但不限于應用于不同具備虛擬現(xiàn)實場景的應用中,且該應用可以提供三維畫面素材。例如,上述應用可以包括但不限于:游戲應用、購物應用等。例如,上述基于虛擬現(xiàn)實場景的虛擬現(xiàn)實媒體文件生成方法可以但不限于應用于具有虛擬現(xiàn)實場景的游戲應用中,采集游戲應用的三維場景中參考位置上的三維畫面素材(如圖像組),以生成呈現(xiàn)三維效果的虛擬現(xiàn)實媒體文件的過程中,也就是說,可以錄制三維場景中呈現(xiàn)三維效果的游戲視頻)。上述僅是一種示例,本實施例中對此不做任何限定。
需要說明的是,在獲取到生成請求后,其中,生成請求中攜帶有與虛擬現(xiàn)實媒體文件匹配的位置參考標識,按照預定策略獲取用于生成虛擬現(xiàn)實媒體文件的圖像組,其中,一組該圖像組用于指示三維場景中在預定時刻在位置參考標識所指示的參考位置上,從多個視角獲取到的多個畫面,每張圖像至少用于指示一個視角獲取到的一個畫面;從而利用上述圖像組生成對應的虛擬現(xiàn)實媒體文件。也就是說,獲取三維場景中的參考位置上用于呈現(xiàn)三維畫面的圖像組,其中,一組圖像組中包括三維場景中在預定時刻從多個視角獲取到的多個畫面,以生成呈現(xiàn)三維場景中三維效果的虛擬現(xiàn)實媒體文件,從而達到豐富所播放的虛擬現(xiàn)實媒體文件的播放內(nèi)容的目的,使得播放虛擬現(xiàn)實媒體文件的一方可以從多個視角看到參考位置上的三維畫面,進而實現(xiàn)對虛擬現(xiàn)實媒體文件進行內(nèi)容擴展的效果。
可選地,在本實施例中,上述生成請求可以但不限于為使用第一賬號的第一客戶端發(fā)送的生成請求,所請求的虛擬現(xiàn)實媒體文件可以但不限于與第一賬號具有關聯(lián)關系,例如,上述與虛擬現(xiàn)實媒體文件匹配的位置參考標識所指示的位置可以包括但不限于:三維場景中第一賬號所使用的虛擬人物角色所在的位置、三維場景中的固定預設位置。上述僅是一種示例,本實施例中對此不做任何限定。
可選地,在本實施例中,還包括:推送單元,用于在根據(jù)圖像組生成虛擬現(xiàn)實媒體文件之后,將虛擬現(xiàn)實媒體文件推送給第二賬號,以使第二賬號播放虛擬現(xiàn)實媒體文件,其中,第二賬號與第一賬號為關聯(lián)賬號。例如,第二賬號與第一賬號為互相關注的好友賬號,或者具有授權的關聯(lián)賬號,本實施例中對此不做任何限定。
需要說明的是,上述第二賬號可以但不限于為第一賬號所在應用中與第一賬號關聯(lián)的好友賬號,第二賬號通過播放第一賬號推送的虛擬現(xiàn)實媒體文件,其中,該虛擬現(xiàn)實媒體文件中包括基于參考位置上,從不同視角獲取到的不同畫面,以觀看第一賬號所在三維場景中的三維畫面。舉例來說,第一賬號與第二賬號所在應用可以為游戲應用,從而實現(xiàn)在應用內(nèi)共享虛擬現(xiàn)實媒體文件;此外,在本實施例中,上述第二賬號也可以但不限于為與第一賬號所在應用不同的應用中的賬號,兩種應用具有關聯(lián)關系,例如,第一賬號所在應用授權第二賬號所在應用播放上述虛擬現(xiàn)實媒體文件。舉例來說,第一賬號所在應用可以為游戲應用,第二賬號所在應用可以為播放應用,其中,游戲應用授權播放應用,允許播放應用播放所生成的虛擬現(xiàn)實媒體文件,從而實現(xiàn)跨平臺共享媒體數(shù)據(jù)。上述僅是一種示例,本實施例中對此不做任何限定。
可選地,在本實施例中,使用第二賬號的第二客戶端可以但不限于從虛擬現(xiàn)實媒體文件中獲取與第二客戶端的視角相匹配的畫面進行播放。也就是說,第二賬號受播放視角所限,將播放與視角相匹配的畫面。需要說明的是,隨著第二賬號播放視角的改變,所播放的畫面會隨之變化,可以實現(xiàn)遍歷虛擬現(xiàn)實媒體文件中從不同視角獲取到的不同畫面。
可選地,在本實施例中,響應生成請求按照預定策略獲取圖像組包括:
1)在生成請求指示所生成的虛擬現(xiàn)實媒體文件為媒體數(shù)據(jù)包的情況下,按照預定策略獲取在預定時間段內(nèi)的多組圖像組,其中,預定時間段的時長為虛擬現(xiàn)實媒體文件的播放時長;和/或
2)在生成請求指示所生成的虛擬現(xiàn)實媒體文件為媒體流的情況下,按照預定策略實時獲取圖像組。
需要說明的是,在本實施例中,上述虛擬現(xiàn)實媒體文件可以但不限于為媒體數(shù)據(jù)包,例如,上述虛擬現(xiàn)實媒體文件可以為預先生成的完整的視頻資源。通過獲取預定時間段內(nèi)的多組圖像組,以利用上述多組圖像組生成完整的視頻資源,從而實現(xiàn)在播放端通過播放請求獲取該視頻資源,以播放上述所生成的虛擬現(xiàn)實媒體文件;此外,在本實施例中,上述虛擬現(xiàn)實媒體文件也可以但不限于為媒體流,例如,上述虛擬現(xiàn)實媒體文件可以為流數(shù)據(jù)。通過實時獲取對應時刻的圖像組,以生成媒體流,從而實現(xiàn)在直播過程中直播上述所生成的虛擬現(xiàn)實媒體文件。
可選地,在本實施例中,上述預定策略可以包括但不限于以下至少之一:
1)單眼策略,以上述參考位置標識所指示的參考位置為參考中心,相對參考中心構建立方體;將在立方體的每個表面上獲取到的畫面,作為圖像組中的圖像,其中,立方體的一個表面對應一個視角。
也就是說,將一個參考位置作為參考中心,將以該參考位置為中心構建的立方體的六個表面上的畫面,作為圖像組中的六張圖像,從而實現(xiàn)基于上述圖像組生成三維場景中基于單眼的虛擬現(xiàn)實媒體文件。
2)雙眼策略,以上述參考位置標識所指示的參考位置為參考圓心,預定距離為參考半徑,獲取參考圓;在參考圓上均勻獲取多個采集點,其中,多個采集點的視野范圍覆蓋360度全景;在多個采集點中的每個采集點上分別獲取預定視野角度范圍內(nèi)的畫面,作為圖像組中的圖像,其中,一個采集點至少對應一個視角。
也就是說,以參考圓上的采集點作為左眼和右眼兩個眼睛的參考,將左眼分別在每個采集點上獲取到的預定視野角度范圍內(nèi)的畫面,與右眼分別在每個采集點上獲取到的預定視野角度范圍內(nèi)的畫面,以及位于參考圓上方的頂圖像及位于參考圓下方的底圖像,作為圖像組中的圖像,從而實現(xiàn)基于上述圖像組生成三維場景中基于雙眼的虛擬現(xiàn)實媒體文件。
可選地,在本實施例中,在多個采集點中的每個采集點上分別獲取預定視野角度范圍內(nèi)的畫面包括:按順時針方向旋轉,將在每個采集點上獲取到的預定視野角度范圍內(nèi)的畫面,作為第一圖像集中的圖像;并按逆時針方向旋轉,將在每個采集點上獲取到的預定視野角度范圍內(nèi)的畫面,作為第二圖像集中的圖像;根據(jù)第一圖像集和第二圖像集獲取圖像組。其中,上述多個采集點可以但不限于為參考圓上均勻分布的四個采集點,每個殘疾點的預定視野角度范圍可以但不限于大于等于90度。上述僅是一種示例,本實施例對此不做任何限定。
可選地,在本實施例中,第二獲取單元804包括:處理模塊,用于通過重復執(zhí)行以下步驟,以獲取一組圖像組中的全部圖像;
s1,獲取當前視角中的畫面作為圖像組中的一張圖像;
s2,判斷是否獲取到圖像組中的全部圖像;
s3,在未獲取到圖像組中的全部圖像的情況下,調(diào)整視角,以獲取下一個視角中的畫面作為圖像組中的下一張圖像。
需要說明的是,在本實施例中可以但不限于自動切換視角,以獲取不同視角上的畫面作為圖像組中的圖像,在獲取一組圖像組中的全部圖像后,可以推送至播放端進行播放。
具體結合以下示例進行說明,重復執(zhí)行以下步驟,以生成可以呈現(xiàn)三維場景中三維效果的vr虛擬現(xiàn)實媒體文件:
(1)獲取鼠標和/或鍵盤操作,屏蔽鼠標和/或鍵盤操作所生成的鼠標鍵盤事件。例如,對應輸入源為窗口消息、directxinput等。由于視角改變時,屏幕上2d到3d的映射被改變了,這個時候響應鼠標和/或鍵盤操作所生成的鼠標鍵盤事件,會發(fā)生非預期的行為,因而,在本實施例中,將攔截屏蔽用戶操作的消息、或者在當前周期里主動不獲取用戶操作的消息。
(2)修改調(diào)整視角。根據(jù)當前策略是需要生成基于單眼的虛擬現(xiàn)實媒體文件,還是基于雙眼的虛擬現(xiàn)實媒體文件,在當前周期里必須不斷的修改當前視角,例如,基于單眼的虛擬現(xiàn)實媒體文件將分別調(diào)整獲取指定位置(如參考位置)的前、右、后、左、上、下,六個視角對應的視圖畫面,每個視角的視野角度分別可以但不限于為90度;或者,基于雙眼的虛擬現(xiàn)實媒體文件將分別調(diào)整獲取指定位置(如參考位置)前方向左看、前方向右看、右方向左看、右方向右看、后方向左看、后方向右看、左方向左看、左方向右看、上、下,每個視角的視野角度可以但不限于為100度。這樣,獲取到的圖像組將可以覆蓋基于參考位置的整個3d世界的畫面。找到設置視角的地方,在本實施例中,可以但不限于主動通過directx的接口如d3dxmatrixlookatlh、d3dxmatrixperspectivefovlh、settransform等進行修改,或者游戲提供接口幫助修改。
(3)屏蔽2d內(nèi)容的繪制。其中,2d內(nèi)容可能會包括:提示信息、聊天信息等等。在本實施例中,可以但不限于通過2d渲染的入口進行屏蔽,或者在當前周期里不渲染2d元素。
(4)獲取游戲3d部分對應投影成的2d圖像,不渲染到屏幕。在調(diào)用類似directxendscene接口之后就可以生成對應的2d圖像,通過類似lock接口就可以把圖像數(shù)據(jù)取出來。但這些畫面不顯示到屏幕上,通過屏蔽present等方法可以做到。
(5)在本實施例中可以但不限于采用兩種策略獲取用于生成虛擬現(xiàn)實媒體文件,其中,單眼策略將生成基于立方體的一組六張的圖像組,以生成虛擬現(xiàn)實媒體文件,雙眼策略將生成一組10張的圖像組。在本實施例中,可以但不限于截取中間部分的正方形,再將所有的圖拼成一張大圖。以此也可以匹配各種分辨率問題。其中,一組10張的圖像組還可以但不限于轉換融合成2張分別用于左眼和右眼觀看的全景圖像。
(6)將圖像組發(fā)送到視頻編碼器里,生成對應的視頻幀,進而得到最終所要播放的虛擬現(xiàn)實文件。虛擬現(xiàn)實文件可以但不限于采用開源解決方案ffmpeg。
通過本申請?zhí)峁┑膶嵤├?,獲取用于呈現(xiàn)三維場景中在參考位置上的三維畫面的圖像組,其中,一組圖像組中包括在預定時刻從多個視角獲取到的多個畫面,以生成三維場景中可以呈現(xiàn)三維效果的虛擬現(xiàn)實媒體文件,從而達到豐富所播放的虛擬現(xiàn)實媒體文件的播放內(nèi)容的目的,使得播放虛擬現(xiàn)實媒體文件的一方可以從多個視角看到參考位置上的三維畫面,進而實現(xiàn)對虛擬現(xiàn)實媒體文件進行內(nèi)容擴展的效果。
作為一種可選的方案,第二獲取單元804包括:
1)第一獲取模塊,用于在生成請求指示所生成的虛擬現(xiàn)實媒體文件為媒體數(shù)據(jù)包的情況下,按照預定策略獲取在預定時間段內(nèi)的多組圖像組,其中,預定時間段的時長為虛擬現(xiàn)實媒體文件的播放時長;和/或
2)第二獲取模塊,用于在生成請求指示所生成的虛擬現(xiàn)實媒體文件為媒體流的情況下,按照預定策略實時獲取圖像組。
具體結合圖3所示進行說明,例如,參考位置以圖3所示立方體中心位置為例,相對該參考中心構建立方體之后,可以但不限于將在立方體的每個表面上獲取到的畫面,如六個表面上的六個畫面,作為圖像組中的六張圖像,其中,立方體的一個表面對應一個視角。也就是說,將一個表面上的畫面作為一個視角的畫面,作為獲取到的圖像組中的一張圖像。
通過本申請?zhí)峁┑膶嵤├ㄟ^以參考位置為參考中心,相對參考中心構建立方體,從而實現(xiàn)將在立方體的每個表面上獲取到的畫面,作為圖像組中的圖像,以生成基于一個參考位置的虛擬現(xiàn)實媒體文件,從而達到豐富媒體文件的文件內(nèi)容的效果。
作為一種可選的方案,第二獲取單元804包括:
1)構建模塊,用于以參考位置為參考中心,相對參考中心構建立方體;
2)第三獲取模塊,用于將在立方體的每個表面上獲取到的畫面,作為圖像組中的圖像,其中,立方體的一個表面對應一個視角。
具體結合圖4所示進行說明,假設參考位置以o為參考圓心,預定距離r為參考半徑,獲取參考圓,并在參考圓上均勻獲取四個采集點,如圖4所示,分別為采集點a、采集點b、采集點c及采集點d,其中每個采集點的視野范圍可以但不限于為大于等于90度,以90度為例。在多個采集點中的每個采集點上分別獲取90度視野范圍內(nèi)的畫面。也就是說,將一個采集點采集的畫面作為一個視角的畫面,作為獲取到的圖像組中的一張圖像。
例如,假定左眼在a點上,看向a’,得到一個90度的視野成像p1。然后以o為中心點移動左眼到b點上,看向b’,得到一個90度的視野成像p2。合并p1和p2得到p,p將作為左眼從a點移動到b點這個過程中看到的圖像,然后,移動至c點看向c`,移動至d點看向d`,就可以得到一張左眼旋轉360度看到的全景圖像。進一步,以a、b、c、d逆時針方向取圖,可以得到右眼的360度看到的全景圖像。
例如,以圖5所示為例,左眼在a點上看向e’點,右眼在b點上看向e’點,通過雙眼疊加觀看,則可以得到雙眼在三維場景中的三維成像效果。
通過本申請?zhí)峁┑膶嵤├?,通以參考位置為參考圓心,預定距離為參考半徑,獲取參考圓,從而實現(xiàn)將在參考圓上多個采集點獲取到的畫面,作為圖像組中的圖像,以實現(xiàn)基于多個采集點生成更加準確的虛擬現(xiàn)實媒體文件,從而達到豐富媒體文件的文件內(nèi)容的效果。
作為一種可選的方案,第二獲取單元804包括:
1)第四獲取模塊,用于以參考位置為參考圓心,預定距離為參考半徑,獲取參考圓;
2)第五獲取模塊,用于在參考圓上均勻獲取多個采集點,其中,多個采集點的視野范圍覆蓋360度全景;
3)第六獲取模塊,用于在多個采集點中的每個采集點上分別獲取預定視野角度范圍內(nèi)的畫面,作為圖像組中的圖像,其中,一個采集點至少對應一個視角。
可選地,在本實施例中,第六獲取模塊包括:
(1)第一獲取子模塊,用于按順時針方向旋轉,將在每個采集點上獲取到的預定視野角度范圍內(nèi)的畫面,作為第一圖像集中的圖像;并按逆時針方向旋轉,將在每個采集點上獲取到的預定視野角度范圍內(nèi)的畫面,作為第二圖像集中的圖像;
(2)第二獲取子模塊,用于根據(jù)第一圖像集和第二圖像集獲取圖像組。
可選地,在本實施例中,第二獲取子模塊通過以下步驟實現(xiàn)根據(jù)第一圖像集和第二圖像集獲取圖像組:對第一圖像集中兩兩相鄰的兩張圖像執(zhí)行圖像融合處理,并對第二圖像集中兩兩相鄰的兩張圖像執(zhí)行圖像融合處理,其中,預定視野角度范圍為大于等于90度。
需要說明的是,在a看向a’,b看向b’的圖像時,因為是在不同位置看的成像,實際貼合的時候,兩兩相鄰的兩張圖像將會存在一點的誤差。為了減小誤差,在本實施例中,可以但不限于將視野角度范圍從90度調(diào)整到100度,并基于圖像融合算法可以把過度區(qū)域做的更平滑。
可選地,在本實施例中,第二獲取子模塊通過以下步驟實現(xiàn)根據(jù)第一圖像集和第二圖像集獲取圖像組:將第一圖像集中的圖像合并為第一全景圖像,并將第二圖像集中的圖像合并為第二全景圖像,其中,圖像組包括第一全景圖像及第二全景圖像。
具體結合圖6所示進行說明,假設第一圖像集為基于左眼采集到的圖像,第二圖像集為基于右眼采集到的圖像,在本實施例中,可以但不限于在服務器中將第一圖像集中的圖像合并得到第一全景圖像,如圖6上方所示全景圖像,將第二圖像集中的圖像合并得到第二全景圖像,如圖6下方所示全景圖像。將上述第一全景圖像及第二全景圖像作為圖像組中的部分圖像,以生成包含三維畫面的虛擬現(xiàn)實媒體文件。從而實現(xiàn)在成像過程中,左眼觀看第一全景圖像,右眼觀看第二全景圖像,以達到在三維場景中播放虛擬現(xiàn)實媒體文件的過程中,可以獲取的更多虛擬現(xiàn)實媒體文件內(nèi)容。
可選地,在本實施例中,圖像組還包括:位于參考圓上方的頂圖像及位于參考圓下方的底圖像。
具體結合圖7所示進行說明,假設仍以在參考圓上的四個采集點為例,雙眼分別在四個采集點獲取畫面作為圖像組中的圖像,例如,在四個采集點順時針旋轉,以獲取左眼的四個視圖畫面,如圖7左側所示,左眼的前視圖、左視圖、后視圖及右視圖;在四個采集點逆時針旋轉,以獲取右眼的四個視圖畫面,如圖7右側所示,右眼的前視圖、左視圖、后視圖及右視圖。進一步,再獲取位于參考圓上方的頂圖像及位于參考圓下方的底圖像,從而實現(xiàn)獲取基于雙眼的十張圖像作為一組圖像組。
通過本申請?zhí)峁┑膶嵤├ㄟ^分別獲取與左右眼對應的第一圖像集和第二圖像集,以生成基于雙眼的虛擬現(xiàn)實媒體文件,并通過對第一圖像和第二圖像集進行進一步的融合合并處理,以使得所生成的虛擬現(xiàn)實媒體文件更加準確真實。
作為一種可選的方案,第一獲取單元包括:第七獲取模塊,用于獲取使用第一賬號的第一客戶端發(fā)送的生成請求;推送單元,用于在根據(jù)圖像組生成虛擬現(xiàn)實媒體文件之后,將虛擬現(xiàn)實媒體文件推送給第二賬號,以使第二賬號播放虛擬現(xiàn)實媒體文件。。
可選地,在將虛擬現(xiàn)實媒體文件推送給第二賬號之后,還包括:使用第二賬號的第二客戶端獲取虛擬現(xiàn)實媒體文件;第二客戶端從虛擬現(xiàn)實媒體文件中獲取與第二客戶端的視角相匹配的畫面進行播放。
需要說明的是,上述第二賬號可以但不限于為第一賬號所在應用中與第一賬號關聯(lián)的好友賬號,第二賬號通過播放第一賬號推送的虛擬現(xiàn)實媒體文件,其中,該虛擬現(xiàn)實媒體文件中包括基于參考位置上,從不同視角獲取到的不同畫面,以觀看第一賬號所在三維場景中的三維畫面。舉例來說,第一賬號與第二賬號所在應用可以為游戲應用,從而實現(xiàn)在應用內(nèi)共享虛擬現(xiàn)實媒體文件;此外,在本實施例中,上述第二賬號也可以但不限于為與第一賬號所在應用不同的應用中的賬號,兩種應用具有關聯(lián)關系,例如,第一賬號所在應用授權第二賬號所在應用播放上述虛擬現(xiàn)實媒體文件。舉例來說,第一賬號所在應用可以為游戲應用,第二賬號所在應用可以為播放應用,其中,游戲應用授權播放應用,允許播放應用播放所生成的虛擬現(xiàn)實媒體文件,從而實現(xiàn)跨平臺共享媒體數(shù)據(jù)。上述僅是一種示例,本實施例中對此不做任何限定。
可選地,在本實施例中,使用第二賬號的第二客戶端可以但不限于從虛擬現(xiàn)實媒體文件中獲取與第二客戶端的視角相匹配的畫面進行播放。也就是說,第二賬號受播放視角所限,將播放與視角相匹配的畫面。需要說明的是,隨著第二賬號播放視角的改變,所播放的畫面會隨之變化,可以實現(xiàn)遍歷虛擬現(xiàn)實媒體文件中從不同視角獲取到的不同畫面。
通過本申請?zhí)峁┑膶嵤├?,第二賬號可以通過第二客戶端獲取第一賬號推送的虛擬現(xiàn)實媒體文件,從而實現(xiàn)媒體數(shù)據(jù)的共享,此外,第二賬號通過第二客戶端可以觀看到第一賬號在三維場景中的虛擬現(xiàn)實媒體文件,將吸引更多的用戶參與,提高了應用的關注度。
實施例3
根據(jù)本發(fā)明實施例,還提供了一種用于實施上述基于虛擬現(xiàn)實場景的虛擬現(xiàn)實媒體文件生成方法的基于虛擬現(xiàn)實場景的虛擬現(xiàn)實媒體文件生成服務器,如圖9所示,該服務器包括:
1)通訊接口902,設置為獲取生成請求,其中,生成請求用于請求生成虛擬現(xiàn)實媒體文件,生成請求中攜帶有與虛擬現(xiàn)實媒體文件匹配的位置參考標識;
2)處理器904,與通訊接口902連接,設置為響應生成請求按照預定策略獲取圖像組,其中,一組圖像組用于指示三維場景中在預定時刻在位置參考標識所指示的參考位置上,從多個視角獲取到的多個畫面,每張圖像至少用于指示一個視角獲取到的一個畫面;還設置為根據(jù)圖像組生成虛擬現(xiàn)實媒體文件。
3)存儲器906,與通訊接口902、處理器904連接,設置為存儲圖像組及虛擬現(xiàn)實媒體文件。
可選地,本實施例中的具體示例可以參考上述實施例1和實施例2中所描述的示例,本實施例在此不再贅述。
實施例4
本發(fā)明的實施例還提供了一種存儲介質(zhì)。可選地,在本實施例中,上述存儲介質(zhì)可以位于網(wǎng)絡中的多個網(wǎng)絡設備中的至少一個網(wǎng)絡設備。
可選地,在本實施例中,存儲介質(zhì)被設置為存儲用于執(zhí)行以下步驟的程序代碼:
s1,獲取生成請求,其中,生成請求用于請求生成虛擬現(xiàn)實媒體文件,生成請求中攜帶有與虛擬現(xiàn)實媒體文件匹配的位置參考標識;
s2,響應生成請求按照預定策略獲取圖像組,其中,一組圖像組用于指示三維場景中在預定時刻在位置參考標識所指示的參考位置上,從多個視角獲取到的多個畫面,每張圖像至少用于指示一個視角獲取到的一個畫面;
s3,根據(jù)圖像組生成虛擬現(xiàn)實媒體文件。
可選地,在本實施例中,上述存儲介質(zhì)可以包括但不限于:u盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
可選地,本實施例中的具體示例可以參考上述實施例1和實施例2中所描述的示例,本實施例在此不再贅述。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
上述實施例中的集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在上述計算機可讀取的存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術方案本質(zhì)上或者說對現(xiàn)有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在存儲介質(zhì)中,包括若干指令用以使得一臺或多臺計算機設備(可為個人計算機、服務器或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。
在本發(fā)明的上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。
在本申請所提供的幾個實施例中,應該理解到,所揭露的客戶端,可通過其它的方式實現(xiàn)。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。