CN115955536A - 一种全景视频录制的方法、装置、设备和存储介质 - Google Patents
一种全景视频录制的方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN115955536A CN115955536A CN202211714731.3A CN202211714731A CN115955536A CN 115955536 A CN115955536 A CN 115955536A CN 202211714731 A CN202211714731 A CN 202211714731A CN 115955536 A CN115955536 A CN 115955536A
- Authority
- CN
- China
- Prior art keywords
- panoramic
- current user
- virtual space
- virtual
- camera model
- 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
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本申请提供了一种全景视频录制的方法、装置、设备和存储介质。该方法包括:响应于当前用户的全景录制指令,确定虚拟空间内的全景相机模型,所述全景相机模型由围绕所述当前用户构建的多个虚拟相机组成;通过所述全景相机模型录制所述当前用户在所述虚拟空间内的全景画面,以生成对应的全景视频流。本申请实施例通过全景相机模型来录制虚拟空间内的全景视频流,使得全景视频流无需跟随当前用户的视角变化而变化,从而避免虚拟空间内全景视频流录制时的晃动,确保虚拟空间内全景视频流的稳定录制。而且,任一观看用户在观看全景视频流时,支持对于全景视频流的多机位切换,提升用户观看全景视频流的沉浸式体验。
Description
技术领域
本申请实施例涉及视频处理技术领域,尤其涉及一种全景视频录制的方法、装置、设备和存储介质。
背景技术
目前,VR技术的应用场景越来越广泛了,为用户提供了多种多样的虚拟场景,例如各类VR游戏、虚拟直播应用等。而为了支持某一用户向其他用户成功分享其在各个虚拟场景下的互动内容,使其他用户能够体验到不同的虚拟场景,在某一用户进入任一虚拟场景后,可以根据用户录制需求来实时录制该用户在该虚拟场景下的互动画面,以分享给其他用户。
通常情况下,根据主用户在虚拟场景下的实时运动数据,例如主用户的六自由度(Six Degrees of Freedom,简称为6DoF)数据,可以实时确定主用户在虚拟场景下的第一视角。进而,跟随主用户的第一视角变化,来录制对应的互动画面,使得所录制的互动画面能够很好地还原主用户的视野。
然而,主用户在虚拟场景内进行大幅度运动时,会给所录制的互动画面带来一定的晃动感,而对观看用户造成一定的眩晕感,从而降低观看用户的观看体验。
发明内容
本申请提供一种全景视频录制的方法、装置、设备和存储介质,实现虚拟空间内全景视频流的稳定录制,支持观看用户在全景视频流下的多机位切换观看,提升观看全景视频流的沉浸式体验。
第一方面,本申请实施例提供了一种全景视频录制的方法,该方法包括:
响应于当前用户的全景录制指令,确定虚拟空间内的全景相机模型,所述全景相机模型由围绕所述当前用户构建的多个虚拟相机组成;
通过所述全景相机模型录制所述当前用户在所述虚拟空间内的全景画面,以生成对应的全景视频流。
第二方面,本申请实施例提供了一种全景视频录制的装置,该装置包括:
全景相机模型确定模块,用于响应于当前用户的全景录制指令,确定虚拟空间内的全景相机模型,所述全景相机模型由围绕所述当前用户构建的多个虚拟相机组成;
全景视频录制模块,用于通过所述全景相机模型录制所述当前用户在所述虚拟空间内的全景画面,以生成对应的全景视频流。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括:
处理器和存储器,该存储器用于存储计算机程序,该处理器用于调用并运行该存储器中存储的计算机程序,以执行本申请第一方面中提供的全景视频录制的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,用于存储计算机程序,该计算机程序使得计算机执行如本申请第一方面中提供的全景视频录制的方法。
第五方面,本申请实施例提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令使得计算机执行如本申请第一方面中提供的全景视频录制的方法。
通过本申请技术方案,在进入任一虚拟空间后,响应于当前用户的全景录制指令,首先会确定出虚拟空间内由围绕当前用户构建的多个虚拟相机而组成的全景相机模型。然后,通过该全景相机模型来录制当前用户在虚拟空间内的全景画面,来生成对应的全景视频流,从而通过全景相机模型来录制虚拟空间内的全景视频流,使得全景视频流无需跟随当前用户的视角变化而变化,从而避免虚拟空间内全景视频流录制时的晃动,确保虚拟空间内全景视频流的稳定录制。而且,任一观看用户在观看全景视频流时,支持对于全景视频流的多机位切换,提升用户观看全景视频流的沉浸式体验。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为本申请实施例提供的全景视频录制的方法所处的场景架构图;
图1b为本申请实施例提供的全景视频流渲染的球面模型的示意图;
图2为本申请实施例提供的一种全景视频录制的方法的流程图;
图3为本申请实施例提供的全景相机模型的一种示例性示意图;
图4为本申请实施例提供的另一种全景视频录制的方法的流程图;
图5a为本申请实施例提供的当前用户在虚拟空间内的周边互动区域的一5种示例性示意图;
图5b为本申请实施例提供的当前用户在虚拟空间内的周边互动区域的另一种示例性示意图;
图6为本申请实施例提供的全景相机模型的另一种示例性示意图;
图7为本申请实施例提供的一种全景视频录制的装置的示意图;
图8是本申请实施例提供的电子设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行
清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而5不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做
出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次
序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发0明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术
语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
5本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或
说明,本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或方案不应被解释为比其它实施例或方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
0考虑到各个用户在观看某一主用户在虚拟场景下录制的互动画面时,所
录制的互动画面通常会跟随主用户的视角变化而变化,导致互动画面存在一定的晃动感,所以为了避免用户观看所录制的互动画面时存在的晃动感,本申请的发明构思是:在任一虚拟空间内检测到当前用户的全景录制指令后,首先会确定虚拟空间内由围绕当前用户构建的多个虚拟相机所组成的全景相机模型,以通过全景相机模型来录制当前用户在虚拟空间内的全景画面,从而生成对应的全景视频流,使得全景视频流无需跟随当前用户的视角变化而变化,从而避免虚拟空间内全景视频流录制时的晃动,确保虚拟空间内全景视频流的稳定录制。
在介绍本申请的具体技术方案之前,首先对于某一用户在虚拟空间内录制全景视频流,以支持其他用户来观看的整体场景系统进行阐述:
图1a为本申请实施例提供的全景视频录制的方法所处的场景架构图。该应用场景可以包括当前用户端110、云服务端120和至少一个观看用户端130。
其中,考虑到本申请主要针对当前用户在虚拟空间内与各个虚拟对象间的实时互动画面录制,所以当前用户端110可以为任一种虚拟空间产品下的头戴显示器(HeadMounted Display,简称为HMD)。其中,虚拟空间产品可以为虚拟现实(Virtual Reality,简称为VR)设备、增强现实(Augmented Reality,简称为AR)设备、混合现实(Mixed Reality,简称为MR)、扩展现实(Extended Reality,简称为XR)设备等。
而观看用户对某一用户在虚拟空间内所录制的互动画面进行观看时,可以通过多种类型设备来播放所录制的互动画面。所以,观看用户端110可以为任一种支持视频播放的电子设备,该电子设备可以包括但不限于为平板电脑、手机(如折叠屏手机、大屏手机等)、可穿戴设备、车载设备、VR/AR/MR设备、笔记本电脑、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、智能电视、智慧屏、高清电视、4K电视、智能音箱、智能投影仪等。
当前用户在佩戴好HMD并启动后,会进入到相应的虚拟空间内,该虚拟空间会向当前用户呈现多种虚拟应用,例如虚拟游戏应用、虚拟直播应用等。那么,当前用户可以在虚拟空间内登录某一虚拟应用,来在虚拟空间内呈现对应的三维虚拟场景,以便当前用户在虚拟空间内与该三维虚拟场景内的各个虚拟对象进行相应的互动。
进而,当前用户在进入到虚拟空间后,如果想要将自身在虚拟空间内的互动画面录制下来,以分享给其他用户,那么当前用户可以执行相应的全景录制操作,以便通过虚拟空间内由围绕当前用户构建的多个虚拟相机所组成的全景相机模型来实时录制当前用户在虚拟空间内的全景画面,从而生成相应的全景视频流。
此时,对于当前用户在虚拟空间内执行各种互动时的全景视频流,可以通过当前用户端110根据当前用户在虚拟空间内的各个运动数据来生成相应的全景视频流,并上传给云服务端120。或者,也可以由当前用户端110将当前用户在虚拟空间内的各个运动数据上报给云服务端120,以便云服务端120根据当前用户在虚拟空间内的各个运动数据来生成相应的全景视频流。
其中,当前用户在虚拟空间内的各个运动数据可以包括但不限于HMD上安装的惯性传感器、定位传感器等所采集的运动传感参数,以及通过HMD适配的手柄、身体追踪器等执行的触控数据等。
然后,当前用户端110或者云服务端120通过对上述运动数据进行分析,即可确定出当前用户在虚拟空间内的6DoF数据,从而确定虚拟空间内围绕当前用户构建的各个虚拟相机的机位,以此得到对应的全景相机模型,来实时录制当前用户在虚拟空间内的全景画面,从而生成对应的全景视频流。
任一观看用户在想要观看当前用户在虚拟空间内所录制的全景视频流时,可以直接向云服务端120发起相应的全景观看请求。那么,云服务端120在接收到任一观看用户对于当前用户的全景观看请求后,可以直接通过VR球面模型来对当前用户在虚拟空间内的全景视频流进行相应的全景渲染。然后,根据观看用户端130选择的机位,来切换VR球面模型中的视口位置,从而向观看用户端130下发相应视口下的互动图像,并在观看用户端130进行解码显示,以支持观看用户对于全景视频流的多机位切换,提升用户观看全景视频流的沉浸式体验。
通常情况下,在VR球面模型中,用户相当于站在球心向外观看。而由于人眼视角有限,所以在同一时间点下,用户通常仅会观看到VR球面模型中处于用户视场内的部分呈现内容。当用户转动视角而带动用户视场变化时,才能观看到VR球面模型中的其他呈现内容。
考虑到VR球面模型内渲染的每一帧全景画面中,全景画面的顶部和底部由于拉伸会发生一定的桶形畸变。而如果将全景画面的顶部和底部分别压缩成一个立方体的其中一面,然后结合全景画面的前、后、左、右这四个视角下的画面,可以形成一个立方体盒子,不仅可以保证无像素丢失,还可以减少全景画面的渲染体积。所以,如图1b所示,本申请对于每一时刻下渲染出的全景画面像素球,可以将该全景画面像素球放进一个大于该像素球的立方体盒子中,然后不断放大该全景画面像素球,直至充满整个立方体盒子,即可得到呈现在用户眼前的VR球面模型,从而避免全景画面渲染时的桶形畸变,提升用户对于全景视频流的观看体验。
接下来对本申请提供的全景视频流的具体录制方案进行详细阐述:
图2为本申请实施例提供的一种全景视频录制的方法的流程图。该方法可以由本申请提供的全景视频录制的装置来执行,其中,全景视频录制的装置可以通过任意的软件和/或硬件的方式实现。示例性地,该全景视频录制的装置可以应用于任一电子设备中,该电子设备可以包括但不限于为可穿戴设备、VR/AR/MR设备、服务端等具备数据处理能力的各类设备,本申请对电子设备的具体类型不作任何限制。
具体的,如图2所示,该方法可以包括如下步骤:
S210,响应于当前用户的全景录制指令,确定虚拟空间内的全景相机模型,该全景相机模型由围绕当前用户构建的多个虚拟相机组成。
考虑到各个用户在观看某一主用户在虚拟场景下录制的互动画面时,所录制的互动画面通常会跟随主用户的视角变化而变化,导致互动画面存在一定的晃动感。所以,为了避免虚拟空间内录制视频时的晃动,本申请可以从第三方视角来录制当前用户在虚拟空间内与各个虚拟对象进行相应互动时的互动画面。也就是,本申请可以在虚拟空间内构建一个第三方视角下的虚拟相机,而并不按照当前用户在虚拟空间内的6DoF数据所指示的当前视角,来获取对应的互动画面。
而且,为了确保观看用户能够从多角度下全面观看当前用户在虚拟空间内的互动画面,本申请可以在虚拟空间内设定一种全景录制控件,以便当前用户在虚拟空间内与各个虚拟对象进行互动,能够通过触发该全景录制控件,来实时录制相应的全景画面,从而为各个观看用户提供相应的全景视频流,以支持观看用户对于全景视频流的多角度切换观看。
本申请中,当前用户进入到虚拟空间后,如果对于自身在虚拟空间内的互动画面存在录制需求,会触发虚拟空间内的全景录制控件,从而生成对应的全景录制指令。然后,在接收到当前用户的全景录制指令后,说明本申请需要从多角度对当前用户在虚拟空间内与各个虚拟对象进行互动时的互动画面进行录制,来确定当前用户在虚拟空间内的全景画面。那么,在虚拟空间内首先会确定用于录制全景画面的全景相机模型。
其中,为了确保当前用户在虚拟空间内的全景画面的全面录制,本申请可以根据当前用户在虚拟空间内的实时运动数据,例如6DoF数据,确定当前用户在虚拟空间内的所处位置。然后,如图3所示,按照当前用户在虚拟空间内的所处位置,可以围绕着当前用户来构建多个虚拟相机,从而形成一圈虚拟相机包围当前用户的效果。此时,围绕当前用户构建的每个虚拟相机都面向当前用户设定有不同的机位和拍摄角度,从而组成本申请中的全景相机模型,以从多角度下录制当前用户在虚拟空间内的全景画面。
S220,通过全景相机模型录制所述当前用户在所述虚拟空间内的全景画面,以生成对应的全景视频流。
在确定出虚拟空间内的全景相机模型后,通过该全景相机模型中的各个虚拟相机,可以从不同的机位和拍摄角度下,实时录制当前用户在虚拟空间内与各个虚拟对象进行互动时的互动画面,从而形成完整的全景画面。然后,按照每个全景画面的拍摄时间,对实时录制的各个全景画面进行整合,即可生成对应的全景视频流,从而为各个观看用户提供相应的全景画面支撑,以支持观看用户对于全景视频流的多角度切换观看。
作为本申请中的一种可选实现方案,对于全景视频流的录制,本申请可以通过下述步骤来实现:
第一步,通过全景相机模型内的每一虚拟相机,从该虚拟相机对应的机位视角下,录制当前用户在虚拟空间内的互动画面。
由于全景相机模型内的每个虚拟相机会处于当前用户周围的不同机位上,那么不同虚拟相机面向当前用户进行录制时所设定的机位视角也就各不相同。所以,根据全景相机模型内每个虚拟空间在虚拟空间内的机位和该机位下的机位视角,可以分析预先构建的虚拟空间内当前用户和各个虚拟对象相对于每个虚拟相机的相对位置关系,从而确定位于每个虚拟相机视口内的虚拟画面,以通过每一虚拟相机在对应的机位视角下,来录制当前用户在虚拟空间内的互动画面。
应当理解的是,在直播场景下,由于当前用户的全景视频流会实时被推送给观看用户,所以为了保证观看用户对于全景视频流的多视角自适应切换,观看用户端会将观看用户在虚拟空间内的实时运动数据,例如6DoF数据,转发给云服务端。然后,本申请中可以根据观看用户的实时运动数据,调整全景相机模型中每一虚拟相机的机位视角。
也就是说,通过云服务端分析观看用户的实时运动数据,可以确定出观看用户对于全景视频流的朝向视角,该朝向视角可以包括在水平方向上通过左右转动头部来表示某一具体观看机位的水平视角和在竖直方向上通过上下转动头部来表示每一机位下的虚拟相机朝向当前用户时的竖直视角。
此时,在当前用户的全景视频流录制过程中,在保证全景相机模型中的每一虚拟相机朝向当前用户的基础上,还会根据观看用户在竖直方向上的竖直视角,来调整每个虚拟相机在竖直方向上的朝向,从而调整每个虚拟相机的机位视角。例如,在观看用户抬头时,可以控制每个虚拟相机在朝向当前用户的基础上再统一上调一下视角,从而更新每个虚拟相机的机位视角,以便录制符合观看用户视角下的全景视频流。
第二步,对各虚拟相机在同一时间戳下录制的互动画面进行拼接,得到该时间戳下的全景画面。
对于全景相机模型中各个虚拟相机实时录制的互动画面,本申请可以根据每个互动画面的录制时刻,为该互动画面设定对应的时间戳。然后,获取到各个虚拟相机在同一时间戳下录制的互动画面,并按照各个虚拟相机间的分布,对同一时间戳下的各个互动画面进行全景拼接,即可得到该时间戳下的全景画面。按照上述步骤,在实时录制过程中,可以得到每一时间戳下的全景画面。
第三步,整合每一时间戳下的全景画面,得到对应的全景视频流。
按照时间戳的顺序,可以对各个时间戳下的全景画面进行统一的编码整合,即可得到对应的全景视频流。
此时,云服务端在接收到任一观看用户对于当前用户的全景视频流的观看请求时,可以根据观看用户的实时运动数据,来判断观看用户对于全景视频流的观看视角,以便根据该观看视角来确定观看用户在VR球面模型中处于观看视场内的部分画面,从而处于用户视场内的部分画面推送给观看用户。此时,由于观看用户对于全景视频流的观看视角会按照观看用户的实时运动数据而平滑变化,使得观看用户在VR球面模型中的观看视场也会平滑变化,那么观看用户通过切换观看视角来观看相应的全景视频流时,能够确保全景视频流在观看用户端进行平滑切换,提升观看用户在多视角切换观看全景视频流时的观看体验。
本申请实施例提供的技术方案,在进入任一虚拟空间后,响应于当前用户的全景录制指令,首先会确定出虚拟空间内由围绕当前用户构建的多个虚拟相机而组成的全景相机模型。然后,通过该全景相机模型来录制当前用户在虚拟空间内的全景画面,来生成对应的全景视频流,从而通过全景相机模型来录制虚拟空间内的全景视频流,使得全景视频流无需跟随当前用户的视角变化而变化,从而避免虚拟空间内全景视频流录制时的晃动,确保虚拟空间内全景视频流的稳定录制。而且,任一观看用户在观看全景视频流时,支持对于全景视频流的多机位切换,提升用户观看全景视频流的沉浸式体验。
作为本申请中的一种可选实现方案,为了对当前用户在虚拟空间内的全景画面进行全面录制,本申请对虚拟空间内全景相机模型的具体确定过程进行详细说明。
图4为本申请实施例提供的另一种全景视频录制的方法的流程图。该方法具体可以包括如下步骤:
S410,响应于当前用户的全景录制指令,确定当前用户在虚拟空间内的周边互动区域。
在接收到当前用户在虚拟空间内的全景录制指令后,为了从第三方视角下全方位录制当前用户在虚拟空间内的互动画面,本申请可以设定在当前用户的周边全方位设置多个虚拟相机,从而从多角度下对当前用户进行全方位拍摄。
所以,为了实现全景相机模型在当前用户的周边全方位设置,本申请首先会根据当前用户在虚拟空间内的所处位置,在虚拟空间内为当前用户划定一个周边互动区域,以便在区域边界上设置多个虚拟相机,来确保全景相机模型在当前用户的周边全方位设置。
应当理解的是,本申请中当前用户的周边互动区域可以为在虚拟空间内划定的一个包括当前用户在内的三维空间区域,或者在虚拟空间内的地面上划定的一个包括当前用户在内的二维平面区域。而且,当前用户的周边互动区域可以是规则区域,例如圆柱空间区域、圆形区域、六面体区域,四边形区域等,也可以为随意划定的不规则区域等,本申请对此不作限定。
在一些可实现方式中,由于当前用户在虚拟空间内对各个虚拟对象进行相应互动时,当前用户会在虚拟空间内进行各种运动,而如果当前用户在虚拟空间内的运动范围过大,可能会超出全景相机模型的全景拍摄范围。所以,为了避免全景相机模型对当前用户的全景画面的录制遗漏,本申请首先可以确定当前用户在虚拟空间内的可活动区域;在可活动区域小于等于预设定的全景可覆盖区域上限时,将可活动区域作为当前用户的周边互动区域;而在可活动区域大于预设定的全景可覆盖区域上限时,根据当前用户在虚拟空间内的运动位置,确定当前用户的周边互动区域,从而确保按照该周边互动区域的区域边界构建的全景相机模型能够跟随当前用户的随机运动来全面录制到当前用户在虚拟空间内的全景画面。
也就是说,考虑到每个虚拟相机的覆盖范围有限,为了确保全景相机模型对于当前用户在虚拟空间内的全景画面的全面录制,本申请会为全景相机模型设定一个全景可覆盖区域上限,且在该全景可覆盖区域上限内构建全景相机模型,来录制当前用户在虚拟空间内的全景画面时,该全景画面中当前用户能够达到一定的清晰度。而在该全景可覆盖区域上限之外构建全景相机模型,来录制当前用户在虚拟空间内的全景画面时,该全景画面中当前用户的清晰度可能较低,无法保证能够清晰观看到当前用户在虚拟空间内的互动内容。
所以,在虚拟空间内构建全景相机模型时,首先会确定当前用户在虚拟空间内的可活动区域。该可活动区域可以为一个有限的区域空间,例如表演人员在虚拟空间内的虚拟舞台区域,或者某一乒乓球虚拟游戏中围绕乒乓球桌的一圈区域等。可活动区域也可以为整个虚拟空间,例如某一枪弹射击类游戏,用户会一直处于奔跑、躲避等运动状态下,游戏地图范围很大,使得当前用户的可活动区域也很大,会覆盖到游戏地图的整个虚拟空间。
那么,如果当前用户在虚拟空间内的可活动区域小于等于预设定的全景可覆盖区域上限,说明当前用户在一个有限的区域空间内进行运动,且即使在该可活动区域外围固定设置全景相机模型也能够确保全景相机模型录制的全景画面中当前用户的清晰度和可观看性。所以,在这种情况下,可以直接将该可活动区域作为当前用户的周边互动区域,以便在可活动区域的区域边界上构建全景相机模型,来对当前用户在虚拟空间内的全景画面进行全面录制。
而如果当前用户在虚拟空间内的可活动区域大于预设定的全景可覆盖区域上限,说明当前用户在虚拟空间内的运动范围很广,如果在虚拟空间内设置固定的全景相机模型,当前用户可能会超出全景相机模型的全景覆盖范围,而录制不到当前用户在虚拟空间内的全景画面。所以,在这种情况下,用于构建全景相机模型的周边互动区域也需要跟随当前用户的运动而运动。那么,本申请首先可以确定当前用户在虚拟空间内的运动位置,以分析当前用户在虚拟空间内的运动情况。然后,根据当前用户在虚拟空间内的运动情况和全景相机模型在保证全景画面中的当前用户达到一定清晰度的基础上设定的全景可覆盖区域上限,来在当前用户的周边划定一个有限的空间区域,作为当前用户的周边互动区域。
作为本申请中的一种可选实现方案,为了确保当前用户的周边互动区域的多样化,本申请中根据当前用户在虚拟空间内的运动位置,确定当前用户的周边互动区域,可以通过下述两种方式来实现:
1)将虚拟空间划分为多个虚拟子空间;根据当前用户在虚拟空间内的运动位置,确定当前用户所处的目标虚拟子空间,作为当前用户的周边互动区域。
也就是,如图5a所示,按照全景相机模型对于当前用户的录制清晰度要求所设定的全景可覆盖区域上限,本申请可以将虚拟空间内均匀划分为多个虚拟子空间。其中,每个虚拟子空间的区域范围可以小于全景可覆盖区域上限,以确保全景相机模型所录制的全景画面中当前用户的清晰度。
然后,根据当前用户在虚拟空间内的运动位置,判断当前用户具体位于虚拟空间内所划分出的各个虚拟子空间中的哪一虚拟子空间内,从而确定出当前用户所处的目标虚拟子空间。然后,将该目标虚拟子空间作为当前用户的周边互动区域,以便在该目标虚拟子空间的区域边界上构建相应的全景相机模型。
2)以当前用户在虚拟空间内的运动位置为中心点,按照预设定的周边区域大小,确定当前用户的周边互动区域。
也就是,当前用户在虚拟空间内的运动过程中,可以实时确定当前用户在虚拟空间内的运动位置。而且,通过预先设定当前用户的周边互动区域的形状,例如圆形、四边形或者不规则形状等,以此确定预设定的周边区域大小。然后,在当前用户在虚拟空间内的实时运动过程中,可以将当前用户在虚拟空间内的运动位置作为周边互动区域的中心点,并按照预设定的周边区域大小,在当前用户周围划定一个周边互动区域。
在这种情况下,如图5b所示,当前用户在虚拟空间内的运动过程中,其周边互动区域可以是跟随当前用户的运动位置而实时变化的。此时,当前用户可以实时处于该周边互动区域内的中心点,使得在周边互动区域的区域边界上构建的全景相机模型也能够跟随当前用户的运动而运动。
S420,根据周边互动区域的区域边界,构建多个虚拟相机,以得到对应的全景相机模型。
在确定出当前用户在虚拟空间内的周边互动区域后,可以在该周边互动区域的区域边界上,按照预设定的相邻相机间隔,依次构建多个虚拟相机,使得多个虚拟相机围绕当前用户而构建,从而组成对应的全景相机模型。
在一些可实现方式中,为了确保全景相机模型对于当前用户在虚拟空间内的全景画面的稳定录制,本申请可以设定全景相机模型中的多个虚拟相机处于同一水平高度上,并且在跟随当前用户运动时,全景相机模型中多个虚拟相机所在的水平高度会保持不变,以避免全景相机模型在录制全景画面时在水平方向上出现晃动。
所以,对于全景相机模型,本申请可以设定一个固定的水平高度,该水平高度可以高于当前用户的高度,以便在该水平高度上构建的全景相机模型能够从高于当前用户的第三方视角下对当前用户在虚拟空间内的全景画面进行实时录制。
进而,如图6所示,根据所设定的水平高度,在周边互动区域的区域边界上方确定出需要构建各个虚拟相机的机位,并在每一机位上构建一个虚拟相机,使得每一虚拟相机都能够与地面相距一个水平高度,而无需直接设置在地面上,确保全景录制的多样性。然后,对于每一虚拟相机,可以按照朝向当前用户的方向,设定该虚拟相机的机位视角,从而得到对应的全景相机模型,以便准确录制当前用户在虚拟空间内的全景画面。
S430,通过全景相机模型录制当前用户在虚拟空间内的全景画面,以生成对应的全景视频流。
本申请实施例提供的技术方案,在进入任一虚拟空间后,响应于当前用户的全景录制指令,首先会确定出虚拟空间内由围绕当前用户构建的多个虚拟相机而组成的全景相机模型。然后,通过该全景相机模型来录制当前用户在虚拟空间内的全景画面,来生成对应的全景视频流,从而通过全景相机模型来录制虚拟空间内的全景视频流,使得全景视频流无需跟随当前用户的视角变化而变化,从而避免虚拟空间内全景视频流录制时的晃动,确保虚拟空间内全景视频流的稳定录制。而且,任一观看用户在观看全景视频流时,支持对于全景视频流的多机位切换,提升用户观看全景视频流的沉浸式体验。
图7为本申请实施例提供的一种全景视频录制的装置的示意图,该全景视频录制的装置700可以包括:
全景相机模型确定模块710,用于响应于当前用户的全景录制指令,确定虚拟空间内的全景相机模型,所述全景相机模型由围绕所述当前用户构建的多个虚拟相机组成;
全景视频录制模块720,用于通过所述全景相机模型录制所述当前用户在所述虚拟空间内的全景画面,以生成对应的全景视频流。
在一些可实现方式中,全景相机模型确定模块710,可以包括:
周边区域确定单元,用于确定所述当前用户在所述虚拟空间内的周边互动区域;
全景相机模型构建单元,用于根据所述周边互动区域的区域边界,构建多个虚拟相机,以得到对应的全景相机模型。
在一些可实现方式中,周边区域确定单元,可以具体用于:
确定所述当前用户在所述虚拟空间内的可活动区域;
如果所述可活动区域小于等于预设定的全景可覆盖区域上限,则将所述可活动区域作为所述当前用户的周边互动区域;
如果所述可活动区域大于预设定的全景可覆盖区域上限,则根据所述当前用户在所述虚拟空间内的运动位置,确定所述当前用户的周边互动区域。
在一些可实现方式中,周边区域确定单元,可以具体用于:
将所述虚拟空间划分为多个虚拟子空间;
根据所述当前用户在所述虚拟空间内的运动位置,确定所述当前用户所处的目标虚拟子空间,作为所述当前用户的周边互动区域。
在一些可实现方式中,周边区域确定单元,还可以具体用于:
以所述当前用户在所述虚拟空间内的运动位置为中心点,按照预设定的周边区域大小,确定所述当前用户的周边互动区域。
在一些可实现方式中,全景相机模型构建单元,可以具体用于:
根据预设定的水平高度,在所述周边互动区域的区域边界上方确定每一虚拟相机的机位;
在每一机位上构建对应的虚拟相机,并设定该虚拟相机的机位视角,以得到对应的全景相机模型。
在一些可实现方式中,全景视频录制模块720,可以具体用于:
通过所述全景相机模型内的每一虚拟相机,从该虚拟相机对应的机位视角下,录制所述当前用户在所述虚拟空间内的互动画面;
对各所述虚拟相机在同一时间戳下录制的互动画面进行拼接,得到该时间戳下的全景画面;
整合每一时间戳下的全景画面,得到对应的全景视频流。
在一些可实现方式中,全景视频录制的装置700,还可以包括:
机位视角调整模块,用于根据观看用户的实时运动数据,调整所述全景相机模型中每一虚拟相机的机位视角。
本申请实施例中,在进入任一虚拟空间后,响应于当前用户的全景录制指令,首先会确定出虚拟空间内由围绕当前用户构建的多个虚拟相机而组成的全景相机模型。然后,通过该全景相机模型来录制当前用户在虚拟空间内的全景画面,来生成对应的全景视频流,从而通过全景相机模型来录制虚拟空间内的全景视频流,使得全景视频流无需跟随当前用户的视角变化而变化,从而避免虚拟空间内全景视频流录制时的晃动,确保虚拟空间内全景视频流的稳定录制。而且,任一观看用户在观看全景视频流时,支持对于全景视频流的多机位切换,提升用户观看全景视频流的沉浸式体验。
应理解的是,该装置实施例与本申请中的方法实施例可以相互对应,类似的描述可以参照本申请中的方法实施例。为避免重复,此处不再赘述。
具体地,图7所示的装置700可以执行本申请提供的任一方法实施例,并且图7所示的装置700中的各个模块的前述和其它操作和/或功能分别为了实现上述方法实施例的相应流程,为了简洁,在此不再赘述。
上文中结合附图从功能模块的角度描述了本申请实施例的上述方法实施例。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图8是本申请实施例提供的电子设备的示意性框图。
如图8所示,该电子设备800可包括:
存储器810和处理器820,该存储器810用于存储计算机程序,并将该程序代码传输给该处理器820。换言之,该处理器820可以从存储器810中调用并运行计算机程序,以实现本申请实施例中的方法。
例如,该处理器820可用于根据该计算机程序中的指令执行上述方法实施例。
在本申请的一些实施例中,该处理器820可以包括但不限于:
通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,该存储器810包括但不限于:
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在本申请的一些实施例中,该计算机程序可以被分割成一个或多个模块,该一个或者多个模块被存储在该存储器810中,并由该处理器820执行,以完成本申请提供的方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序在该电子设备800的执行过程。
如图8所示,该电子设备还可包括:
收发器830,该收发器830可连接至该处理器820或存储器810。
其中,处理器820可以控制该收发器830与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器830可以包括发射机和接收机。收发器830还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该电子设备800中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
本申请还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。
本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。
Claims (12)
1.一种全景视频录制的方法,其特征在于,所述方法包括:
响应于当前用户的全景录制指令,确定虚拟空间内的全景相机模型,所述全景相机模型由围绕所述当前用户构建的多个虚拟相机组成;
通过所述全景相机模型录制所述当前用户在所述虚拟空间内的全景画面,以生成对应的全景视频流。
2.根据权利要求1所述的方法,其特征在于,所述确定虚拟空间内的全景相机模型,包括:
确定所述当前用户在所述虚拟空间内的周边互动区域;
根据所述周边互动区域的区域边界,构建多个虚拟相机,以得到对应的全景相机模型。
3.根据权利要求2所述的方法,其特征在于,所述确定所述当前用户在所述虚拟空间内的周边互动区域,包括:
确定所述当前用户在所述虚拟空间内的可活动区域;
如果所述可活动区域小于等于预设定的全景可覆盖区域上限,则将所述可活动区域作为所述当前用户的周边互动区域;
如果所述可活动区域大于预设定的全景可覆盖区域上限,则根据所述当前用户在所述虚拟空间内的运动位置,确定所述当前用户的周边互动区域。
4.根据权利要求3所述的方法,其特征在于,所述根据所述当前用户在所述虚拟空间内的运动位置,确定所述当前用户的周边互动区域,包括:
将所述虚拟空间划分为多个虚拟子空间;
根据所述当前用户在所述虚拟空间内的运动位置,确定所述当前用户所处的目标虚拟子空间,作为所述当前用户的周边互动区域。
5.根据权利要求3所述的方法,其特征在于,所述根据所述当前用户在所述虚拟空间内的运动位置,确定所述当前用户的周边互动区域,还包括:
以所述当前用户在所述虚拟空间内的运动位置为中心点,按照预设定的周边区域大小,确定所述当前用户的周边互动区域。
6.根据权利要求2所述的方法,其特征在于,所述根据所述周边互动区域的区域边界,构建多个虚拟相机,以得到对应的全景相机模型,包括:
根据预设定的水平高度,在所述周边互动区域的区域边界上方确定每一虚拟相机的机位;
在每一机位上构建对应的虚拟相机,并设定该虚拟相机的机位视角,以得到对应的全景相机模型。
7.根据权利要求1所述的方法,其特征在于,所述通过所述全景相机模型录制所述当前用户在所述虚拟空间内的全景画面,以生成对应的全景视频流,包括:
通过所述全景相机模型内的每一虚拟相机,从该虚拟相机对应的机位视角下,录制所述当前用户在所述虚拟空间内的互动画面;
对各所述虚拟相机在同一时间戳下录制的互动画面进行拼接,得到该时间戳下的全景画面;
整合每一时间戳下的全景画面,得到对应的全景视频流。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
根据观看用户的实时运动数据,调整所述全景相机模型中每一虚拟相机的机位视角。
9.一种全景视频录制的装置,其特征在于,所述装置包括:
全景相机模型确定模块,用于响应于当前用户的全景录制指令,确定虚拟空间内的全景相机模型,所述全景相机模型由围绕所述当前用户构建的多个虚拟相机组成;
全景视频录制模块,用于通过所述全景相机模型录制所述当前用户在所述虚拟空间内的全景画面,以生成对应的全景视频流。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-8任一项所述的全景视频录制的方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8任一项所述的全景视频录制的方法。
12.一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行权利要求1-8任一项所述的全景视频录制的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211714731.3A CN115955536A (zh) | 2022-12-29 | 2022-12-29 | 一种全景视频录制的方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211714731.3A CN115955536A (zh) | 2022-12-29 | 2022-12-29 | 一种全景视频录制的方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115955536A true CN115955536A (zh) | 2023-04-11 |
Family
ID=87287326
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211714731.3A Pending CN115955536A (zh) | 2022-12-29 | 2022-12-29 | 一种全景视频录制的方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115955536A (zh) |
-
2022
- 2022-12-29 CN CN202211714731.3A patent/CN115955536A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106803966B (zh) | 一种多人网络直播方法、装置及其电子设备 | |
CN107888987B (zh) | 一种全景视频播放方法及装置 | |
US11282264B2 (en) | Virtual reality content display method and apparatus | |
CN107079141B (zh) | 用于三维视频的图像拼接 | |
US10049495B2 (en) | System and method for providing virtual reality content | |
WO2017110632A1 (ja) | 情報処理装置および操作受付方法 | |
WO2015122108A1 (ja) | 情報処理装置、情報処理方法及びプログラム | |
KR20190031504A (ko) | 파노라마 비디오의 상호작용적 전송을 위한 방법 및 시스템 | |
US9392248B2 (en) | Dynamic POV composite 3D video system | |
WO2018103384A1 (zh) | 一种360度全景视频的播放方法、装置及系统 | |
US20170186243A1 (en) | Video Image Processing Method and Electronic Device Based on the Virtual Reality | |
CN110419224A (zh) | 用于封装和流传输虚拟现实媒体内容的方法和装置 | |
CN105939497B (zh) | 媒体串流系统及媒体串流方法 | |
US20170225077A1 (en) | Special video generation system for game play situation | |
EP3513554A1 (en) | Method, apparatus and stream for immersive video format | |
EP3819752A1 (en) | Personalized scene image processing method and apparatus, and storage medium | |
US20210042980A1 (en) | Method and electronic device for displaying animation | |
US11561651B2 (en) | Virtual paintbrush implementing method and apparatus, and computer readable storage medium | |
CN114531553B (zh) | 生成特效视频的方法、装置、电子设备及存储介质 | |
CN110730340B (zh) | 基于镜头变换的虚拟观众席展示方法、系统及存储介质 | |
US20240062479A1 (en) | Video playing method and apparatus, electronic device, and storage medium | |
JP6518645B2 (ja) | 情報処理装置および画像生成方法 | |
KR102261739B1 (ko) | 증강 현실 미디어 콘텐츠의 적응적 스트리밍 시스템 및 적응적 스트리밍 방법 | |
KR102176805B1 (ko) | 뷰 방향이 표시되는 vr 컨텐츠 제공 시스템 및 방법 | |
US20220353484A1 (en) | Information processing apparatus, information processing method, and program |
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 |