基于流畅度提升的三维场景流数据播放控制方法和设备与流程

文档序号:36101851发布日期:2023-11-21 16:34阅读:31来源:国知局
基于流畅度提升的三维场景流数据播放控制方法和设备与流程

本发明实施例涉及图像处理,尤其涉及一种基于流畅度提升的三维场景流数据播放控制方法和设备。


背景技术:

1、数字孪生可视化作为一种重要的数字化手段被深度运用到智慧城市的建设中,近几年数字孪生这个概念也越来越受到了前所未有的关注。unreal engine游戏引擎(后文简称ue)是目前运用范围最广,整体运用程度最高,次世代画面标准最高的一款游戏引擎,具有强大的“场景表现力”。一方面通过实时动态的渲染,可以构建丰富精细的场景表现;另一方面强大的物理引擎可以真实模拟现实世界的运行规则,为数字孪生提供了强有力的支撑。数字孪生工程项目由大量的真实数据或数据流支撑其运行,但ue并不具备自动化的数据处理分析和应用能力。因此,开发一种基于流畅度提升的三维场景流数据播放控制方法和设备,可以有效克服上述相关技术中的缺陷,就成为业界亟待解决的技术问题。


技术实现思路

1、针对现有技术存在的上述问题,本发明实施例提供了一种基于流畅度提升的三维场景流数据播放控制方法和设备。

2、第一方面,本发明的实施例提供了一种基于流畅度提升的三维场景流数据播放控制方法,包括:将数据读入内存,分析数据并且以设备唯一标识符为主键,内存建立由数据时间戳排序的线性表映射关系;引入数据处理函数,数据处理函数用于在不破坏控制器主体逻辑且不更改控制器代码的基础上对预定数据进行处理,附加预定业务逻辑;创建并使用部分原始数据初始化数据处理线程,由主线程管理初始化后的数据处理线程的生命周期;使用预设起始播放时间戳传入实例化后的数据处理线程对象,将实例化后的数据处理线程对象标记为第0次同步,将所有锁标记为异步状态后执行创建,启动数据处理线程;在数据处理线程中对数据加锁,如果成功加锁,则进入数据处理流程,并进行单个信息或设备的计算;在单个信息或设备的计算完成后对数据解锁,在主线程的每一帧中与计算线程进行同步。

3、在上述方法实施例内容的基础上,本发明实施例中提供的基于流畅度提升的三维场景流数据播放控制方法,在所述内存建立由数据时间戳排序的线性表映射关系之后,还包括:若在运行初期缺乏原始数据,则使用空数据nullptr初始化数据处理线程并在之后的线程同步中对数据进行增补。

4、在上述方法实施例内容的基础上,本发明实施例中提供的基于流畅度提升的三维场景流数据播放控制方法,所述数据处理函数用于在不破坏控制器主体逻辑且不更改控制器代码的基础上对预定数据进行处理,附加预定业务逻辑,包括:在数据处理前执行函数shoulddocalculate,如果返回false则不进行本次数据处理;在索引阶段,如果当前时间比经过排序的第一个时间戳还早,则执行函数datatimestamptoonew,如果返回false则不进行本次数据处理;在索引阶段,如果当前时间比经过排序的最后一个时间戳还晚,则执行函数datatimestamptooold,如果返回false则不进行本次数据处理;在计算结束后执行函数oncalculationcompleted。

5、在上述方法实施例内容的基础上,本发明实施例中提供的基于流畅度提升的三维场景流数据播放控制方法,所述初始化后的数据处理线程的生命周期为数字孪生可视化系统实例构造后到数字孪生可视化系统实例析构前。

6、在上述方法实施例内容的基础上,本发明实施例中提供的基于流畅度提升的三维场景流数据播放控制方法,在所述启动数据处理线程之后,还包括:数据处理线程进入线程循环,开始根据由时间戳排序的数据线性表处理数据。

7、在上述方法实施例内容的基础上,本发明实施例中提供的基于流畅度提升的三维场景流数据播放控制方法,所述并进行单个信息或设备的计算,包括:在单个信息或设备的计算的过程中,计算插值使用的alpha值:

8、alpha=(t-d[i].timestamp)/(d[i+1].timestamp-d[i].timestamp)

9、其中,d[i]为第i个数据点位,d[i+1]为第i+1个数据点位,t为当前使用的时间戳;d[i].timestamp为第i个数据点位的时间戳;d[i+1].timestamp为第i+1个数据点位的时间戳;采用得到的alpha(0,1]对第i个数据点和第i+1个数据点之间的数据进行线性插值,将插值结果保存到数据结构的结果中;在单个信息或设备的计算结束阶段,调用函数oncalculationcompleted,进入下个设备或信息的计算中,以此循环直至将数据结构完全遍历。

10、在上述方法实施例内容的基础上,本发明实施例中提供的基于流畅度提升的三维场景流数据播放控制方法,所述在单个信息或设备的计算完成后对数据解锁,包括:若解锁成功,将计算线程的输出结果应用到展示层面上,并且会将数据增补队列中的缓存数据输入到计算线程的数据结构中,在主线程所有操作执行完成后,输入新的计算时间戳,主线程解锁,使得数据处理线程继续下一帧的计算工作;若解锁失败但是失败次数小于预设帧数时,本帧放弃同步,日志中生成警告,若解锁失败且失败次数大于等于预设帧数时,强制等待计算线程预设时长,如果预设时长后依然无法成功同步则本帧放弃同步,日志中生成错误;如果预设时长内成功解锁,则进入解锁成功流程。

11、第二方面,本发明的实施例提供了一种基于流畅度提升的三维场景流数据播放控制装置,包括:第一主模块,用于实现将数据读入内存,分析数据并且以设备唯一标识符为主键,内存建立由数据时间戳排序的线性表映射关系;第二主模块,用于实现引入数据处理函数,数据处理函数用于在不破坏控制器主体逻辑且不更改控制器代码的基础上对预定数据进行处理,附加预定业务逻辑;第三主模块,用于实现创建并使用部分原始数据初始化数据处理线程,由主线程管理初始化后的数据处理线程的生命周期;第四主模块,用于实现使用预设起始播放时间戳传入实例化后的数据处理线程对象,将实例化后的数据处理线程对象标记为第0次同步,将所有锁标记为异步状态后执行创建,启动数据处理线程;第五主模块,用于实现在数据处理线程中对数据加锁,如果成功加锁,则进入数据处理流程,并进行单个信息或设备的计算;第六主模块,用于实现在单个信息或设备的计算完成后对数据解锁,在主线程的每一帧中与计算线程进行同步。

12、第三方面,本发明的实施例提供了一种电子设备,包括:

13、至少一个处理器、至少一个存储器和通信接口;其中,

14、所述处理器、存储器和通信接口相互间进行通信;

15、所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令,执行第一方面的各种实现方式中任一种实现方式所提供的基于流畅度提升的三维场景流数据播放控制方法。

16、第四方面,本发明的实施例提供了一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行第一方面的各种实现方式中任一种实现方式所提供的基于流畅度提升的三维场景流数据播放控制方法。

17、本发明实施例提供的基于流畅度提升的三维场景流数据播放控制方法和设备,通过使用ue异步的高效处理和播放以时间戳为索引排序的数据流,解决了传统数字孪生系统中对历史数据信息展示不完整、历史时空无法完整回溯复原的问题,提升了数字孪生对于大型场景的应用性,并且在提供高精度历史回溯和复原的同时保证了最低的能耗。

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