具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本申请的构思或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的,而非限制性的。
为便于理解本申请实施例的技术方案,以下对本申请实施例的相关技术进行说明。以下相关技术作为可选方案与本申请实施例的技术方案可以进行任意结合,其均属于本申请实施例的保护范围。
首先对本申请所涉及的名词进行解释。
虚拟拍摄:是指通过虚拟场景替代真实布景,应用计算机技术辅助制片的数字化影视制作方法。
XR合成:是指通过计算机技术,将摄像机采集到的实景画面与渲染引擎生成的虚拟画面合成,营造虚实交互环境和增强现实体验。XR合成是虚拟拍摄技术中虚实结合的最后一环,也是AR(Augmented Reality,增强现实),VR(Virtual Reality,虚拟现实)和MR(Mixed Reality,混合现实)等增强现实技术的统称。
网格(Mesh):是计算机图形学中模型表面上划分的多个单元格,单元格通常为多边形,包括但不限于三角形等。一个模型的表面由多个单元格彼此相连组成,在3D渲染中,数量足够多的单元格,可以渲染出非常光滑的曲面和任意形状的模型。
本申请实施例涉及真实拍摄场景和虚拟拍摄场景。真实拍摄场景通常包括物理采集设备、屏幕、布景和演员等要素,物理采集设备通过拍摄屏幕、布景和演员等要素得到拍摄画面。其中,物理采集设备包括但不限于摄像机或相机等,屏幕包括但不限于LED(Light-Emitting Diode,发光二极管)屏幕等。虚拟拍摄场景为在电子设备中建立的虚拟场景,用来模拟真实拍摄场景。虚拟场景中建立有虚拟采集设备,用来模拟物理采集设备。虚拟采集设备通过渲染引擎渲染可以得到3D虚拟画面,该虚拟画面经过透视投影变换后投影到真实拍摄场景的屏幕上。因此,真实拍摄场景中的物理采集设备,既可以拍摄到真实的布景和演员,也可以通过屏幕这个现实通往虚拟的入口拍摄到虚拟画面。进而在虚拟拍摄的最后一环,对物理采集设备得到的拍摄画面和虚拟采集设备得到的虚拟画面进行合成,能够营造出一种虚实交叠的增强现实体验。
但是,由于虚拟场景中的内容只能通过真实拍摄场景中的屏幕来展示,如果物理采集设备由于位置发生变化导致视野超出了屏幕范围时,超出屏幕范围外的区域采集到的仍然是真实的场景,因此虚实结合就会出现错位,导致XR合成失败。
图1为本申请一实施例的拍摄场景示意图。如图1所示,真实拍摄场景中布置有物理采集设备以及一块LED屏幕。在一台计算机中建立虚拟场景以及虚拟采集设备(图中未示出)。在T1时刻物理采集设备和虚拟采集设备位置相同,此时,虚拟采集设备渲染得到的虚拟画面投影至真实拍摄场景的LED屏幕上(参见图中实线示意)。在T2时刻物理采集设备位置已经发生偏移(参见图中虚线示意),此时物理采集设备拍摄LED屏幕后得到拍摄画面。因此,从虚拟采集设备渲染投屏至物理采集设备拍摄屏幕,这两个操作会存在一定的时延,即T1时刻至T2时刻的时延。若该过程中物理采集设备位置发生变化,则对虚拟画面和拍摄画面进行合成时,就会带来偏差,出现错位或断层,严重时会导致合成失败。
为了解决上述由于物理采集设备位置变化导致XR合成失败的技术问题,本申请实施例提供了一种扩展现实合成方法,基于虚拟采集设备实时的视锥面动态生成网格,并在动态生成的网格基础上进行XR合成,实现了虚拟画面和拍摄画面的无缝合成,能够补全物理采集设备视野中屏幕范围外的虚拟环境,避免了合成过程中错位以及断层的情况发生,提高了XR合成的成功率。
本申请实施例提供的扩展现实合成方法,可以应用于任何电子设备中,包括但不限于:计算机、平板电脑、笔记本电脑或服务器等。具体的应用场景可以有多种,包括但不限于应用于虚拟拍摄场景中的服务器,通过上述方法来完成扩展现实合成,提高合成的成功率以及合成结果的质量和稳定性。
本申请实施例提供了一种扩展现实合成方法,如图2所示为本申请一实施例的扩展现实合成方法流程图,该方法可以包括如下步骤。
S201:根据真实场景中物理采集设备和屏幕的位置,在虚拟场景中建立对应的虚拟采集设备和屏幕模型。
其中,虚拟采集设备的位置与物理采集设备的位置实时同步。具体地,虚拟采集设备可以采用1:1的比例模拟物理采集设备的位移和旋转,从而使得二者实时保持同步。
S202:根据真实场景中的屏幕确定屏幕模型的外轮廓顶点。
本申请实施例中,虚拟的屏幕模型与真实的屏幕相对应,形状、尺寸、位置均相同,从而能够完全一致地在虚拟场景中模拟出屏幕模型。其中,外轮廓顶点是指位于屏幕模型的外边框上的若干点。外轮廓顶点的密集程度可以根据需要设置,密集程度越高得到的外轮廓顶点越多,密集程度越低得到的外轮廓顶点越少。密集程度可以通过顶点个数来反映。例如,一个长方形的屏幕模型,根据预设的密集程度可以确定四个角上的4个顶点,以及每条长边上10个顶点和每条短边上5个顶点等,具体个数本申请实施例不限定。另外,屏幕模型上的外轮廓顶点的位置和个数,均与真实场景中的屏幕的外轮廓顶点的位置和个数保持一致。
S203:响应于物理采集设备在当前帧的拍摄操作,根据屏幕模型的外轮廓顶点和虚拟采集设备在当前帧的视锥体,生成连接屏幕模型与视锥体的视锥面的多级网格,以使多级网格与屏幕模型构成的曲面能够包裹视锥体。
其中,上述包裹表征上述曲面代替视锥体成为虚拟采集设备的视野。
本申请实施例中,对于采集设备来说,无论是物理采集设备,还是虚拟采集设备,均具有对应的视锥体。视锥体是采集设备可见的空间,采集设备看到的内容都是处于视锥体中的内容。视锥体的外形类似截掉顶部的金字塔,包括1个近裁剪面(Front ClippingPlane)、1个远裁剪面(Back Clipping Plane)和4个视锥面(Viewing Frustum)。其中,从采集设备发出的4条射线,与两个裁剪面相切后构成的4个面是视锥面。在视锥体中,比近剪裁面更靠近采集设备的任何对象以及比远裁剪面更远离采集设备的任何对象都不会被渲染,任何落在视锥面之外的物体对采集设备而言均不可见。
本申请实施例中,物理采集设备每隔固定的采集周期执行一次拍摄操作,每次拍摄操作可以得到一帧拍摄画面,执行拍摄操作的时刻可以称为采集时刻。其中,固定的采集周期可以预先设置,具体数值不限定。如设置为每隔5ms或10ms物理采集设备采集一次,即拍摄一次,从而得到一帧拍摄画面。上述固定的采集周期也反映了物理采集设备的采集频率,由该采集周期可以计算出物理采集设备的采集频率,相反,也可以根据物理采集设备的采集频率计算出采集周期。实际应用中,可以预先设置采集周期或者采集频率,本申请实施例对此不做具体限定。
上述当前帧可以是物理采集设备拍摄过程中的任一帧,对应的是当前采集时刻。无论是拍摄过程中的哪一帧都可以采用相同的方法来执行扩展现实合成,此处不再赘述。物理采集设备在不同采集时刻执行的拍摄操作,对应的视野范围可以是相同的,也可以是不同的。对于两个不同的采集时刻,若物理采集设备的位置未发生改变,则这两个采集时刻得到的拍摄画面是相同的,若物理采集设备的位置发生改变,则这两个采集时刻得到的拍摄画面则不同。
S204:通过虚拟采集设备渲染曲面得到虚拟画面。
本申请实施例中,虚拟采集设备可以通过渲染引擎渲染网格得到虚拟画面,也可以称为渲染画面。由于曲面代替视锥体成为虚拟采集设备的视野,因此,能够保证得到的虚拟画面一定是在虚拟采集设备的视野范围内,而虚拟采集设备与物理采集设备的位置实时同步,因此也就保证了该虚拟画面也在物理采集设备的视野范围内,因此,XR合成拍摄画面与虚拟画面时,能够保证完全融合,不会出现错位,提高了合成的成功率,保证了合成质量和画面稳定。
S205:对物理采集设备得到的拍摄画面与虚拟画面进行合成。
本申请实施例中,对拍摄画面与虚拟画面进行合成可以具体包括:对拍摄画面中屏幕区域内的部分画面执行抠图操作,再将抠图结果与虚拟画面进行合成,从而可以得到合成画面。
图3是本申请另一实施例的XR合成过程示意图。如图3所示,以物理采集设备是相机为例进行说明。在虚拟场景中建立与物理相机对应的虚拟相机之后,虚拟相机渲染得到虚拟画面,然后投影至真实拍摄场景中的屏幕上。物理相机拍摄该屏幕后得到拍摄画面,其中不仅包括屏幕区域内的画面,还包括屏幕区域外的画面。对屏幕区域内的画面执行抠图操作,得到抠图结果后与虚拟画面进行合成,从而可以得到合成画面,实现了无缝XR合成。
本申请实施例中,在一种实施方式下,上述步骤S201可以具体包括:
实时获取真实场景中物理采集设备的3D坐标,在虚拟场景中建立对应的虚拟采集设备,使虚拟采集设备的3D坐标与物理采集设备的3D坐标实时同步;
获取真实场景中屏幕的3D坐标,在虚拟场景中建立对应的屏幕模型,使屏幕模型的3D坐标与真实场景中屏幕的3D坐标一致。
其中,物理采集设备中通常都具有追踪组件,可以实时获取到物理采集设备的3D坐标。物理采集设备的位置是随时有可能发生变化的,虚拟采集设备的位置跟随物理采集设备的位置而变化,二者保证实时同步,从而虚拟采集设备能够完全一致地模拟物理采集设备。
本申请实施例中,真实场景中的屏幕通常是保持不动的,即位置固定,该屏幕的3D坐标可以预先设置好,具体数值本申请实施例对此不做限定。相应地,虚拟的屏幕模型也是保持不动,即位置固定的,二者保持位置一致即可。
本申请实施例中,在一种实施方式下,上述步骤S202可以具体包括:
若真实场景中的屏幕为一个,则基于屏幕对应的屏幕模型上各点的纹理坐标确定屏幕模型的外轮廓顶点;
若真实场景中的屏幕由多个单屏拼接得到,则基于每个单屏对应的单屏模型上各点的纹理坐标确定单屏模型的外轮廓顶点,根据射线求交法在确定的外轮廓顶点中,过滤掉拼接后属于屏幕对应的屏幕模型内部的外轮廓顶点,得到屏幕模型的外轮廓顶点。
计算机图形学中的纹理既包括通常意义上物体表面的纹理,也就是使物体表面呈现凹凸不平的沟纹,同时也包括在物体的光滑表面上的彩色图案,也可以称之为花纹。对于花纹而言,就是在物体表面绘出彩色花纹或图案,产生了纹理后的物体表面依然光滑如故。对于沟纹而言,实际上也是要在物体表面绘出彩色花纹或图案,同时要求视觉上给人以凹凸不平感即可。纹理映射就是把一个图像映射到建模好的物体表面的过程,也可以理解为在物体的表面上绘制彩色的图案。纹理映射能够使渲染的模型表面细节更丰富,而且比较方便高效。纹理坐标是纹理空间中表示纹理元素的二维数组,分别用U和V表示。纹理坐标的范围是[0.0~1.0],U轴从左至右指向,V轴从底向上指向。纹理坐标系的(0,0)点位于纹理的左下角,而(1,1)点位于纹理的右上角。因此,可以将U=0或1,或者V=0或1的点确定屏幕模型的外轮廓顶点。
本申请实施例中,真实场景中的屏幕可以为一个,或者也可以为由多个单屏拼接组成。对于一个屏幕的场景,可以直接确定出该屏幕的外轮廓顶点。对于多个单屏拼接组成一个屏幕的场景,对应屏幕模型也由多个单屏模型拼接组成,需要先确定每个单屏模型的外轮廓顶点,然后再过滤掉拼接后属于屏幕模型内部的点,才能得到屏幕模型的外轮廓顶点。
例如,长方形单屏模型A和长方形单屏模型B左右拼接得到整个屏幕模型,其中,单屏模型A的右侧边与单屏模型B的左侧边重合,因此这两条边上的外轮廓顶点,除了同时位于其他边的顶点外,均属于整个屏幕模型内部的点,需要过滤掉,从而保证得到真正的屏幕模型外轮廓顶点。
本实施例提供的上述方法,由于多级网格基于虚拟采集设备实时的视锥体动态生成,能够保证渲染曲面得到的虚拟画面跟随物理采集设备的拍摄画面自适应调整,从而实现了360度无死角的扩展现实合成,不仅物理采集设备的活动范围完全不受限制,应用灵活方便,而且保证了合成结果的平滑稳定,提高了扩展现实合成的成功率。
本申请实施例提供了一种扩展现实合成方法,如图4所示为本申请一实施例的扩展现实合成方法流程图,该方法可以包括如下步骤。
S401:根据真实场景中物理采集设备和屏幕的位置,在虚拟场景中建立对应的虚拟采集设备和屏幕模型。
其中,虚拟采集设备的位置与物理采集设备的位置实时同步,也就是说,物理采集设备的位移屏幕模型的位置与屏幕的位置一致。
在一种实施方式下,上述步骤S401可以具体包括:
实时获取真实场景中物理采集设备的3D坐标,在虚拟场景中建立对应的虚拟采集设备,使虚拟采集设备的3D坐标与物理采集设备的3D坐标实时同步;
获取真实场景中屏幕的3D坐标,在虚拟场景中建立对应的屏幕模型,使屏幕模型的3D坐标与真实场景中屏幕的3D坐标一致。
S402:根据真实场景中的屏幕确定屏幕模型的外轮廓顶点。
在一种实施方式下,上述步骤S402可以包括:若真实场景中的屏幕为一个,则可以基于屏幕对应的屏幕模型上各点的纹理坐标确定屏幕模型的外轮廓顶点。
S403:响应于物理采集设备在当前帧的拍摄操作,将屏幕模型的各外轮廓顶点投影到视锥体的近裁剪面上得到各投影点。
上述当前帧可以是物理采集设备拍摄过程中的任一帧,具体不限定。物理采集设备在拍摄过程中位置有可能发生变化,即不同的时刻位置有可能不同,拍摄得到的画面也有可能不同。
S404:根据各投影点的相邻关系在屏幕模型上连接各外轮廓顶点得到封闭曲线。
其中,屏幕模型的外轮廓顶点为虚拟场景中的三维坐标点,投影到近裁剪面上可以得到相应投影点的二维坐标点,其中每个投影点都可以找到两侧的相邻投影点,从而可以得到各个投影点的相邻关系。投影点的相邻关系就代表了虚拟场景中屏幕模型的各外轮廓顶点的相邻关系。按照该相邻关系对各点仅与其相邻的两个点相连就可以得到封闭曲线。
S405:根据封闭曲线上的各外轮廓顶点,按照指定原则生成连接屏幕模型与视锥体的视锥面的多级网格。
其中,多级网格按照距离屏幕模型由近至远的方向依次包括第一级网格至第N级网格。指定原则包括与屏幕模型相邻的第一级网,这种情况下格内每个单元格的法线方向与屏幕模型的法线方向误差在允许范围内,距离屏幕模型最远的第N级网格内每个单元格的法线方向与所连接的视锥面的法线方向误差在允许范围内。
在一种实施方式下,上述步骤S405可以具体包括:
对于封闭曲线上的B1~BM共M个外轮廓顶点中的每一个外轮廓顶点Bi,以Bi为一个端点,按照Bi在近裁剪面上的投影点找到距离该投影点最近的视锥面,在找到的视锥面上选取任一点Ei为另一个端点,生成连接Bi和Ei的二阶贝塞尔曲线,最终得到M条二阶贝塞尔曲线;
将得到的每一条二阶贝塞尔曲线都按照距离所述屏幕模型由近至远的方向,划分为第一线段~第N线段共N个线段;
将各条二阶贝塞尔曲线的第一线段上远离Bi的端点,按照第一条至第M条的顺序依次连接,得到第一级网格;
将各条二阶贝塞尔曲线的第二线段上远离Bi的端点,按照第一条至第M条的顺序依次连接,得到第二级网格;
以此类推;
将各条二阶贝塞尔曲线的第N线段上远离Bi的端点,按照第一条至第M条的顺序依次连接,得到第N级网格;
其中,上述M条二阶贝塞尔曲线用于控制第一级网格和第N级网格满足上述指定原则。
贝塞尔曲线是指计算机图形领域中按照矢量绘制方法绘制出的一条光滑曲线。二阶贝塞尔曲线具有两个端点:起始点和终止点,还具有一个位于曲线外的控制点。通过该控制点可以控制二阶贝塞尔曲线的形状变化,控制两个端点移动时可以改变贝塞尔曲线的曲率,进而可以控制该曲线所在平面的法线方向。本申请实施例中,使用二阶贝塞尔曲线来控制相应单元格所在平面的法线方向与屏幕模型的法线方向尽量保持一致即误差在允许范围内。
进一步地,在一种实施方式下,上述指定原则还可以包括多级网格的总面积最小,这种情况下,仍然通过二阶贝塞尔曲线来控制多级网格的总面积,也就是说,通过二阶贝塞尔曲线可以同时控制相应单元格的法线方向以及多级网格的总面积。
图5是本申请另一实施例的网格示意图。如图5所示,A点为虚拟采集设备所在位置,由A点出发的4条射线可以得到虚拟采集设备的视锥体。图中心位置处的区域B为屏幕模型,根据该屏幕模型的外轮廓顶点和虚拟采集设备在当前帧的视锥体,生成图中所示的多级网格,使得多级网格与屏幕模型构成的曲面能够包裹虚拟采集设备的视锥体。由于该曲面代替视锥体成为虚拟采集设备的视野,从而能够实现XR合成效果的平滑,保证了合成的质量,提高了合成的成功率。
S406:通过虚拟采集设备渲染曲面得到虚拟画面。
S407:对物理采集设备得到的拍摄画面与虚拟画面进行合成。
本实施例中,物理采集设备的拍摄操作以及生成多级网格均是在当前帧完成的,上述方法以一帧的采集及合成为例进行说明。在整个虚拟拍摄中,可以采用与物理采集设备的采集频率相同的合成频率,来逐个帧依次进行XR合成,最终完成虚拟拍摄。其中,采集频率可以预先设置,此处不再赘述。
本实施例提供的上述方法,由于多级网格基于虚拟采集设备实时的视锥体动态生成,能够保证渲染曲面得到的虚拟画面跟随物理采集设备的拍摄画面自适应调整,从而实现了360度无死角的扩展现实合成,不仅物理采集设备的活动范围完全不受限制,应用灵活方便,而且保证了合成结果的平滑稳定,提高了扩展现实合成的成功率。另外,多级网格是每一帧自动生成的,无需预先执行配置,也无需提供扩展模型,极大地简化了操作,降低了成本,提高了效率。
本申请实施例中,在另一种实施方式下,上述步骤S402可以包括:
若真实场景中的屏幕由多个单屏拼接得到,则可以基于每个单屏对应的单屏模型上各点的纹理坐标确定单屏模型的外轮廓顶点,根据射线求交法在确定的外轮廓顶点中,过滤掉拼接后属于屏幕对应的屏幕模型内部的外轮廓顶点,得到屏幕模型的外轮廓顶点。
如图6所示为本申请一实施例的多屏拼接屏幕模型的外轮廓顶点确定方法流程图,该方法可以包括如下步骤。
S601:在真实场景中的屏幕由多个单屏拼接得到的情况下,则基于每个单屏对应的单屏模型上各点的纹理坐标确定单屏模型的外轮廓顶点。
S602:分别将每个单屏模型作为当前单屏模型,依次连接每个外轮廓顶点,每相邻两点之间得到一条边。
S603:分别将当前单屏模型上的每个外轮廓顶点作为当前外轮廓顶点,从当前外轮廓顶点出发沿任意方向画一条射线。
S604:判断该射线与当前单屏模型的所有边相交的数量是奇数还是偶数,如果是奇数,则执行S605;如果是偶数,则执行S606。
S605:确定当前外轮廓顶点属于屏幕模型内部的点,过滤掉该点,然后执行S607。
S606:确定当前外轮廓顶点为屏幕模型的外轮廓顶点,保留该点,然后执行S607。
S607:在每个单屏模型的每个外轮廓顶点都确认完成后,保留的点组成屏幕模型的外轮廓顶点。
上述过程采用射线求交法来判断单屏模型的外轮廓顶点是否为屏幕模型的外轮廓顶点,从而可以实现多个单屏拼接屏幕场景下的屏幕模型的外轮廓顶点的确定,方便快捷,容易实现。
与本申请实施例提供的方法的应用场景以及方法相对应地,本申请实施例还提供一种扩展现实合成装置。如图7所示为本申请一实施例的扩展现实合成装置的结构框图,该装置可以包括:
建立模块701,用于根据真实场景中物理采集设备和屏幕的位置,在虚拟场景中建立对应的虚拟采集设备和屏幕模型,虚拟采集设备的位置与物理采集设备的位置实时同步。
确定模块702,用于根据真实场景中的屏幕确定屏幕模型的外轮廓顶点。
响应模块703,用于响应于物理采集设备在当前帧的拍摄操作,根据屏幕模型的外轮廓顶点和虚拟采集设备在当前帧的视锥体,生成连接屏幕模型与视锥体的视锥面的多级网格,以使多级网格与屏幕模型构成的曲面能够包裹视锥体,所述包裹表征曲面代替视锥体成为虚拟采集设备的视野。
渲染模块704,用于通过虚拟采集设备渲染曲面得到虚拟画面。
合成模块705,用于对物理采集设备得到的拍摄画面与虚拟画面进行合成。
在一种实施方式下,确定模块702可以用于:
若真实场景中的屏幕为一个,则基于屏幕对应的屏幕模型上各点的纹理坐标确定屏幕模型的外轮廓顶点;
若真实场景中的屏幕由多个单屏拼接得到,则基于每个单屏对应的单屏模型上各点的纹理坐标确定单屏模型的外轮廓顶点,根据射线求交法在确定的外轮廓顶点中,过滤掉拼接后属于屏幕对应的屏幕模型内部的外轮廓顶点,得到屏幕模型的外轮廓顶点。
在一种实施方式下,响应模块703可以用于:
响应于物理采集设备在当前帧的拍摄操作,将屏幕模型的各外轮廓顶点投影到视锥体的近裁剪面上得到各投影点;
根据各投影点的相邻关系在屏幕模型上连接各外轮廓顶点得到封闭曲线;
根据封闭曲线上的各外轮廓顶点,按照指定原则生成连接屏幕模型与视锥体的视锥面的多级网格;
其中,所述多级网格按照距离屏幕模型由近至远的方向依次包括第一级网格至第N级网格,所述指定原则包括与屏幕模型相邻的第一级网格内每个单元格的法线方向与屏幕模型的法线方向误差在允许范围内,距离屏幕模型最远的第N级网格内每个单元格的法线方向与所连接的视锥面的法线方向误差在允许范围内。
在一种实施方式下,上述响应模块在根据封闭曲线上的各外轮廓顶点,按照指定原则生成连接屏幕模型与视锥体的视锥面的多级网格,可以具体包括:
对于封闭曲线上的B1~BM共M个外轮廓顶点中的每一个外轮廓顶点Bi,以Bi为一个端点,按照Bi在近裁剪面上的投影点找到距离该投影点最近的视锥面,在找到的视锥面上选取任一点Ei为另一个端点,生成连接Bi和Ei的二阶贝塞尔曲线,最终得到M条二阶贝塞尔曲线;
将得到的每一条二阶贝塞尔曲线都按照距离屏幕模型由近至远的方向,划分为第一线段~第N线段共N个线段;
将各条二阶贝塞尔曲线的第一线段上远离Bi的端点,按照第一条至第M条的顺序依次连接,得到第一级网格;
将各条二阶贝塞尔曲线的第二线段上远离Bi的端点,按照第一条至第M条的顺序依次连接,得到第二级网格;
以此类推;
将各条二阶贝塞尔曲线的第N线段上远离Bi的端点,按照第一条至第M条的顺序依次连接,得到第N级网格;
其中,所述M条二阶贝塞尔曲线用于控制第一级网格和第N级网格满足上述指定原则。
在一种实施方式下,上述指定原则还可以包括多级网格的总面积最小。
在一种实施方式下,建立模块701可以用于:
实时获取真实场景中物理采集设备的3D坐标,在虚拟场景中建立虚拟采集设备,使虚拟采集设备的3D坐标与物理采集设备的3D坐标实时同步;
获取真实场景中屏幕的3D坐标,在虚拟场景中建立屏幕模型,使屏幕模型的3D坐标与真实场景中屏幕的3D坐标一致。
本申请实施例中,上述合成的频率与物理采集设备的采集频率相同。
本申请实施例各装置中的各模块的功能可以参见上述方法中的对应描述,并具备相应的有益效果,在此不再赘述。
本实施例提供的上述装置,由于多级网格基于虚拟采集设备实时的视锥体动态生成,能够保证渲染曲面得到的虚拟画面跟随物理采集设备的拍摄画面自适应调整,从而实现了360度无死角的扩展现实合成,不仅物理采集设备的活动范围完全不受限制,应用灵活方便,而且保证了合成结果的平滑稳定,提高了扩展现实合成的成功率。
图8为用来实现本申请实施例的电子设备的框图。如图8所示,该电子设备包括:存储器810和处理器820,存储器810内存储有可在处理器820上运行的计算机程序。处理器820执行该计算机程序时实现上述实施例中的方法。存储器810和处理器820的数量可以为一个或多个。
该电子设备还包括:通信接口830,用于与外界设备进行通信,进行数据交互传输。
如果存储器810、处理器820和通信接口830独立实现,则存储器810、处理器820和通信接口830可以通过总线相互连接并完成相互间的通信。该总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器810、处理器820及通信接口830集成在一块芯片上,则存储器810、处理器820及通信接口830可以通过内部接口完成相互间的通信。
本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现本申请实施例中提供的方法。
本申请实施例还提供了一种芯片,该芯片包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行本申请实施例提供的方法。
本申请实施例还提供了一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行申请实施例提供的方法。
应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(Advanced RISC Machines,ARM)架构的处理器。
进一步地,可选的,上述存储器可以包括只读存储器和随机访问存储器。该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以包括只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以包括随机访问存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM均可用。例如,静态随机访问存储器(Static RAM,SRAM)、动态随机访问存储器(Dynamic Random Access Memory,DRAM)、同步动态随机访问存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机访问存储器(Double Data RateSDRAM,DDR SDRAM)、增强型同步动态随机访问存储器(Enhanced SDRAM,ESDRAM)、同步链接动态随机访问存储器(Sync link DRAM,SLDRAM)和直接内存总线随机访问存储器(DirectRambus RAM,DR RAM)。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生依照本申请的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中描述的或在此以其他方式描述的任何过程或方法可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
在流程图中描述的或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
应理解的是,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
需要说明的是,本申请实施例中可能会涉及到对用户数据的使用,在实际应用中,可以在符合所在国的适用法律法规要求的情况下(例如,用户明确同意,对用户切实通知,等),在适用法律法规允许的范围内在本文描述的方案中使用用户特定的个人数据。
以上所述,仅为本申请的示例性实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请记载的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。