流媒体的数据处理系统、方法、设备、存储介质及程序产品与流程

xiaoxiao5小时前  3


本申请涉及人工智能,尤其涉及一种流媒体的数据处理系统、方法、设备、存储介质及程序产品。


背景技术:

1、随着ar(augmented reality,增强现实)技术的出现,用户可以使用智能手机、平板电脑以及ar眼镜等终端设备在实时视觉感受中与数字内容进行交互,在电商、教育、娱乐等领域中均有着广泛应用,于是出现了ar试妆、ar课堂等多种ar应用。

2、ar应用的工作流程:首先通过摄像头等传感器采集真实世界的环境信息,以得到多媒体流;基于多媒体流,可依次执行视频帧上的多媒体处理(如图像缩放等)、基于机器学习任务的模型推理(如人脸检测等)以及基于模型推理结果的虚拟内容与真实世界环境信息之间的渲染显示。

3、在现有ar应用设计中,为了简化设计难度,在依托终端设备提供的cpu(centralprocessing unit,中央处理单元)、gpu(graphics processing unit,图像处理单元)等计算资源的基础上,针对流媒体处理、模型推理和渲染显示这三部分分别独立设计和实现,例如,可以采用计算机视觉库解决流媒体处理问题,采用神经网络推理引擎实现模型推理能力,采用渲染引擎解决渲染显示问题。

4、这种ar应用设计方式灵活、设计难度较低,但是由于一次ar过程需要在多个引擎之间进行交互,因此存在ar应用运行性能不佳的问题,例如运行效率较低、ar响应时延大等


技术实现思路

1、本申请的多个方面提供一种流媒体的数据处理系统、方法、设备、存储介质及程序产品,用以提高ar应用的运行性能。

2、本申请实施例提供一种流媒体的数据处理系统,所述数据处理系统部署在终端设备的操作系统与应用程序之间,所述应用程序支持至少一种视频流任务,所述视频流任务包括串行作用于同一视频帧上的多个子任务,所述数据处理系统包括:运行时调度器、动态编程语言解释器、多个机器学习库和张量计算引擎;所述多个机器学习库与所述多个子任务对应,所述子任务是采用动态编程语言基于所对应的机器学习库中的库函数编写的;所述多个机器学习库中的库函数是基于所述张量计算引擎提供的张量算子构建的;所述运行时调度器,用于在所述应用程序运行过程中,将被触发的目标视频流任务中的多个子任务分配到所述终端设备的多个目标硬件计算资源上,并获取所述目标视频流任务对应的视频流,以流水线并行化的方式对作用于所述视频流中不同视频帧上的所述多个子任务进行调度;所述动态语言解释器,用于按照所述运行时调度器对作用在不同视频帧上的所述多个子任务的调度顺序,基于所述多个机器学习库和所述张量计算引擎对被调度到的子任务进行解释执行。

3、本申请实施例还提供一种流媒体的数据处理方法,应用于终端设备上的应用程序,所述应用程序支持至少一种视频流任务,所述视频流任务包括串行作用于同一视频帧上的多个子任务;所述方法包括:在应用程序运行过程中,将被触发的目标视频流任务中的多个子任务分配到终端设备的多个目标硬件计算资源上;获取所述目标视频流任务对应的视频流,所述视频流包括多个视频帧;以流水线并行化的方式对作用于所述视频流中不同视频帧上的所述多个子任务进行调度;按照作用在不同视频帧上的所述多个子任务的调度顺序,基于多个机器学习库和张量计算引擎对被调度到的子任务进行解释执行;其中,所述多个机器学习库与所述多个子任务对应,所述子任务是采用动态编程语言基于所对应的机器学习库中的库函数编写的;所述多个机器学习库中的库函数是基于所述张量计算引擎提供的张量算子构建的。

4、本申请实施例还提供一种电子设备,包括存储器和处理器,所述存储器,用于存储计算机程序,所述处理器与所述存储器耦合,用于执行所述计算机程序,以用于实现本申请实施例提供的各个方法中的步骤。

5、本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被处理器执行时,致使处理器能够实现以上所述方法中的步骤。

6、本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序/指令,当计算机程序/指令被处理器执行时,致使处理器能够实现上述方法实施例中的步骤。

7、在本申请实施例中,张量计算引擎负责执行张量计算,依托于张量计算引擎构建出视频流任务中多个子任务对应的机器学习库。由于不同机器学习库均基于张量计算引擎构建的,因此能够支持相同的数据结构,使得多个子任务在解释执行的过程中,无需进行数据结构的转换,提高了应用程序的运行性能。以及,运行时调度器负责将多个子任务分配至合适的目标硬件计算资源,并以流水线并行化的方式多个子任务进行调度,以提高计算效率和资源利用率。

8、此外,在应用程序实现为ar应用的情况下,针对ar开发生态的碎片化,在本申请实施例中,将对多种操作系统支持的视频数据采集接口进行二次封装得到规范化接口,屏蔽了不同操作系统之间的软件配置差异,实现了接口的统一。



技术特征:

1.一种流媒体的数据处理系统,其特征在于,所述数据处理系统部署在终端设备的操作系统与应用程序之间,所述应用程序支持至少一种视频流任务,所述视频流任务包括串行作用于同一视频帧上的多个子任务,所述数据处理系统包括:运行时调度器、动态编程语言解释器、多个机器学习库和张量计算引擎;

2.根据权利要求1所述的数据处理系统,其特征在于,所述张量计算引擎提供的张量算子支持多种类型的硬件计算资源;所述运行时调度器包括调度模块,所述调度模块用于:

3.根据权利要求2所述的数据处理系统,其特征在于,所述调度模块还用于:

4.根据权利要求1所述的数据处理系统,其特征在于,还包括视频数据编码器,所述视频数据编码器包括对多种操作系统支持的视频数据采集接口进行二次封装得到的规范化接口,所述规范接口用于将各个视频数据采集接口采集到的非规范化的视频流转换为规范化的视频流并输出;

5.根据权利要求1所述的数据处理系统,其特征在于,所述运行时调度器包括调度模块,所述调度模块用于:

6.根据权利要求1-5任一项所述的数据处理系统,其特征在于,所述动态语言解释器具体用于:

7.根据权利要求6所述的数据处理系统,其特征在于,所述动态语言解释器还用于:

8.根据权利要求6所述的数据处理系统,其特征在于,所述动态语言解释器具体用于:

9.根据权利要求8所述的数据处理系统,其特征在于,在所述目标视频流任务是包含多个显示窗口的视频流任务情况下,所述多个子任务包括图像渲染子任务,且一个显示窗口对应一个图像渲染子任务;

10.一种流媒体的数据处理方法,其特征在于,应用于终端设备上的应用程序,所述应用程序支持至少一种视频流任务,所述视频流任务包括串行作用于同一视频帧上的多个子任务;所述方法包括:

11.根据权利要求10所述的方法,其特征在于,所述张量计算引擎提供的张量算子支持多种类型的硬件计算资源;将被触发的目标视频流任务中的多个子任务分配到所述终端设备的多个目标硬件计算资源上,包括:

12.根据权利要求11所述的方法,其特征在于,所述方法还包括:

13.根据权利要求10所述的方法,其特征在于,获取所述目标视频流任务对应的视频流,包括:

14.根据权利要求10所述的方法,其特征在于,以流水线并行化的方式对作用于所述视频流中不同视频帧上的所述多个子任务进行调度,包括:

15.根据权利要求10-14任一项所述的方法,其特征在于,基于所述多个机器学习库和所述张量计算引擎对被调度到的子任务进行解释执行,包括:

16.根据权利要求15所述的方法,其特征在于,所述方法还包括:

17.根据权利要求15所述的方法,其特征在于,所述方法还包括:

18.一种电子设备,其特征在于,包括存储器和处理器,所述存储器,用于存储计算机程序,所述处理器与所述存储器耦合,用于执行所述计算机程序,以用于实现权利要求11-15以及权利要求10-17中任一项所述方法中的步骤。

19.一种存储有计算机程序/指令的计算机可读存储介质,其特征在于,当所述计算机程序被处理器执行时,致使所述处理器能够实现权利要求10-17中任一项所述方法中的步骤。

20.一种计算机程序产品,其特征在于,包括:计算机程序/指令,当所述计算机程序/指令被处理器执行时,致使所述处理器能够实现权利要求10-17中任一项所述方法中的步骤。


技术总结
本申请实施例提供一种流媒体的数据处理系统、方法、设备、存储介质及程序产品,涉及人工智能技术领域。在本申请实施例中,张量计算引擎负责执行张量计算,依托于张量计算引擎构建出视频流任务中多个子任务对应的机器学习库。由于不同机器学习库均基于张量计算引擎构建的,因此能够支持相同的数据结构,使得多个子任务在解释执行的过程中,无需进行数据结构的转换,提高了应用程序的运行性能。以及,运行时调度器负责将多个子任务分配至合适的目标硬件计算资源,并以流水线并行化的方式多个子任务进行调度,以提高计算效率和资源利用率。

技术研发人员:吕承飞,姜霄棠,王召德,蔡羽,吴子奇,牛超越,余刚
受保护的技术使用者:淘宝(中国)软件有限公司
技术研发日:
技术公布日:2024/9/23

最新回复(0)