一种多类型水域笔刷共用延迟控制与重采样方法及装置与流程

摘要: 本技术涉及实时渲染,涉及一种多类型水域笔刷共用延迟控制与重采样方法及装置。背景技术:1、在水域流向图实时编辑与数字地球可视化系统中,用户通常通过流向刷、速度刷、...
一种多类型水域笔刷共用延迟控制与重采样方法及装置与流程

本技术涉及实时渲染,涉及一种多类型水域笔刷共用延迟控制与重采样方法及装置。

背景技术:

1、在水域流向图实时编辑与数字地球可视化系统中,用户通常通过流向刷、速度刷、类型刷及橡皮擦等多类型笔刷,在数字地图上编辑水流轨迹与属性分布。为保证流场生成的数据连贯性与交互的实时性,系统底层需为下游模块提供时序一致且经冗余过滤的控制点轨迹数据。

2、在传统的笔刷交互方案中,多类型笔刷通常各自独立实现事件接收与缓冲逻辑,缺乏统一的底层控制框架来统一调度与执行差异化处理参数(如不同的延迟窗口时长和阈值),导致系统代码复用率低与模块扩展性受限。此外,现有系统通常将输入设备产生的离散事件直接传递给下游处理模块。由于设备采样频率与系统帧率的波动,在快速绘制或低帧率场景下,会导致控制点的输出时间间隔产生显著波动。这种不稳定的输出时序使得控制点在空间轨迹上的分布疏密不均,进而在下游执行流场插值时容易产生数据跳变,降低了生成流场的连续性与平滑度。

3、为解决数据过密问题,相关技术中的距离阈值过滤无法提取轨迹的方向特征,容易在平直轨迹上保留近似共线的冗余数据,或在曲线弯曲处产生采样失真。同时,面对多类型笔刷共用的场景,下游目标模块在接收未携带类型标识的控制点序列时,难以实现准确的数据分发与路由,进而增加下游目标模块在执行流场插值或栅格写入操作时的计算负载与不必要的存储消耗,最终引发绘制过程的帧率下降与响应延迟。

技术实现思路

1、本技术提供了一种多类型水域笔刷共用延迟控制与重采样方法及装置,通过差异化处理参数、滑动时间窗口与事件缓冲队列,以及基于距离与角度的联合重采样,将多类型笔刷的离散输入转化为了时序稳定、几何精准且分类明确的低冗余轨迹数据,从而提升了下游流场生成的连续平滑度与系统的实时处理效率。

2、本技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本技术的实践而习得。

3、根据本技术实施例的第一方面,提供了一种多类型水域笔刷共用延迟控制与重采样方法,所述方法包括:

4、获取待处理的原始输入事件,根据所述原始输入事件对应的事件来源标识确定目标笔刷类型,根据所述目标笔刷类型对应的类型标签与所述原始输入事件确定初始控制点序列,并根据所述目标笔刷类型确定与所述初始控制点序列对应的差异化处理参数,所述差异化处理参数至少包括延迟窗口时长、距离阈值以及角度阈值;

5、基于所述延迟窗口时长对所述初始控制点序列进行滑动时间窗口划分,得到当前时间窗口内的待聚合控制点集合,对所述待聚合控制点集合中的控制点进行聚合处理,得到代表性控制点,并将所述代表性控制点添加至预构建的事件缓冲队列;基于预设的读取频率从所述事件缓冲队列中依次获取所述代表性控制点,得到时序连续的延迟控制点序列;

6、分别计算所述延迟控制点序列中相邻控制点之间的空间距离,并根据所述空间距离、所述距离阈值和所述角度阈值对所述延迟控制点序列进行重采样处理,得到重采样控制点序列;

7、提取所述重采样控制点序列中各重采样控制点对应的类型标签,并将所述重采样控制点序列以及对应的类型标签分发至与所述类型标签相匹配的下游目标模块,以使所述下游目标模块基于所述重采样控制点序列执行对应的流场插值或栅格写入操作。

8、在本技术的一些示例实施例中,基于前述方案,所述根据所述目标笔刷类型对应的类型标签与所述原始输入事件确定初始控制点序列,包括:

9、获取所述原始输入事件对应的二维屏幕坐标、笔刷压力值以及事件时间戳;

10、将所述原始输入事件对应的目标笔刷类型的类型标签、所述二维屏幕坐标、所述笔刷压力值以及所述事件时间戳封装至控制点数据结构中;

11、根据所述控制点数据结构按照时间顺序写入与所述目标笔刷类型对应的缓冲区,得到所述初始控制点序列。

12、在本技术的一些示例实施例中,基于前述方案,所述基于所述延迟窗口时长对所述初始控制点序列进行滑动时间窗口划分,得到当前时间窗口内的待聚合控制点集合,包括:

13、将所述初始控制点序列中首个控制点的时间戳确定为当前时间窗口的起始时间,并计算所述初始控制点序列中待划分控制点的时间戳与所述起始时间的差值;

14、若所述差值小于所述延迟窗口时长,则将所述待划分控制点添加至所述待聚合控制点集合中;

15、若所述差值大于或者等于所述延迟窗口时长,则关闭所述当前时间窗口,并将所述待划分控制点的时间戳更新为新的起始时间,基于新的起始时间划分下一滑动时间窗口。

16、在本技术的一些示例实施例中,基于前述方案,所述对所述待聚合控制点集合中的控制点进行聚合处理,得到代表性控制点,包括:

17、获取所述待聚合控制点集合中各控制点对应的二维屏幕坐标与笔刷压力值,基于各所述控制点对应的笔刷压力值,对各所述二维屏幕坐标进行加权平均计算,得到目标位置坐标;

18、将所述待聚合控制点集合中的最大笔刷压力值确定为目标压力值,并将所述待聚合控制点集合中最晚的控制点的时间戳确定为目标时间戳;

19、基于所述目标位置坐标、所述目标压力值、所述目标时间戳以及所述目标笔刷类型对应的类型标签,得到所述代表性控制点。

20、在本技术的一些示例实施例中,基于前述方案,所述基于预设的读取频率从所述事件缓冲队列中依次获取所述代表性控制点,得到时序连续的延迟控制点序列,包括:

21、将所述当前时间窗口输出的代表性控制点按照生成顺序依次追加至所述事件缓冲队列的队尾;

22、在每个触发周期内,判断所述事件缓冲队列是否为空;

23、若所述事件缓冲队列不为空,则从所述事件缓冲队列的队首提取一个代表性控制点,并将多次提取得到的代表性控制点按照提取顺序依次组合,得到所述时序连续的延迟控制点序列。

24、在本技术的一些示例实施例中,基于前述方案,所述基于所述空间距离与所述距离阈值的大小关系,对所述延迟控制点序列执行空间冗余剔除处理,得到第一级过滤控制点序列,包括:

25、将所述延迟控制点序列中的首个控制点添加至结果控制点集合中,并将所述首个控制点确定为当前参考点;

26、将所述延迟控制点序列中的下一控制点确定为待处理控制点,并计算所述当前参考点与所述待处理控制点之间的所述空间距离;

27、若所述空间距离小于或者等于所述距离阈值,则将所述待处理控制点剔除,并获取下一控制点更新为所述待处理控制点进行距离计算;

28、若所述空间距离大于所述距离阈值,则将所述待处理控制点添加至所述结果控制点集合中,并将所述当前参考点更新为所述待处理控制点,直至遍历完成后将所述结果控制点集合确定为所述第一级过滤控制点序列。

29、在本技术的一些示例实施例中,基于前述方案,所述计算所述第一级过滤控制点序列中连续的三个过滤控制点构成的向量夹角,若所述向量夹角小于或者等于所述角度阈值,则利用所述三个过滤控制点中的最新控制点替换中间控制点,得到所述重采样控制点序列,包括:

30、将所述第一级过滤控制点序列中的前两个控制点写入重采样结果集合,并将所述第一级过滤控制点序列中的后续控制点依次确定为目标验证点;

31、计算所述重采样结果集合中的末尾控制点和所述末尾控制点的前一相邻控制点所构成的第一向量,与由所述末尾控制点和所述目标验证点构成的第二向量之间的所述向量夹角;

32、若所述向量夹角小于或者等于所述角度阈值,则将所述重采样结果集合中的所述末尾控制点替换为所述目标验证点;

33、若所述向量夹角大于所述角度阈值,则将所述目标验证点添加至所述重采样结果集合中;

34、遍历完成所述第一级过滤控制点序列后,将最终的所述重采样结果集合确定为所述重采样控制点序列。

35、在本技术的一些示例实施例中,基于前述方案,所述分别计算所述延迟控制点序列中相邻控制点之间的空间距离之前,所述方法还包括:

36、计算相邻控制点之间的时间间隔,基于所述时间间隔与所述空间距离计算瞬时绘制速度;

37、若所述瞬时绘制速度大于预设的高速阈值,则利用第一比例系数对所述距离阈值进行放大更新;

38、若所述瞬时绘制速度小于预设的低速阈值,则利用第二比例系数对所述距离阈值进行缩小更新,所述第一比例系数大于1,所述第二比例系数小于1。

39、根据本技术实施例的第二方面,提供了一种多类型水域笔刷共用延迟控制与重采样装置,所述装置包括:

40、统一底座模块,用于获取待处理的原始输入事件,根据所述原始输入事件对应的事件来源标识确定目标笔刷类型,根据所述目标笔刷类型对应的类型标签与所述原始输入事件确定初始控制点序列,并根据所述目标笔刷类型确定与所述初始控制点序列对应的差异化处理参数,所述差异化处理参数至少包括延迟窗口时长、距离阈值以及角度阈值;

41、统一延迟控制模块,用于基于所述延迟窗口时长对所述初始控制点序列进行滑动时间窗口划分,得到当前时间窗口内的待聚合控制点集合,对所述待聚合控制点集合中的控制点进行聚合处理,得到代表性控制点,并将所述代表性控制点添加至预构建的事件缓冲队列;基于预设的读取频率从所述事件缓冲队列中依次获取所述代表性控制点,得到时序连续的延迟控制点序列;

42、统一重采样模块,用于分别计算所述延迟控制点序列中相邻控制点之间的空间距离,并根据所述空间距离、所述距离阈值和所述角度阈值对所述延迟控制点序列进行重采样处理,得到重采样控制点序列;

43、输出接口模块,用于提取所述重采样控制点序列中各重采样控制点对应的类型标签,并将所述重采样控制点序列以及对应的类型标签分发至与所述类型标签相匹配的下游目标模块,以使所述下游目标模块基于所述重采样控制点序列执行对应的流场插值或栅格写入操作。

44、本技术提供了一种多类型水域笔刷共用延迟控制与重采样方法,通过获取待处理的原始输入事件确定目标笔刷类型,将对应的类型标签添加至原始输入事件中以确定初始控制点序列,并统一确定包含延迟窗口时长、距离阈值以及角度阈值的差异化处理参数;随后在处理末端,提取各重采样控制点对应的类型标签并分发至相匹配的下游目标模块。由此,相较于多类型笔刷各自独立实现事件接收与缓冲逻辑的传统方式,该方法构建了统一的底层控制框架,不仅提升了代码复用率与模块扩展性,而且通过标准化的类型标签传递机制实现了多类型笔刷并发场景下的准确数据路由,避免了下游目标模块在执行流场插值或栅格写入操作时因处理未分类数据而增加的冗余计算开销与存储消耗。

45、进一步地,通过基于延迟窗口时长对初始控制点序列进行滑动时间窗口划分,对窗口内的待聚合控制点进行聚合处理,并结合预构建的事件缓冲队列与预设读取频率,获取时序连续的延迟控制点序列。由此,在面对快速绘制或系统帧率波动的场景时,能够抑制输入设备离散事件到达时间间隔的时序抖动,实现了控制点分布密度与绘制速度的逻辑解耦,避免了因输出时序不稳定导致的控制点空间分布疏密不均与数据跳变,保证了输出轨迹数据的时序稳定性,为下游流场生成的连续性与平滑过渡提供了可靠的数据支撑。

46、另外,通过分别计算延迟控制点序列中相邻控制点之间的空间距离,并根据所述空间距离、所述距离阈值和所述角度阈值对所述延迟控制点序列进行重采样处理。由此,相较于单纯依赖距离阈值过滤导致无法提取轨迹方向特征的缺陷,该方法能够在识别并剔除平直轨迹上近似共线的冗余数据的同时,保留曲线弯曲处的几何细节特征,避免了轨迹拐角处的采样失真;在保证轨迹几何精度的前提下,压缩了控制点的数据规模,降低了下游目标模块的计算负载,避免了因数据过密引发的帧率下降与响应延迟,保证了实时编辑交互的流畅性。

47、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。