CN107517372B - 一种vr内容拍摄方法、相关设备及系统 - Google Patents
一种vr内容拍摄方法、相关设备及系统 Download PDFInfo
- Publication number
- CN107517372B CN107517372B CN201710710067.8A CN201710710067A CN107517372B CN 107517372 B CN107517372 B CN 107517372B CN 201710710067 A CN201710710067 A CN 201710710067A CN 107517372 B CN107517372 B CN 107517372B
- Authority
- CN
- China
- Prior art keywords
- information
- virtual camera
- rotation information
- position information
- shooting
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/111—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
- H04N13/117—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/296—Synchronisation thereof; Control thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/012—Head tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/10—Image acquisition
- G06V10/12—Details of acquisition arrangements; Constructional details thereof
- G06V10/14—Optical characteristics of the device performing the acquisition or on the illumination arrangements
- G06V10/147—Details of sensors, e.g. sensor lenses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/275—Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/275—Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
- H04N13/279—Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals the virtual viewpoint locations being selected by the viewers or determined by tracking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/332—Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
- H04N13/344—Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
- H04N5/2621—Cameras specially adapted for the electronic generation of special effects during image pickup, e.g. digital cameras, camcorders, video cameras having integrated special effects capability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Vascular Medicine (AREA)
- General Health & Medical Sciences (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例公开了一种VR内容拍摄方法。本申请实施例方法包括:获取VR显示设备的第一位置信息及第一旋转信息;获取拍摄参数,所述拍摄参数包括虚拟摄像机与所述显示设备中所显示的目标对象的距离,所述虚拟摄像机为创建的虚拟控制器;根据第一位置信息及拍摄参数计算摄像机的第二位置信息,处理设备根据第一旋转信息计算摄像机的第二旋转信息;根据第二位置信息和第二旋转信息计算摄像机的实时方位;根据摄像机的实时方位记录摄像机所拍摄的图像信息。本申请实施例还提供了一种处理设备及系统,用于提供一种在VR应用中通用的拍摄方式,且并不局限于VR应用本身的拍摄功能。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种VR内容拍摄方法、相关设备及系统。
背景技术
虚拟现实(Virtual Reality,缩写:VR)技术是一种可以创建和体验虚拟世界的计算机仿真系统,它利用计算机生成一种模拟环境,是一种多源信息融合的、交互式的三维动态视景和实体行为的系统仿真,使用户沉浸到该环境中。
VR市场快速增长,用户随之数量增加,可以进行自拍的VR应用并将所自拍的内容分享的需求也逐步增多。其中,专为满足VR用户自拍需求的VR应用应运而生,现有技术中,VR应用在开发时就将自拍功能内置于应用内部。以最常见的VR应用开发工具Unity为例,当用户使用自拍功能时,VR应用需要创建一个Unity组件摄像机,渲染一个自拍的场景来实现自拍。
VR是否能够实现自拍效果,取决于VR应用开发商在开发VR应用时是否内置自拍功能,如果VR应用不提供内置自拍功能则没有办法实现自拍效果。综上,亟需一种并不局限于VR应用本身的功能而实现拍摄的方法。
发明内容
本申请实施例提供了一种VR内容拍摄方法,用于提供一种并不局限于VR应用本身的功能,而在VR应用中通用的内容拍摄方法。
第一方面,本申请实施例提供了一种VR内容拍摄方法,
应用于虚拟现实VR系统,所述VR系统包括处理设备和VR显示设备,所述VR显示设备与所述处理设备连接,所述方法包括:
所述处理设备获取所述VR显示设备的第一位置信息及第一旋转信息;
所述处理设备获取拍摄参数,所述拍摄参数包括虚拟摄像机与所述显示设备中所显示的目标对象的距离,所述虚拟摄像机为创建的虚拟控制器;
所述处理设备根据所述第一位置信息及所述拍摄参数计算虚拟摄像机的第二位置信息;
所述处理设备根据所述第一旋转信息计算所述虚拟摄像机的第二旋转信息;
所述处理设备根据所述第二位置信息和所述第二旋转信息计算所述虚拟摄像机的实时方位;
所述处理设备根据所述虚拟摄像机的实时方位记录所述虚拟摄像机所拍摄的图像信息。
第二方面,本申请实施例提供了一种处理设备,包括:
第一获取模块,用于获取所述显示设备的第一位置信息及第一旋转信息;
第二获取模块,用于获取拍摄参数,所述拍摄参数包括虚拟摄像机与所述显示设备中所显示的目标对象的距离,所述虚拟摄像机为创建的虚拟控制器;
位置信息计算模块,用于根据所述第一获取模块获取的所述第一位置信息及所述第二获取模块获取的所述拍摄参数计算所述虚拟摄像机的第二位置信息;
旋转信息计算模块,用于根据所述第一旋转信息计算所述虚拟摄像机的第二旋转信息;
方位计算模块,用于根据所述位置信息计算模块计算的所述第二位置信息和所述旋转信息计算模块计算的所述第二旋转信息计算所述虚拟摄像机的实时方位;
记录模块,用于根据所述方位计算模块计算的所述虚拟摄像机的实时方位记录所述虚拟摄像机所拍摄的图像信息。
第三方面,本申请实施例提供了一种处理设备,包括:
存储器,用于存储计算机可执行程序代码;
网络接口,以及
处理器,与所述存储器和所述收发器耦合;
其中所述程序代码包括指令,当所述处理器执行所述指令时,所述指令使所述处理设备执行上述第一方面的方法。
第四方面,本申请实施例提供了一种VR内容拍摄系统,包括:处理设备和VR显示设备;
所述处理设备获取所述VR显示设备的第一位置信息及第一旋转信息;
所述处理设备获取拍摄参数,所述拍摄参数包括虚拟摄像机与所述显示设备中所显示的目标对象的距离,所述虚拟摄像机为创建的虚拟控制器;
所述处理设备根据所述第一位置信息及拍摄参数计算所述虚拟摄像机的第二位置信息;
所述处理设备根据所述第一旋转信息计算所述虚拟摄像机第二旋转信息拍摄参数;
所述处理设备根据所述第二位置信息和所述第二旋转信息计算所述虚拟摄像机的实时方位;
所述处理设备根据所述虚拟摄像机的实时方位记录所述虚拟摄像机所拍摄的图像信息。
第五方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,处理设备创建了虚拟控制器,该虚拟控制器可以执行虚拟摄像机的功能,处理设备获取显示设备的第一位置信息及第一旋转信息;然后,处理设备可以根据第一位置信息及拍摄参数计算出虚拟摄像机的第二位置信息;处理设备根据第一旋转信息计算虚拟摄像机的第二旋转信息;确定了第二位置信息和第二旋转信息就可以进一步的确定虚拟摄像机的实时方位,根据虚拟摄像机的实时方位记录虚拟摄像机所拍摄的图像信息。本申请实施例中,根据实时获取到的显示设备的第一位置信息、第一旋转信息及拍摄参数计算虚拟摄像机的第二位置信息和第二旋转信息,确定虚拟摄像机的实时方位从而记录拍摄信息,在本实施例中提供的方法可以对无拍摄功能的VR应用,补足其拍摄功能缺失;对于自拍功能的VR应用,也可以作为功能补充,提供一种不影响用户正常使用VR应用的拍摄方式。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本申请实施例中虚拟现实系统示意图;
图2为本申请实施例中一种在虚拟现实中实现拍摄的方法的步骤示意图;
图3为本申请实施例中处理设备显示的设置拍摄参数的界面示意图;
图4为本申请实施例中摄像机对目标对象拍摄的场景示意图;
图5为本申请实施例中设置拍摄距离的场景示意图;
图6为本申请实施例中设置拍摄距离的场景示意图;
图7为本申请实施例中设置拍摄参数的场景示意图;
图8为本申请实施例中设置拍摄角度的场景示意图;
图9为本申请实施例中设置拍摄角度的场景示意图;
图10为本申请实施例中确定摄像机实时方位的场景示意图;
图11为本申请实施例中一种在虚拟现实中实现拍摄的方法的步骤流程场景示意图;
图12为本申请实施例中一种处理设备的一个实施例的结构示意图;
图13为本申请实施例中一种处理设备的另一个实施例的结构示意图;
图14为本申请实施例中一种处理设备的另一个实施例的结构示意图;
图15为本申请实施例中一种处理设备的另一个实施例的结构示意图;
图16为本申请实施例中一种处理设备的另一个实施例的结构示意图;
图17为本申请实施例中一种处理设备的另一个实施例的结构示意图。
具体实施方式
本申请实施例提供了一种在虚拟现实中实现拍摄的方法,用于提供一种在VR应用中通用的拍摄方式。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
现实生活中,自拍成了大众行为,基于自拍的强大需求,拍照手机,拍照应用,小视频应用,直播应用层出不穷,内容自拍也成为主流。基于现实世界中自拍带来的感受,在虚拟现实(Virtual Reality,缩写:VR)中,越来越多的VR应用也提供了自拍功能,例如,有些VR社交类的软件直接内置自拍功能。现有技术中的VR中的自拍功能局限于应用层,也就是说,取决于应用开发的过程中该款应用是否内置了自拍功能,若应用开发过程中,内置了自拍了功能,才能实现自拍的效果。并且在现有技术中,VR中自拍时需要占用一个手持控制器充当自拍杆的功能,自拍将打断或暂停VR应用的原进程。
基于现有技术中只有VR应用中内置了拍摄功能情况下才能自拍的不足,本申请实施例中提供了一种VR应用通用的拍摄方法,可以对尚无自拍功能的VR应用,补足其功能缺失,实现拍摄及录制的效果;对于已有自拍功能的VR应用,也可以作为其功能补充,提供一种不影响用户正常使用VR应用的自拍方式。
本申请实施例提供的VR中内容拍摄方法,应用于虚拟现实VR系统,请结合图1进行理解,图1为VR系统示意图,该VR系统包括VR显示设备101和处理设备102,VR显示设备101与处理设备102连接。该VR显示设备101为VR头显(虚拟现实头戴式显示设备),可以为VR眼镜、VR头盔等。VR显示设备是一种利用头戴式显示器将人的对外界的视觉、听觉封闭,引导用户产生一种身在虚拟环境中的感觉。该处理设备102可以为计算机,手机,掌上电脑等。
在本申请实施例中,利用VR技术平台的驱动接口创建一个虚拟控制器,该虚拟控制器在VR应用内代表一个摄像机。例如,在一个应用场景中,技术开发人员通过计算机从steamVR平台下载软件开发包(Software Development Kit,缩写:SDK),该SDK软件开发包中包括OpenVR驱动接口,计算机利用steamVR平台采用的OpenVR驱动接口创建虚拟控制器,通过控制此虚拟控制器的方位来调整VR中虚拟摄像机的位置和拍摄方向。该虚拟控制器等同于虚拟摄像机,本实施例中虚拟摄像机也可简称为摄像机。
具体的,在本申请实施例中,VR显示设101通过自身的传感装置与定位装置确定VR显示设备在VR中的第一位置信息及第一旋转信息,VR显示设备将该第一位置信息及第一旋转信息发送给处理设备102,处理设备102获取到该第一位置信息及第一旋转信息,处理设备102获取拍摄参数,该拍摄参数包括摄像机与显示设备中所显示的目标对象的距离,该拍摄参数可以是用户输入的,也可以是处理设备预先设置的,拍摄参数的具体获取方式并不限定;然后,处理设备102可以根据该第一位置信息及拍摄参数计算摄像机的第二位置信息;处理设备根据第一旋转信息计算摄像机的第二旋转信息;根据第二位置信息和第二旋转信息计算摄像机的实时方位,可以理解的是,确定了摄像机的实时方位,也就确定了摄像机的实时拍摄视角;根据摄像机的实时方位记录摄像机所拍摄的图像信息。
为了方便理解,首先对本申请实施例中涉及的词语进行理解。
欧拉角:描述旋转的一种表示方式,在三维空间由三个角度参数组成。任何一个旋转可以表示为依次绕着三个旋转轴旋转的三个角度的组合。这三个角度称为欧拉角。三个轴可以指固定的世界坐标系轴,也可以指被旋转的物体坐标系的轴。
旋转矩阵:描述旋转的一种表示方式,在三维空间中由3*3矩阵组成。旋转矩阵(Rotation matrix)是在乘以一个向量的时候改变向量的方向但不改变大小的效果的矩阵。
四元数:描述旋转的一种表示方式,在三维空间由一个实数与三个虚数参数组成。四元数可以表示一个四维空间中的旋转,例如,一个四元数可以表示为x=a+bi+cj+dk。其中,a、b、c、d为实数,i,j,k是虚数单位。
虚拟控制器:OpenVR接口包含一个驱动接口规范,可以虚拟出类似物理手持控制器的虚拟控制器。在本申请实施例中该虚拟控制器代表摄像机,即通过控制虚拟控制器来控制摄像机的方位。
世界坐标系:系统的绝对坐标系,在没有建立用户坐标系之前画面上所有点的坐标都是以该坐标系的原点来确定各自的位置的,是一种全局的、恒定的参考坐标系。
目标坐标系:摄像机在初始化时的本地坐标系,是局限于摄像机的局部坐标系。经过测试,摄像机初始化时,目标坐标系原点的位置在世界坐标系下的实际值为Pci=(-2.05,1.87,-0.87);在初始化时,摄像机的旋转相对于世界坐标系为Eci=(0,-1.82,0)。其中,Pci和Eci可能在不同的配置环境下有所不同,在添加摄像机后并对其未做任何移动之前,获取Pci和Eci。
下面对本申请实施例提供的一种VR内容拍摄方法进行具体描述,请结合图2进行理解,本申请实施例是以处理设备为执行主体进行说明。
步骤201、处理设备通过驱动接口创建摄像机。
本申请某一较佳实施例中,处理设备从steamVR平台下载SDK,该SDK中包括OpenVR驱动接口,处理设备利用SteamVR平台采用的OpenVR驱动接口创建一个虚拟控制器,通过SteamVR的机制可在VR应用内获得一个可控方位的摄像机,该虚拟控制器可以控制该摄像机的方位,因此,本申请实施例中,该虚拟控制器可以等同于该摄像机,该摄像机用于在VR中拍摄图像信息,例如,可以该摄像机可以用于拍摄,录制等。
需要说明的是,本步骤为可选步骤,在进行创建完摄像机后,本步骤也可以不执行。
步骤202、处理设备获取拍摄参数。
该拍摄参数可以进一步包括拍摄距离信息和拍摄角度信息。
本申请实施例中,请结合图3进行理解,图3为处理设备显示的设置拍摄参数的界面示意图。该处理设备可以接收用户输入的拍摄距离参数,录制按钮点击之前可在预览窗口预览拍摄效果,以此调整VR应用中最佳拍摄距离。
需要说明的是,本申请实施例中的拍摄可以是针对显示设备中所显示的目标对象的任一角度进行拍摄,目标对象为用户在虚拟世界中的虚拟角色,例如,在一款VR游戏应用中,玩家在VR中的虚拟角色为一个赛车手,该目标对象为在虚拟世界中的赛车手。
本申请实施例中,请结合图4进行理解,图4为摄像机对目标对象拍摄的场景示意图。对于目标对象401的拍摄可以为自拍角度,即摄像机402在目标对象的正前方,或者,该摄像机可以在目标对象401的正上方,或者,该摄像机也可以在目标对象401的左侧或者右侧,具体的,该摄像机的拍摄角度可以预先设置,本申请实施例中,可以以自拍的场景为例进行说明,即摄像机在目标对象的正前方进行拍摄。需要说明的是,在应用场景中,该显示设备可以显示该摄像机,也可以不显示该摄像机。
对于拍摄距离信息的获取方式可以为:
在第一种可能的实现方式中,拍摄距离信息为用户输入的距离信息,请结合图5和图6进行理解,图5和图6为设置拍摄距离的场景示意图。用户可以通过输入设备选择距离的远近。例如,最近的距离为“0”,最远的近距离为“5”,用户可以通过鼠标滑动处理器屏幕上显示的确认点来调整拍摄距离的远近。该距离可以从0增大,一直增大到最大的预置值(如5),该距离也可以从一个数值减小(如5),减小一个合适的距离(如3)。在一种应用场景中,摄像机位于目标对象的正前方且与目标对象的距离为“3”的位置对目标对象进行拍摄。
在第二种可能的实现方式中,该拍摄距离信息和拍摄角度信息为用户输入的具体数值,请结合图7进行理解,图7为设置拍摄参数的场景示意图。例如,若默认的拍摄角度为正对目标对象,若用户设置的拍摄角度为45度,则摄像机与目标对象的距离为“3”,摄像机的高度与目标对象的高度相同。为了方便理解,请结合图8进行理解,图8为设置拍摄角度的示意图。在目标坐标系下,目标对象的眼睛A点的坐标为(0,1,0),若用户输入的拍摄角度为0度,则摄像机是正对目标对象进行拍摄,并且摄像机的位置B点的坐标为(0,1,1);若用户输入的拍摄角度为90度,摄像机的从B点绕y轴进行逆时针旋转,旋转到位置C,摄像机的位置C点的坐标为(1,1,0)。需要说明的是,点A的坐标、点B的坐标和点C的坐标均为方便理解拍摄角度的设置而举的简单的示例,并不造成本申请的限定性说明。当然,用户还可以灵活的输入其他的角度,处理设备可以以欧拉角的形式计算摄像机的位置,例如,围绕x轴旋转a度,然后围绕y轴旋转b度,围绕z轴旋转c度,其中,处理设备会根据用户具体输入的角度,确定围绕x,y,z轴的旋转顺序。
在第三种中可能的实现方式中,请结合图9进行理解,图9为设置拍摄角度的场景示意图。预先设置了多个拍摄角度,该预先设置的多个拍摄角度为用户比较常用,经过收集大量的用户设置的历史拍摄角度而得到了常用拍摄角度,用户可以在选择菜单中选择目标拍摄角度。
需要说明的是,在第二种可能的实现方式和第三种可能的实现方式中,当处理设备接收到用户输入的拍摄角度后,处理设备计算摄像机的位置后,可以通过拍摄预览显示该拍摄角度,从而使用户确认输入的拍摄角度是否是自己想要的拍摄角度,若用户确认拍摄参数(包括拍摄距离和拍摄角度)后,点击处理设备上显示的“确认”键,完成对拍摄参数的设置。
步骤203、处理设备根据设置拍摄参数的操作确定拍摄参数,拍摄参数包括摄像机与显示设备中所显示的目标对象的距离。
处理设备根据设置拍摄参数的操作确定拍摄参数,例如该拍摄参数为举例为“1”,拍摄角度为“0”。可以理解的是,在一个应用场景中,该摄像机的位置距离目标对象的眼睛的距离为“1”,且正对着目标对象的眼睛,正面对目标对象进行拍摄。
需要说明的是,步骤202和步骤203为可选步骤,步骤202和步骤203为对拍摄参数的设置步骤,拍摄参数设置完成后,可以不执行步骤202和步骤203,而直接执行步骤204。
步骤204、处理设备获取显示设备的第一位置信息及第一旋转信息。
处理设备在获取显示设备方位的接口中,可以实时获取显示设备的数据,该数据包括显示设备在世界坐标系中三维空间的第一位置信息(记作“Phmd”)及第一旋转信息(记作“Rhmd”),需要说明的是,该第一旋转信息可以是矩阵形式的,或者可以是欧拉角形式的,或者可以是四元数形式的。本申请实施例中,该第一旋转信息以矩阵形式为例进行说明。
步骤205、处理设备根据第一位置信息及拍摄参数计算摄像机的第二位置信息。
处理设备根据第一位置信息及目标距离计算摄像机在世界坐标系的第三位置信息。然后将第三位置信息转换为在目标坐标系下的第二位置信息。
本申请实施例中,处理设备在同一个坐标系(世界坐标系)下,根据第一位置信息及目标距离计算摄像机在世界坐标系的第三位置信息。请结合图8进行理解,例如,第一位置信息的坐标为(0,1,0),根据第一位置信息及目标距离(如“1”)计算在世界坐标系下的第三位置信息,第三位置信息为坐标点(0,1,1);然后,处理设备根据第三位置信息和Pci将第三位置信息转换为在目标坐标下的第二位置信息。
具体的,确定了目标对象的位置Phmd和摄像机与目标对象正视前方的目标距离(记作“D”)。在世界坐标系下,目标对象绕y轴旋转了欧拉角E(y),则目标距离D在y轴分量为0,在x轴分量为D*sin E(y),在z轴分量为D*cos E(y)。在世界坐标系中,逆时针围绕y轴旋转角度值为正值。因此摄像机的位置为:
Pc=(x-D*sin E(y),y,z-D*cos E(y)),其中(x,y,z)即显示设备在VR中系统中的位置Phmd的坐标点。
由于在VR系统中存在两个坐标系,一个是世界坐标系,另一个是目标坐标系,计算摄像机实时方位所需的摄像机的位置是在目标坐标系下的位置。因此,需要摄像机在世界坐标系下的位置Pc转换到目标坐标下的位置Pc′。
在世界坐标系中,Pc相对于目标坐标系的原点位置的向量为Pc-Pci,然后将此向量转换为目标坐标系下即可。目标坐标系相对于世界坐标系的旋转为Eci,再根据欧拉角转换四元数转换公式,Eci的四元数形式用Qci表示,借助四元数对向量(Pc-Pci)进行坐标系转换。在目标坐标系下,对向量Pc-Pci旋转即Qci的共轭,其意义是Qci的反向旋转。将向量扩为四元数的形式,即为Qc-ci=(0,Pc-Pci),令w为0值,根据四元数的格拉斯曼积,得到旋转后的值若Q'c-ci=x'i+y'j+z'k,其中,(x',y',z')即目标坐标系下的位置P′c。本申请实施例中通过四元数对位置进行不同坐标系下的转换,计算方便,而且计算量较小。
需要说明的是,涉及不同坐标系下的位置的转换,本申请实施例中借助了四元数对向量(Pc-Pci)进行坐标系转换,从而得到P′c只是为了方便说明,而举的例子,并不造成对本申请的限定性说明。
本实施例中摄像机的位置是以平视自拍为例,俯视或仰视的拍摄示例可根据本实施例中所示例的平视进行理解,区别在于计算自拍距离D在世界坐标系各轴的分量与本申请实施例不同,但是计算原理相同,请参照本申请实施例中的示例进行理解。
步骤206、处理设备根据第一旋转信息计算摄像机的第二旋转信息。
处理设备根据第一旋转信息计算摄像机在世界坐标系的第三旋转信息;处理设备将第三旋转信息和Eci转换成在目标坐标系下的第二旋转信息。
需要说明的是,由于第二旋转信息为矩阵形式的,而计算摄像机方位所需要的第二旋转信息可能并不是矩阵形式的,例如,计算摄像机方位所输入的第二旋转信息可以是四元数形式的。
在一种可能的实现方式中,处理设备根据矩阵形式的第一旋转信息计算矩阵形式的摄像机的第二旋转信息;然后,再将矩阵形式的第二旋转信息转换成四元数形式的第二旋转信息。
将矩阵形式的第二旋转信息转换成四元数形式的第二旋转信息举例如下:
在三维空间内,对于旋转涉及旋转顺序和右手坐标系,本申请实施例可以采用右手坐标系,即+x表示向右,+y表示向上,+z表示指朝向观察者正面。
首先,对于一个三维空间的点P(x,y,z),将其绕y轴旋转θ角可以用旋转矩阵来表示的,如下:
类似的,绕x坐标轴旋转α角的矩阵可以表示如下:
绕z坐标轴旋转β角的矩阵可以表示如下:
需要说明的是,在实际应用中,对于空间上的点P(x,y,z),绕x轴,y轴和z轴旋转的角度可能相同也可能不同,本实施例中对于旋转的角度只是为了方便说明而举的例子,并不造成对本申请的限定性说明。
绕坐标轴旋转的先后顺序对旋转矩阵的结果是有影响的,例如,本申请实施例中,采用的顺序为先绕y轴旋转、再z轴旋转、最后x轴旋转,且目标坐标系为参考坐标系,旋转矩阵R如下公式1所示:
需要说明的是,本实施例中对于绕x轴,y轴和z轴的旋转顺序只是举例说明,并不造成对本申请的限定性说明。
已知公式1中的旋转矩阵R,将旋转矩阵转化为四元数的形式:
根据欧拉定理,刚体绕固定点的任一位移,可由绕通过此点的某一轴转过一个角度而得到。则该相应四元数超复数形式的公式2如下:
以四个单位元数表示如下公式3:
Q=q0+q1i+q2j+q3k
利用公式2和三角变化公式,可将公式1中矩阵转化为四元数。转化公式4如下:
在另一种实现方式中,处理设备将矩阵形式的第二旋转信息转换成欧拉角形式的第二旋转信息;然后,处理设备再将欧拉角形式的第二旋转信息转换成四元数形式的第二旋转信息。
本申请实施例中,所实现的拍摄效果可以是与目标对象同高且平视看向目标对象、也可以俯视或仰视面向目标对象的拍摄角度,类似现实世界的自拍杆的自由自拍效果。为了方便说明,本申请实施例中以平视自拍效果为例,这种拍摄模式下,摄像机不会绕x轴与z轴旋转,即绕x轴的旋转角度为0,绕z轴的旋转角度也为0;y轴与目标对象的旋转角相对,即目标对象与y轴成180°夹角。
由上述公式1已知目标对象的旋转矩阵,可以根据该旋转矩阵的信息获取其旋转的欧拉角。设旋转矩阵R=[mi,j]m×n,其中,m为旋转矩阵R中的行数,n为旋转矩阵中的列数,mi,j为第i行第j列的数值,则目标对象的y轴欧拉角E(y)为:
E(y)是世界坐标系的旋转角度,转换到目标坐标系下,摄像机的旋转角E′(y)为:
E′(y)=E(y)-Eci(y)+π
欧拉角与四元数表示方法均是表示旋转的常用方法,欧拉角表示法具有简便、几何意义明显等优点,同时姿态敏感器(如头显)可以直接检测出这些参数,能较方便求解姿态,本申请实施例中将矩阵转换为欧拉角也利于用户理解,设置拍摄参数,采用欧拉角描述较为方便。但是欧拉角的运算需要多次的三角运算,而采用四元数的形式,运算较为方便,设置摄像机旋转的接收参数为四元数,因此,还需将欧拉角形式的第二旋转信息转换为四元数形式的第二旋转信息,仍然使用OpenVR的右手坐标系四元数Q'c=q0'+q1'i+q2'j+q3'k,其中:
需要说明的是,步骤205和步骤206没有时序上的限定,步骤206也可以在步骤205之前。
步骤207、处理设备根据第二位置信息和第二旋转信息计算摄像机的实时方位。
请结合图10进行理解,图10为确定摄像机实时方位的场景示意图。确定了摄像机的第二位置信息及第二旋转信息就确定了摄像机的摄像角度。
步骤208、处理设备根据摄像机的实时方位记录摄像机所拍摄的图像信息。
本申请实施例中,处理设备获取显示设备的第一位置信息及第一旋转信息;然后,处理设备可以根据第一位置信息及拍摄参数计算出摄像机的第二位置信息,并且,处理设备根据第一旋转信息计算摄像机的第二旋转信息;确定了第二位置信息和第二旋转信息就可以进一步的确定摄像机的实时方位,根据摄像机的实时方位记录摄像机所拍摄的图像信息。本申请实施例中,利用OpenVR的驱动接口创建一个虚拟控制器,其在VR应用内代表一个摄像机。根据实时获取到的显示设备的第一位置信息、第一旋转信息及用户设置的拍摄参数计算摄像机的第二位置信息和第二旋转信息,确定摄像机的实时方位从而记录拍摄信息,在本实施例中提供的方法可以对无自拍功能的VR应用,补足其自拍功能缺失;对于已有自拍功能的VR应用,也可以作为功能补充,提供一种不影响用户正常使用VR应用的拍摄方式。
为了方便理解,下面对本申请实施例中提供的方法进行场景示例说明。请参阅图11进行理解,图11为一种在虚拟现实中实现拍摄的方法的步骤流程场景示意图。
在一种场景中,用户通过一款VR应用完赛车游戏,用户想要录制整场比赛的情况并分享给朋友,在进行拍摄之前,用户可以通过处理设备显示的UI界面设置拍摄参数,该拍摄参数包括距离参数D和拍摄角度。
启动自拍模式;
处理设备创建摄像机,然后,获取摄像机初始化时的原点位置P与旋转参数Q;
用户头戴头显设备,用户点击UI界面的“录制”,头显设备可以实时检测到头显设备在现实环境中的位置的改变,相应的,处理设备获取到赛车手头部(用户在VR中的目标对象)的实时第一位置信息及第一旋转信息,处理设备根据第一旋转信息和原点位置P与旋转参数计算出摄像机的第二旋转信息,并根据第一位置信息和用户设置的拍摄参数计算计算机的第二位置信息,处理设备不断的实时更新摄像机的实时方位,通过处理设备的显示器可以实时预览拍摄画面,并进行录制该拍摄画面,在录制拍摄画面的过程中,并不会打扰或打断用户的游戏进程。
上面对本申请实施例中提供的一种在虚拟现实中实现拍摄的方法进行了描述,下面对本申请实施例中方法所应用的处理设备进行描述,请参阅图12所示,本申请实施例中提供了一种处理设备1200的一个实施例包括:
该处理设备应用于虚拟现实VR系统,VR系统包括处理设备和VR显示设备,该处理设备包括:
第一获取模块1201,用于获取显示设备的第一位置信息及第一旋转信息;
第二获取模块1211,用于获取拍摄参数,所述拍摄参数包括虚拟摄像机与所述显示设备中所显示的目标对象的距离,所述虚拟摄像机为创建的虚拟控制器;
位置信息计算模块1202,用于根据第一获取模块1201获取的第一位置信息及第二获取模块1211获取的拍摄参数计算摄像机的第二位置信息;
旋转信息计算模块1203,用于根据获取模块1201获取的第一旋转信息计算摄像机的第二旋转信息;
方位计算模块1204,用于根据位置信息计算模块1202计算的第二位置信息和旋转信息计算模块1203计算的第二旋转信息计算摄像机的实时方位;
记录模块1205,用于根据方位计算模块1204计算的摄像机的实时方位记录摄像机所拍摄的图像信息。
在图12的基础上,请结合图13进行理解,本申请实施例中提供了一种处理设备1300的一个实施例包括:还包括摄像机创建模块1206;
摄像机创建模块1206,用于通过驱动接口创建虚拟控制器,所述虚拟控制器用于执行所述摄像机的功能。
在图12的基础上,请结合图14进行理解,本申请实施例中提供了一种处理设备1400的一个实施例包括:
第一位置信息和第一旋转信息为在世界坐标系下的信息;位置信息计算模块1202包括第一计算单元12021和第一转换单元12022,旋转信息计算模块1203包括第二计算单元12031和第二转换单元12032;
第一计算单元12021,用于根据第一位置信息及拍摄参数计算摄像机在世界坐标系的第三位置信息;
第一转换单元12022,用于将第一计算单元12021计算的第三位置信息转换为在目标坐标系下的第二位置信息;
第二计算单元12031,用于根据第一旋转信息计算摄像机在世界坐标系的第三旋转信息;
第二转换单元12032,用于将第二计算单元12031计算的第三旋转信息转换成在目标坐标坐标系下的第二旋转信息。
在图12的基础上,请结合图15进行理解,本申请实施例中提供了一种处理设备1500的一个实施例包括:
旋转信息计算模块1203包括第三计算单元12033和第三转换单元12034;
第三计算单元12033,用于根据矩阵形式的第一旋转信息计算矩阵形式的第二旋转信息;
第三转换单元12034,用于将第三计算单元12033计算的矩阵形式的第二旋转信息转换成四元数形式的第二旋转信息。
可选的,
第三转换单元12034,还用于将矩阵形式的第二旋转信息转换成欧拉角形式的第二旋转信息;
将欧拉角形式的第二旋转信息转换成四元数形式的第二旋转信息。
在图12的基础上,请结合图16进行理解,本申请实施例中提供了一种处理设备1600的一个实施例包括:
还包括接收模块1207和确定模块1208;
接收模块1207,用于接收设置拍摄参数的操作;
确定模块1208,用于根据接收模块1207接收的设置拍摄参数的操作确定拍摄参数。
进一步的,图12至图16中的处理设备是以功能模块的形式来呈现。这里的“模块”可以指特定应用集成电路(application-specific integrated circuit,ASIC),电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,图12至图16中的处理设备可以采用图17所示的形式。
本申请实施例还提供了另一种处理设备,如图17所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该处理设备可以为电脑、平板电脑、手机等,以处理设备为电脑为例:
图17示出的是与本申请实施例提供的处理设备相关的处理设备的部分结构的框图。参考图17,处理设备包括:网络接口1710、存储器1720、输入单元1730、显示单元1740、音频电路1760、处理器1780、以及电源1790等部件。本领域技术人员可以理解,图17中示出的处理设备结构并不构成对处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图17对处理设备的各个构成部件进行具体的介绍:
网络接口1710为无线或者有线网络接口,用于接收头显设备发送的数据,还用于向头显设备发送数据。
存储器1720可用于存储软件程序以及模块,处理器1780通过运行存储在存储器1720的软件程序以及模块,从而执行处理设备的各种功能应用以及数据处理。存储器1720可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;此外,存储器1720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元1730可用于接收输入的数字或字符信息,以及产生与处理设备的用户设置以及功能控制有关的键信号输入。具体地,输入单元1730可包括触控面板1731以及其他输入设备1732。触控面板1731,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1731上或在触控面板1731附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1731可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1780,并能接收处理器1780发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1731。除了触控面板1731,输入单元1730还可以包括其他输入设备1732。具体地,其他输入设备1732可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1740可用于显示由用户输入的信息或提供给用户的信息以及处理设备的各种菜单。显示单元1740可包括显示面板1741,可选的,可以采用液晶显示器(LiquidCrystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板1741。进一步的,触控面板1731可覆盖显示面板1741,当触控面板1731检测到在其上或附近的触摸操作后,传送给处理器1780以确定触摸事件的类型,随后处理器1780根据触摸事件的类型在显示面板1741上提供相应的视觉输出。虽然在图17中,触控面板1731与显示面板1741是作为两个独立的部件来实现处理设备的输入和输入功能,但是在某些实施例中,可以将触控面板1731与显示面板1741集成而实现处理设备的输入和输出功能。
音频电路1760、扬声器1761,传声器1762可提供用户与处理设备之间的音频接口。音频电路1760可将接收到的音频数据转换后的电信号,传输到扬声器1761,由扬声器1761转换为声音信号输出;另一方面,传声器1762将收集的声音信号转换为电信号,由音频电路1760接收后转换为音频数据,再将音频数据输出处理器1780处理后,经RF电路1710以发送给比如另一处理设备,或者将音频数据输出至存储器1720以便进一步处理。
处理器1780是处理设备的控制中心,利用各种接口和线路连接整个处理设备的各个部分,通过运行或执行存储在存储器1720内的软件程序和/或模块,以及调用存储在存储器1720内的数据,执行处理设备的各种功能和处理数据,从而对处理设备进行整体监控。可选的,处理器1780可包括一个或多个处理单元;优选的,处理器1780可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1780中。
处理设备还包括给各个部件供电的电源1790(比如电池),优选的,电源可以通过电源管理系统与处理器1780逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,处理设备还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,该处理设备所包括的处理器1780还用于执行方法实施例中的方法步骤。具体的:
处理器1780,用于获取显示设备的第一位置信息及第一旋转信息;根据第一位置信息及拍摄参数计算摄像机的第二位置信息,并且,根据第一旋转信息计算摄像机的第二旋转信息,摄像机为通过驱动接口创建的虚拟控制器,拍摄参数包括摄像机与显示设备中所显示的目标对象的距离;根据第二位置信息和第二旋转信息计算摄像机的实时方位;根据摄像机的实时方位记录摄像机所拍摄的图像信息。
可选的,处理器1780,还用于通过驱动接口创建摄像机。
第一位置信息和第一旋转信息为在世界坐标系下的信息,处理器1780,还用于根据第一位置信息及拍摄参数计算摄像机在世界坐标系的第三位置信息;将第三位置信息转换为在目标坐标系下的第二位置信息;
根据第一旋转信息计算摄像机在世界坐标系的第三旋转信息;将第三旋转信息转换成在目标坐标坐标系下的第二旋转信息。
可选的,处理器1780,还用于根据矩阵形式的第一旋转信息计算矩阵形式的摄像机的第二旋转信息;将矩阵形式的第二旋转信息转换成四元数形式的第二旋转信息。
可选的,处理器1780,还用于将矩阵形式的第二旋转信息转换成欧拉角形式的第二旋转信息;将欧拉角形式的第二旋转信息转换成四元数形式的第二旋转信息。
网络接口1710,用于接收设置拍摄参数的操作。
述处理器1780,还用于根据设置拍摄参数的操作确定拍摄参数。
本申请实施例中一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行方法实施例中所述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种VR内容拍摄方法,其特征在于,应用于虚拟现实VR系统,所述VR系统包括处理设备和VR显示设备,所述VR显示设备与所述处理设备连接,所述方法包括:
所述处理设备接收设置拍摄参数的操作;
所述处理设备根据所述设置拍摄参数的操作在预览窗口展示拍摄效果,并确定对应的拍摄参数,所述拍摄参数包括虚拟摄像机与所述VR显示设备中显示的目标对象的距离以及所述虚拟摄像机的拍摄角度;
所述处理设备获取所述VR显示设备在VR中的第一位置信息及第一旋转信息,所述第一位置信息为VR显示设备在VR系统中的位置的坐标点;
所述处理设备获取拍摄参数,所述虚拟摄像机为利用驱动接口创建的虚拟控制器,所述虚拟摄像机用于实现目标对象的自拍功能,且所述虚拟摄像机拍摄不会打断或暂停VR应用的原进程;
所述处理设备根据所述第一位置信息及所述拍摄参数计算所述虚拟摄像机的第二位置信息;
所述处理设备根据所述第一旋转信息计算所述虚拟摄像机的第二旋转信息;
所述处理设备根据所述第二位置信息和所述第二旋转信息计算所述虚拟摄像机的实时方位;
所述处理设备根据所述虚拟摄像机的实时方位记录所述虚拟摄像机拍摄的图像信息;
其中,所述第一位置信息为在世界坐标系下的信息,所述处理设备根据所述第一位置信息及所述拍摄参数计算所述虚拟摄像机的第二位置信息,包括:所述处理设备根据所述第一位置信息及所述拍摄参数计算所述虚拟摄像机在所述世界坐标系的第三位置信息;所述处理设备将所述第三位置信息转换为在目标坐标系下的第二位置信息;
其中,所述第一旋转信息为在世界坐标系下的信息,所述处理设备根据所述第一旋转信息计算所述虚拟摄像机的第二旋转信息,包括:所述处理设备根据所述第一旋转信息计算所述虚拟摄像机在所述世界坐标系的第三旋转信息;所述处理设备将所述第三旋转信息转换成在所述目标坐标系下的第二旋转信息。
2.根据权利要求1所述的VR内容拍摄方法,其特征在于,所述处理设备根据所述第一位置信息及所述拍摄参数计算所述虚拟摄像机的第二位置信息之前,所述方法还包括:
所述处理设备通过驱动接口创建虚拟控制器,所述虚拟控制器用于执行虚拟摄像机的功能。
3.根据权利要求1所述的VR内容拍摄方法,其特征在于,所述处理设备根据所述第一旋转信息计算所述虚拟摄像机的第二旋转信息,还包括:
所述处理设备根据矩阵形式的第一旋转信息计算矩阵形式的所述虚拟摄像机的第二旋转信息;
所述处理设备将所述矩阵形式的第二旋转信息转换成四元数形式的第二旋转信息。
4.根据权利要求3所述的VR内容拍摄方法,其特征在于,所述处理设备将所述矩阵形式的第二旋转信息转换成四元数形式的第二旋转信息,包括:
所述处理设备将所述矩阵形式的第二旋转信息转换成欧拉角形式的第二旋转信息;
所述处理设备将所述欧拉角形式的第二旋转信息转换成四元数形式的第二旋转信息。
5.一种处理设备,其特征在于,应用于虚拟现实VR系统,所述VR系统包括处理设备和VR显示设备,所述处理设备包括:
接收模块,用于接收设置拍摄参数的操作;
确定模块,用于根据所述接收模块接收的所述设置拍摄参数的操作在预览窗口展示拍摄效果,并确定对应的拍摄参数,所述拍摄参数包括虚拟摄像机与所述VR显示设备中显示的目标对象的距离以及所述虚拟摄像机的拍摄角度;
第一获取模块,用于获取所述VR显示设备在VR中的第一位置信息及第一旋转信息,所述第一位置信息为VR显示设备在VR系统中的位置的坐标点,其中,所述第一位置信息为在世界坐标系下的信息,所述第一旋转信息为在世界坐标系下的信息;
第二获取模块,用于获取拍摄参数,所述虚拟摄像机为利用驱动接口创建的虚拟控制器,所述虚拟摄像机用于实现目标对象的自拍功能,且所述虚拟摄像机拍摄不会打断或暂停VR应用的原进程;
位置信息计算模块,用于根据所述第一获取模块获取的所述第一位置信息及所述第二获取模块获取的所述拍摄参数计算所述虚拟摄像机的第二位置信息;其中,所述位置信息计算模块包括第一计算单元和第一转换单元;
所述第一计算单元,用于根据所述第一位置信息及所述拍摄参数计算所述虚拟摄像机在所述世界坐标系的第三位置信息;
所述第一转换单元,用于将所述第一计算单元计算的所述第三位置信息转换为在目标坐标系下的第二位置信息;
旋转信息计算模块,用于根据所述第一旋转信息计算所述虚拟摄像机的第二旋转信息;其中,所述旋转信息计算模块包括第二计算单元和第二转换单元;所述第二计算单元,用于根据第一旋转信息计算摄像机在世界坐标系的第三旋转信息;所述第二转换单元,用于将所述第二计算单元计算的第三旋转信息转换成在目标坐标系下的第二旋转信息;
方位计算模块,用于根据所述位置信息计算模块计算的所述第二位置信息和所述旋转信息计算模块计算的所述第二旋转信息计算所述虚拟摄像机的实时方位;
记录模块,用于根据所述方位计算模块计算的所述虚拟摄像机的实时方位记录所述虚拟摄像机拍摄的图像信息。
6.根据权利要求5所述的处理设备,其特征在于,还包括虚拟摄像机创建模块;
所述虚拟摄像机创建模块,用于通过驱动接口创建虚拟控制器,所述虚拟控制器用于执行所述虚拟摄像机的功能。
7.一种处理设备,其特征在于,包括:
存储器,用于存储计算机可执行程序代码;
网络接口,以及
处理器,与所述存储器耦合;
其中所述程序代码包括指令,当所述处理器执行所述指令时,所述指令使所述处理设备执行权利要求1至4中任一项所述的方法。
8.一种VR内容拍摄系统,其特征在于,包括:处理设备和VR显示设备;
所述处理设备接收设置拍摄参数的操作,根据所述设置拍摄参数的操作在预览窗口展示拍摄效果,并确定对应的拍摄参数,所述拍摄参数包括虚拟摄像机与所述VR显示设备中显示的目标对象的距离以及所述虚拟摄像机的拍摄角度;
所述处理设备获取所述VR显示设备在VR中的第一位置信息及第一旋转信息,所述第一位置信息为VR显示设备在VR系统中的位置的坐标点,其中,所述第一位置信息为在世界坐标系下的信息,所述第一旋转信息为在世界坐标系下的信息;
所述处理设备获取拍摄参数,所述虚拟摄像机为利用驱动接口创建的虚拟控制器,所述虚拟摄像机用于实现目标对象的自拍功能,且所述虚拟摄像机拍摄不会打断或暂停VR应用的原进程;
所述处理设备根据所述第一位置信息及所述拍摄参数计算所述虚拟摄像机在所述世界坐标系的第三位置信息;所述处理设备将所述第三位置信息转换为在目标坐标系下的第二位置信息;
所述处理设备根据所述第一旋转信息计算所述虚拟摄像机在所述世界坐标系的第三旋转信息;所述处理设备将所述第三旋转信息转换成在所述目标坐标系下的第二旋转信息;所述处理设备根据所述第二位置信息和所述第二旋转信息计算所述虚拟摄像机的实时方位;
所述处理设备根据所述虚拟摄像机的实时方位记录所述虚拟摄像机拍摄的图像信息。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述权利要求1至4中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710710067.8A CN107517372B (zh) | 2017-08-17 | 2017-08-17 | 一种vr内容拍摄方法、相关设备及系统 |
PCT/CN2018/100356 WO2019034038A1 (zh) | 2017-08-17 | 2018-08-14 | Vr内容拍摄方法、处理设备、系统及存储介质 |
US16/543,307 US11010611B2 (en) | 2017-08-17 | 2019-08-16 | VR content shooting method, related device and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710710067.8A CN107517372B (zh) | 2017-08-17 | 2017-08-17 | 一种vr内容拍摄方法、相关设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107517372A CN107517372A (zh) | 2017-12-26 |
CN107517372B true CN107517372B (zh) | 2022-07-26 |
Family
ID=60723479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710710067.8A Active CN107517372B (zh) | 2017-08-17 | 2017-08-17 | 一种vr内容拍摄方法、相关设备及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11010611B2 (zh) |
CN (1) | CN107517372B (zh) |
WO (1) | WO2019034038A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107517372B (zh) * | 2017-08-17 | 2022-07-26 | 腾讯科技(深圳)有限公司 | 一种vr内容拍摄方法、相关设备及系统 |
CN108917751B (zh) * | 2018-03-30 | 2021-11-02 | 北京凌宇智控科技有限公司 | 一种免标定的定位方法及系统 |
CN108595010B (zh) * | 2018-04-27 | 2021-06-18 | 网易(杭州)网络有限公司 | 虚拟现实中虚拟物体的交互方法及装置 |
CN108932058B (zh) | 2018-06-29 | 2021-05-18 | 联想(北京)有限公司 | 显示方法、装置及电子设备 |
DE102018119481A1 (de) * | 2018-08-10 | 2020-02-13 | Connaught Electronics Ltd. | Verfahren zum Bereitstellen einer Bilddarstellung von mindestens einem Teil einer Umgebung eines Kraftfahrzeugs, Computerprogrammprodukt und Fahrerassistenzsystem |
US11636636B2 (en) * | 2018-10-23 | 2023-04-25 | Google Llc | Data reduction for generating heat maps |
CN110163938B (zh) * | 2018-12-05 | 2023-04-25 | 腾讯科技(深圳)有限公司 | 动画的控制方法、装置、存储介质和电子装置 |
US10989916B2 (en) * | 2019-08-20 | 2021-04-27 | Google Llc | Pose prediction with recurrent neural networks |
US11158028B1 (en) * | 2019-10-28 | 2021-10-26 | Snap Inc. | Mirrored selfie |
CN111131305A (zh) * | 2019-12-31 | 2020-05-08 | 青岛小鸟看看科技有限公司 | 视频通信方法、装置及vr设备 |
CN113518189B (zh) * | 2020-04-09 | 2022-10-18 | 华为技术有限公司 | 拍摄方法、系统、电子设备及存储介质 |
CN112099529B (zh) * | 2020-09-22 | 2023-01-31 | 苏州臻迪智能科技有限公司 | 虚拟现实设备控制系统和方法 |
CN112738404B (zh) * | 2020-12-30 | 2022-11-25 | 维沃移动通信(杭州)有限公司 | 电子设备的控制方法及电子设备 |
CN112770028A (zh) * | 2020-12-31 | 2021-05-07 | 中铝智能科技发展有限公司 | 一种基于ar和vr的远程巡检系统 |
CN113055550A (zh) * | 2021-02-26 | 2021-06-29 | 视伴科技(北京)有限公司 | 一种预演赛事活动的方法及装置 |
CN113377194B (zh) * | 2021-06-01 | 2023-04-11 | 海南车智易通信息技术有限公司 | 一种对象展示方法、计算设备及存储介质 |
CN114023129A (zh) * | 2021-10-28 | 2022-02-08 | 中国人民解放军63983部队 | 一种工程机械模拟训练器的视景模拟系统及方法 |
CN114385015B (zh) * | 2022-01-25 | 2024-03-08 | 京东方科技集团股份有限公司 | 虚拟对象的控制方法及电子设备 |
CN115272483B (zh) * | 2022-07-22 | 2023-07-07 | 北京城市网邻信息技术有限公司 | 一种图像生成方法、装置、电子设备及存储介质 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10555775B2 (en) * | 2005-05-16 | 2020-02-11 | Intuitive Surgical Operations, Inc. | Methods and system for performing 3-D tool tracking by fusion of sensor and/or camera derived data during minimally invasive robotic surgery |
JP4247218B2 (ja) * | 2005-08-26 | 2009-04-02 | 株式会社コナミデジタルエンタテインメント | ゲーム装置、ゲーム装置の制御方法及びプログラム |
KR101354899B1 (ko) * | 2007-08-29 | 2014-01-27 | 삼성전자주식회사 | 파노라마 사진 촬영 방법 |
JP5525250B2 (ja) * | 2009-12-08 | 2014-06-18 | 任天堂株式会社 | ゲームプログラム、ゲーム装置、ゲームの表示方法及びゲームシステム |
US8885049B2 (en) * | 2010-03-19 | 2014-11-11 | Sony Corporation | Method and device for determining calibration parameters of a camera |
JP5300777B2 (ja) * | 2010-03-31 | 2013-09-25 | 株式会社バンダイナムコゲームス | プログラム及び画像生成システム |
JP5481337B2 (ja) * | 2010-09-24 | 2014-04-23 | 株式会社東芝 | 画像処理装置 |
US9727132B2 (en) * | 2011-07-01 | 2017-08-08 | Microsoft Technology Licensing, Llc | Multi-visor: managing applications in augmented reality environments |
DE102012000331B4 (de) * | 2012-01-11 | 2018-08-16 | Jena-Optronik Gmbh | Verfahren und Sensorsystem zur Lagebestimmung eines Flugobjekts |
JP5563633B2 (ja) * | 2012-08-31 | 2014-07-30 | 株式会社スクウェア・エニックス | ビデオゲーム処理装置、およびビデオゲーム処理プログラム |
CN104571532B (zh) * | 2015-02-04 | 2018-01-30 | 网易有道信息技术(北京)有限公司 | 一种实现增强现实或虚拟现实的方法及装置 |
JP5981591B1 (ja) * | 2015-03-17 | 2016-08-31 | 株式会社コロプラ | 没入型仮想空間でオブジェクト操作を制御するためのコンピュータ・プログラムおよびコンピュータ・システム |
CN105894566A (zh) * | 2015-12-01 | 2016-08-24 | 乐视致新电子科技(天津)有限公司 | 模型渲染方法及装置 |
WO2017183319A1 (ja) * | 2016-04-20 | 2017-10-26 | 株式会社ソニー・インタラクティブエンタテインメント | ロボットおよび筐体 |
US20180293756A1 (en) * | 2016-11-18 | 2018-10-11 | Intel Corporation | Enhanced localization method and apparatus |
CN107517372B (zh) * | 2017-08-17 | 2022-07-26 | 腾讯科技(深圳)有限公司 | 一种vr内容拍摄方法、相关设备及系统 |
-
2017
- 2017-08-17 CN CN201710710067.8A patent/CN107517372B/zh active Active
-
2018
- 2018-08-14 WO PCT/CN2018/100356 patent/WO2019034038A1/zh active Application Filing
-
2019
- 2019-08-16 US US16/543,307 patent/US11010611B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11010611B2 (en) | 2021-05-18 |
CN107517372A (zh) | 2017-12-26 |
US20190370550A1 (en) | 2019-12-05 |
WO2019034038A1 (zh) | 2019-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107517372B (zh) | 一种vr内容拍摄方法、相关设备及系统 | |
US11819763B2 (en) | Predictive display of thrown projectile | |
CN109952757B (zh) | 基于虚拟现实应用录制视频的方法、终端设备及存储介质 | |
US11826636B2 (en) | Depth sensing module and mobile device including the same | |
WO2019201047A1 (zh) | 在虚拟环境中进行视角调整的方法、装置及可读存储介质 | |
WO2019153750A1 (zh) | 用于对虚拟环境进行视角切换的方法、装置、设备及存储介质 | |
CN109040600B (zh) | 全景景象拍摄及浏览的移动装置、系统及方法 | |
CN103513894B (zh) | 显示设备、远程控制设备及其控制方法 | |
WO2020030065A1 (zh) | 应用程序的显示适配方法、装置、设备及存储介质 | |
CN109101120B (zh) | 图像显示的方法和装置 | |
CN107667328A (zh) | 用于在增强和/或虚拟现实环境中跟踪手持设备的系统 | |
JP7382994B2 (ja) | 仮想現実システム内の仮想コントローラの位置および向きの追跡 | |
CN107407965A (zh) | 连接至移动计算设备的虚拟现实头戴设备 | |
CN110045827B (zh) | 虚拟环境中虚拟物品的观察方法、装置及可读存储介质 | |
CN111273780B (zh) | 基于虚拟环境的动画播放方法、装置、设备及存储介质 | |
CN111930223A (zh) | 用于观看计算机生成的环境并与其互动的可移动显示器 | |
CN112817453A (zh) | 虚拟现实设备和虚拟现实场景中物体的视线跟随方法 | |
JP2017033294A (ja) | 3次元描画システム及び3次元描画プログラム | |
CN108781253A (zh) | 相机模块 | |
CN110717993B (zh) | 一种分体式ar眼镜系统的交互方法、系统及介质 | |
CN112755517A (zh) | 虚拟对象控制方法、装置、终端及存储介质 | |
CN110052030B (zh) | 虚拟角色的形象设置方法、装置及存储介质 | |
CN109767482B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
WO2022014700A1 (ja) | 端末装置、仮想オブジェクト操作方法、及び仮想オブジェクト操作プログラム | |
CN114816088A (zh) | 线上教学方法、电子设备和通信系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |