一种用于呈现3D场景的方法和设备与流程

文档序号:37679725发布日期:2024-04-18 20:52阅读:12来源:国知局
一种用于呈现3D场景的方法和设备与流程

本发明涉及一种3d(三维)场景呈现方法,特别涉及一种使得能够随机访问一组目标3d场景的3d场景呈现方法。


背景技术:

1、随着20世纪90年代的3d计算机图形学的出现,内容创作者能够通过描述任何真实或人工实体的形状、纹理和材料来将其表示为3d对象。因此,3d场景是虚拟环境中的移动的3d对象的复杂集合,其物理特性包括照明、视点和声音等。

2、为了向用户呈现这样的3d场景,可以采用呈现引擎来解析和渲染描述完整3d场景的节点层次结构、材料、相机、动画以及所有其他场景描述数据的3d场景描述文档。通常,3d场景描述文档可以通过诸如json、xml、yaml等的数据格式来制定。此外,可以利用描述要应用的操作(例如,添加、移除、替换等)的更新文档将这种源数据文档更新为目标数据文档,即,通过使用如图1所示的修补方法。如果数据被制定为json文档,则更新文档是json补丁文档;如果它是一个xml文档,那么更新文档就是一个xml diff文档。

3、因此,为了更新3d场景,呈现引擎可以解析对应的3d场景更新文档并将其应用于先前的3d场景描述文档,生成并渲染新的3d场景描述文档。如图2所示,通过连续解析和应用更新文档u12、u23、u34…,呈现引擎可以实现3d场景v1、v2、v3…的顺序呈现,…。

4、然而,在这种场景下,不可能从不是初始场景v1的较后3d场景(v2,v3,…)开始3d场景呈现,或者跳过一些3d场景。


技术实现思路

1、本发明的目的是提供一种3d场景呈现方法,该方法有助于随机访问要呈现的多个3d场景(v1、v2、v3…)中的一组目标3d场景。上述目的通过本发明的权利要求1和13中限定的特征来实现。

2、权利要求1中提供的方法确定要被解析以生成该组目标3d场景的文档,即用于生成该组目标3d场景的共享参考文档和对应的一组3d场景更新文档,是可用的。其中,该组目标3d场景中的每个目标3d场景由目标3d场景描述文档描述;共享参考文档描述包含在该组目标3d场景描述文档中的元素的一部分;并且每个3d场景更新文档描述要应用于共享参考文档以生成对应的目标3d场景描述文档的更新。当呈现引擎被触发以访问或呈现该组目标3d场景中的目标3d场景时,其解析共享参考文档和该组3d场景更新文档中的对应的3d场景更新文档,以生成描述待被访问或呈现的3d场景的目标3d场景描述文档,渲染所生成的描述文档,并将呈现3d场景更新为目标场景。

3、由于不同的目标3d场景描述文档的生成是通过将对应的3d场景更新文档中包含的更新操作应用于共用的共享参考文档而不是先前的描述文档来实现的,因此权利要求1中提供的方法便于随机访问包括在该组目标3d场景中的任何3d场景。在特定示例中,如果用户触发呈现引擎以呈现目标3d场景v7(我们称之为随机访问),呈现引擎将解析共享参考文档以及对应的3d场景更新文档,以直接向用户呈现v7,而不是相继地生成v1至v6文档并且在渲染无法跳过的情况下等待直到v1-v6的呈现完成。

4、优选的是,共享参考文档可以不同于其大小可以高达几兆字节的3d场景描述文档。更具体地说,它可以不描述完整的3d场景,或者甚至不描述语法上有效的3d场景,而是仅描述已经包含在该组目标3d场景描述文档中的元素的一部分。共享参考文档的最低要求是,它以与3d场景描述文档相同的格式制定,并且因此更新文档可被应用于它并生成有效的3d场景描述文档。在这种情况下,共享参考文档的大小可能比完整的场景描述文档小得多。

5、共享参考文档也可以是描述不同于待被呈现的任何3d场景但同时与所有目标3d场景具有最大平均相似性的3d场景的完整的场景描述文档。因此,即使共享参考文档的大小可能是几兆字节,对应的一组3d更新文档的总体大小也将被最小化。

6、在这两种情况下,用于使能3d场景呈现中的随机访问功能的额外大小都将根据特定标准而最小化,可以节省具有随机访问功能的用于存储3d呈现的存储器资源。此外,当需要从互联网下载3d呈现时,还可以改善下载时间和互联网通信量。通常,可以生成共享参考文档,使得其为生成要显示的所有目标3d场景、或者至少为生成尽可能多的场景提供最高效的基础,由此,共享参考文档可以是例如与所有目标3d场景描述文档具有最大平均相似性的任何文档。

7、在优选实施例中,呈现引擎可以由任何信号触发,如挂钟时间(实时)、呈现时间或交互事件,以访问或呈现目标3d场景。以这种方式,可以在不同的场景中实现随机访问功能,并且改善用户体验。目标3d场景可以是该组目标3d场景中的任何一个。

8、在另一优选实施例中,可以首先根据某些标准(例如最小化大小或最小化处理时间)来定义用于生成该组目标3d场景的共享参考文档和对应的一组3d场景更新文档。

9、在优选实施例中,为了定义用于生成该组目标3d场景的共享参考文档和对应的一组3d场景更新文档,可以首先根据某些标准生成和评估候选共享参考文档以及一组候选3d场景文档。

10、可选地,当该组3d场景更新文档的总体大小小于第一给定阈值(如几兆字节)或最小化时,可以定义用于生成该组3d目标场景的共享参考文档和对应的一组3d场景更新文档。因此,可以最小化用于使能随机访问功能的额外大小。

11、进一步优选的是,当该组3d场景更新文档中的任意两个之间的大小差异小于第二给定阈值(例如几千字节)时,定义共享参考文档和对应的一组3d场景更新文档。在这种情况下,如果处理引擎在被触发以访问不同场景时需要经由互联网解析对应的更新文档,则可以准确地预测下载时间,并确保文档及时可用,因为每个更新文档都具有相似的大小。因此,可以避免由于错误地预测下载时间而导致的不必要的3d场景呈现延迟或不连续,将改善用户体验。

12、可替换地,当用于生成该组目标场景中的至少一个最受欢迎的目标3d场景的至少一个对应的3d场景更新文档的大小小于第三给定阈值(例如几千字节)或最小化时,可以定义共享参考文档和对应的一组3d场景更新文档。因此,访问至少一个最受欢迎的3d场景的处理时间将受到限制或最小化。

13、在本实施例中,优选将至少一个最受欢迎的3d场景确定为比其他目标3d场景更频繁出现的目标场景。可替换地,最受欢迎的场景可以被确定为更有可能被交互事件触发的目标场景。例如,如果目标3d场景呈现描述了足球比赛,则包含进球时刻的目标场景更有可能被用户选择。此外,还可以在交互可用时确定最受欢迎的场景。在这种情况下,最受欢迎的目标场景可以是由用户的交互更频繁地触发的目标场景。

14、由于共享参考文档和对应的一组3d更新文档必须被一起解析以生成该组目标3d场景,因此将它们封装到一个文件中以更好地检索是合理的。考虑到这一点,可以解析封装文件以获得用于生成目标3d场景的共享参考文档和对应的3d场景更新文档。

15、此外,当媒体文件沉浸在3d场景呈现中时,描述呈现的文档可以与媒体文件一起直接封装。也就是说,所有的3d场景描述文档、共享参考文档和3d场景更新文档可以被封装在对应的媒体文件容器中。

16、在此实施例中,媒体文件可以是mpeg文件,共享参考文档和对应的一组3d更新文档可以被封装在一个isobmff(iso/iec基本媒体文件格式)容器中。因此,共享参考文档可以被封装为isobmff文件中的项或者轨道中的样本,而每个对应的3d场景更新文档可以被存储为isobmff文件中的轨道中的样本。可选地,共享参考文档和该组对应的3d更新文档中的第一3d场景更新文档可以存储为isobmff文件中的一个项。

17、根据如权利要求14中所限定的本发明的另一方面,提供了一种具有处理器的第一设备,用于呈现一组目标3d场景,该第一设备包括:

18、确定模块,确定待被解析以生成该组目标3d场景的文档,即用于生成该组目标3d场景的共享参考文档和对应的一组3d场景更新文档,是可用的,

19、其中该组目标3d场景中的每个目标3d场景由目标3d场景描述文档描述,

20、其中共享参考文档描述包含在该组目标3d场景描述文档中的元素的一部分,

21、其中每个3d场景更新文档描述应用于共享参考文档的用于生成对应的目标3d场景描述文档的更新;

22、触发模块,触发呈现引擎以呈现该组目标3d场景中的目标3d场景;

23、呈现引擎,解析共享参考文档和对应的3d场景更新文档,

24、生成目标3d场景描述文档,

25、渲染目标3d场景描述文档,并将呈现场景更新为目标3d场景。

26、根据如权利要求15中所限定的本发明的另一方面,提供了一种具有可应用于在第一设备中呈现一组目标3d场景的处理器的第二设备。该设备包括定义模块205,定义用于生成一组目标3d场景的共享参考文档和对应的一组3d更新文档,由此所定义的文档可应用于在设备100中被解析以生成一组目标3d场景。

27、根据如权利要求16中所限定的本发明的又一方面,提供了一种用于使用共享参考文档和对应的一组3d更新文档呈现一组目标3d场景的系统。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1