图像处理方法、电子设备及其可读介质与流程

文档序号:26395682发布日期:2021-08-24 16:05阅读:101来源:国知局
图像处理方法、电子设备及其可读介质与流程

本申请涉及计算机处理领域,特别涉及一种图像处理方法、电子设备及其可读介质。



背景技术:

随着手机的显示分辨率从480p增加到1080p,平板电脑或电视的显示分辨率向4k及更超分辨率增长,消费者对显示图像的画质要求越来越高。因此,人们提出了超分辨率(super-resolution,sr)技术,该技术可以在低分辨率视频源或者图像的基础上恢复出超分辨率的视频或图像。

目前可以通过处理器(中央处理器(centralprocessingunits,cpu)、图像处理器(graphicsprocessingunits,gpu)和/或嵌入式神经网络处理器(neural-networkprocessingunits,npu))运行超分辨率的卷积神经网络对低分辨率图像进行大量的卷积运算,获得超分辨率图像。



技术实现要素:

本申请的目的在于提供一种图像处理方法、电子设备及其可读介质,通过本申请的图像处理方法可以实现将卷积处理过程中生成的特征图保存在npu内置的存储器上,避免npu频繁读写片外存储器,减少系统的存储带宽并降低内存需求以及系统功耗,提高图像数据处理效率。

本申请的第一方面提供了一种图像处理方法,应用于电子设备,电子设备包括第一处理器,第一处理器包括内置的第一存储器;并且该方法包括:第一处理器依次获取具有第一分辨率的待处理图像的多个第一图像块中的至少一个第一图像块;第一处理器对获取的至少一个第一图像块进行超分处理,得到具有第二分辨率的至少一个第二图像块,其中,第一处理器进行超分处理所产生的中间数据存储于第一存储器中;对多个第一图像块进行超分处理后得到的对应的多个第二图像块进行拼接,得到具有第二分辨率的第二图像。

在本申请的实施例中,第一处理器可以是npu;第一分辨率的待处理图像可以是待处理的低分辨率图像;第一图像块可以是低分辨率图像块;第二分辨率的第二图像可以是高分辨率的图像;第二图像块可以是高分辨率图像块;第一存储器可以是npu的内置存储器。例如,低分辨率图像块输入到超分模型进行卷积处理过程中,产生的特征图的数据量较小,npu可以将该特征图保存在npu的内置存储器上,使得npu不需要频繁读写片外存储器,减少系统带宽,降低系统功耗。

在上述第一方面的一种可能的实现中,电子设备还包括第二处理器,并且由第二处理器对多个第一图像块进行超分处理后得到的对应的多个第二图像块进行拼接,得到具有第二分辨率的第二图像。

在上述第一方面的一种可能的实现中,电子设备还包括图像编码单元、图像解码单元以及位于第一处理器外部的第二存储器;并且,该方法还包括:图像编码单元获取具有第一分辨率的待处理图像,并将具有第一分辨率的待处理图像压缩成多个第一压缩图像块存储于第二存储器中;图像解码单元从第二存储器获取多个第一压缩图像块中的至少一个压缩图像块,并对至少一个压缩图像块进行解码,得到解压缩的至少一个第一图像块;图像解码单元依次将至少一个第一图像块发送给第一处理器。

在本申请的实施例中,第二存储器可以是片外存储器,图像编码单元可以将低分辨率图像无损压缩成多个低分辨率压缩图像块保存在片外存储器上,图像解码模块可以获取并解压缩低分辨率的压缩图像块,并将解压缩的低分辨率图像块发送给npu,npu对低分辨率图像块进行卷积处理,将卷积处理过程中生成的特征图保存在npu内置的存储器上,这样可以避免npu频繁读写片外存储器中的特征图,减少系统的存储带宽并降低内存需求以及系统功耗。

在上述第一方面的一种可能的实现中,图像编码单元通过运行帧压缩协议将具有第一分辨率的待处理图像压缩成多个第一压缩图像块;图像解码单元通过运行帧压缩协议对至少一个压缩图像块进行解码,得到解压缩的至少一个第一图像块。

在上述第一方面的一种可能的实现中,帧压缩协议包括高级精简指令集机器帧缓冲压缩协议。

在上述第一方面的一种可能的实现中,图像编码单元和图像解码单元为专用集成电路。

在上述第一方面的一种可能的实现中,第一处理器为嵌入式神经网络处理器,第二处理器为中央处理器或者图形处理器。

本申请的第二方面提供了一种电子设备,该电子设备包括第一处理器,第一处理器包括内置的第一存储器;第一处理器用于依次获取具有第一分辨率的待处理图像的多个第一图像块中的至少一个第一图像块;第一处理器用于对获取的至少一个第一图像块进行超分处理,得到具有第二分辨率的至少一个第二图像块,其中,第一处理器进行超分处理所产生的中间数据存储于第一存储器中;电子设备用于对多个第一图像块进行超分处理后得到的对应的多个第二图像块进行拼接,得到具有第二分辨率的第二图像。

在上述第二方面的一种可能的实现中,电子设备还包括第二处理器,并且由第二处理器对多个第一图像块进行超分处理后得到的对应的多个第二图像块进行拼接,得到具有第二分辨率的第二图像。

在上述第二方面的一种可能的实现中,电子设备还包括图像编码单元、图像解码单元以及位于第一处理器外部的第二存储器;并且图像编码单元用于获取具有第一分辨率的待处理图像,并将具有第一分辨率的待处理图像压缩成多个第一压缩图像块存储于第二存储器中。图像解码单元用于从第二存储器获取多个第一压缩图像块中的至少一个压缩图像块,并对至少一个压缩图像块进行解码,得到解压缩的至少一个第一图像块。图像解码单元还用于依次将至少一个第一图像块发送给第一处理器。

在上述第二方面的一种可能的实现中,图像编码单元用于通过运行帧压缩协议将具有第一分辨率的待处理图像压缩成多个第一压缩图像块。图像解码单元用于通过运行帧压缩协议对至少一个压缩图像块进行解码,得到解压缩的至少一个第一图像块。

在上述第二方面的一种可能的实现中,帧压缩协议包括高级精简指令集机器帧缓冲压缩协议。

在上述第二方面的一种可能的实现中,图像编码单元和图像解码单元为专用集成电路。

在上述第二方面的一种可能的实现中,第一处理器为嵌入式神经网络处理器,第二处理器为中央处理器或者图形处理器。

本申请的第三方面提供了一种可读介质,包括:电子设备的可读介质上存储有指令,该指令在电子设备上执行时使电子设备执行第一方面的图像处理方法。

附图说明

图1为根据本申请的实施例,示出了一种图像超分处理场景图;

图2为根据本申请的实施例,示出了另外一种图像超分处理场景图;

图3为根据本申请的实施例,示出了一种电子设备的结构示意图;

图4为根据本申请的实施例,示出了一种电子设备的分立元件处理低分辨率图像过程示意图;

图5为根据本申请的实施例,示出了一种图像超分处理流程图;

图6为根据本申请的实施例,示出了一种包含3层卷积运算的卷积神经网络的示意图;

图7为根据本申请的实施例,示出了另一种电子设备的分立元件处理低分辨率图像过程示意图;

图8为根据本申请的实施例,示出了另一种图像超分处理流程图;

图9(a)为根据本申请的实施例,示出了一种未压缩的低分辨率图像;

图9(b)为根据本申请的实施例,示出了一种压缩后的低分辨率图像。

具体实施方式

本申请的实施例包括但不限于一种图像处理方法、电子设备及其可读介质。

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式做进一步地详细描述。

可以理解,本申请中图像处理方法的思想适用于图像超分处理中对于图像像素级的处理,例如,图像超分辨率处理、图像降噪处理、图像增强处理等。下文以图像超分辨率处理为例说明本申请的技术方案。

可以理解,本申请的图像处理方法适用于各种图像或视频处理的场景,尤其是针对视频或图像画质或者图像细节要求较高并且图像数据量处理较大的场景;例如,可以适用于以下场景:终端设备(例如手机)对摄像头拍摄的图像进行实时超分辨率处理场景、不同显示分辨率的电子设备之间内容投屏时进行实时超分辨率处理场景、高清电视的视频播放场景、安防视频图像中对目标图像进行超分辨率处理场景、视频剪辑或图像后期处理场景、卫星图像处理场景、医学图像进行超分辨率处理场景等。

为便于理解本申请实施例提供的技术方案,这里先对本申请实施例使用的关键名词进行解释:

图像分辨率:用于反映图像中存储的信息量,指的是图像中像素点的总数。图像分辨率通常采用每行像素数×每列的像素数表示。

960p分辨率:一种显示格式,对应的图像分辨率通常为1280×960;其中,1280表示图像中每行像素的个数,图像中每列像素的个数,960p表示逐行扫描(progressivescan)。

1080p分辨率:一种显示格式,对应的图像分辨率通常为1920×1080。

2k分辨率:一种显示格式,对应的图像分辨率通常为2048×1152。

4k分辨率:一种显示格式,对应的图像分辨率通常为3840×2160。

超分:即超分辨率(superresolution),图像超分处理是将低分辨率图像重建成超分图像的技术,也即是重建后的图像的图像分辨率大于重建前的图像的图像分辨率,重建后的图像也称超分图像。例如,超分处理可以为将960p分辨率的图像重建为1080p分辨率的图像,或将2k分辨率的图像重建为4k分辨率的图像。

超分模型:用于将输入的低分辨率图像重建出相应的超分图像。超分模型可以为卷积神经网络(convolutionalneuralnetwork,cnn)模型。其中,cnn模型为带有卷积结构的深度神经网络,该深度神经网络可以包括多个卷积层,主要用于图像特征提取,非线性映射,重构图像等。例如,超分模型的整个卷积网络可以包括三个卷积层;其中,第一层卷积层对低分辨率图像进行卷积操作,生成n1张特征图(featuremap);第二层卷积层对n1张特征图进行卷积操作生成n2张特征图;第三层卷积层对n2张特征图进行卷积生成超分辨的图像。下文对超分模型做详细描述。

帧压缩协议:一种数据压缩技术,可以用于对图像进行无损压缩,支持rgb(一种图像格式)、yuv(一种图像格式)等格式的图像压缩,支持对压缩后的图像进行随机访问等。其中,随机访问的最小图像块可以是4x4大小的图像块;4x4是指每个图像块的每行像素数和每列像素数均是4。

在本申请的实施例中,帧压缩协议可以根据图像区域内的像素点的个数将图像划分成若干图像块,并且对每个图像块进行压缩得到压缩图像块或者对每个压缩图像块进行解压缩得到图像块,其中,压缩图像块比未压缩的图像块的数据量少。在本申请的实施例中,帧压缩协议可以是arm(advancedriscmachine,高级精简指令集机器)帧缓冲压缩(armframebuffercompression,afbc)协议,也可以是海思帧压缩(hisiliconframebuffercompression,hfbc)协议;本申请对帧压缩协议不做具体限定下文以帧压缩协议为afbc协议为例进行说明。

图1为根据本申请的实施例,示出了一种图像超分处理场景图。该场景可以应用在医疗图像分析、卫星图像分析、生物特征识别、视频监控与安全等实际场景上。图1中的场景包括:电子设备10,摄像头11,低分辨率图像12,超分图像13。图1以摄像头11为设置在道路、地铁口或商场门口等位置的监控摄像头11,低分辨率图像12为监控摄像头11拍摄的监控图像为例进行说明。

例如,监控摄像头11拍摄到低分辨率图像12,并将低分辨率图像12发送给电子设备10,如图1所示,电子设备10的显示屏上显示了低分辨率图像12;通过图像超分处理,对低分辨率图像12的部分图像区域进行图像超分处理,对低分辨率图像的像素数量进行成倍数级的提升,并预测图像细节信息。例如,如图1所示,将低分辨率图像12的最右侧的汽车的车牌区域进行超分图像处理,转化为超分图像13,使得超分图像13较原图像区域更加清晰,从而获得低分辨率图像12部分图像区域的细节信息;可以理解,在本申请的实施例中,细节信息可以是低分辨率图像12中车辆的车牌信息,也可以是低分辨率图像12中的驾驶员信息,车内携带物信息等。

图2为根据本申请的实施例,示出了另外一种图像超分处理场景图。图2中的场景包括:电子设备10、低分辨率视频流21、超分辨率视频22。其中,电子设备10可以为智能电视10。

在本申请的实施例中,图2所示的场景可以是智能电视的视频播放场景。高清频道的视频的分辨率一般为1080p,而智能电视10的屏幕显示分辨率可能高于高清频道的视频的分辨率,例如,智能电视10的屏幕显示分辨率为4k;当智能电视10转播高清频道的视频时,智能电视10可以将1080p分辨率的视频实时转化成4k分辨率的视频在显示屏上播放。

例如,针对老电影修复,智能电视10可以对低分辨率电影的视频流进行实时超分处理,生成超分辨率、高清晰度视频并在智能电视10显示屏上播放。

下面结合图1图9详细说明本申请的图像超分处理的技术方案。

图3示出了一种电子设备10的结构示意图。在图3所示的电子设备10中,npu可以接收图像解码单元发送的低分辨率图像,并对低分辨率图像进行超分处理得到超分图像,其中,npu对低分辨率图像进行超分处理过程中产生的特征图可以暂存在片外存储器中。

在本申请的其他一些实施例中,如图3所示的电子设备10中,npu可以依次接收图像解码单元发送的多个低分辨率图像块,并依次对多个低分辨率图像块进行超分处理得到超分图像块;npu依次将多个超分图像块发送给给cpu,cpu对多个超分图像块进行拼接得到高分辨率图像。其中,npu对低分辨率图像块进行超分处理过程中产生的特征图可以暂存在npu内置的存储器中。

具体地,如图3所示,电子设备10包括片上系统(systemofchip,soc)100、图像采集模块11、片外存储器103、以及显示屏102。

其中,soc100包括中央处理器(centralprocessingunits,cpu)1002、图形处理器(graphicsprocessingunit,gpu)1004、图像信号处理器(imagesignalprocessor,isp)1001、神经网络处理器(neural-networkprocessingunit,npu)1003、显示控制器1005、图像编码单元1006、图像解码单元1007。

如图3所示,soc100中的单元可以通过总线1009进行相互通信,也可以通过总线1009访问片外存储器103;例如soc100中的单元将图像超分处理数据暂存在片外存储器103或者从片外存储器103读取暂存的图像数据。

例如,总线1009可以包括各种类型的总线,如串行总线、并行总线、内部集成电路(inter-integratedcircuit,i2c)总线或外围元件互联高速(peripheralcomponentinterconnectexpress,pcie)总线等,用于耦合片上系统100中不同的单元或用于耦合片上系统100与片外存储器103。

在本申请的一些实施例中,本申请的技术方案可以应用在安防视频处理、终端拍摄的图像处理、卫星图像处理等场景。

例如,图像采集模块11可以包括至少一个摄像头;其中,摄像头用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(chargecoupleddevice,ccd)或互补金属氧化物半导体(complementarymetal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给isp1001转换成数字图像信号,然后再将数字图像信号转换成标准的rgb,yuv等格式的图像。可以理解,图像采集模块11可以是电子设备10上的摄像头,例如手机上的摄像头;图像采集模块11也可以是设置在马路,商场等位置的监控摄像头,具体本申请对图像采集模块11不做限定。

例如,显示屏102可以用于显示经过soc100处理后超分图像,视频等。显示屏102包括显示面板。显示面板可以采用液晶显示屏(liquidcrystaldisplay,lcd),有机发光二极管(organiclight-emittingdiode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganiclightemittingdiode的,amoled),柔性发光二极管(flexlight-emittingdiode,fled),miniled,microled,micro-oled,量子点发光二极管(quantumdotlightemittingdiodes,qled)等。在一些实施例中,电子设备10可以包括1个或n个显示屏102,n为大于1的正整数。

在本申请的实施例中,片外存储器103可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。片外存储器103可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如图像播放功能等)等。存储数据区可存储soc100使用过程中所创建的数据,例如,图像编码单元1006将压缩的图像保存在片外存储器103上、npu1003处理图像时产生的特征图数据等。

此外,片外存储器103可以包括高速随机存取存储器,例如,双倍速率同步动态随机存储器(doubledataratesynchronousdynamicrandomaccessmemory,ddrsdram)还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universalflashstorage,ufs)等。处理器1002通过运行存储在片外存储器103的指令,执行电子设备10的各种功能应用以及图像数据处理。

如图3所示,电子设备10可以通过gpu1004,显示屏102,以及cpu1002等实现显示功能。gpu1004可以是图像超分处理的微处理器。gpu1004可以用于执行数学和几何计算,用于图形渲染。soc100可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。

在本申请的一些实施例中,npu1003为神经网络(neural-network,nn)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过npu可以实现电子设备10的智能认知等应用,例如,图像增强,图像超分辨率、图像降噪等。

在本申请的一些实施例中,npu1003中可以设置存储器,用于存储指令和数据。在一些实施例中,npu1003中的存储器为高速缓冲存储器。该存储器可以保存npu1003刚用过或循环使用的指令或数据。如果npu1003需要再次使用该指令或数据,可从所述存储器中直接调用。避免了在片外存储器103重复存取,减少了npu1003的等待时间,同时节约了存储带宽以及功耗,因而提高了系统的效率。

在本申请的一些实施例中,图像编码单元1006和/或图像解码单元1007可以是运行afbc协议的硬件单元;其中,运行afbc协议的硬件单元可以是以下任意一种:专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。

在本申请的实施例中,电子设备10包括但不限于智能手机、车载装置、个人计算机、人工智能设备、平板电脑、个人数字助理、智能穿戴式设备(例如智能手表或手环、智能眼镜)、智能电视(或者称为智慧大屏、智慧屏、或大屏电视等)、虚拟现实/混合现实/增强显示设备等。

如图3所示,图像编码单元1006运行帧压缩协议将低分辨率图像无损压缩成低分辨率压缩图像,压缩后的低分辨率图像的数据量较未压缩的低分辨率图像的数据量减少至少50%。使得低分辨率图像在电子设备10的不同单元之间传输或者保存在片外存储器103时,能够最大限度地减少电子设备10的不同单元之间的数据传输量,极大较少存储所需的空间及传输所需的带宽。

另外,在本申请的其他实施例中,图像编码单元1006还可以运行帧压缩协议将低分辨率图像无损压缩成多个低分辨率压缩图像块保存在片外存储器103上,图像解码模块可以获取并解压缩低分辨率的压缩图像块,并将解压缩的低分辨率图像块发送给npu1003,npu1003运行超分模型对低分辨率图像块进行卷积处理,将卷积处理过程中生成的特征图保存在npu1003内置的存储器上,可以避免npu1003频繁读写片外存储器103,减少系统的存储带宽并降低内存需求以及系统功耗,提高图像数据处理效率。可以理解的是,图3示出了一种电子设备10的组成结构示意图,本申请实施例示意的结构并不构成对电子设备10的具体限定。在本申请另一些实施例中,电子设备10可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。例如,在图2所示的应用场景中,可以不需要图像采集模块11。可以理解,图3所示的部件可以以硬件,软件或软件和硬件的组合实现。

基于图3所示的电子设备10的结构,图4示出了一种电子设备10的分立元件处理低分辨率图像过程示意图。具体地,如图4所示,图像编码单元1006运行afbc协议将从isp1001获取的低分辨率图像无损压缩成低分辨率压缩图像,其中,低分辨率压缩图像数据量较低分辨率图像的数据量减少至少50%。图像编码单元1006将低分辨率压缩图像发送给片外存储器103,片外存储器103保存低分辨率压缩图像;图像解码单元1007可以获取片外存储器103保存低分辨率压缩图像,图像解码单元1007运行afbc协议将低分辨率压缩图像无损解压缩为低分辨率图像。可以理解,图像编码单元1006和/或图像解码单元1007对图像进行无损压缩或解压缩,压缩后的低分辨率图像数据量变小,最大限度地减少电子设备10的不同单元之间的数据传输量,片外存储器103保存低分辨率压缩图像所占用的内存也变小。并且使用帧压缩协议解码高清视频,解码时电子设备10所需的内存带宽明显下降,使得纹理读取带宽减少至少50%,所需带宽消耗大大下降,由此也会带来功耗的下滑。

图5为根据本申请的实施例,示出了一种图像超分处理流程图;下面结合图5说明图4的图像超分处理过程,具体过程如下:

s501:isp1001将低分辨率的rgb或yuv等格式的图像发送给图像编码单元1006。

例如,如图1所示,图像采集模块11可以是设置在道路、地铁口或商场门口等位置的监控摄像头11,其中,监控摄像头11可以为130万像素的摄像头,则摄像头捕获的静态图像或视频的分辨率通常为960p分辨率。监控摄像头11采集的原始(raw)静态图像或视频发送给isp,isp将raw静态图像或视频数据转换成数字图像信号,然后再将数字图像信号转换成标准的rgb,yuv等格式的图像。isp1001将960p分辨率的rgb或yuv等格式的图像发送给图像编码单元1006。

在本申请的其他实施例中,向图像编码单元1006发送低分辨率图像也可以是gpu1004或其他单元,例如,如图2所示的场景中,gpu1004将低分辨率的视频流做分帧处理,将分帧处理生成的图像帧发送给图像编码单元1006。可以理解,根据实际的应用场景,向图像编码单元1006发送低分辨率图像的单元可以是isp1001,也可以是gpu1004或其他单元,本申请对此不做具体限定。

s502:图像编码单元1006将低分辨率图像压缩成低分辨率压缩图像。

例如,图像编码单元1006可以运行afbc协议对低分辨率图像进行编码,生成低分辨率压缩图像,其中,压缩图像较未压缩图像的数据量小,使得压缩图像在soc100内传输或者与片外存储器103进行传输时较未压缩图像传输的带宽小,并且系统功耗低。

s503:图像编码单元1006将低分辨率压缩图像发送给片外存储器103。

s504:片外存储器103保存低分辨率压缩图像。

可以理解,在对视频中的每帧图像进行图像超分处理时,npu1003只能逐帧对图像进行处理,片外存储器103保存压缩图像,使得图像解码单元1007可以随时获取片外存储器103中压缩图像,并解压压缩图像,用于npu1003进行图像超分处理。

s505:图像解码单元1007从片外存储器103中读取保存的低分辨率压缩图像。

s506:图像解码单元1007解压低分辨率压缩图像,生成低分辨率图像。

例如,图像编码单元1006运行afbc协议对低分辨率压缩图像进行解码,将低分辨率压缩图像还原成低分辨率图像。

s507:图像解码单元1007将低分辨率图像发送给npu1003。

s508:npu1003运行超分模型,将低分辨率图像作为超分模型的输入,超分模型对低分辨率进行卷积操作的过程中,生成特征层。

在本申请的实施例中,超分模型可以是cnn模型,例如,960p分辨率的图像输入到cnn模型,cnn模型对960p分辨率的图像进行图像特征提取、非线性映射以及图像重建,最终输出4k分辨率的图像。可以理解,cnn模型包含多个卷积层,960p分辨率的图像需要经过多个卷积层处理,最终输出4k分辨率的图像;其中,每个卷积层处理后会输出特征图,最后一层卷积输出的特征图即为4k分辨率的图像。

在本申请的实施例中,超分模型可以为超分辨率卷积神经网络(super-resolutionconvolutionalneuralnetwork,srcnn)、快速超分辨率卷积神经网络(fastsuper-resolutionconvolutionalneuralnetwork,fsrcnn)、使用非常深的卷积网络进行精准的图像超分(accurateimagesuper-resolutionusingverydeepconvolutionalnetworks,vdsr)、级联残差网络(cascadingresidualnetwork,carn)、多目标的强化卷积在移动神经架构搜索(multi-objectivereinforcedevolutioninmobileneuralarchitecturesearch,moremnas-a)中的任一神经网络模型。

在本申请的一些实施例中,卷积神经网络用于图像超分处理,其使用图像作为输入和输出,并通过卷积核替代标量的权重,标准卷积运算的一个卷积核对输入数据进行卷积运算。cnn模型可以包含三层卷积神经网络,分别用于图像特征提取,非线性映射,图像重建。低分辨率图像输入到第一层卷积,其中,第一层卷积可以包含128个尺寸为9*9的卷积核,也可以包含64个尺寸为9*9的卷积核,还可以包含32个尺寸为9*9的卷积核,可以理解,根据cnn模型选择或者输出的超分图像的要求等,cnn模型的卷积层数、卷积层的用途、每层卷积的卷积核的个数核尺寸等,本申请不做具体限定。

例如,图6示出了一种包含3层卷积运算的卷积神经网络的示意图,如图6所示,假设卷积神经网络的输入为1280×960(即960p)分辨率的图像,为了提取该图像的图像特征,例如提取该图像的水平边缘信息、垂直边缘信息、纹理信息等,可以将低分辨率图像输入到第一层卷积,第一层卷积采用64个尺寸为9*9的卷积核进行特征提取,得到64张特征图。

s509:npu1003将卷积神经网络的卷积层生成的特征图发送给片外存储器103。

如图6所示,cnn模型在对输入的图像进行卷积运算的过程中,输出多张特征图。例如,960p分辨率图像输入到第一层卷积,第一层卷积的卷积核的数量为64,卷积核的尺寸为9*9,每个卷积核对图像进行特征提取,依次输出特征图;由于npu1003的内置存储器的存储容量有限,npu1003需要将卷积核输出的特征图发送给片外存储器103。

s510:片外存储器103保存特征图。

s511:npu1003从片外存储器103中读取保存的特征图。

如图3所示,当第一层卷积对输入的低分辨率图像处理完成后,npu1003获取片外存储器103保存的第一层卷积输出的特征图。

s512:npu1003运行超分模型对特征图进行卷积处理,最终生成超分图像。

在本申请的实施例中,如图3所示,npu1003将64张特征图输入到第二层卷积,第二层卷积的卷积核的数量为32,卷积核的尺寸为1*1,卷积核对图像进行非线性映射处理,依次输出特征图;npu将卷积核输出的特征图发送给片外存储器103,执行步骤s209至s211。待第二层卷积输出32张特征图并保存在片外存储器103后,npu1003获取片外存储器103保存的第二层卷积输出的特征图,并将第二层卷积输出的特征图输入到第三层卷积,第三层卷积的卷积核的数量为1,卷积核的尺寸为5*5,卷积核对图像进行图像重建,输出特征图即为最终的4k分辨率的图像。

s513:npu1003将超分图像发送给gpu1004。

在本申请的实施例中,电子设备10通过gpu1004,显示屏102,以及cpu1002等实现超分图像显示功能。gpu1004为图像超分处理的微处理器,连接npu1003、显示屏102以及处理器1002等。npu1003将超分图像发送给gpu1004,gpu1004执行数学和几何计算,对超分图像进行图形渲染,使得超分图像可以在显示屏102上显示;并且gpu1004执行程序指令以生成或改变显示屏102的显示信息。

可以理解,在本申请的实施例中,超分模型不仅限于包含三层卷积,也可以包含多层卷积,根据cnn模型选择或者输出的超分图像的要求等,cnn模型的卷积层数、卷积层的用途、每层卷积的卷积核的个数核尺寸等不做限定。由上述过程可知,超分模型对图像进行卷积处理时,模型的卷积层数越多,或者卷积层的卷积核越多,卷积处理过程产生的特征图也越多,则在超分模型对低分辨率图像进行超分处理时,npu1003通过总线将特征图发送给片外存储器103或者获取片外存储器103保存的特征图的次数也会越多,占用的片外存储器103的内存也越大。

例如,如图1所示场景,例如,超分模型将960p分辨率图像转化成4k分辨率的图像,则npu1003需要对片外存储器103至少执行100次读写特征图数据操作,占用片外存储器103的内存容量至少为10mb。

可以理解,若超分模型对低分辨率视频流进行超分处理,会大量占用系统的存储带宽,消耗系统功耗。例如,如图2的场景,视频流21的图像分辨率为960p,帧率为60fps,智能电视10的显示分辨率为4k,将视频流21的图像分辨率转换成4k分辨率的视频播放,则每秒占用的片外存储器103的存储容量至少为1gb,每秒占用的存储带宽的耗电量大约是150mw。

针对上述问题,基于图3所示的电子设备10的结构,图7示出了另一种电子设备10的分立元件处理低分辨率图像过程示意图。如图7所示,根据afbc协议压缩的特性,图像编码单元1006可以将低分辨率图像无损压缩成多个低分辨率压缩图像块保存在片外存储器103上,图像解码模块1007可以获取并解压缩低分辨率的压缩图像块,并将解压缩的低分辨率图像块发送给npu1003,npu1003对低分辨率图像块进行卷积处理,将卷积处理过程中生成的特征图保存在npu1003内置的存储器上,这样可以避免npu1003频繁读写片外存储器103中的特征图,减少系统的存储带宽并降低内存需求以及系统功耗。

图8为根据本申请的实施例,示出了另一种图像超分处理流程图,下面结合图7说明图8的图像超分处理的具体过程,具体过程如下:

s801:isp1001将低分辨率的rgb或yuv等格式的图像发送给图像编码单元1006。具体内容参考图5中的步骤501,在此不做赘述。

s802:图像编码单元1006将低分辨率图像压缩成压缩图像块。

在本申请的实施例中,图像编码单元1006可以执行afbc协议,将图像压缩到较小数据量,使得最小数据量的图像在soc100内传输或者与片外存储器103进行传输时可以减小传输带宽,降低功耗。

例如,图像编码单元1006执行afbc协议可以将任意分辨率的图像压缩成m*n个压缩图像块,每个压缩图像块包含x*y个像素数;其中,m和n为不小于1的正整数,x和y为不小于1的正整数。

图9(a)为根据本申请的实施例,示出了一种未压缩的低分辨率图像,图9(b)为根据本申请的实施例,示出了一种压缩后的低分辨率图像(即低分辨率压缩图像)。

如图9(a)所示的低分辨率图像,该低分辨率图像可以根据区域内的像素点的个数将图像划分成若干图像块。其中,每个图像块包含该图像块所在的图像区域的图像完整信息,例如,像素数量,图像特征,纹理特征等。

如图9(b)所示的压缩后的低分辨率压缩图像,该低分辨率图像被压缩成若干低分辨率压缩图像块。如图9(b)所示,m为水平方向上的压缩后的图像块(即压缩图像块)的个数;n为垂直方向上的压缩图像块的个数;x为每个压缩图像块中每行包含的像素数;y为每个压缩图像块中每列包含的像素数。

例如,图9(a)为960p分辨率的图像,图9(b)为压缩后960p分辨率的图像;该960p图像可以被压缩成32个压缩图像块(即m为8,n为4;x为320,y为120)。如图9所示,图9(b)中的压缩图像块11对应的图9(a)中的图像块1;压缩图像块12对应图像块2,……,压缩图像块48对应图像块32;其中,压缩图像块与对应的图像块包含的图像区域、像素信息等均相同。下文以图9(a)所示的低分辨率图像为960p分辨率的图像为例进行说明。

s803:图像编码单元1006将压缩图像块发送给片外存储器103。

在本申请的实施例中,图像编码单元1006可以执行afbc协议对960p分辨率的图像进行逐行扫描并压缩;例如,图像编码单元1006扫描x行,将x行像素所在的图像进行分块压缩,获得压缩图像块11、压缩图像块12、……、压缩图像块1m;图像编码单元1006将m个压缩图像块发送给片外存储器103。图像编码单元1006继续扫描下一个x行,将下一个x行像素所在的图像进行分块压缩,获得压缩图像块21、压缩图像块22、……、压缩图像块2m,图像编码单元1006将m个压缩图像块发送给片外存储器103。在本申请的其他实施例中,图像编码单元1006也可以将图像全部压缩完成后,再将m*n个压缩图像块发送给片外存储器103。在此,本申请发送压缩图像块的大小和数量不做具体限定。

s804:片外存储器103保存压缩图像块。

s805:图像解码单元1007从片外存储器103中读取保存的压缩图像块。

s806:图像解码单元1007解压压缩图像块,生成低分辨率图像块。

在本申请的实施例中,当npu1003需要将低分辨率图像块转化成超分图像块时,图像解码单元1007获取片外存储器103保存的压缩图像块,并解压该图像块,生成低分辨率图像块用于npu1003做图像超分处理。例如,图像解码单元1007执行afbc协议解压图9(b)所示的压缩图像块11,生成包含320*120像素的图像块(即图9(a)所示的图像块1)。

s807:图像解码单元1007将低分辨率图像块发送给npu1003。

例如,图像解码单元1007将图9所示的图像块1发送给npu1003;其中,图像块1包含320*120像素的图像块。

s808:npu1003将低分辨率图像块输入到超分模型,输出超分图像块。

在本申请的实施例中,npu运行超分模型对低分辨率图像块进行卷积处理与图5中的步骤s508的处理方法相同,在此不做赘述。

其中,低分辨率图像块输入到超分模型进行卷积处理过程中,产生的特征图的数据量较小,npu1003可以将该特征图保存在npu1003的内置存储器上,使得npu1003不需要频繁读写片外存储器103,减少系统带宽,降低系统功耗。其中,该npu1003的内置存储器可以是静态随机存储器(staticrandom-accessmemory,sram)。

例如,输入的图像块为图像块1(即包含320*120像素的图像块),超分模型产生的特征图占用的内存容量最大可以是800kb,若npu1003内置的存储器容量为1mb,则npu1003可以将卷积处理过程中生成的特征图保存在npu1003的内置存储器上。

在本申请的实施例中,根据npu1003的超分图像处理能力,npu1003可以依次获取图像解码模块1007发送的一个低分辨率图像块,也可以依次获取图像解码模块1007发送的多个低分辨率图像块,本申请对此不做具体限定。例如,npu1003依次获取的图像解码模块1007发送的一个低分辨率图像块并对该低分辨率图像进行超分处理,得到一个超分图像块。

可以理解,选择的cnn模型不同,或者输入的图像块包含的数据量不同,生成需要保存在存储器上的特征图的数据量的大小也不同,因此,npu1003的内置存储器要求的存储容量也不同。在实际的应用中,npu1003的内置存储器的存储容量以及npu1003执行的超分模型是已知的,则可以确定允许输入图像块包含的最大数据量。根据允许输入图像块包含的最大数据量,图像编码单元1006可以允许afbc协议有选择地将低分辨率图像压缩成n*m个。可以理解的是,针对一张低分辨率图像,压缩的图像块越多,每个图像块包含的数据量越少,压缩的图像块越少,每个图像块包含的数据量越多。

s809:npu1003将超分图像块发送给cpu1002。

s810:cpu1002拼接超分图像块,生成超分图像。

可以理解,超分模型输出一张超分图像块,npu1003将该超分图像块发送给cpu1002。当npu1003将所有图像块均发送给cpu1002时,cpu1002对n*m张图像块进行拼接,最终生成超分图像。

在本申请的其他实施例中,npu1003也可以对超分模型输出的n*m张图像块进行拼接得到超分图像,gpu1004也可以对超分模型输出的n*m张图像块进行拼接得到超分图像。在此本申请对拼接超分图像块的单元不做具体限定。

s811:cpu1002将超分图像发送给gpu1004。

可以理解,cpu1002将超分图像发送给gpu1004,gpu1004可以对超分图像进行图形渲染,使得超分图像可以在显示屏102上显示。

如前所述,对于图7和图8所示的实施例,图像编码单元1006运行帧压缩协议将低分辨率图像无损压缩成多个低分辨率压缩图像块保存在片外存储器103上,图像解码模块可以获取并解压缩低分辨率的压缩图像块,并将解压缩的低分辨率图像块发送给npu1003,npu1003运行超分模型对低分辨率图像块进行卷积处理,将卷积处理过程中生成的特征图保存在npu1003内置的存储器上,可以避免npu1003频繁读写片外存储器103,减少系统的存储带宽并降低内存需求以及系统功耗,提高图像数据处理效率。

可以理解,如本文所使用的,术语“模块”可以指代或者包括专用集成电路(asic)、电子电路、执行一个或多个软件或固件程序的处理器(共享、专用、或群组)和/或存储器、组合逻辑电路、和/或提供所描述的功能的其他适当硬件组件,或者可以作为这些硬件组件的一部分。

可以理解,在本申请各实施例中,处理器可以是微处理器、数字信号处理器、微控制器等,和/或其任何组合。根据另一个方面,所述处理器可以是单核处理器,多核处理器等,和/或其任何组合。

本申请公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本申请的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。

可将程序代码应用于输入指令,以执行本申请描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(dsp)、微控制器、专用集成电路(asic)或微处理器之类的处理器的任何系统。

程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本申请中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。

在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合来实现。所公开的实施例还可以被实现为由一个或多个暂时或非暂时性机器可读(例如,计算机可读)存储介质承载或存储在其上的指令,其可以由一个或多个处理器读取和执行。例如,指令可以通过网络或通过其他计算机可读介质分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读的形式存储或传输信息的任何机制,包括但不限于,软盘、光盘、光碟、只读存储器(cd-roms)、磁光盘、只读存储器(rom)、随机存取存储器(ram)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、磁卡或光卡、闪存、或用于利用因特网以电、光、声或其他形式的传播信号来传输信息,例如,载波、红外信号数字信号等)的有形的机器可读存储器。因此,机器可读介质包括适合于以机器(例如,计算机)可读的形式存储或传输电子指令或信息的任何类型的机器可读介质。

在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。

需要说明的是,本申请各设备实施例中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元/模块可以是一个物理单元/模块,也可以是一个物理单元/模块的一部分,还可以以多个物理单元/模块的组合实现,这些逻辑单元/模块本身的物理实现方式并不是最重要的,这些逻辑单元/模块所实现的功能的组合才是解决本申请所提出的技术问题的关键。此外,为了突出本申请的创新部分,本申请上述各设备实施例并没有将与解决本申请所提出的技术问题关系不太密切的单元/模块引入,这并不表明上述设备实施例并不存在其它的单元/模块。

需要说明的是,在本专利的示例和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

虽然通过参照本申请的某些优选实施例,已经对本申请进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本申请的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1