CN109934764A - 全景视频文件的处理方法、装置、终端、服务器及存储介质 - Google Patents
全景视频文件的处理方法、装置、终端、服务器及存储介质 Download PDFInfo
- Publication number
- CN109934764A CN109934764A CN201910100779.7A CN201910100779A CN109934764A CN 109934764 A CN109934764 A CN 109934764A CN 201910100779 A CN201910100779 A CN 201910100779A CN 109934764 A CN109934764 A CN 109934764A
- Authority
- CN
- China
- Prior art keywords
- panoramic video
- video file
- module
- terminal
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
本发明实施例提供了一种全景视频文件的处理方法、装置、终端、服务器及计算机可读存储介质,所述处理方法包括:响应于虚拟现实录制指令时,创建虚拟场景中的多个摄像头;利用所述多个摄像头将360度场景实时渲染到一个立方体映射图上,得到对应的图片;将所述立方体映射图上的图片按照等距长方投影,映射到本地的影像库中,得到全景视频帧;将所述影像库中的全景视频帧按照对应的时间戳生成全景视频文件。本发明实施例中,用户可以根据需求输入虚拟现实录制指令,终端在接收到该虚拟现实录制指令时,通过创建的虚拟场景中的多个摄像头同时录制相应时间段的全景视频文件,不但节省了录制成本,而且还提高了用户体验。
Description
技术领域
本发明涉及视频处理技术领域,特别是涉及一种全景视频文件的处理方法、装置、终端、服务器及计算机可读存储介质。
背景技术
随着虚拟现实(VR,Virtual Reality)技术的发展,全景相机逐渐走进了大家的视野,目前,常见的全景相机是由多个镜头组成的,通过对多个镜头同时触发控制,实现全景照片或视频的拍摄。
目前,虚拟现实平台移动应用程序(VRApp,VRApplication)的推广对VR产品来说是非常重要,特别是VR录屏分享。但由于VRApp的特殊性,不能像普通APP通过传统录屏的方式直接进行录屏,传统的录制录制的是二维信息,只是通过系统录屏接口对设备屏幕的全部或者部分内容进行录制,而VR中需要对场景进行全方位录制,如果采用这种传统录制的方式,只能录取一个视频窗(Viewport)的内容,这样会丢失到大部分的VR场景和视频信息,不但降低了用户的体验,还增加了用户对全景场景视频的录制成本。
因此,如何在降低录制成本的前提下实现VR视频的全景录制,是目前有待解决的技术问题。
发明内容
本发明实施例所要解决的技术问题是提供一种全景视频文件的处理方法,以解决现有技术中由于采用传统的录制方式对场景进行全景录制,只能录制一个视频窗的内容,导致录制成本增加且用户体验差的技术问题。
相应的,本发明实施例还提供了一种全景视频的处理装置、终端、服务器及计算机可读存储介质,用以保证上述方法的实现及应用。
为了解决上述问题,本发明是通过如下技术方案实现的:
第一方面提供一种全景视频文件的处理方法,执行于终端,所述方法包括:
响应于虚拟现实录制指令,创建虚拟场景中的多个摄像头;
利用所述多个摄像头将360度场景实时渲染到一个立方体映射图上,得到对应的图片;
将所述立方体映射图上的图片按照等距长方投影,映射到本地的影像库中,得到全景视频帧;
将所述影像库中的全景视频帧按照对应的时间戳生成全景视频文件。
可选的,所述响应于虚拟现实录制指令,创建虚拟场景中的多个摄像头,包括:
在接收到用户发送的虚拟现实录制指令时,获取所述用户的位置信息,所述用户的位置信息包括:用户视角摄像机在3D场景中的世界坐标以及摄像机的朝向;
根据所述摄像机的朝向确定六个方向的镜头视角朝向;
根据所述用户的位置信息和所述六个方向的镜头视角朝向生成视图矩阵;
根据视图矩阵,在虚拟场景中为六个方向中的每个方向创建摄像头。
可选的,所述将所述立方体映射图中的图片按照等距长方投影映射到本地的影像库中,得到全景视频帧,包括:
利用极坐标对等距长方投影面进行处理,生成坐标集合;
将所述坐标集合转换成采样向量;
根据所述采样向量对所述立方体映射图中的图片进行采样,得到像素值;
根据所述像素值对等距长方体对应的像素进行赋值,得到全景视频帧。
可选的,所述方法还包括:
将生成的所述全景视频文件上传到服务器;
接收所述服务器发送的页面链接,其中,所述页面链接绑定有所述全景视频文件及对应的资源标识ID;
转发所述页面链接。
第二方面为提供一种全景视频文件的处理方法,执行于服务器,所述方法包括:
接收终端发送的全景视频文件,其中,所述全景视频文件是所述终端根据用户的虚拟现实录制指令生成的全景视频文件;
为所述全景视频文件生成资源标识ID;
将所述全景视频文件及资源标识ID绑定到页面链接上;
将所述页面链接发送给所述终端,以使所述终端转发所述页面链接。
第三方面提供一种全景视频的处理装置,执行于终端,所述装置包括:
创建模块,用于响应于虚拟现实录制指令,创建虚拟场景中的多个摄像头;
渲染模块,用于利用所述多个摄像头将360度场景实时渲染到一个立方体映射图上,得到对应的图片;
映射模块,用于将所述立方体映射图上的图片按照等距长方投影,映射到本地的影像库中,得到全景视频帧;
生成模块,用于将所述影像库中的全景视频帧按照对应的时间戳生成全景视频文件。
可选的,所述创建模块包括:
获取模块,用于在接收模块接收到用户发送的虚拟现实录制指令时,获取所述用户的位置信息,所述用户的位置信息包括:用户视角摄像机在3D场景中的世界坐标以及摄像机的朝向;
镜头视角确定模块,用于根据所述摄像机的朝向确定六个方向的镜头视角朝向;
矩阵生成模块,用于根据所述用户的位置信息和所述六个方向的镜头视角朝向生成视图矩阵;
镜头创建模块,用于根据所述视图矩阵,在虚拟场景中为六个方向中的每个方向创建摄像头。
可选的,所述映射模块包括:
坐标生成模块,用于利用极坐标对等距长方投影面进行处理,生成坐标集合;
转换模块,用于将所述坐标集合转换成采样向量;
采样模块,用于根据所述采样向量对所述立方体映射图中的图片进行采样,得到像素值;
赋值模块,用于根据所述像素值对等距长方体对应的像素进行赋值,得到全景视频帧。
可选的,所述装置还包括:
发送模块,用于将生成的所述全景视频文件上传到服务器;
接收模块,用于接收所述服务器发送的页面链接,其中,所述页面链接绑定有所述全景视频文件及对应的资源标识ID;
转发模块,用于转发所述页面链接。
第四方面提供一种全景视频文件的处理装置,执行于服务器,所述装置包括:
接收模块,用于接收终端发送生成的全景视频文件,其中,所述全景视频文件是所述终端根据用户的虚拟现实录制指令生成的全景视频文件;
生成模块,用于为所述全景视频文件生成资源标识ID;
绑定模块,用于将所述全景视频文件及资源标识ID绑定到页面链接上;
发送模块,用于将所述页面链接发送所述终端,以使所述终端转发所述页面链接。
第五方面提供一种终端,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述的全景视频文件的处理方法的步骤。
第六方面提供一种服务器,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述的全景视频文件的处理方法的步骤。
第七方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的全景视频文件的处理方法的步骤。
与现有技术相比,本发明实施例包括以下优点:
本发明实施例中,在接收到用户发送的虚拟现实VR录制指令时,通过创建的虚拟场景中的多个摄像头,将360度场景实时渲染到一个立方体映射图上,并将所述立方体映射图上的图片按照等距长方投影,映射到本地的影像库中,以及将所述影像库中的全景视频帧按照相应时间戳生成全景视频文件。也就是说,本发明实施例中,用户可以根据需求输入VR录制指令,终端在接收到该VR录制指令时,通过创建的虚拟场景中的多个摄像头同时录制相应时间段的全景视频文件,不但节省了录制成本,而且还提高了用户体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
图1是本发明实施例提供的一种全景视频文件的处理方法的流程图;
图2是本发明实施例提供的一种全景视频文件的处理方法的另一流程图;
图3,为本发明实施例提供的一种全景视频文件的处理方法的又一流程图;
图4是本发明实施例提供的一种全景视频文件的处理装置的结构示意图;
图5是本发明实施例提供的一种全景视频文件的处理装置的另一结构示意图;
图6是本发明实施例提供的一种全景视频文件的处理装置的又一结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
请参阅图1,为本发明实施例提供的一种全景视频文件的处理方法的流程图,具体可以包括如下步骤:
步骤101:响应于虚拟现实VR录制指令,创建虚拟场景中的摄像头(Camera)。
当用户通过终端上的VR app的客户端选择VR录制时,终端开启录制,由于VR app的录制的特殊性,不能通过现有系统接口进行录制,其具体的录制过程为:
首先,客户端在接收到用户发送的虚拟现实VR录制指令时,先获取所述用户的位置信息,所述用户的位置信息包括:用户视角摄像机在3D场景中的世界坐标以及摄像机的朝向;该位置信息是通过世界坐标体系的(x,y,z)坐标来表示的,该坐标在客户端内部维护。
然后,根据所述摄像机的朝向确定六个方向的镜头视角(FOV)朝向,其中,镜头视角朝向可以根据需要进行自动调整。
该步骤中,FOV朝向是在程序调试器完成参数调优并固定后而确定最终用户看到的视野,在Unity3D的底层渲染引擎中也会据此生成裁剪体,用于优化程序性能。
之后,再根据所述用户的位置信息和所述六个方向的镜头视角朝向生成视图(View)矩阵。
该步骤中,View矩阵的作用就是将世界坐标系位置信息转换到摄像机坐标系的位置信息,其中,将Camera中心点作为摄像机坐标系的原点,Camera的基向量作为摄像机坐标系的轴。具体可以包括:
先通过MR*MT,得到变换矩阵C(即C=MRMT),其中,变换矩阵C是根据摄像机的位置和旋转信息构造出摄像机的坐标系矩阵,MR是构造的旋转矩阵,MT是平移矩阵。
之后,再通过公式Ve=C*Vw,将世界坐标系位置信息转换成摄像机坐标系的位置信息,其中,Vw为世界坐标系下的位置信息,Ve为摄像机坐标系下用的位置信息,Vw,Ve均为4维向量。
最后,根据View矩阵,在虚拟场景中为六个方向中的每个方向创建摄像头(Camera)。其中,Camera为Unity3D中的一个类,在生成Camera类实例后,将View矩阵赋值给Camera实例的worldToCameraMatrix,即完成摄像头的初始化,之后,将初始化后的所有Camera均加入至虚拟场景中。
其中,该该实施例中,Camera是概念上的称呼,实际上在3D图形学中,其数学形式就是View矩阵。在Unity3D中,Camera是一个类,其构造函数及其成员函数可以接受一个矩阵来更新。
步骤102:利用所述多个摄像头将360度场景实时渲染(Rendering)到一个立方体映射图(Cubemap)上,得到对应的图片。
该步骤中,利用六个Camera对场景实时进行360度录制(即六个摄像头分别录制六个方向的场景:上,下,左,左,右,前,后),并实时将录制的场景渲染到立方体映射图(Cubmap)上。其中,Cubmap是将多个纹理组合起来映射成一个单一纹理,也就是说,Cubemap是一个立方体,它包含6个2D纹理,每个2D纹理是一个立方体(cube)的一个面。而Cubemap有自己特有的属性,可以使用方向向量对每个面的2D纹理进行索引和采样。假如有一个1×1×1的单位立方体,以原点为起点的方向向量就在该立体方的中心,而方向向量与大小无关,一旦提供了方向,通过OpenGL就会获取方向向量,从而触碰到立方体表面上的相应的纹理像素(texel),这样就返回了正确的纹理采样值。
方向向量触碰到立方体表面的一点也就是Cubemap的纹理位置,这意味着只要立方体的中心位于原点上,就可以使用立方体的位置向量来对Cubemap进行采样。之后,就可以获取所有顶点的纹理坐标,通过这个纹理坐标就能获取到Cubemap上正确的纹理。也就是说,这些纹理就是立方体六个面的纹理,这些纹理组成了立方体映射图(Cubmap)。
步骤103:将所述立方体映射图上的图片按照等距长方投影,映射到本地的影像(Image)库中,得到全景视频帧。
其中,等距长方投影(equirectangular),是将Cubemap中图片的长宽比例设为2:1,然后映射到本地的Image库中。
该步骤中,可以通过Pixel Shader将Cubemap的像素Pixel按照Equirectangular映射到本地的Image库中,其映射的过程可以包括:
首先,利用极坐标对等距长方投影面进行处理,生成坐标集合;
其针对每一个面的宽和高的处理过程可以包括:
首先,根据变量u和变量v的值,生成等距长方投影的极坐标(p,t),其中,
u=w/width,v=1.0–h/height
p=2*PI*u,t=PI*v
其次,将所述极坐标(p,t)映射为Cubemap坐标(x,y,z),其中,
x=-sin(p)*sin(t),y=cos(p),z=-cos(p)*sin(t)
最后,对Cubemap坐标(x,y,z)进行归一化处理,得到归一化后的坐标集合normalize(x,y,z),其中,
r=normalize(x,y,z)
其中,normalize为归一化处理,sin为正弦函数,cos为余弦函数,PI为圆周率,width和height分别为等距长方投影面的宽和高,w和h是宽和高的迭代变量,r为归一化的坐标集合。
其次,将所述坐标集合转换成采样向量;
该步骤中,下述过程只是将坐标集合转换成采样向量的一种实现过程,在实际应用中,并不限于此。其中,texCube是Cubemap的二维纹理表示,width/height分别为宽和高;具体过程为:
针对每一个坐标集合r都有X←r.x,Y←r.y,Z←r.z,其中,X,Y,Z为变量,分别表示xyz轴坐标;
如果X=1,则
Sp=((((Z+1.0)/2.0)-1.0)*texCube.width)
So=2*texCube.width
Tp=((((Y+1.0)/2.0))*texCube.height)
To=texCube.height
其中,Sp,So,Tp,To均为变量,分别表示st(即纹理坐标变量)坐标位置及偏移;
如果X=-1,则
Sp=((((Z+1.0)/2.0))*texCube.width)
So=0
Tp=((((Y+1.0)/2.0))*texCube.height)
To=texCube.height
如果Y=1,则
Sp=((((X+1.0)/2.0))*texCube.width)
So=texCube.width
Tp=((((Z+1.0)/2.0)-1.0)*texCube.height)
To=2*texCube.height
如果Y=-1,则
Sp=((((X+1.0)/2.0))*texCube.width)
So=texCube.width
Tp=((((Z+1.0)/2.0))*texCube.height)
To=0
如果Z=1,则
Sp=((((X+1.0)/2.0))*texCube.width)
So=texCube.width
Tp=((((Y+1.0)/2.0))*texCube.height)
To=texCube.height
如果Z=-1,则
Sp=((((X+1.0)/2.0)-1.0)*texCube.width)
So=3*texCube.width
Tp=((((Y+1.0)/2.0))*texCube.height)
To=texCube.height
如果X,Y,Z均不满足上述条件,则将下述各个变量清0
Sp=0;
Tp=0;
So=0;
To=0;
即默认Sp,So,Tp,To赋值为0,避免st(即纹理坐标变量)坐标为未定义值而造成结果错误。
也就是说,根据XYZ坐标反向计算Cubemap二维纹理表示下的纹理坐标;对所述纹理坐标进行归一化处理,得到坐标集合(x,y,z),最后确定采样Cubemap的哪个面,及确定所在面上的坐标及采样偏移。
再次,根据所述采样向量对所述立方体映射图Cubemap进行采样,得到像素值;
该步骤中,一种采用过程为:abs表示为取绝对值,GetPixel为取像素操作,具体过程为:
s=abs(Sp)+So
t=abs(Tp)+To
color=texCube.GetPixel(s,t)
其中,s,t表示纹理坐标变量,分别代表纹理的纵横坐标,通常在OpenGL中使用;Color为输出纹理像素值。
该程序段中,就是分别通过Sp和Tp取绝对值,再加上对应的So和To值,生成最终的采样坐标,并对纹理进行采样获得像素值。
最后,根据所述像素值对等距长方体对应的像素进行赋值,得到全景视频帧。
该步骤中,通过texEquirect.SetPixel(w,h,color)进行赋值,其中,SetPixel为设置像素操作。
步骤104:将所述影像库中的全景视频帧按照对应的时间戳生成全景视频(Video)文件。
该步骤中,将所述影像(Image)库中的全景视频帧按照对应的时间戳,以指定帧率通过视频编码及文件封帧生成全景视频文件。其中,全景视频帧在形式上和普通视频帧类似,使用标准的FFmpeg库完成编码和封帧,得到全景视频文件。
其中指定帧的帧率控制即为控制1秒钟合成的图像数目。其中,视频编码可以采用FFmpegI,FFmpeg是一个音视频编解码框架。本发明实施例中,可以利用FFmpeg音视频编解码框架制作Video文件。
本发明实施例中,在接收到用户发送的虚拟现实VR录制指令时,通过创建的虚拟场景中的多个摄像头,将360度场景实时渲染到一个立方体映射图上,并将所述立方体映射图上的图片按照等距长方投影,映射到本地的影像库中,以及将所述影像库中的全景视频帧按照对应的时间戳生成全景视频文件。也就是说,本发明实施例中,用户可以根据需求输入VR录制指令,终端在接收到该VR录制指令时,通过创建的虚拟场景中的多个摄像头同时录制相应时间段的全景视频文件,即录制自己感兴趣的视频文件或片段,不但节省了录制成本,而且还提高了用户体验。
进一步,在另一实施例中,该实施例在上述实施例的基础上,所述方法还可以包括,在全景视频文件录制结束后,用户界面(user interface)页面会显示录制完成,并让用户选择回放(review)或者丢弃录制的全视频文件。之后,根据用户的选择进行回放或者丢弃该全景视频文件。
也就是说,本发明实施例中,在全景视频文件录制结束后,在用户界面上会显示一个提示框,提示用户是选择回放,还是丢弃,以及根据用户的输入的选择指令进行响应的操作,比如,如果用户输入回放,则为所述用户回放该录制的全景视频文件,如果接收到用户输入的丢弃,则丢弃该录制的全景视频文件,节省了录制成本,提高了用户体验。
还请参阅图2,为本发明实施例提供的一种全景视频文件的处理方法的另一流程图:具体包括:
步骤201:响应于虚拟现实录制指令,创建虚拟场景中的多个摄像头;
步骤202:利用所述多个摄像头将360度场景实时渲染到一个立方体映射图上,得到对应的图片;
步骤203:将所述立方体映射图上的图片按照等距长方投影,映射到本地的影像库中,得到全景视频帧;
步骤204:将所述影像库中的全景视频帧按照对应的时间戳生成全景视频文件;
其中,该实施例中的步骤201至步骤204与上述步骤101至步骤104同,具体详见上述,在此不再赘述。
步骤205:将生成的所述全景视频文件上传到服务器;
步骤206:接收所述服务器发送的页面链接,其中,所述页面链接绑定有所述全景视频文件的资源标识ID及全景视频文件;
步骤207:转发所述页面链接。
即通过所述页面链接转发所述全景视频文件。
也就是说,该实施例在上述实施例的基础上,在全景视频文件录制完成后,终端将所述全景视频文件上传到服务器,以便于服务器为所述全景视频文件生成资源标识ID;以及将所述全景视频文件及资源标识ID绑定到页面链接(比如H5页面链接等)上,并将页面链接发送给终端,终端在接收到该页面链接时,可以通过该页面链接转发该全景视频文件,而接收到该页面链接的用户可以通过该页面链接在各大平台都能播放该全景视频文件,从而提高了用户体验。
还请参阅图3,为本发明实施例提供的一种全景视频文件的处理方法的又一流程图;其中,所述方法包括:
步骤301:接收终端发送的全景视频文件,其中,所述全景视频文件是所述终端根据用户的虚拟现实录制指令生成的全景视频文件;
其具体的生成过程详见上述图1所述的实施例,在此不再赘述。
需要说明的是,该全景视频文件可以是终端存储的全景视频文件,也可以是终端录制的全景视频文件。
步骤302:为所述全景视频文件生成资源标识ID;
该实施例中,终端在录制完全景视频文件时,将该全景视频文件发送给内容分发网络(CDN,Content DeliveryNetwork)的服务器,由该服务器为该全景视频文件分配一个资源标识ID。
步骤303:将所述全景视频文件及资源标识ID绑定到页面链接上;
该步骤中,服务器可以通过一个页面(比如H5页面等)链接来绑定或引用该全景视频文件。其中,由于H5页面内使用了WebGL,可以解码全景视频文件,获得全景视频帧,由于H5和WebGL自身是跨平台实现,所以H5页面在各大平台都能播放。
步骤303:将所述页面链接发送给所述终端,以使所述终端转发所述网页链接。也就是通过所述页面链接分享所述全景视频文件。
该步骤中,当终端接收到服务器发送的页面链接后,可以把转发绑定全景视频文件及对应资源标识ID的页面链接,即通过该网页链接将该全景视频文件分享给好友,或者将该网页链接分享到朋友圈,或者分享给VR影院,以便于其他人通过分享的网页链接点击播放录制的全景视频文件。
本发明实施例中,服务器在接到终端发送的全景视频文件时,为该全景视频文件生成唯一的资源标识ID,将所述全景视频文件及资源标识ID绑定到页面链接上;然后,将所述页面链接发送所述终端,以便于所述终端通过所述页面链接转发所述全景视频文件。也就是说,本发明实施例中,服务器可以将该全景视频文件绑定的网页链接发送给终端,以便于终端通过该页面链接来分享该全景视频文件,提高了用户体验。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
请参阅图4,为本发明实施例提供的一种全景视频的生成装置的结构示意图,所述装置执行于终端,所述装置具体可以包括如下模块:创建模块41,渲染模块42,映射模块43和生成模块44,其中,
创建模块41,用于响应于虚拟现实录制指令时,创建虚拟场景中的多个摄像头;
渲染模块42,用于利用所述多个摄像头将360度场景实时渲染到一个立方体映射图上,得到对应的图片;
映射模块43,用于将所述立方体映射图上的图片按照等距长方投影,映射到本地的影像库中,得到全景视频帧;
生成模块44,用于将所述影像库中的全景视频帧按照对应的时间戳生成全景视频文件。
本发明实施例中,用户可以根据需求输入虚拟现实录制指令,终端在接收到该虚拟现实录制指令时,通过创建的虚拟场景中的多个摄像头录制相应时间段的全景视频文件,即录制自己感兴趣的视频文件或片段,提高了用户体验。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述创建模块包括:获取模块,镜头视角生成模块,矩阵生成模块和镜头创建模块,其中,
获取模块,用于在接收模块接收到用户发送的虚拟现实录制指令时,获取所述用户的位置信息,所述用户的位置信息包括:用户视角摄像机在3D场景中的世界坐标以及摄像机的朝向;
镜头视角确定模块,用于根据所述摄像机的朝向确定六个方向的镜头视角朝向;
矩阵生成模块,用于根据所述用户的位置信息和所述六个方向的镜头视角朝向生成视图矩阵;
镜头创建模块,用于根据所述视图矩阵,在虚拟场景中为六个方向中的每个方向创建摄像头。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述映射模块包括:坐标生成模块,转换模块,采样模块和赋值模块,其中,
坐标生成模块,用于利用极坐标对等距长方投影面进行处理,生成坐标集合;
转换模块,用于将所述坐标集合转换成采样向量;
采样模块,用于根据所述采样向量对所述立方体映射图中的图片进行采样,得到像素值;
赋值模块,用于根据所述像素值对等距长方体对应的像素进行赋值,得到全景视频帧。
可选的,在另一实施例中,该实施例在上述实施例的基础上,所述生成模块具体用于,将所述影像库中的全景视频帧按照对应的时间戳,以指定帧率通过视频编码及文件封帧生成全景视频文件。
可选的,在另一实施例中,该实施例在上述实施例的基础上:所述装置还可以包括:发送模块51,接收模块52和转发模块53,其结构示意图如图5所示,
发送模块51,用于将生成的所述全景视频文件上传到服务器;
接收模块52,用于接收所述服务器发送的页面链接,其中,所述页面链接绑定有所述全景视频文件及对应的资源标识ID;
转发模块53,用于转发所述页面链接。
本发明实施例中,用户可以将录制的全景视频文件发送给服务器,由服务器生成对应的资源标识ID,以及将该全景视频文件及资源标识ID绑定的网页链接上,然后将该网页链接发送给终端,以便于终端通过该页面链接来分享该全景视频文件,提高了用户体验。
还请参阅图6,为本发明实施例提供的一种全景视频文件的处理装置的结构示意图,所述装置执行于服务器,所述装置包括:接收模块61,生成模块62、绑定模块63和发送模块64,其中,
接收模块61,用于接收终端发送生成的全景视频文件,其中,所述全景视频文件是所述终端根据用户的虚拟现实录制指令生成的全景视频文件;
生成模块62,用于为所述全景视频文件生成资源标识ID;
绑定模块63,用于将所述全景视频文件及资源标识ID绑定到页面链接(比如H5页面链接等)上;
发送模块64,用于将所述页面链接发送所述终端,以使所述终端转发所述页面链接。
本发明实施例中,服务器在接收到终端发送生成的全景视频文件时,生成对应的资源标识ID,并将该全景视频文件及资源标识ID绑定到网页链接上,然后将该网页链接发送给终端,以便于终端通过该页面链接来分享该全景视频文件,提高了用户体验。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例中,用户可以根据需求输入VR录制指令,终端在接收到该VR录制指令时,通过创建的虚拟场景中的多个摄像头录制相应时间段的全景视频文件,即录制自己感兴趣的视频文件或片段,然后,将该全景视频文件发送给服务器,由服务器生成资源标识,将所述全景视频文件及资源标识ID绑定到页面链接(比如H5页面链接)上,并将所述页面链接发送给终端,终端在接收到该网页链接后,转发该网页链接,即分享绑定全景视频文件及资源标识ID的页面链接,从而提高了用户体验。
可选的,本发明实施例还提供一种终端,包括处理器,存储器,存储在存储器上并可在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述全景视频文件的处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种服务器,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述的全景视频文件的处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述全景视频文件的处理方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(RandomAccess Memory,简称RAM)、磁碟或者光盘等。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种全景视频文件的处理方法、装置、终端、服务器及计算机可读存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (13)
1.一种全景视频文件的处理方法,其特征在于,执行于终端,包括:
响应于虚拟现实录制指令,创建虚拟场景中的多个摄像头;
利用所述多个摄像头将360度场景实时渲染到一个立方体映射图上,得到对应的图片;
将所述立方体映射图上的图片按照等距长方投影,映射到本地的影像库中,得到全景视频帧;
将所述影像库中的全景视频帧按照对应的时间戳生成全景视频文件。
2.根据权利要求1所述的方法,其特征在于,所述响应于虚拟现实录制指令,创建虚拟场景中的多个摄像头,包括:
在接收到用户发送的虚拟现实录制指令时,获取所述用户的位置信息,所述用户的位置信息包括:用户视角摄像机在3D场景中的世界坐标以及摄像机的朝向;
根据所述摄像机的朝向确定六个方向的镜头视角朝向;
根据所述用户的位置信息和所述六个方向的镜头视角朝向生成视图矩阵;
根据视图矩阵,在虚拟场景中为六个方向中的每个方向创建摄像头。
3.根据权利要求1所述的方法,其特征在于,所述将所述立方体映射图中的图片按照等距长方投影映射到本地的影像库中,得到全景视频帧,包括:
利用极坐标对等距长方投影面进行处理,生成坐标集合;
将所述坐标集合转换成采样向量;
根据所述采样向量对所述立方体映射图中的图片进行采样,得到像素值;
根据所述像素值对等距长方体对应的像素进行赋值,得到全景视频帧。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
将生成的所述全景视频文件上传到服务器;
接收所述服务器发送的页面链接,其中,所述页面链接绑定有所述全景视频文件及对应的资源标识ID;
转发所述页面链接。
5.一种全景视频文件的处理方法,其特征在于,执行于服务器,包括:
接收终端发送的全景视频文件,其中,所述全景视频文件是所述终端根据用户的虚拟现实录制指令生成的全景视频文件;
为所述全景视频文件生成资源标识ID;
将所述全景视频文件及资源标识ID绑定到页面链接上;
将所述页面链接发送给所述终端,以使所述终端转发所述页面链接。
6.一种全景视频的处理装置,其特征在于,执行于终端,所述装置包括:
创建模块,用于响应于虚拟现实录制指令,创建虚拟场景中的多个摄像头;
渲染模块,用于利用所述多个摄像头将360度场景实时渲染到一个立方体映射图上,得到对应的图片;
映射模块,用于将所述立方体映射图上的图片按照等距长方投影,映射到本地的影像库中,得到全景视频帧;
生成模块,用于将所述影像库中的全景视频帧按照对应的时间戳生成全景视频文件。
7.根据权利要求6所述的装置,其特征在于,所述创建模块包括:
获取模块,用于在接收模块接收到用户发送的虚拟现实录制指令时,获取所述用户的位置信息,所述用户的位置信息包括:用户视角摄像机在3D场景中的世界坐标以及摄像机的朝向;
镜头视角确定模块,用于根据所述摄像机的朝向确定六个方向的镜头视角朝向;
矩阵生成模块,用于根据所述用户的位置信息和所述六个方向的镜头视角朝向生成视图矩阵;
镜头创建模块,用于根据所述视图矩阵,在虚拟场景中为六个方向中的每个方向创建摄像头。
8.根据权利要求6所述的装置,其特征在于,所述映射模块包括:
坐标生成模块,用于利用极坐标对等距长方投影面进行处理,生成坐标集合;
转换模块,用于将所述坐标集合转换成采样向量;
采样模块,用于根据所述采样向量对所述立方体映射图中的图片进行采样,得到像素值;
赋值模块,用于根据所述像素值对等距长方体对应的像素进行赋值,得到全景视频帧。
9.根据权利要求6至8任一项所述的装置,其特征在于,所述装置还包括:
发送模块,用于将生成的所述全景视频文件上传到服务器;
接收模块,用于接收所述服务器发送的页面链接,其中,所述页面链接绑定有所述全景视频文件及对应的资源标识ID;
转发模块,用于转发所述页面链接。
10.一种全景视频文件的处理装置,其特征在于,执行于服务器,所述装置包括:
接收模块,用于接收终端发送生成的全景视频文件,其中,所述全景视频文件是所述终端根据用户的虚拟现实录制指令生成的全景视频文件;
生成模块,用于为所述全景视频文件生成资源标识ID;
绑定模块,用于将所述全景视频文件及资源标识ID绑定到页面链接上;
发送模块,用于将所述页面链接发送所述终端,以使所述终端转发所述页面链接。
11.一种终端,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至4中任一项所述的全景视频文件的处理方法的步骤。
12.一种服务器,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求5所述的全景视频文件的处理方法的步骤。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的全景视频文件的处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910100779.7A CN109934764A (zh) | 2019-01-31 | 2019-01-31 | 全景视频文件的处理方法、装置、终端、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910100779.7A CN109934764A (zh) | 2019-01-31 | 2019-01-31 | 全景视频文件的处理方法、装置、终端、服务器及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109934764A true CN109934764A (zh) | 2019-06-25 |
Family
ID=66985432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910100779.7A Pending CN109934764A (zh) | 2019-01-31 | 2019-01-31 | 全景视频文件的处理方法、装置、终端、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109934764A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110505471A (zh) * | 2019-07-29 | 2019-11-26 | 青岛小鸟看看科技有限公司 | 一种头戴显示设备及其屏幕采集方法、装置 |
CN111031293A (zh) * | 2019-11-29 | 2020-04-17 | 三一重工股份有限公司 | 全景监控的展示方法、装置和系统及计算机可读存储介质 |
CN111047711A (zh) * | 2019-12-16 | 2020-04-21 | 山东东艺数字科技有限公司 | 一种沉浸式可交互Box影像制作方法 |
CN111901616A (zh) * | 2020-07-15 | 2020-11-06 | 天翼视讯传媒有限公司 | 一种基于H5/WebGL的改进多视角直播渲染的方法 |
CN112738406A (zh) * | 2020-12-31 | 2021-04-30 | 深圳市大富网络技术有限公司 | 一种虚拟世界中全景图生成方法、系统以及装置 |
CN114581611A (zh) * | 2022-04-28 | 2022-06-03 | 阿里巴巴(中国)有限公司 | 虚拟场景构建方法以及装置 |
CN115022670A (zh) * | 2022-05-31 | 2022-09-06 | 咪咕文化科技有限公司 | 视频文件存储方法、还原方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120299920A1 (en) * | 2010-11-24 | 2012-11-29 | Google Inc. | Rendering and Navigating Photographic Panoramas with Depth Information in a Geographic Information System |
TW201804436A (zh) * | 2016-07-15 | 2018-02-01 | 信驊科技股份有限公司 | 具紋理映射功能的全景影像產生方法及裝置 |
US20180276789A1 (en) * | 2017-03-22 | 2018-09-27 | Qualcomm Incorporated | Sphere equator projection for efficient compression of 360-degree video |
CN108616557A (zh) * | 2016-12-13 | 2018-10-02 | 中兴通讯股份有限公司 | 一种全景视频传输方法、装置、终端、服务器及系统 |
CN108648257A (zh) * | 2018-04-09 | 2018-10-12 | 腾讯科技(深圳)有限公司 | 全景画面的获取方法、装置、存储介质及电子装置 |
-
2019
- 2019-01-31 CN CN201910100779.7A patent/CN109934764A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120299920A1 (en) * | 2010-11-24 | 2012-11-29 | Google Inc. | Rendering and Navigating Photographic Panoramas with Depth Information in a Geographic Information System |
TW201804436A (zh) * | 2016-07-15 | 2018-02-01 | 信驊科技股份有限公司 | 具紋理映射功能的全景影像產生方法及裝置 |
CN108616557A (zh) * | 2016-12-13 | 2018-10-02 | 中兴通讯股份有限公司 | 一种全景视频传输方法、装置、终端、服务器及系统 |
US20180276789A1 (en) * | 2017-03-22 | 2018-09-27 | Qualcomm Incorporated | Sphere equator projection for efficient compression of 360-degree video |
CN108648257A (zh) * | 2018-04-09 | 2018-10-12 | 腾讯科技(深圳)有限公司 | 全景画面的获取方法、装置、存储介质及电子装置 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110505471A (zh) * | 2019-07-29 | 2019-11-26 | 青岛小鸟看看科技有限公司 | 一种头戴显示设备及其屏幕采集方法、装置 |
CN111031293A (zh) * | 2019-11-29 | 2020-04-17 | 三一重工股份有限公司 | 全景监控的展示方法、装置和系统及计算机可读存储介质 |
CN111031293B (zh) * | 2019-11-29 | 2021-08-24 | 三一重工股份有限公司 | 全景监控的展示方法、装置和系统及计算机可读存储介质 |
CN111047711A (zh) * | 2019-12-16 | 2020-04-21 | 山东东艺数字科技有限公司 | 一种沉浸式可交互Box影像制作方法 |
CN111047711B (zh) * | 2019-12-16 | 2023-08-22 | 山东东艺数字科技有限公司 | 一种沉浸式可交互Box影像制作方法 |
CN111901616A (zh) * | 2020-07-15 | 2020-11-06 | 天翼视讯传媒有限公司 | 一种基于H5/WebGL的改进多视角直播渲染的方法 |
CN112738406A (zh) * | 2020-12-31 | 2021-04-30 | 深圳市大富网络技术有限公司 | 一种虚拟世界中全景图生成方法、系统以及装置 |
CN114581611A (zh) * | 2022-04-28 | 2022-06-03 | 阿里巴巴(中国)有限公司 | 虚拟场景构建方法以及装置 |
CN115022670A (zh) * | 2022-05-31 | 2022-09-06 | 咪咕文化科技有限公司 | 视频文件存储方法、还原方法、装置、设备及存储介质 |
CN115022670B (zh) * | 2022-05-31 | 2023-09-05 | 咪咕文化科技有限公司 | 视频文件存储方法、还原方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109934764A (zh) | 全景视频文件的处理方法、装置、终端、服务器及存储介质 | |
US11488355B2 (en) | Virtual world generation engine | |
US11721071B2 (en) | Methods and systems for producing content in multiple reality environments | |
US11217019B2 (en) | Presenting image transition sequences between viewing locations | |
CN107835436B (zh) | 一种基于WebGL的实时虚实融合直播系统及方法 | |
US20170302714A1 (en) | Methods and systems for conversion, playback and tagging and streaming of spherical images and video | |
US10636201B2 (en) | Real-time rendering with compressed animated light fields | |
CN106231205B (zh) | 增强现实移动终端 | |
US20200202608A1 (en) | Method and apparatus for receiving a volumetric video stream | |
CN106846497B (zh) | 应用于终端的呈现三维地图的方法和装置 | |
AU2020271774A1 (en) | Hybrid rendering | |
CN107707899B (zh) | 包含运动目标的多视角图像处理方法、装置及电子设备 | |
Richardt et al. | Capture, reconstruction, and representation of the visual real world for virtual reality | |
Ebner et al. | Multi‐view reconstruction of dynamic real‐world objects and their integration in augmented and virtual reality applications | |
CN115396645B (zh) | 一种沉浸媒体的数据处理方法、装置、设备及存储介质 | |
CN113852829A (zh) | 点云媒体文件的封装与解封装方法、装置及存储介质 | |
JP2023519372A (ja) | 三次元ビデオの処理方法、装置、可読記憶媒体及び電子機器 | |
CN112734910A (zh) | 基于rgb单图实时人脸三维图像重建方法、装置及电子设备 | |
CN115802076A (zh) | 一种三维模型分布式云端渲染方法、系统及电子设备 | |
CN116977531A (zh) | 三维纹理图像的生成方法、装置、计算机设备和存储介质 | |
Gadasin et al. | A Model for Representing the Color and Depth Metric Characteristics of Objects in an Image | |
CN111508058A (zh) | 图像三维重建的方法、装置、存储介质及电子设备 | |
KR102561903B1 (ko) | 클라우드 서버를 이용한 ai 기반의 xr 콘텐츠 서비스 방법 | |
CN115883871A (zh) | 媒体文件封装与解封装方法、装置、设备及存储介质 | |
Klimke et al. | Scalable multi-platform distribution of spatial 3d contents |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |