一种映射方法、装置及相关设备与流程
- 国知局
- 2024-09-05 14:43:13
本技术涉及计算机,尤其涉及一种映射方法、装置及相关设备。
背景技术:
1、虚拟现实(virtual reality,vr)全景(panorama)在云展厅、云看房等领域具有广泛应用,vr全景是将图像通过转换后在设备的浏览器或者客户端上进行交互的一种虚拟现实技术。基于图像的全景场景虽然支持用户通过拖拽的方式进行查看,但是场景中的内容都是静态的。在实际应用中,为了在vr全景中实现动态效果,通常采用在全景中局部叠加动态效果的方式,在提升用户体验的同时兼顾性能和成本。在vr全景图像中叠加动态效果时,如何将实现动态效果的图像或视频精确的添加到指定位置是一个亟待解决的技术问题。
技术实现思路
1、本技术提供一种映射方法、装置及相关设备,能够将图像或者视频精确的映射到天空盒的指定位置。
2、第一方面,本技术提供一种映射方法,该方法包括:计算设备截取天空盒中的目标区域得到目标图像;然后基于该目标图像对目标图像进行处理,得到图像或视频类型的多媒体文件;其中,上述目标区域跨越天空盒的k个平面,目标区域在每个平面上的部分是这个目标区域的子区域,k为正整数;计算设备在得到上述多媒体文件后,需要再将该多媒体文件映射到上述目标区域,计算设备根据多媒体文件对应的k组映射数据对多媒体文件进行纹理映射,将多媒体文件映射到目标区域。其中,每组映射数据包括位置数据和旋转角度,k组映射数据与多媒体文件的k个子区域一一对应。
3、在将上述多媒体文件映射到天空盒的目标区域时,多媒体文件的一个子区域对应一组映射数据,根据旋转角度能够确定将多媒体文件的一个子区域映射到天空盒的哪一个平面上,再根据位置数据能够确定将该区域映射到天空盒一个平面的具体位置。这样在将多媒体文件映射到目标区域时,并不是将多媒体文件的多个子区域进行分割后分别进行映射,而是能够在不分割多媒体文件的情况下,将多媒体文件的子区域根据旋转角度进行旋转,然后映射到位置数据指示的位置。通过上述方法,能够将多媒体文件的各个子区域准确的映射到目标位置的对应区域,同时能够在目标区域出现跨面时,降低将多媒体文件映射时的复杂度。例如,在多媒体文件出现跨面时,如果将多个子区域分割后分别进行映射,可能会导致不同子区域之间出现错位,影响用户体验;并且,如果将多个子区域分别进行映射,需要创建多个多媒体文件,增加了实现的复杂性。又例如,当多媒体文件是视频时,如果将多媒体文件的各个子区域分割后分别进行映射,即,将一个视频分割为多个视频,此时需要创建多个多媒体文件和视频播放器,这样会由于网络传输的影响,导致多个视频播放器存在错帧的情况,增加实现的复杂性和对计算设备的负荷,也会增加网络负荷。
4、在一种可能的实现方式中,上述位置数据指示将多媒体文件中的一个子区域映射到位置数据指示的区域,旋转角度指示在将多媒体文件中的一个子区域映射到位置数据指示的区域时,相对于预置的初始位置旋转的角度。
5、旋转角度能够确定将多媒体文件的一个子区域映射到天空盒的哪一个平面上,根据位置数据能够确定将该区域映射到天空盒一个平面的具体位置。这样在将多媒体文件映射到目标区域时,并不是将多媒体文件的多个子区域进行分割后分别进行映射,而是能够在不分割多媒体文件的情况下,将多媒体文件的子区域根据旋转角度进行旋转,然后映射到位置数据指示的位置。
6、在一种可能的实现方式中,上述根据k组映射数据对多媒体文件进行纹理映射之前,上述方法还包括:创建k个网格;其中,上述k个网格、k组映射数据和多媒体文件的k个子区域一一对应;
7、根据k组映射数据对多媒体文件进行纹理映射,包括:
8、根据多媒体文件、k个网格以及k组映射数据进行纹理映射。创建的网格的数量与多媒体文件的子区域的数量相同,每个网格用于多媒体文件一个子区域的映射。
9、在实现vr全景时,计算设备需要创建三维场景、创建天空盒,创建多媒体文件对应的纹理和基础材质,创建多媒体文件对应的几何体以及网格等。其中,当多媒体文件是视频时,上述创建的纹理为视频纹理;当多媒体文件是图像时,创建的纹理是图片纹理。
10、在一种可能的实现方式中,上述根据多媒体文件对应的k组映射数据对多媒体文件进行纹理映射之前还包括:计算设备获取目标区域的k个子区域在各自所属的平面上的长和宽,其中,目标区域在天空盒一个平面上的部分为目标区域的一个子区域;然后根据目标区域的各个子区域在各自所属的平面上的长和宽,确定多媒体文件的每个子区域对应的映射数据,得到上述k组映射数据;其中,上述目标区域的k个子区域和多媒体文件的k个子区域一一对应,每组对应的子区域的尺寸相同。
11、根据目标区域所包括的每个子区域的长和宽,能够分别确定各个子区域在天空盒的位置,目标区域的子区域在天空盒中的位置就是多媒体文件中对应的子区域需要映射到的位置,即为上述映射数据中的位置数据。每个子区域在天空盒的一个平面,上述旋转角度能够根据初始位置和目标子区域所在的平面确定。其中,目标子区域是指多媒体文件的一个子区域需要映射到的目标区域的一个子区域。
12、在一种可能的实现方式中,在目标区域位于天空盒的第一平面的情况下,根据多媒体文件对应的k组映射数据对多媒体文件进行纹理映射之前包括:获取目标区域在第一平面的偏移量,该偏移量指示目标区域的一个顶点分别在第一平面的坐标;根据目标区域在第一平面上的长和宽,以及偏移量,确定多媒体文件对应的一组映射数据。
13、在目标区域的一个子区域的顶点与天空盒的一个顶点重合时,且该子区域的顶点的两条边与天空盒的两条边重合时,则不需要上述偏移量即可确定上述映射数据;如果目标区域的顶点与天空盒的顶点不重合,则需要结合上述偏移量确定映射数据。应该理解的是,当目标区域是前面一种情况时,也可以获取上述偏移量,根据偏移量确定上述映射数据。
14、在一种可能的实现方式中,在目标区域跨越天空盒的第一平面和第二平面的情况下,根据多媒体文件对应的k组映射数据对多媒体文件进行纹理映射之前包括:根据目标区域在第一平面上的长和宽,以及目标区域在第二平面上的长和宽,确定多媒体文件中映射到第一平面的第一子区域和多媒体文件中映射到第二平面的第二子区域;根据第一子区域在第一平面上的偏移量,以及第一子区域在第一平面上的长和宽,确定第一子区域对应的映射数据;根据第一子区域在第一平面上的偏移量,以及第二子区域在第二平面上的长和宽,确定第二子区域对应的映射数据。
15、在一种可能的实现方式中,在目标区域跨越天空盒的第一平面、第二平面和第三平面的情况下,根据多媒体文件对应的k组映射数据对多媒体文件进行纹理映射之前包括:根据目标区域在第一平面上的长和宽、目标区域在第二平面上的长和宽,以及目标区域在第三平面的长和宽,确定多媒体文件中映射到第一平面的第一子区域、多媒体文件映射到第二平面的第二子区域以及多媒体文件映射到第三平面的第三子区域;根据第一子区域在第一平面上的偏移量,以及第一子区域在第一平面上的长和宽,确定第一子区域对应的映射数据;根据第一子区域在第一平面上的偏移量,以及第二子区域在第二平面上的长和宽,确定第二子区域对应的映射数据;根据第一子区域在第一平面上的偏移量,以及第三子区域在第三平面上的长和宽,确定第三子区域对应的映射数据。
16、第二方面,本技术实施例提供一种映射装置,该装置包括:截取模块,用于截取天空盒中的目标区域得到目标图像;其中,所述目标区域跨越天空盒的k个平面,其中,k为正整数;
17、处理模块,用于基于目标图像得到多媒体文件,多媒体文件为图像或视频;
18、映射模块,用于根据多媒体文件对应的k组映射数据对多媒体文件进行纹理映射,将多媒体文件映射到目标区域。
19、在一种可能的实现方式中,上述位置数据指示将多媒体文件中的一个子区域映射到位置数据指示的区域,旋转角度指示在将多媒体文件中的一个子区域映射到位置数据指示的区域时,相对于预置的初始位置旋转的角度。
20、在一种可能的实现方式中,上述处理模块还用于:创建k个网格;其中,上述k个网格、k组映射数据和多媒体文件的k个子区域一一对应;上述根据k组映射数据对多媒体文件进行纹理映射,包括:根据多媒体文件、k个网格以及k组映射数据进行纹理映射。
21、在一种可能的实现方式中,上述处理模块还用于:获取目标区域的k个子区域在各自所属的平面上的长和宽,其中,目标区域在天空盒一个平面上的部分为目标区域的一个子区域;根据目标区域的各个子区域在各自所属的平面上的长和宽,确定多媒体文件的每个子区域对应的映射数据,得到k组映射数据;其中,上述目标区域的k个子区域和多媒体文件的k个子区域一一对应,每组对应的子区域的尺寸相同。
22、在一种可能的实现方式中,在目标区域位于天空盒的第一平面的情况下,上述处理模块还用于:获取目标区域在第一平面的偏移量,上述偏移量指示目标区域的一个顶点分别在第一平面的坐标;根据目标区域在第一平面上的长和宽,以及偏移量,确定多媒体文件对应的一组映射数据。
23、在一种可能的实现方式中,在上述目标区域跨越天空盒的第一平面和第二平面的情况下,上述处理模块还用于:根据上述目标区域在第一平面上的长和宽,以及目标区域在第二平面上的长和宽,确定多媒体文件中映射到第一平面的第一子区域和多媒体文件中映射到第二平面的第二子区域;根据上述第一子区域在所述第一平面上的偏移量,以及上述第一子区域在所述第一平面上的长和宽,确定上述第一子区域对应的映射数据;根据上述第一子区域在上述第一平面上的偏移量,以及上述第二子区域在所述第二平面上的长和宽,确定上述第二子区域对应的映射数据。
24、在一种可能的实现方式中,在上述目标区域跨越所述天空盒的第一平面、第二平面和第三平面的情况下,上述确定多媒体文件对应的k组映射数据,包括:根据目标区域在第一平面上的长和宽、目标区域在第二平面上的长和宽,以及目标区域在第三平面的长和宽,确定多媒体文件中映射到第一平面的第一子区域、多媒体文件映射到第二平面的第二子区域以及多媒体文件映射到所述第三平面的第三子区域;根据第一子区域在第一平面上的偏移量,以及第一子区域在第一平面上的长和宽,确定第一子区域对应的映射数据;根据第一子区域在第一平面上的偏移量,以及第二子区域在第二平面上的长和宽,确定第二子区域对应的映射数据;根据第一子区域在第一平面上的偏移量,以及第三子区域在第三平面上的长和宽,确定第三子区域对应的映射数据。
25、在一种可能的实现方式中,上述处理模块还用于:在多媒体文件是视频时,创建多媒体文件对应的视频纹理;或者,在多媒体文件是图像时,创建多媒体文件对应的图片纹理。
26、第三方面,本技术提供一种计算设备,包括处理器和存储器,所述存储器用于存储指令,所述处理器用于执行所述指令,当所述处理器执行所述指令时,执行如上述第一方面或第一方面任一种可能实现方式中的映射方法。
27、第四方面,本技术提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当所述指令在服务器上运行时,使得服务器执行第一方面或第一方面任一种可能实现方式中的映射方法。
28、第五方面,本技术提供了一种计算机程序产品,当该计算机程序产品在服务器上运行时,使得服务器执行上述第一方面或第一方面任一种可能实现方式中的映射方法。
本文地址:https://www.jishuxx.com/zhuanli/20240905/287815.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表