CN118096527A - 一种视频图像超分方法、芯片、设备、存储介质和mcs - Google Patents
一种视频图像超分方法、芯片、设备、存储介质和mcs Download PDFInfo
- Publication number
- CN118096527A CN118096527A CN202211494621.0A CN202211494621A CN118096527A CN 118096527 A CN118096527 A CN 118096527A CN 202211494621 A CN202211494621 A CN 202211494621A CN 118096527 A CN118096527 A CN 118096527A
- Authority
- CN
- China
- Prior art keywords
- operator
- super
- algorithm
- hardware
- video image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000013473 artificial intelligence Methods 0.000 claims description 16
- 238000005192 partition Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例公开了一种视频图像超分方法、芯片、电子设备和存储介质,以及一种多媒体计算机系统。所述方法包括:通过框架层接收视频图像数据,并获取超分算法配置参数;硬件抽象层根据所述超分算法配置参数和系统中硬件模块的运行时信息,加载超分算法,并组建对应执行所述超分算法的Pipeline;硬件层启动所述Pipeline对应的硬件模块执行所述超分算法,对所述视频图像数据进行超分处理。本公开实施例提供的视频图像超分方法,基于多媒体计算机系统架构对底层异构硬件模块的灵活调度能力,利用不同硬件模块执行超分算子的特点,为上层应用提供统一、完备、动态最优的超分处理性能。
Description
技术领域
本公开涉及但不限于视频技术领域,尤其涉及一种视频图像超分方法、芯片、电子设备和存储介质,以及一种多媒体计算机系统。
背景技术
随着终端设备的不断升级,显示效果不断提升,显示屏分辨率高达2K,4K等,而显示屏最为核心的功能之一就是观看视频,为能给用户提供更好的观看体验,中高端移动终端采用2K分辨率较为常见,低阶移动终端显示屏也达到1080p。但获得更好的观看体验不仅在于提高移动终端分辨率,视频源的分辨率、视频传输的分辨率等环节也十分重要。
对于普通用户来说,由于免费视频分辨率限制、视频源低分辨率限制或者网络流量、带宽限制等诸多因素,造成实际观看的视频分辨率低于1080p,实际体验的视频分辨率以480p较为常见。如何有效提高视频分辨率,是进一步提升用户终端和视频应用使用体验的重要方面。
发明内容
本公开实施例提供一种视频图像超分方法、芯片、电子设备和存储介质,以及一种多媒体计算机系统,基于多媒体计算机系统架构对底层硬件IP模块的灵活调度能力,利用不同硬件IP模块执行超分算法的特点,充分满足不同超分处理需求,为终端上各类视频图像应用提供统一、完备、恰当的超分处理功能。
本公开实施例提供一种视频图像超分方法,包括:
通过框架层接收视频图像数据,并获取超分算法配置参数;
硬件抽象层根据所述超分算法配置参数和系统中硬件模块的运行时信息,加载超分算法,并组建对应执行所述超分算法的流水线;
硬件层启动所述流水线对应的硬件模块执行所述超分算法,对所述视频图像数据进行超分处理;
其中,所述超分算法包括至少一个算子;
所述超分算法配置参数包括:超分算法标识、至少一个算子标识和对应的算子属性参数;
所述算子属性参数包括以下一个或多个:
人工智能标识、复杂度等级和功耗等级。
本公开实施例还提供一种多媒体计算机系统,包括:
框架层,设置为接收视频图像数据,并获取超分算法配置参数;
硬件抽象层,设置为部署超分算法;还设置为根据所述超分算法配置参数和系统中硬件模块的运行时信息,加载超分算法,并组建对应执行所述超分算法的流水线;
硬件层,设置为启动所述流水线对应的硬件模块执行所述超分算法,对所述视频图像数据进行超分处理;
其中,所述超分算法包括至少一个算子;
所述超分算法配置参数包括:超分算法标识、至少一个算子标识和对应的算子属性参数;
所述算子参数包括以下一个或多个:
人工智能标识、复杂度等级和功耗等级。
本公开实施例还提供一种芯片,包括处理器,所述处理器配置成:
执行如本公开任一实施例所述的视频图像超分方法。
本公开实施例还提供一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本公开任一实施例所述的视频图像超分方法。
本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如本公开任一实施例所述的视频图像超分方法。
在阅读并理解了附图和详细描述后,可以明白其他方面。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1是本发明实施例提供的一种视频图像超分方法流程图;
图2是本发明实施例提供的另一种视频图像超分方法流程图;
图3是本发明实施例提供的另一种视频图像超分方法流程图;
图4是本发明实施例提供的另一种视频图像超分方法流程图;
图5是本发明实施例提供的一种MCS的架构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明,在本发明中如涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
另外,本发明各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
在具体记载实施例前,先就本公开涉及的相关术语的缩写说明如下:
针对免费视频分辨率限制、视频源低分辨率限制或者网络流量、带宽限制等诸多因素,所造成实际观看的视频分辨率的问题,视频技术领域提出了超分方案,基于分辨率不高的视频图像数据进行超分处理,以提升用户实际观看视频图像的分辨率。一些可实现方案中,采用基于特定场景选定的硬件模块执行超分算法,无法根据系统当前的硬件模块运行状态灵活配置实际运行资源,以满足应用层需要,并提供最优的运行性能。
本公开实施例提供一种视频图像超分方案,是基于多媒体计算机系统MCS架构的视频图像超分方案,利用MCS架构在底层实现多种不同硬件IP模块的调度功能,在硬件抽象层HAL部署相应硬件的视频超分算法,充分满足超分算法所包括不同算子的硬件需求,基于灵活配置,并可扩展的多种硬件模块对应用层提供超分功能实现。
本公开实施例提供一种视频图像超分方法,如图1所示,包括:
步骤110,通过框架层接收视频图像数据,并获取超分算法配置参数;
步骤120,硬件抽象层根据所述超分算法配置参数和系统中硬件模块的运行时信息,加载超分算法,并组建对应执行所述超分算法的流水线Pipeline;
步骤130,硬件层启动所述流水线Pipeline对应的硬件模块执行所述超分算法,对所述视频图像数据进行超分处理;
其中,所述超分算法包括至少一个算子;
所述超分算法配置参数包括:超分算法标识、至少一个算子标识和对应的算子属性参数;
所述算子属性参数包括以下一个或多个:
人工智能AI标识、复杂度等级和功耗等级。
其中,算子标识指示超分算法所包括的算子,不同的超分算法包括不同的算子。例如,超分算法包括:ESRT算、EDSR算法、SRCNN算法、SRDenseNet算法或SRGAN算法等。
其中,人工智能AI标识指示该算子是有关人工智能AI的算子,更适合在AI专用处理器上执行,例如,GNPU。复杂度等级指示该算子的复杂度等级,等级越高表示复杂度越高;功耗等级指示该算子的执行功耗,等级越高表示功耗越高。
可以理解,根据超分需求确定匹配的超分算法后,可以进一步获取相应超分算法所包括的算子,和各算子对应的算子属性。一些示例性实施例中,根据各超分算法的配置信息获取这些信息。
其中,根据超分需求确定匹配的超分算法,可以由应用层根据应用预设的对应关系确定,进一步通过框架层提供的应用接口提交框架层。可选地,也可以由应用层通过框架层提供的应用接口将超分需求提交至框架层,由框架层根据预设的对应关系确定匹配的超分算法。根据方案部署需要灵活确定,不限于特定的方面。
一些示例性实施例中,所述超分需求描述超分目标分辨率;或者,所述超分需求描述原始分辨率和超分目标分辨率。
一些示例性实施例中,所述视频图像数据包括:视频数据,或图像数据。
一些示例性实施例中,步骤120包括:
步骤1201,所述硬件抽象层中的多媒体计算机系统MCS调度模块根据各算子的算子属性和所述运行时信息,确定执行各算子的硬件模块;
步骤1202,加载所述超分算法,根据所述超分算法的处理流程,基于所确定的各算子的硬件模块组建所述Pipeline。
一些示例性实施例中,所述硬件模块包括以下一种或多种:
通用人工智能AI处理单元GNPU、专用集成电路ASIC、数字信号处理器DSP、中央处理器CPU和图形处理器GPU。
其中,所述ASIC预先固化了一个或多个算子。
一些示例性实施例中,所述运行时信息包括系统中各硬件模块的当前剩余可用负载。
一些示例性实施例中,步骤1201中各所述算子对应的硬件模块,根据以下一项或多项确定:
(1)在所述算子的算子属性包括人工智能AI标识,且系统中GNPU的当前剩余可用负载满足所述算子运行需要的情况下,确定所述算子对应的硬件模块为GNPU;
(2)在所述算子的算子属性包括复杂度等级,所述复杂度等级大于第一复杂度等级阈值,且系统中已固化所述算子的ASIC的当前剩余可用负载满足所述算子运行需要的情况下,确定所述算子对应的硬件模块为所述已固化所述算子的ASIC;
(3)在所述算子的算子属性包括功耗等级,所述功耗等级大于第一功耗等级阈值,且系统中已固化所述算子的ASIC的当前剩余可用负载满足所述算子运行需要的情况下,确定所述算子对应的硬件模块为所述已固化所述算子的ASIC;
(4)在所述算子的算子属性包括复杂度等级,所述复杂度等级小于第二复杂度等级阈值,且系统中DSP的当前剩余可用负载满足所述算子运行需要的情况下,确定所述算子对应的硬件模块为DSP。
一些示例性实施例中,第二复杂度等级阈值小于第一复杂度等级阈值。
可以看到,执行步骤1201,为符合条件的算子确定适应当前系统运行状况的硬件模块。在算子属性包括AI标识的情况下,表明该算子在AI专用处理器上执行将会获得最优性能,例如,在GNPU上执行性能最优。由于,终端系统一般都是多应用系统,AI专用处理器也可能是系统中多个AI相关应用的公用硬件模块,因此,为该算子分配硬件模块时,还需要考虑AI专用处理器当前的负载状况,在剩余可用负载能够满足该算子运行需求的情况下,为该算子分配AI专用处理器。
在算子属性包括复杂度等级,且复杂度等级大于第一复杂度等级阈值的情况下,表明该算子复杂度较高,采用预先固化了算子的ASIC将会获得最优执行效率。类似地,系统中的ASIC也可能是固化了多个算子被多个应用调用的公共硬件模块,因此,为该算子分配硬件模块时,也需要考虑ASIC当前的负载状况,在已固化了该算子并且剩余可用负载能够满足该算子运行需求的情况下,为该算子分配ASIC。
在算子属性包括功耗等级,所述功耗等级大于第一功耗等级阈值的情况下,表明该算子功耗较高,采用预先固化了算子的ASIC将会消耗最低功耗。类似地,系统中的ASIC也可能是固化了多个算子被多个应用调用的公共硬件模块,因此,为该算子分配硬件模块时,也需要考虑ASIC当前的负载状况,在已固化了该算子并且剩余可用负载能够满足该算子运行需求的情况下,为该算子分配ASIC。
在算子属性包括复杂度等级,所述复杂度等级小于第二复杂度等级阈值的情况下,表明该算子复杂度较底,采用DSP将会获得最优执行性能。类似地,系统中的DSP也可能被多个应用调用的公共硬件模块,因此,为该算子分配硬件模块时,也需要考虑DSP当前的负载状况,在剩余可用负载能够满足该算子运行需求的情况下,为该算子分配DSP。
一些示例性实施例中,步骤1201中各所述算子对应的硬件模块,根据以下方法确定:
(5)确定系统中当前剩余可用负载最多的非ASIC的硬件模块为所述算子对应的硬件模块。
其中,非ASIC的硬件模块包括以下一种或多种:
通用AI处理单元GNPU、数字信号处理器DSP、中央处理器CPU和图形处理器GPU。
一些示例性实施例中,在所述算子根据(1)-(4)任一项不能确定对应的GNPU、ASIC或DSP的情况下,根据(5)方案将当前系统中剩余可用负载最多的非ASIC的硬件模块分配给所述算子。可以看到,根据该方案,能够为所述超分算法包括的每一个算子确定执行算子的硬件模块,进而构建Pipeline,以执行所述超分算法。
一些示例性实施例中,所述GNPU、所述ASIC和所述DSP也统称为知识产权IP模块;所述CPU和所述GPU也统称为通用处理器模块。
可以看到,在剩余负载满足需求的情况下,相关算子优先确定与自身属性最匹配硬件模块,以使得所述超分算法根据所包含的算子整体获得最优的执行性能;而在,剩余负载不满足需求的情况下,选择其他不是与自身属性最匹配的硬件模块,可以有效避免盲目分配IP模块的有限计算资源所引起的对系统中各相关IP模块中已分配任务的正常执行。
可以理解,同一算子可以被分配在不同的硬件模块上执行,由于不同的硬件模块的特点不同,执行相同算子时,对应具体过程或指令也可能有所不同,相应地,执行效率,执行功耗等方面也存在不同。
一些示例性实施例中,每一个硬件模块的当前剩余可用负载=总负载能力-当前运行负载-已分配算子的所需负载。
其中,已分配算子为步骤1201中确定分配到该硬件模块的算子。
一些示例性实施例中,步骤1201中在所述算子的算子属性包括多项的情况下,优先根据算子属性的优先级顺序,确定所述算子对应的硬件模块。
一些示例性实施例中,算子属性的优先级从高到低为:
人工智能AI标识、复杂度等级、功耗等级。
可选的,还可以设定其他优先级顺序,不限于本公开实施例示例的方面。
例如,算子1的算子属性包括:人工智能AI标识和复杂度等级,且复杂度等级大于第一复杂度等级阈值,则,根据优先级更高的算子属性:人工智能AI标识,确定算子1对应的硬件模块为GNPU。
又例如,一些示例性实施例中,复杂度等级的优先级高于人工智能AI标识,算子2的算子属性包括:人工智能AI标识和复杂度等级,且复杂度等级大于第一复杂度等级阈值,则,根据优先级更高的算子属性:复杂度等级,确定算子2对应的硬件模块为ASIC。更多示例在此不一一举例。
需要说明的是,步骤1202中,基于MCS框架组建的Pipeline中,包括了多种硬件模块,根据不同算子的特性,充分利用异构系统中不同硬件模块的各自优势,实现了综合性能和/或功耗最优。同时,充分利用了HAL中MCS调度模块对底层硬件的调度功能,对上层应用提供了无差别的框架层接口(也称为应用接口),可以根据各算子属性和当前系统运行时信息,动态地灵活地调度硬件模块,实现了整体系统执行超分方案的动态性能最优。
需要说明的是,步骤1202中根据算法流程基于相关算子分配的硬件模块组件Pipeline的具体方法根据相关可实现方案实施,在此不进一步详细讨论。
一些示例性实施例中,如图2所示,所述方法还包括:
步骤100,获取所述视频图像数据的原始分辨率,根据超分处理判断准则,确定是否进行超分处理;
步骤101,在确定进行超分处理的情况下,确定所述超分算法配置参数。
一些示例性实施例中,视频图像应用执行步骤100-101。
一些示例性实施例中,所述超分处理判断准则包括:
所述视频图像数据的原始分辨率与终端分辨率的比值是否小于第一比例阈值。
在小于第一比例阈值的情况下,确定进行超分处理;否则不进行超分处里。
其中,所述终端分辨率为终端显示模块当前的设置的分辨率。
可选地,所述超分处理判断准则还可以采用其他方式设定,用以确定是否进行超分处理,
一些示例性实施例中,步骤100包括:
解码视频图像源数据,获得所述视频图像数据,并确定所述视频图像数据的原始分辨率;
判断所述视频图像数据的原始分辨率与终端分辨率的比值是否小于第一比例阈值;如果小于,则确定进行超分处理,否则,确定不进行超分处理。
例如,第一比例阈值为0.8,在所述视频图像数据的原始分辨率与终端分辨率的比值大于或等于0.8的情况下,则确定不进行超分处理。可以理解,当前视频图像数据的原始分辨率较为接近终端分辨率,清晰度提升空间不大,考虑到整体性能,不进行超分处理。具体的第一比例阈值,根据需要灵活设置,不限于特定的情况。
一些示例性实施例中,所述视频图像源数据为来自网络或本地应用的经过编码的视频图像源数据。可以理解,这些编码后的视频图像源数据,经过解码后得到所述视频图像数据。具体的编码及解码根据相关编解码标准执行,在此不详细讨论。
一些示例性实施例中,所述视频图像数据为相机生成的未经过编码和/或网络传输的视频或图像数据。
一些示例性实施例中,步骤101包括:
根据视频图像数据确定超分需求;
根据所述超分需求和预设的对应关系确定匹配的超分算法,并确定所述超分算法配置参数。
一些示例性实施例中,所述超分需求包括:视频图像数据的原始分辨率和超分目标分辨率;或者,所述超分需求包括:超分目标分辨率。
例如,在超分目标分辨率相比于视频图像数据的原始分辨率提升幅度大于设定第一阈值的情况下,根据预设的对应关系,确定第一超分算法和对应超分算法配置参数;在超分目标分辨率相比于视频图像数据的原始分辨率提升幅度小于或等于设定第一阈值,大于第二阈值的情况下,根据预设的对应关系,确定第二超分算法和对应超分算法配置参数。更多确定方案在此不一一示例。根据视频图像应用的超分需求确定即可,不限于特定的方面。
一些示例性实施例中,所述超分算法配置参数还包括:数据目标指示;其中,所述数据目标指示包括:显示模块或缓冲器Buffer。
一些示例性实施例中,如图3所示,所述方法还包括:
步骤140,根据所述数据目标指示,所述硬件抽象层将超分处理后所得到的视频图像数据发送给硬件显示模块进行显示;
和/或,
步骤150,根据所述数据目标指示,所述硬件抽象层将超分处理后所得到的视频图像数据通过缓冲器Buffer返回应用程序。
可以看到,根据数据目标指示,对应将超分处理结果进行直接显示或通过Buffer返回应用层。
可以理解,超分处理后所得到的视频图像数据相比于超分处理前的原始分辨率更高,清晰度更好。本公开实施例提供视频图像超分方法可以用于视频中图像的超分处理,在观看视频或浏览图像的过程中执行该方案;也可以用于图像修复或视频图像修复还原,不限于特定的使用场景。
本公开实施例还提供一种视频图像超分方法,如图4所示,包括:
步骤410,MCS服务进程启动并初始化;
步骤420,视频应用加载视频数据;
步骤430,判断是否进行超分处理,如果,不进行超分处理,则执行步骤500;如果进行超分处理,则执行步骤440;
步骤440,MCS服务进程接收视频数据,并获取超分算法配置参数;
步骤450,加载超分算法,并组建对应执行所述超分算法的Pipeline;
步骤460,根据Pipeline启动硬件模块;
步骤470,硬件模块根据Pipeline执行超分处理;
步骤480,判断数据目标指示,指示显示模块,则执行步骤500;指示Buffer,则执行步骤490;
步骤490,将超分处理后所得到的视频数据放入Buffer;
步骤500,将视频数据或超分处理后所得到的视频数据发送给显示模块进行显示。
其中,步骤420包括:
接收来自网络服务器的视频源数据,并解码获得所述视频数据;
步骤430包括:
获取所述视频数据的分辨率,判断所述视频数据的分辨率与视频应用所在终端的显示模块分辨率的比值,是否小于第一比例阈值?如果小于,确定进行超分处理,否则,不进行超分处理。
本公开实施例还提供一种多媒体计算机系统MCS,如图5所示,包括:
框架层FWK 510,设置为接收视频图像数据,并获取超分算法配置参数;
硬件抽象层HAL 520,设置为部署超分算法;还设置为根据所述超分算法配置参数和系统中硬件模块的运行时信息,加载超分算法,并组建对应执行所述超分算法的流水线Pipeline;
硬件层Driver&Hardware 530,设置为启动所述Pipeline对应的硬件模块执行所述超分算法,对所述视频图像数据进行超分处理;
其中,所述超分算法包括至少一个算子;
所述超分算法配置参数包括:超分算法标识、至少一个算子标识和对应的算子属性参数;
所述算子属性参数包括以下一个或多个:
人工智能AI标识、复杂度等级和功耗等级。
一些示例性实施例中,所述多媒体计算机系统MCS部署在终端系统上,终端系统启动后,所述多媒体计算机系统MCS提供MCS服务。
一些示例性实施例中,所述系统还包括,应用层APP500,设置为部署视频图像应用。其中,所述视频图像应用包括一个或多个。例如:段视频app、直播app等。
一些示例性实施例中,所述框架层也称为服务框架层(Framework,FWK),包括:MCS接口模块,提供Java接口(Jave interface)或本地接口(native interface)给应用层的Java视频应用(Java application)或本地视频应用(native application)提供访问硬件抽象层的能力。
一些示例性实施例中,硬件抽象层520包括:MCS调度模块,用于根据所述超分算法配置参数和所述系统中硬件模块的运行时信息,加载超分算法,并组建对应执行所述超分算法的流水线Pipeline;还用于调度所确定的硬件模块执行各算子。
一些示例性实施例中,硬件抽象层520还包括:算法-算子模块(Alogorithm-Operator),用于部署一个或多个所述算子。
一些示例性实施例中,组建对应执行所述超分算法的流水线Pipeline的过程也成为Pipeline编排,详细的编排方案在本申请中不详细讨论,根据相关方案实施即可,不限于特定的方式。
一些示例性实施例中,硬件抽象层520还包括:硬件加速运行时(HardwareAcceleration Engine Runtime),用于执行硬件模块的任务调度和状态控制;还用于获取系统中硬件模块的运行时信息。
一些示例性实施例中,硬件抽象层520还包括:硬件适配层HWL,用于在用户空间提供相应硬件模块的操作接口。
对应的硬件适配层包括:GNPU HWL、DSP HWL、ASIC HWL、CPU HWL和GPU HWL。
一些示例性实施例中,硬件层530包括:硬件模块和对应的驱动模块(Driver)。
其中,硬件模块包括以下至少一种类型的一个或多个:
GNPU、DSP、ASCI、CPU和GPU。
对应的驱动模块为:GNPU驱动、DSP驱动、ASCI驱动、CPU驱动和GPU驱动。
可选地,所述硬件模块还可以包括其他类型的处理器,不限于本公开示例的方面。扩展了新的硬件模块后,对应修改硬件抽象层中相关模块即可。
本公开实施例还提供一种芯片,包括处理器,所述处理器配置成:
执行如本公开任一实施例所述的视频图像超分方法。
本公开实施例还提供一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本公开任一实施例所述的视频图像超分方法。
一些示例性实施例中,所述电子设备为智能手机、个人电脑、或其他智能终端。
本公开实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开任一实施例所述的视频图像超分方法。
可以看到,本公开实施例提供的视频图像超分方法,基于MCS架构,对上层应用屏蔽了采用不同硬件模块实现算法的区别,提供了统一的调用接口,利用硬件抽象层中的MSC调度模块对异构系统的调度能力,根据应用需要和当前系统运行状态,灵活选择最优的硬件模块并构建对应的Pipeline,具备灵活的硬件和/或算子扩展性,充分满足超分处理的功耗、性能等需求,解决了视频图像相关应用中观感不佳的问题,充分利用终端设备的高显示性能,为用户提高更高清晰度的视频图像体验。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。
Claims (10)
1.一种视频图像超分方法,其特征在于,包括:
通过框架层接收视频图像数据,并获取超分算法配置参数;
硬件抽象层根据所述超分算法配置参数和系统中硬件模块的运行时信息,加载超分算法,并组建对应执行所述超分算法的流水线;
硬件层启动所述流水线对应的硬件模块执行所述超分算法,对所述视频图像数据进行超分处理;
其中,所述超分算法包括至少一个算子;
所述超分算法配置参数包括:超分算法标识、至少一个算子标识和对应的算子属性参数;
所述算子属性参数包括以下一个或多个:
人工智能标识、复杂度等级和功耗等级。
2.如权利要求1所述的视频图像超分方法,其特征在于,
所述硬件抽象层根据所述超分算法配置参数和系统中硬件模块的运行时信息,加载超分算法,并组建对应执行所述超分算法的流水线,包括:
所述硬件抽象层中的多媒体计算机系统MCS调度模块根据各算子的算子属性和所述运行时信息,确定执行各算子的硬件模块;
加载所述超分算法,根据所述超分算法的处理流程,基于所确定的各算子的硬件模块组建所述流水线。
3.如权利要求2所述的视频图像超分方法,其特征在于,
所述硬件模块包括以下一种或多种:
通用人工智能处理单元GNPU、专用集成电路ASIC、数字信号处理器DSP、中央处理器CPU和图形处理器GPU;
所述运行时信息包括系统中各硬件模块的当前剩余可用负载;
各所述算子对应的硬件模块,根据以下一项或多项确定:
在所述算子的算子属性包括人工智能标识,且系统中GNPU的当前剩余可用负载满足所述算子运行需要的情况下,确定所述算子对应的硬件模块为GNPU;
在所述算子的算子属性包括复杂度等级,所述复杂度等级大于第一复杂度等级阈值,且系统中已固化所述算子的ASIC的当前剩余可用负载满足所述算子运行需要的情况下,确定所述算子对应的硬件模块为所述已固化所述算子的ASIC;
在所述算子的算子属性包括功耗等级,所述功耗等级大于第一功耗等级阈值,且系统中已固化所述算子的ASIC的当前剩余可用负载满足所述算子运行需要的情况下,确定所述算子对应的硬件模块为所述已固化所述算子的ASIC;
在所述算子的算子属性包括复杂度等级,所述复杂度等级小于第二复杂度等级阈值,且系统中DSP的当前剩余可用负载满足所述算子运行需要的情况下,确定所述算子对应的硬件模块为DSP。
4.如权利要求3所述的视频图像超分方法,其特征在于,
各所述算子对应的硬件模块,还根据以下方法确定:
确定系统中当前剩余可用负载最多的非ASIC的硬件模块为所述算子对应的硬件模块。
5.如权利要求3所述的视频图像超分方法,其特征在于,
在所述算子的算子属性包括多项的情况下,优先根据算子属性的优先级顺序,确定所述算子对应的硬件模块。
6.如权利要求1-5任一项所述的视频图像超分方法,其特征在于,
所述超分算法配置参数还包括:数据目标指示;
所述方法还包括:
根据所述数据目标指示,所述硬件抽象层将超分处理后所得到的视频图像数据发送给硬件显示模块进行显示,或者,所述硬件抽象层将超分处理后所得到的视频图像数据通过缓冲器返回应用程序;
其中,所述数据目标指示包括:显示模块或缓冲器。
7.一种多媒体计算机系统,其特征在于,包括:
框架层,设置为接收视频图像数据,并获取超分算法配置参数;
硬件抽象层,设置为部署超分算法;还设置为根据所述超分算法配置参数和系统中硬件模块的运行时信息,加载超分算法,并组建对应执行所述超分算法的流水线;
硬件层,设置为启动所述流水线对应的硬件模块执行所述超分算法,对所述视频图像数据进行超分处理;
其中,所述超分算法包括至少一个算子;
所述超分算法配置参数包括:超分算法标识、至少一个算子标识和对应的算子属性参数;
所述算子参数包括以下一个或多个:
人工智能标识、复杂度等级和功耗等级。
8.一种芯片,其特征在于,包括处理器,所述处理器配置成:
执行如权利要求1-6任一项所述的视频图像超分方法。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6任一项所述的视频图像超分方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6任一项所述的视频图像超分方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211494621.0A CN118096527A (zh) | 2022-11-25 | 2022-11-25 | 一种视频图像超分方法、芯片、设备、存储介质和mcs |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211494621.0A CN118096527A (zh) | 2022-11-25 | 2022-11-25 | 一种视频图像超分方法、芯片、设备、存储介质和mcs |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118096527A true CN118096527A (zh) | 2024-05-28 |
Family
ID=91148231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211494621.0A Pending CN118096527A (zh) | 2022-11-25 | 2022-11-25 | 一种视频图像超分方法、芯片、设备、存储介质和mcs |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118096527A (zh) |
-
2022
- 2022-11-25 CN CN202211494621.0A patent/CN118096527A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110377391B (zh) | 图片显示方法、装置、移动终端及存储介质 | |
CN116560771A (zh) | 一种应用执行绘制操作的方法及电子设备 | |
CN116680153B (zh) | 应用帧率平滑方法、电子设备及存储介质 | |
CN116450251A (zh) | 一种适配多设备的页面布局的方法及电子设备 | |
US20120151065A1 (en) | Resource allocation for video playback | |
CN114968836A (zh) | 垃圾回收的方法及电子设备 | |
CN116320727B (zh) | 一种算法调度方法及电子设备 | |
CN117687772A (zh) | 一种算法调度方法及电子设备 | |
CN118096527A (zh) | 一种视频图像超分方法、芯片、设备、存储介质和mcs | |
CN111813541A (zh) | 一种任务调度方法、装置、介质和设备 | |
CN116048771B (zh) | 一种资源调度方法及相关设备 | |
CN114253737B (zh) | 电子设备及其内存回收方法、介质 | |
CN113760191B (zh) | 数据读取方法、装置、存储介质和程序产品 | |
CN117666755A (zh) | 任务调度方法及相关设备 | |
CN114449200A (zh) | 音视频通话方法、装置及终端设备 | |
CN116450363B (zh) | 一种资源调度方法及电子设备 | |
CN117076284B (zh) | 页面加载时长的检测方法、设备及存储介质 | |
CN116033157B (zh) | 投屏方法和电子设备 | |
CN116661584B (zh) | 一种资源调度方法及相关设备 | |
CN116800384B (zh) | 设备测试方法、测试设备及芯片系统 | |
CN116664630B (zh) | 一种图像处理方法和电子设备 | |
CN116672707B (zh) | 生成游戏预测帧的方法和电子设备 | |
CN116055738B (zh) | 视频压缩方法及电子设备 | |
CN118277051A (zh) | 一种任务调度方法、装置、设备、存储介质及程序产品 | |
CN117956264A (zh) | 拍摄方法、电子设备、存储介质和程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |