掌桥专利:专业的专利平台
掌桥专利
首页

图像处理方法、装置、终端及存储介质

文献发布时间:2023-06-19 09:23:00


图像处理方法、装置、终端及存储介质

技术领域

本申请属于终端技术领域,具体而言,涉及一种图像处理方法、装置、终端及存储介质。

背景技术

随着科学技术的发展,终端支持的功能越来越多,用户对终端的性能要求也越来越高。例如为了提升终端中图像的处理效率,可以使用数字信号处理器(digital signalprocessing,DSP)进行图像处理,即终端可以将CPU上运行的图像处理算法转换成DSP形式,可以减少CPU的图像处理时间,提升终端的性能。

发明内容

本申请实施例提供一种图像处理方法、装置、终端及存储介质,可以提高图像的处理效率。本技术方案包括:

第一方面,本申请实施例提供一种图像处理方法,所述方法包括:

获取待处理的多帧图像;

获取各计算单元的算力,所述计算单元包括至少一个向量计算单元和/或至少一个标量计算单元;

基于各所述计算单元的算力,将所述多帧图像的不同图像帧分配至各所述计算单元进行处理,得到处理后的多个目标图像帧。

第二方面,本申请实施例提供一种图像处理装置,所述装置包括:

图像获取单元,用于获取待处理的多帧图像;

算力获取单元,用于获取各计算单元的算力,所述计算单元包括至少一个向量计算单元和/或至少一个标量计算单元;

图像分配单元,用于基于各所述计算单元的算力,将所述多帧图像的不同图像帧分配至各所述计算单元进行处理,得到处理后的多个目标图像帧。

第三方面,本申请实施例提供一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任一项所述的方法。

第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述的方法。

第五方面,本申请实施例提供一种计算机程序产品,其中,上述计算机程序产品包括存储计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。

本申请实施例提供一种图像处理方法,基于各计算单元的算力,可以将获取到的待处理的多帧图像的不同图像帧分配至各计算单元进行处理,得到处理后的多个目标图像帧,计算单元包括至少一个向量计算单元和/或至少一个标量计算单元,终端可以平衡调度各计算单元,可以减少各计算单元的闲置时长,减少终端对图像帧处理的时长,可以提高多帧图像处理的吞吐率,进而可以提高图像处理的效率。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出应用于本申请实施例的图像处理方法或者图像处理装置的应用场景示意图;

图2示出应用于本申请实施例的图像处理方法的应用场景示意图;

图3示出本申请实施例的一种图像处理方法的流程示意图;

图4示出本申请实施例的一种终端界面的举例示意图;

图5示出本申请实施例的一种图像处理方法的流程示意图;

图6示出本申请实施例的一种图像处理方法的流程示意图;

图7示出本申请实施例的一种图像处理方法的流程示意图;

图8示出本申请实施例的一种图像处理方法的流程示意图;

图9示出本申请实施例的一种图像处理方法的流程示意图;

图10示出本申请实施例的一种图像处理方法的流程示意图;

图11示出本申请实施例的一种图像处理装置的结构示意图;

图12示出本申请实施例的一种终端的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅为本申请实施例的一部分,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

随着终端技术的不断成熟,终端快速地应用在人们的生活中。例如为了提升终端中图像的处理效率,可以使用DSP进行图像处理,即终端可以将CPU上运行的图像处理算法转换成DSP形式,可以减少CPU的图像处理时间,提升终端的性能。DSP可以对原始图像进行处理,使原始图像具有良好的视觉效果或者符合特定场合的应用要求。

易于理解的是,本申请实施例的终端支持使用DSP芯片,该终端包括但不限于:个人电脑、平板电脑、手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备等。在不同的网络中终端可以叫做不同的名称,例如:用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置、蜂窝电话、无绳电话、个人数字处理(personal digitalassistant,PDA)等。

根据一些实施例,终端的结构中一般包括多个标量计算单元和多个向量计算单元。图1示出应用于本申请实施例的图像处理方法或者图像处理装置的应用场景示意图。如图1所示,该终端结构中例如可以包括两个向量计算单元和一个标量计算单元。两个向量计算单元例如可以是Y向量计算单元和U向量计算单元。一个标量计算单元例如可以是O标量计算单元。终端可以只使用终端结构中的向量计算单元对一帧图像进行并行处理。此时终端可以对一帧图像进行分割处理,使两个向量计算单元可以同时处理完一帧图像。但是在此过程中,标量计算单元处于闲置状态,不对图像进行处理,因此使得出现终端资源浪费的情况,图像处理时长过长,使得图像处理的吞吐率较低,出现图像的处理效率较低的问题。

易于理解的是,图2示出应用于本申请实施例的图像处理方法的应用场景示意图。如图2所示,该终端结构中例如可以是包括两个向量计算单元和一个标量计算单元。终端可以同时使用两个向量计算单元和一个标量计算单元对一帧图形进行并行处理。此时终端可以对一帧图像按照计算单元进行等分,并使用终端结构中的两个向量计算单元和一个标量计算单元对将分区后的图像进行处理。由于标量处理单元处理图像的速度低于向量计算单元的处理图像的速度,且一帧图像的输入和输出为一个整体操作过程,因此当每个向量计算单元处理完与之对应的分区后的图像时,会等待标量计算单元处理完成,向量计算单元会出现一定闲置时长,图像处理时长增加,终端资源浪费以及图像处理的吞吐率较低,导致图像的处理效率较低。本申请实施例提供一种图像处理方法,可以提高图像的处理效率。

下面将结合附图3-附图10,对本申请实施例提供的图像处理方法进行详细介绍。附图3-附图10所示实施例的执行主体例如可以为终端。

请参见图3,为本申请实施例提供了一种图像处理方法的流程示意图。如图3所示,本申请实施例的所述方法可以包括以下步骤S101-步骤S103。

S101,获取待处理的多帧图像。

根据一些实施例,一帧图像是静止的图像,多帧图像连续的显示可以形成视频或者动画。本申请实施例的多帧图像例如可以是视频中的多帧图像。视频的格式包括但不限于MP4、AVI、MKV等格式。

易于理解的是,当终端接收到针对视频的采集指令时,终端可以获取待处理的多帧图像。该采集指令包括但不限于语音采集指令、文字采集指令、点击采集指令等等。例如终端接收到的采集指令可以是点击采集指令。图4示出本申请实施例的一种终端界面的举例示意图。如图4所示,当终端检测到用户点击视频采集控件时,终端可以开始采集图像。当终端检测到用户再次点击该视频采集控件时,终端可以停止获取图像,此时终端可以获取到待处理的多帧图像,即终端可以一次获取到待处理的多帧图像。

可选的,终端获取的待处理的多帧图像还可以是终端从服务器获取到的,或者是终端从其他终端获取到的。其他终端包括但不限于U盘、智能手机、计算机等。终端获取待处理的多帧图像时,终端可以获取图像流,该图像流中可以包括待处理的多帧图像。由于终端获取到的为图像流,因此终端可以持续地获取待处理的多帧图像,不需要一次获取到全部的待处理的多帧图像。

S102,获取各计算单元的算力,计算单元包括至少一个向量计算单元和/或至少一个标量计算单元。

根据一些实施例,本申请实施例的终端是包括DSP的终端。数字信号处理器,即DSP是指针对数字信号处理的运算需求最优化的专门处理器或单封装系统。DSP是一种微处理器,DSP可以对图像进行高速处理。

易于理解的是,算力是指各计算单元的计算能力,可以衡量每个计算单元处理图像的能力。算力并不指某一固定的数值,由于每个计算单元的缓冲区的大小不一致,因此每个计算单元的算力不相同。

可选的,向量计算单元(Hexagon vector extension,HVX)可以对图像进行批量处理的单元。标量计算单元(Scalar)是可以进行一帧图像处理的单元。终端中包括的计算单元可以包括至少一个向量计算单元和/或至少一个标量计算单元。例如计算单元可以只包括两个向量计算单元,还可以只包括一个标量计算单元,还是可以同时包括两个向量计算单元和一个标量计算单元。

根据一些实施例,当终端获取到获取待处理的多帧图像时,终端可以使用各计算单元对多帧图像进行处理。终端可以获取各计算单元的算力。终端中的计算单元例如可以包括两个向量计算单元和一个标量计算单元。终端获取到待处理的多帧图像时,终端可以获取两个向量计算单元和一个标量计算单元的算力。

S103,基于各计算单元的算力,将多帧图像的不同图像帧分配至各计算单元进行处理,得到处理后的多个目标图像帧。

根据一些实施例,当终端获取到各计算单元的算力时,终端可以基于各计算单元的算力,将多帧图像的不同图像帧分配至各计算单元进行处理,得到处理后的多个目标图像帧。

易于理解的是终端中的计算单元例如可以包括两个向量计算单元和一个标量计算单元。终端获取到待处理的多帧图像时,终端可以获取两个向量计算单元和一个标量计算单元的算力。终端能获取到的待处理图像例如可以是90帧。由于标量计算单元的算力低于向量计算单元的算力,终端可以分配10帧图像至一个标量计算单元以及分配80帧图像至两个向量计算单元。当各计算单元处理完多帧图像时,终端可以获取到处理后的90帧图像,该处理后的90帧图像即为处理后的多个目标图像帧。

本申请实施例提供一种图像处理方法,基于各计算单元的算力,可以将获取到的待处理的多帧图像的不同图像帧分配至各计算单元进行处理,得到目标视频,计算单元包括至少一个向量计算单元和/或至少一个标量计算单元,终端可以平衡调度各计算单元,可以减少各计算单元的闲置时长,减少终端对图像帧处理的时长,可以提高多帧图像的处理吞吐率,进而可以提高图像处理的效率。另外,终端将待处理的多帧图像的不同图像帧分配至各计算单元进行处理,不需要对每帧图像帧进行分区处理,可以减少图像处理的步骤,提高图像处理效率。

请参见图5,为本申请实施例提供了一种图像处理方法的流程示意图。如图5所示,本申请实施例的所述方法可以包括以下步骤S201-步骤S204。

S201,获取待处理的多帧图像。

具体过程如上所述,此处不再赘述。

S202,获取各计算单元的算力,计算单元包括至少一个向量计算单元和/或至少一个标量计算单元。

具体过程如上所述,此处不再赘述。

根据一些实施例,请参见图6,为本申请实施例提供了一种图像处理方法的流程示意图。如图6所示,本申请实施例的所述方法在获取各计算单元的算力时可以包括以下步骤S301-步骤S302。S301,获取各计算单元处理一帧图像所用的处理时长;S302,基于各处理时长,确定各计算单元的算力。

易于理解的是,当终端获取各计算单元的算力时,终端可以获取各计算单元处理一帧图像所用的处理时长。终端可以基于处理时长,确定各计算单元的算力。处理时长越短表示计算单元的算力越高。例如终端中包括A向量计算单元、B向量计算单元和C标量计算单元时,终端可以分别获取A向量计算单元、B向量计算单元和C标量计算单元处理D图像所用的处理时长,其中D图像为一帧图像。终端获取到A向量计算单元、B向量计算单元和C标量计算单元处理D图像所用的处理时长例如可以分别为3ms、3ms和12ms。基于各处理时长,终端可以确定A向量计算单元、B向量计算单元和C标量计算单元的算力。

根据一些实施例,请参见图7,为本申请实施例提供了一种图像处理方法的流程示意图。如图7所示,本申请实施例的所述方法在获取各计算单元的算力时可以包括以下步骤S401-步骤S403。S401,为各计算单元分配缓冲区;S402,获取各计算单元对应的缓冲区的大小;S403,基于各缓冲区的大小,确定各计算单元的算力。

易于理解的是,终端可以为各计算单元分配缓冲区。其中对于同一类型的计算单元,终端可以分配相同大小的缓冲区,也可以分配不同大小的缓冲区。例如终端包括A向量计算单元、B向量计算单元和C标量计算单元时,因为A和B均为向量计算单元,所以终端可以为A向量计算单元和B向量计算单元分配相同大小的缓冲区,终端可以为为C分配不同大小的缓冲区,即终端可以为A向量计算单元分配5M的缓冲区、B向量计算单元分配5M的缓冲区和C向量计算单元分配1M的缓冲区。

当终端获取各计算单元的算力时,终端可以获取各计算单元对应的缓冲区的大小。缓冲区的大小代表了各计算单元的算力的大小,因此,基于各缓冲区的大小,终端可以确定各计算单元的算力。

S203,获取各计算单元中未处理图像帧的数量。

根据一些实施例,当终端初次为各计算单元分配图像帧时,终端可以基于各计算单元的算力,为各计算单元一次分配完成待处理的图像帧。其中,待处理的图像帧为终端获取到的待处理的多帧图像。例如多帧图像的编号为1-63。终端例如可以为A向量计算单元分配编号为1-28的图像帧、为B向量计算单元分配编号为29-56的图像帧和为C标量计算单元分配编号为57-63的图像帧。终端获取到A向量计算单元、B向量计算单元和C标量计算单元中未处理图像帧的数量例如可以分别为4、4和1。

易于理解的是,当当终端初次为各计算单元分配图像帧时,终端可以基于各计算单元的算力,为各计算单元分配待处理的图像。由于终端获取到的是图像流,因此终端可以基于获取到的图像流动态地为各计算单元分配图像帧,其中图像流中包括多帧图像。终端获取到的多帧图像的编号例如可以是1-63时,终端可以例如可以为A向量计算单元分配编号为1-4的图像帧、为B向量计算单元分配编号为5-8的图像帧和为C标量计算单元分配编号为9的图像帧之后,终端还可以继续为A向量计算单元分配编号为10-13的图像帧、为B向量计算单元分配编号为14-17的图像帧和为C标量计算单元分配编号为18的图像帧。此时终端获取到各计算单元中未处理图像帧的数量例如可以分别为3、3和1。

S204,基于未处理图像帧的数量和各计算单元的算力,将多帧图像的不同图像帧分配至各计算单元进行处理,得到处理后的多个目标图像。

根据一些实施例,当终端获取各计算单元中未处理图像帧的数量时,终端对多帧图像中除预处理的图像帧之外的不同图像帧进行分配时,终端可以基于预处理的图像帧中的未处理图像帧和各计算单元的算力,将多帧图像中除预处理的图像帧之外的不同图像帧分配至各计算单元中进行处理,得到目标视频。

易于理解的是,终端获取到的多帧图像的编号例如可以是1-63时,终端可以例如可以为A向量计算单元分配编号为1-4的图像帧、为B向量计算单元分配编号为5-8的图像帧和为C标量计算单元分配编号为9的图像帧之后,终端还可以继续为A向量计算单元分配编号为10-13的图像帧、为B向量计算单元分配编号为14-17的图像帧和为C标量计算单元分配编号为18的图像帧。此时终端获取到各计算单元中未处理图像帧的数量例如可以分别为3、3和1。终端可以基于该未处理图像帧的数量,为A向量计算单元分配编号为19-22的图像帧、为B向量计算单元分配编号为23-26的图像帧和为C标量计算单元分配编号为27的图像帧。当终端将多帧图像的不同图像帧完全分配至各计算单元进行处理后,终端可以得到处理后的多个目标图像。根据一些实施例,请参见图8,为本申请实施例提供了一种图像处理方法的流程示意图。如图8所示,本申请实施例的所述方法在基于各计算单元的算力,将多帧图像的不同图像帧分配至各计算单元进行处理,得到处理后的多个目标图像帧时可以包括以下步骤S501-步骤S503。S501,基于各计算单元的算力,将多帧图像的不同图像帧分配至各计算单元进行处理,得到处理后的多帧图像;S502,获取多帧图像的输入顺序;S503,按照输入顺序,输出处理后的多帧图像,得到处理后的多个目标图像帧。

易于理解的是,终端基于各计算单元的算力,可以将多帧图像的不同图像帧分配至各计算单元进行处理时,终端可以得到处理后的多帧图像。终端可以基于处理后的多帧图像检测终端是否对多帧图像处理结束。例如终端例如可以基于多帧图像的编号检测是否对多帧图像处理结束。终端获取到处理后的多帧图像时,终端可以获取多帧图像的输入顺序,该输入顺序例如可以是多帧图像的编号。当终端获取到多帧图像的输入顺序时,终端可以基于该输入顺序,输出处理后的多帧图像,得到处理后的多个目标图像帧。由于标量计算单元和向量计算单元的算力不同,因此若按照得到处理后图像帧的顺序输出,会出现视频错乱的情况,因此按照输入顺序输出处理后的多帧图像,可以提高目标视频获取的准确性,提高用户的使用体验。

根据一些实施例,当终端将多帧图像的不同图像帧分配至各计算单元进行处理时,终端可以获取各计算单元的算力的第一比例。第一比例仅仅是指各计算单元的算力的比例,并不特指某一固定比例。例如当各计算单元发生变化时,各计算单元的算力的第一比例也发生相应改变。当终端获取到各计算单元的算力的第一比例时,终端可以确定各计算单元处理图像帧数量的第二比例。计算单元的算力越高,处理图像帧数量越大。当终端获取到第二比例时,终端可以将多帧图像的不同图像帧分配至各计算单元。

易于理解的是,终端获取到A向量计算单元、B向量计算单元和C标量计算单元的算力的第一比例可以是4:4:1,因此终端可以的确定A向量计算单元、B向量计算单元和C标量计算单元的处理图像帧数量的第二比例可以是4:4:1。因此,终端获取到的多帧图像的编号例如可以是1-63时,终端可以例如可以为A向量计算单元分配编号为1-4的图像帧、为B向量计算单元分配编号为5-8的图像帧和为C标量计算单元分配编号为9的图像帧。

根据一些实施例,请参见图9,为本申请实施例提供了一种图像处理方法的流程示意图。如图9所示,本申请实施例的所述方法在将多帧图像的不同图像帧分配至各计算单元进行处理时可以包括以下步骤S601-步骤S602。S601,获取各计算单元的运行状态,确定运行状态为空闲状态的目标计算单元;S602,将多帧图像的不同图像帧分配至目标计算单元进行处理。

易于理解的是,当终端将多帧图像的不同图像帧分配至各计算单元进行处理时,终端可以获取各计算单元的运行状态,并基于该运行状态确定终端中运行状态为空闲状态的计算单元,将该空闲状态的计算单元确定为目标计算单元。该目标计算单元包括至少一个标量计算单元或至少一个向量计算单元。终端可以将多帧图像的不同图像帧分配至目标计算单元进行处理,可以减少终端将图像帧分配至非空闲状态计算单元时等待图像处理的时长,提高图像处理效率。

根据一些实施例,请参见图10,为本申请实施例提供了一种图像处理方法的流程示意图。如图10所示,本申请实施例的所述方法还可以包括以下步骤S701-步骤S702。S701,获取多个视频的优先级的高低顺序;S702,基于优先级的高低顺序和各计算单元的算力,将多帧图像的不同图像帧分配至各计算单元进行处理,得到多个目标视频。

易于理解的是,当待处理的多帧图像对应多个视频时,终端可以获取多个视频的优先级的高低顺序,并基于该优先级的高低顺序和各计算单元的算力,将多帧图像的不同图像帧分配至各计算单元进行处理,得到多个目标视频。例如,终端多帧图像为对应的视频可以分别为Q视频、W视频、E视频和R视频。终端获取到的优先级的高低顺序例如可以是Q视频的优先级高于W视频,W视频的优先级高于E视频、E视频的优先级高于R视频。终端可以将先Q视频对应的多帧图像的不同图像帧分配至各计算单元进行处理,得到处理后的Q视频,然后将其他对应的多帧图像的不同图像帧分配至各计算单元进行处理,得到处理后的W视频、E视频和R视频。

根据一些实施例,当终端获取到待处理的多帧图像时,终端可以获取与多帧图像对应的待处理视频的格式信息。当终端获取到该格式信息时,终端可以检测该格式信息是否符合预设要求。当终端检测到该格式信息不符合预设要求时,终端可以将该格式信息转换为预设格式信息。终端对格式信息的转换,可以提高图像处理方法的应用范围。

易于理解的是,当终端得到目标视频时,终端可以保存目标视频。当终端接收到针对目标视频的再处理指令时,终端可以直接基于保存的目标视频,进行再处理,可以减少在得到的目标视频不符合预设要求时对待处理的多帧图像进行再处理的步骤,提高图像处理的效率。

本申请实施例提供一种图像处理方法,通过基于各计算单元的算力,可以为各计算单元分配多帧图像中的不同图像帧,计算单元包括至少一个向量计算单元和/或至少一个标量计算单元,可以减少终端处理预处理的图像帧的时长,提高图像的处理效率。另外,终端基于预处理的图像帧中的未处理图像帧的数量和各计算单元的算力,将多帧图像的不同图像帧分配至各计算单元进行处理,可以得到处理后的多个目标图像帧,可以减少各计算单元的闲置时长,减少终端处理图像的时长,进而可以提高图像处理的效率。其次,终端基于各计算单元的算力进行图像帧的分配,可以减少各计算单元的闲置时长,减少终端资源浪费,提高终端资源的利用率。

下面将结合附图11,对本申请实施例提供的图像处理装置进行详细介绍。需要说明的是,附图11所示的图像处理装置,用于执行本申请图3-图10所示实施例的方法,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请图3-图10所示的实施例。

请参见图11,其示出本申请实施例的图像处理装置的结构示意图。该图像处理装置1100可以通过软件、硬件或者两者的结合实现成为用户终端的全部或一部分。根据一些实施例,该图像处理装置1100包括图像获取单元1101、算力获取单元1102和图像分配单元1103,具体用于:

图像获取单元1101,用于获取待处理的多帧图像;

算力获取单元1102,用于获取各计算单元的算力,计算单元包括至少一个向量计算单元和/或至少一个标量计算单元;

图像分配单元1103,用于基于各计算单元的算力,将多帧图像的不同图像帧分配至各计算单元进行处理,得到处理后的多个目标图像帧。

根据一些实施例,图像分配单元1103,用于基于各计算单元的算力,将多帧图像的不同图像帧分配至各计算单元进行处理,得到处理后的多个目标图像帧时,具体用于:

获取各计算单元中未处理图像帧的数量;

基于未处理图像帧的数量和各计算单元的算力,将多帧图像的不同图像帧分配至各计算单元进行处理,得到处理后的多个目标图像。

根据一些实施例,算力获取单元1102,用于获取各计算单元的算力,包括:

获取各计算单元处理一帧图像所用的处理时长;

基于各处理时长,确定各计算单元的算力。

根据一些实施例,算力获取单元1102,用于获取各计算单元的算力,包括:

为各计算单元分配缓冲区;

获取各计算单元对应的缓冲区的大小;

基于各缓冲区的大小,确定各计算单元的算力。

根据一些实施例,图像分配单元1103,用于将多帧图像的不同图像帧分配至各计算单元进行处理时,具体用于:

基于各计算单元的算力的第一比例,确定各计算单元的处理图像帧数量的第二比例;

基于第二比例,将多帧图像的不同图像帧分配至各计算单元进行处理。

根据一些实施例,图像分配单元1103,用于基于各计算单元的算力,将多帧图像的不同图像帧分配至各计算单元进行处理,得到处理后的多个目标图像帧时,具体用于:

基于各计算单元的算力,将多帧图像的不同图像帧分配至各计算单元进行处理,得到处理后的多帧图像;

获取多帧图像的输入顺序;

按照输入顺序,输出处理后的多帧图像,得到处理后的多个目标图像帧。

根据一些实施例,图像分配单元1103,用于将多帧图像的不同图像帧分配至各计算单元进行处理时,具体用于:

获取各计算单元的运行状态,确定运行状态为空闲状态的目标计算单元;

将多帧图像的不同图像帧分配至目标计算单元进行处理。

根据一些实施例,该图像处理装置1100还包括图像合并单元1104,用于得到处理后的多个目标图像帧之后,对多个目标图像帧进行合并处理,得到与待处理的多帧图像对应的目标视频。

本申请实施例提供一种图像处理装置,图像获取单元获取待处理的多帧图像,算力获取单元获取各计算单元的算力,图像分配单元基于各计算单元的算力,将多帧图像的不同图像帧分配至各计算单元进行处理,得到处理后的多个目标图像帧,计算单元包括至少一个向量计算单元和/或至少一个标量计算单元,终端可以平衡调度各计算单元的算力,可以减少各计算单元的闲置时长,减少终端对图像帧处理的时长,可以提高多帧图像的处理吞吐率,进而可以提高图像处理的效率。

请参见图12,为本申请实施例提供的一种终端的结构示意图。如图12所示,所述终端1200可以包括:至少一个处理器1201,至少一个网络接口1204,用户接口1203,存储器1205,至少一个通信总线1202。

其中,通信总线1202用于实现这些组件之间的连接通信。

其中,用户接口1203可以包括显示屏(Display)和GPS,可选用户接口1203还可以包括标准的有线接口、无线接口。

其中,网络接口1204可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。

其中,处理器1201可以包括一个或者多个处理核心。处理器1201利用各种借口和线路连接整个终端1200内的各个部分,通过运行或执行存储在存储器1205内的指令、程序、代码集或指令集,以及调用存储在存储器1205内的数据,执行终端1200的各种功能和处理数据。可选的,处理器1201可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1201可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1201中,单独通过一块芯片进行实现。

其中,存储器1205可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器1205包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器1205可用于存储指令、程序、代码、代码集或指令集。存储器1205可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器1205可选的还可以是至少一个位于远离前述处理器1201的存储装置。如图12所示,作为一种计算机存储介质的存储器1205中可以包括操作系统、网络通信模块、用户接口模块以及用于图像处理的应用程序。

在图12所示的终端1200中,用户接口1203主要用于为用户提供输入的接口,获取用户输入的数据;而处理器1201可以用于调用存储器1205中存储的图像处理的应用程序,并具体执行以下操作:

获取待处理的多帧图像;

获取各计算单元的算力,计算单元包括至少一个向量计算单元和/或至少一个标量计算单元;

基于各计算单元的算力,将多帧图像的不同图像帧分配至各计算单元进行处理,得到处理后的多个目标图像帧。

根据一些实施例,处理器1201用于基于各计算单元的算力,将多帧图像的不同图像帧分配至各计算单元进行处理,得到处理后的多个目标图像帧时,具体用于执行以下步骤:

获取各计算单元中未处理图像帧的数量;

基于未处理图像帧的数量和各计算单元的算力,将多帧图像的不同图像帧分配至各计算单元进行处理,得到处理后的多个目标图像。

根据一些实施例,处理器1201用于获取各计算单元的算力时,具体用于执行以下步骤:

获取各计算单元处理一帧图像所用的处理时长;

基于各处理时长,确定各计算单元的算力。

根据一些实施例,处理器1201用于获取各计算单元的算力时,具体用于执行以下步骤:

为各计算单元分配缓冲区;

获取各计算单元对应的缓冲区的大小;

基于各缓冲区的大小,确定各计算单元的算力。

根据一些实施例,处理器1201用于将多帧图像的不同图像帧分配至各计算单元进行处理时,具体用于执行以下步骤:

基于各计算单元的算力的第一比例,确定各计算单元的处理图像帧数量的第二比例;

基于第二比例,将多帧图像的不同图像帧分配至各计算单元进行处理。

根据一些实施例,处理器1201用于基于各计算单元的算力,将多帧图像的不同图像帧分配至各计算单元进行处理,得到处理后的多个目标图像帧时,具体用于执行以下步骤:

基于各计算单元的算力,将多帧图像的不同图像帧分配至各计算单元进行处理,得到处理后的多帧图像;

获取多帧图像的输入顺序;

按照输入顺序,输出处理后的多帧图像,得到处理后的多个目标图像帧。

根据一些实施例,处理器1201用于将多帧图像的不同图像帧分配至各计算单元进行处理时,具体用于执行以下步骤:

获取各计算单元的运行状态,确定运行状态为空闲状态的目标计算单元;

将多帧图像的不同图像帧分配至目标计算单元进行处理。

根据一些实施例,处理器1201还用于具体用于执行以下步骤:

对多个目标图像帧进行合并处理,得到与待处理的多帧图像对应的目标视频。

本申请实施例提供一种终端,基于各计算单元的算力,可以将获取到的待处理的多帧图像的不同图像帧分配至各计算单元进行处理,得到处理后的多个目标图像帧,计算单元包括至少一个向量计算单元和/或至少一个标量计算单元,终端可以平衡调度各计算单元的算力,可以减少各计算单元的闲置时长,减少终端对图像帧处理的时长,可以提高多帧图像的处理吞吐率,进而可以提高图像处理的效率。

本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。其中,计算机可读存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、DVD、CD-ROM、微型驱动器以及磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪速存储器设备、磁卡或光卡、纳米系统(包括分子存储器IC),或适合于存储指令和/或数据的任何类型的媒介或设备。

本申请实施例还提供一种计算机程序产品,该计算机程序产品包括存储计算机程序的非瞬时性计算机可读存储介质,该计算机程序可操作来使计算机执行如上述方法实施例中记载的任何一种图像处理方法的部分或全部步骤。

本领域的技术人员可以清楚地了解到本申请的技术方案可借助软件和/或硬件来实现。本说明书中的“单元”和“模块”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是现场可编程门阵列(Field-ProgrammaBLE GateArray,FPGA)、集成电路(Integrated Circuit,IC)等。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通进程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。

以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。

相关技术
  • 图像处理系统、图像处理终端、图像处理方法、程序、信息存储介质以及图像处理装置
  • 图像处理方法、图像处理装置、终端及可读存储介质
技术分类

06120112148655