技术新讯 > 电子通信装置的制造及其应用技术 > 基于异构资源调度的JPEG编解码方法及系统与流程  >  正文

基于异构资源调度的JPEG编解码方法及系统与流程

  • 国知局
  • 2024-10-15 09:50:23

本发明涉及图像处理领域,具体涉及一种基于异构资源调度的jpeg编解码方法及系统。

背景技术:

1、jpeg是一种广泛使用的图像编码格式,它可以将原始图像压缩成较小的文件,同时保持较高的图像质量。所以大部分图片依然是jpeg格式,十分流行。然而,jpeg编解码需要使用大量的计算资源,如果只用cpu资源对其进行编解码,会导致占用大量的cpu资源。现在的计算机系统中资源越来越丰富,异构资源也越来越多,如gpu、硬件编解码器、tpu等。越来越多的研究员使用cpu和各种异构资源解决各种问题,因此利用异构资源对jpeg进行编解码已经成为一个热门研究的领域。现有研究都是单独只用一种异构资源,如何共同使用多种异构资源的研究较少,并且没有考虑基于异构资源调度的jpeg编解码问题。如利用cpu加一种异构资源对jpeg进行编解码,或者使用gpu(cuda或者opencl)的并行计算能力对jpeg进行编解码,或者只用jpeg硬件编解码器对其进行编解码。但是现在计算机系统硬件资源越来越丰富,异构资源越来越多。比如一个显卡中通常包含gpu、硬件编解码器。除此之外,cpu simd加速指令也可以加速jpeg编解码。然而现在系统中往往只会用一种资源对其编解码,并没充分利用硬件资源。

2、申请号为cn201510531805.3的中国专利申请文献公开了一种基于cpu和gpu的图像协同解码方法及装置。方法包括:接收图像编码码流,调用cpu对图像编码码流进行头信息解析及tier-2算法处理,得到第一处理结果;提取图像分辨率值,判断分辨率值是否高于预设的分辨率阈值,如果是,调用gpu对第一处理结果进行tier-1算法处理,得到第二处理结果;调用gpu对第二处理结果顺序进行反量化处理、小波逆变换及dc电平变换,得到解码后的图像数据。由此可见,一方面在不影响解码速度的前提下减轻了cpu的负荷,另一方面充分利用的空闲的gpu资源,从而实现了cpu、gpu的负载均衡,增加系统的总体吞吐率。虽然该方案通过设计了基于cpu和gpu的图像协同解码满足了使用gpu异构资源的要求,也只是调用gpu对第一处理结果进行tier-1算法处理,并没有涉及到基于异构资源调度的jpeg编解码的问题。

3、申请号为cn201710031852.0的中国专利申请文献提出了一种面向异构资源的多维调度系统,包括:集群管理模块、容器管理模块、资源统调模块、硬件抽象模块、关系数据库以及组件通信模块;所述资源统调模块分别与集群管理模块、容器管理模块、硬件抽象模块、关系数据库、组件通信模块连接;所述资源统调模块包括集群资源分配组件、主机资源管理组件;且所述集群资源分配组件用于管理接入集群的各个二级调度框架和主机资源管理组件,并将主机资源管理组件上的资源按照预设的策略分配给二级调度框架;所述主机资源管理组件用于接收并执行来自集群资源分配组件的命令、管理节点上的容器任务,并为各个容器分配资源;所述集群管理模块用于管理系统中的集群资源;所述容器管理模块用于管理系统中的容器资源;硬件抽象模块用于为系统提供硬件支撑,包括物理服务器和虚拟服务器;所述组件通信模块用于为系统提供通信。虽然该方案通过设计了一种面向异构资源的多维调度系统满足针对集群的异构资源调度,但是并没有涉及到基于异构资源调度的jpeg编解码的问题。

技术实现思路

1、本发明要解决的技术问题:针对现有技术的上述问题,提供一种基于异构资源调度的jpeg编解码方法及系统,本发明旨在针对系统中可用的多种异构硬件资源如cpu、gpu和硬件编解码器等实现根据异构资源使用情况进行合理调度,充分利用系统的异构资源,提升jpeg编解码的效率,避免资源空闲或过度使用。

2、为了解决上述技术问题,本发明采用的技术方案为:

3、一种基于异构资源调度的jpeg编解码方法,包括下述步骤:

4、s101,获取系统中所有的jpeg编解码硬件资源;

5、s102,实现给定的每一种调度策略下所有的jpeg编解码硬件资源的优先级划分;

6、s103,获取jpeg编解码任务,根据jpeg编解码任务的调度策略确定jpeg编解码任务调用jpeg编解码硬件资源的优先级;

7、s104,使用确定的优先级调用jpeg编解码硬件资源执行jpeg编解码任务。

8、进一步的,步骤s101中的jpeg编解码硬件资源包括cpu、gpu和硬件编解码器中的部分或全部。

9、进一步的,所述cpu执行jpeg编解码任务时为调用simd指令进行jpeg编解码,所述gpu执行jpeg编解码任务时为利用cuda或者opencl进行多路并行jpeg编解码,所述硬件编解码器执行jpeg编解码任务时为利用自身硬件编解码器进行jpeg编解码。

10、进一步的,步骤s102中的调度策略包括高实时性调度策略和高吞吐率调度策略两种,高实时性调度策略下cpu、gpu和硬件编解码器三者的优先级排序为:硬件编解码器>cpu>gpu;高吞吐率调度策略下cpu、gpu和硬件编解码器三者的优先级排序为:gpu>cpu>硬件编解码器。

11、进一步的,步骤s103中根据jpeg编解码任务的调度策略确定jpeg编解码任务调用jpeg编解码硬件资源的优先级时,若jpeg编解码任务的调度策略为高实时性调度策略,则确定jpeg编解码任务调用jpeg编解码硬件资源的优先级为硬件编解码器、cpu、gpu;若jpeg编解码任务的调度策略为高吞吐率调度策略,则确定jpeg编解码任务调用jpeg编解码硬件资源的优先级为gpu、cpu、硬件编解码器。

12、进一步的,步骤s104 中使用确定的优先级调用jpeg编解码硬件资源执行jpeg编解码任务包括:将jpeg编解码任务分解为批次任务,针对每一批次任务,分别获取系统中所有的jpeg编解码硬件资源的利用率;判断所有的jpeg编解码硬件资源的利用率是否均超过对应的预设阈值,若均未超过对应的预设阈值,则直接按照确定jpeg编解码任务调用jpeg编解码硬件资源的优先级调度执行本批次任务,否则将本批次任务作为下一批次任务、并在延时一个预设的周期或者等待到所有的jpeg编解码硬件资源的利用率均未超过对应的预设阈值时才使用确定的优先级调用jpeg编解码硬件资源执行jpeg编解码任务。

13、进一步的,步骤s104 中使用确定的优先级调用jpeg编解码硬件资源执行jpeg编解码任务时,包括:首先将jpeg编解码任务的图片读入共享内存中,然后将共享内存中的图片使用确定的优先级调用jpeg编解码硬件资源执行jpeg编解码任务,具体包括:

14、s201,初始化jpeg编解码硬件资源的编解码硬件资源集合并按照优先级从高到低排序,创建高实时性图片数据队列;

15、s202,将共享内存中高实时性的图片数据放入高实时性图片数据队列中;

16、s203,获取硬件编解码器利用率,若硬件编解码器利用率未超过对应的阈值,则将高实时性图片数据队列调度到硬件编解码器中进行编解码;

17、若硬件编解码器的利用率超过设定的阈值,查看cpu利用率,若cpu利用率未超过对应的阈值,则将高实时性图片数据队列调度到cpu中利用simd指令进行编解码;

18、若cpu利用率超过对应的阈值,查看gpu利用率,若gpu利用率未超过对应的阈值,则将高实时性图片数据队列调度到gpu中进行编解码;

19、若硬件编解码器利用率、cpu利用率和gpu利用率都超过阈值,则在队列中等待直到硬件资源利用率符合其要求;

20、s206,当图片数据编解码结束,则释放对应的jpeg编解码硬件资源,等待下一次jpeg编解码任务,跳转至步骤s201。

21、进一步的,步骤s201中还包括:创建高吞吐率图片数据队列,步骤s202还包括:将共享内存中多批量图片数据放入高吞吐率图片数据队列中,跳转步骤s204;步骤s202之后还包括:

22、s204,获取gpu硬件核心数并根据gpu硬件核心数计算得到gpu的总算力线程数,查看gpu利用率,根据gpu的总算力线程数和利用率计算得到剩余总线程数,若剩余总线程数大于0,则将高吞吐率图片数据队列调度到gpu中进行编解码;

23、若剩余总线程数小于或等于0则延时等待,若等待时间未超过最大等待时间,再次重复本步骤的流程,若等待时间超过最大等待时间,则跳转执行步骤s205;

24、s205,获取cpu的利用率,若cpu的利用率未超过对应的阈值,则将高吞吐率图片数据队列调度到cpu中利用simd指令进行编解码;

25、若cpu利用率超过对应的阈值,查看硬件解码器利用率,若硬件解码器利用率未超过对应的阈值,则将高吞吐率图片数据队列调度到硬件编解码器中进行编解码;

26、若cpu利用率和硬件编解码器利用率都超过对应的阈值,则在队列中等待直到硬件资源利用率符合其要求。

27、本发明还提出一种基于异构资源调度的jpeg编解码系统,包括相互连接的微处理器和存储器,所述微处理器被编程或配置以执行任意一项所述基于异构资源调度的jpeg编解码方法。

28、本发明还提出一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序/指令,该计算机程序/指令被编程或配置以通过处理器执行任意一项所述基于异构资源调度的jpeg编解码方法。

29、本发明还提出一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被编程或配置以通过处理器执行任意一项所述基于异构资源调度的jpeg编解码方法。

30、相比现有技术,本发明具有以下优点:

31、本发明对给定的每一种调度策略下所有的jpeg编解码硬件资源的优先级进行划分,根据jpeg编解码任务的调度策略确定jpeg编解码任务调用jpeg编解码硬件资源的优先级之后,使用确定的优先级调用jpeg编解码硬件资源执行jpeg编解码任务,相比目前系统中只用一种资源进行编解码的方法,充分的利用了系统中的硬件资源,并且通过调度策略确定jpeg编解码硬件资源的优先级,可以更有效地分配和利用硬件资源,避免资源空闲或过度使用,优化了系统性能。

本文地址:https://www.jishuxx.com/zhuanli/20241015/315558.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。