一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

图像处理方法、装置、设备及存储介质与流程

2022-07-15 21:03:59 来源:中国专利 TAG:
1.本技术实施例涉及图像处理领域,尤其涉及一种图像处理方法、装置、设备及存储介质。
背景技术
::2.手机在进行拍照时,手机的相机模块可以采集原始图像并输出给中间处理模块。原始图像可以称为raw图或数字底片。手机的中间处理模块可以对接收到的raw图进行一系列处理,最终得到可用于显示的图像,如:jpeg图像。该jpeg图像可以被传输给手机的显示屏进行显示,和/或,传输给手机的存储器进行存储。其中,中间处理模块对raw图进行处理,生成jpeg图像的过程可以包括:对raw图进行图像信号处理(imagesignalprocessing,isp),将图像从raw域转换到yuv域,yuv域的图像可称为yuv图;然后,采用yuv域后处理算法对yuv图进行处理;最后,采用jpeg编码方式对完成yuv域处理后的yuv图进行编码,得到jpeg图像。3.目前,为了中间处理模块能够达到更好的图像处理效果,可以将yuv域的一些图像处理算法迁移至raw域进行。例如,可以将hdr的多帧配准、融合、降噪等图像处理算法由yuv域迁移至raw域进行。在raw域进行图像处理的好处可以包括:raw图比yuv图含有更高的比特位信息;raw图未经过isp处理,不会对颜色、细节等信息造成破坏等。4.但是,相比于yuv域的图像处理而言,raw域的图像处理的数据量要更大,对算法性能、内存等要求会更高。而手机的计算资源和内存资源是有限的,因此,通过将yuv域的一些图像处理算法迁移至raw域进行的方式,在手机中会受到一定约束,容易导致处理效果受限的问题。例如,可能需要对一些图像处理算法根据手机的算力进行裁剪适配,从而导致图像处理算法的处理结果并不理想。技术实现要素:5.本技术实施例提供一种图像处理方法、装置、设备及存储介质,可以解决将yuv域的一些图像处理算法迁移至raw域进行时,手机受到约束而导致处理效果受限的问题。6.第一方面,本技术实施例提供一种图像处理方法,所述方法包括:终端设备响应于用户的拍照操作,采集当前拍照场景对应的raw图。终端设备对当前拍照场景对应的raw图进行编码,得到当前拍照场景对应的raw图的编码码流,并向云端发送当前拍照场景对应的raw图的编码码流。终端设备接收来自云端的第一格式的图像,第一格式的图像为云端根据当前拍照场景对应的raw图的编码码流所生成的。7.通过该图像处理方法可以避免将yuv域的一些图像处理算法迁移至raw域进行时,在终端设备中会受到一定约束而导致处理效果受限的问题;可以充分利用云端的大数据资源和计算资源,对raw图进行raw域图像处理、isp处理、以及yuv域处理,以达到更好的图像处理效果。8.可选地,所述当前拍照场景对应的raw图包括一帧或多帧;所述终端设备对当前拍照场景对应的raw图进行编码,得到当前拍照场景对应的raw图的编码码流,并向云端发送当前拍照场景对应的raw图的编码码流,包括:当当前拍照场景对应的raw图包括多帧时,终端设备对多帧raw图进行编码,得到多帧raw图的编码码流,并向云端发送多帧raw图的编码码流。9.本设计中,如果终端设备的相机模块采集多帧raw图,则将多帧raw图对应的编码码流上传给云端进行处理。而如果采集一帧raw图,则直接通过本地(即终端设备侧)进行处理。10.其他一些实现方式中,也可以是不论采集一帧raw图,还是采集多帧raw图,终端设备都对采集的raw图进行编码得到raw图对应的编码码流,并将raw图对应的编码码流上传给云端进行处理。11.可选地,所述终端设备响应于用户的拍照操作,采集当前拍照场景对应的raw图之前,所述方法还包括:终端设备响应于用户的第一选择操作,确定需要将拍照时采集的raw图上传到云端进行处理。12.本设计中,终端设备可以具有供用户选择是否将相机模块采集到的raw图上传到云端进行处理的功能。其中,第一选择操作可以是用户在终端设备上使用该功能的操作。例如,当手机启动运行拍照应用程序后,可以在拍照界面为用户提供一个可选择是否将相机模块采集到的raw图上传到云端进行处理的功能控件,用户可以通过对该功能控件进行操作,以主动选择是否将相机模块采集到的raw图上传到云端进行处理。手机选择将相机模块采集到的raw图上传到云端进行处理的操作即为第一选择操作。13.可选地,所述终端设备对当前拍照场景对应的raw图进行编码,得到当前拍照场景对应的raw图的编码码流,包括:终端设备对当前拍照场景对应的raw图进行压缩,得到当前拍照场景对应的raw图的压缩特征;终端设备对当前拍照场景对应的raw图的压缩特征进行量化;终端设备对当前拍照场景对应的raw图的量化后的压缩特征进行熵编码,得到当前拍照场景对应的raw图的编码码流。14.可选地,当当前拍照场景对应的raw图包括多帧时,所述终端设备对当前拍照场景对应的raw图进行压缩,得到当前拍照场景对应的raw图的压缩特征,包括:终端设备根据当前拍照场景的类型,确定多帧raw图之间的帧间相关性;终端设备从多帧raw图中选择一帧作为参考帧,并根据参考帧、以及多帧raw图之间的帧间相关性,对多帧raw图中除参考帧之外的其他帧进行预测,得到其他帧对应的残差图;终端设备对多帧raw图中除参考帧之外的其他帧对应的残差图、以及参考帧进行压缩,得到多帧raw图的压缩特征。15.本设计中,终端设备从多帧raw图中选择一帧作为参考帧,并根据参考帧、以及多帧raw图之间的帧间相关性,对多帧raw图中除参考帧之外的其他帧进行预测,得到其他帧对应的残差图,即是指根据多帧raw图之间的帧间相关性对多帧raw图进行预处理。根据多帧raw图之间的帧间相关性对多帧raw图进行预处理,能够进一步提高多帧raw图进行压缩时的压缩率,提高raw图编码码流的传输速度。16.可选地,所述方法还包括:终端设备根据多帧raw图的元数据信息,确定当前拍照场景的类型。17.可选地,所述终端设备对当前拍照场景对应的raw图进行编码,得到当前拍照场景对应的raw图的编码码流,包括:终端设备采用分布式信源编码的方式对当前拍照场景对应的raw图进行信道编码,得到当前拍照场景对应的raw图的编码码流;其中,当当前拍照场景对应的raw图包括多帧时,当前拍照场景对应的raw图的编码码流包括与多帧raw图一一对应的多组码流包;当当前拍照场景对应的raw图包括一帧时,当前拍照场景对应的raw图的编码码流包括与一帧raw图对应的一组码流包。每组码流包中包括多个码流包,每个码流包至少包括纠错码、以及码流包对应的一帧raw图的元数据信息。所述终端设备向云端发送当前拍照场景对应的raw图的编码码流,包括:终端设备以帧为单位,依次向云端上传每一帧raw图对应的码流包。18.本设计中,当终端设备采用分布式编码的方法对raw图进行编码时,在云端的预测值越准确,则需要传输的纠错码就会越少,压缩率会越高。从而,可以充分利用云端的数据相关性,达到更高压缩率,有效节省上传流量。19.第二方面,本技术实施例提供一种图像处理装置,该装置可以用于实现上述第一方面所述的方法。该装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元,例如,相机模块、编码模块、发送模块、接收模块等。20.其中,相机模块,用于响应于用户的拍照操作,采集当前拍照场景对应的raw图;编码模块,用于对当前拍照场景对应的raw图进行编码,得到当前拍照场景对应的raw图的编码码流;发送模块,用于向云端发送当前拍照场景对应的raw图的编码码流;接收模块,用于接收来自云端的第一格式的图像,第一格式的图像为云端根据当前拍照场景对应的raw图的编码码流所生成的。21.可选地,所述当前拍照场景对应的raw图包括一帧或多帧;编码模块,具体用于当当前拍照场景对应的raw图包括多帧时,对多帧raw图进行编码,得到多帧raw图的编码码流;发送模块,具体用于向云端发送多帧raw图的编码码流。22.可选地,所述相机模块,还用于响应于用户的第一选择操作,确定需要将拍照时采集的raw图上传到云端进行处理。23.可选地,所述编码模块,具体用于对当前拍照场景对应的raw图进行压缩,得到当前拍照场景对应的raw图的压缩特征;对当前拍照场景对应的raw图的压缩特征进行量化;对当前拍照场景对应的raw图的量化后的压缩特征进行熵编码,得到当前拍照场景对应的raw图的编码码流。24.可选地,所述编码模块,具体用于当当前拍照场景对应的raw图包括多帧时,根据当前拍照场景的类型,确定多帧raw图之间的帧间相关性;从多帧raw图中选择一帧作为参考帧,并根据参考帧、以及多帧raw图之间的帧间相关性,对多帧raw图中除参考帧之外的其他帧进行预测,得到其他帧对应的残差图;对多帧raw图中除参考帧之外的其他帧对应的残差图、以及参考帧进行压缩,得到多帧raw图的压缩特征。25.可选地,所述编码模块还用于根据多帧raw图的元数据信息,确定当前拍照场景的类型。26.可选地,所述编码模块,具体用于采用分布式信源编码的方式对当前拍照场景对应的raw图进行信道编码,得到当前拍照场景对应的raw图的编码码流;其中,当当前拍照场景对应的raw图包括多帧时,当前拍照场景对应的raw图的编码码流包括与多帧raw图一一对应的多组码流包;当当前拍照场景对应的raw图包括一帧时,当前拍照场景对应的raw图的编码码流包括与一帧raw图对应的一组码流包。每组码流包中包括多个码流包,每个码流包至少包括纠错码、以及码流包对应的一帧raw图的元数据信息。所述发送模块,具体用于以帧为单位,依次向云端上传每一帧raw图对应的码流包。27.第三方面,本技术实施例提供一种电子设备,包括:处理器,用于存储处理器可执行指令的存储器;处理器被配置为执行所述指令时,使得电子设备实现如第一方面所述的图像处理方法。28.该电子设备可以是手机、平板电脑、可穿戴设备、车载设备、ar/vr设备、笔记本电脑、超级移动个人计算机、上网本、个人数字助理等移动终端,或者,也可以是数码相机、单反相机/微单相机、运动摄像机、云台相机、无人机等专业的拍摄设备。29.第四方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序指令;当计算机程序指令被电子设备执行时,使得电子设备实现如第一方面所述的图像处理方法。30.第五方面,本技术实施例还提供一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码在电子设备中运行时,使得电子设备实现前述第一方面所述的图像处理方法。31.上述第二方面至第五方面所具备的有益效果,可参考第一方面中所述,在此不再赘述。32.第六方面,本技术实施例还提供一种图像处理方法,所述方法包括:云端接收来自终端设备的当前拍照场景对应的raw图的编码码流。云端对当前拍照场景对应的raw图的编码码流进行解码,得到当前拍照场景对应的重建raw图。云端对当前拍照场景对应的重建raw图进行处理,生成当前拍照场景对应的第一格式的图像,并向终端设备发送第一格式的图像。33.可选地,所述云端对当前拍照场景对应的raw图的编码码流进行解码,得到当前拍照场景对应的重建raw图,包括:云端对当前拍照场景对应的raw图的编码码流进行熵解码,得到当前拍照场景对应的raw图的量化后的压缩特征;云端对当前拍照场景对应的raw图的量化后压缩特征进行反量化,得到当前拍照场景对应的raw图的压缩特征;云端对当前拍照场景对应的raw图的压缩特征进行解压,得到当前拍照场景对应的重建raw图。34.可选地,当前拍照场景对应的raw图包括多帧;所述云端对当前拍照场景对应的raw图的压缩特征进行解压,得到当前拍照场景对应的重建raw图,包括:云端对多帧所述raw图的压缩特征进行解压,得到多帧raw图中的参考帧对应的重建raw图、以及其他帧对应的残差图;云端根据当前拍照场景的类型,确定多帧raw图之间的帧间相关性;云端根据参考帧对应的重建raw图、其他帧对应的残差图、以及多帧raw图之间的帧间相关性,对多帧raw图进行重建,得到与多帧raw图一一对应的多帧重建raw图。35.可选地,多帧raw图的编码码流中还包括多帧raw图的元数据信息;所述云端根据当前拍照场景的类型,确定多帧raw图之间的帧间相关性之前,所述方法还包括:云端根据多帧raw图的元数据信息,确定当前拍照场景的类型。36.可选地,当前拍照场景对应的raw图的编码码流是终端设备采用分布式信源编码的方式对当前拍照场景对应的raw图进行信道编码得到的;当当前拍照场景对应的raw图包括多帧时,当前拍照场景对应的raw图的编码码流包括与多帧raw图一一对应的多组码流包;当当前拍照场景对应的raw图包括一帧时,当前拍照场景对应的raw图的编码码流包括与一帧raw图对应的一组码流包;每组码流包中包括多个码流包,每个码流包至少包括纠错码、以及码流包对应的一帧raw图的元数据信息。所述云端对当前拍照场景对应的raw图的编码码流进行解码,得到当前拍照场景对应的重建raw图,包括:当当前拍照场景对应的raw图包括一帧时,云端根据初始预测值采用帧内预测的方式对接收到的一帧raw图对应的码流包进行解码,得到一帧raw图对应的重建raw图。当当前拍照场景对应的raw图包括多帧时,云端根据初始预测值采用帧内预测的方式对接收到的第一帧raw图对应的码流包进行解码,得到第一帧raw图对应的重建raw图;云端根据已经解码得到的重建raw图中的至少一帧、以及多帧raw图之间的帧间相关性,对接收到的第一帧raw图之后的每一帧raw图对应的码流包进行解码,得到第一帧raw图之后的每一帧raw图对应的重建raw图。37.可选地,当当前拍照场景对应的重建raw图包括多帧时,所述云端对当前拍照场景对应的重建raw图进行处理,生成当前拍照场景对应的第一格式的图像,包括:云端将多帧重建raw图在raw域融合为一帧重建raw图;云端将融合后的一帧重建raw图由raw域转换至yuv域,得到得到一帧重建raw图对应的yuv图;云端将一帧重建raw图对应的yuv图编码为第一格式,得到当前拍照场景对应的第一格式的图像。38.可选地,当当前拍照场景对应的重建raw图包括多帧时,云端对当前拍照场景对应的重建raw图进行处理,生成当前拍照场景对应的第一格式的图像,包括:云端将多帧重建raw图由raw域转换至yuv域,得到与多帧重建raw图一一对应的多帧yuv图;云端将与多帧重建raw图一一对应的多帧yuv图在yuv域融合为一帧yuv图;云端将融合后的一帧yuv图编码为第一格式,得到当前拍照场景对应的第一格式的图像。39.第六方面中所述的图像处理方法与前述第一方面所述的图像处理方法相对应,因此,具有与前述第六方面相同的有益效果,不再赘述。40.第七方面,本技术实施例提供一种图像处理装置,该装置可以用于实现上述第六方面所述的方法。该装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元,例如,接收模块、解码模块、处理模块、发送模块等。41.其中,接收模块,用于接收来自终端设备的当前拍照场景对应的raw图的编码码流;解码模块,用于对当前拍照场景对应的raw图的编码码流进行解码,得到当前拍照场景对应的重建raw图;处理模块,用于对当前拍照场景对应的重建raw图进行处理,生成当前拍照场景对应的第一格式的图像;发送模块,用于向终端设备发送第一格式的图像。42.例如,处理模块可以包括raw域后处理模块、isp模块、yuv域后处理模块、第一格式编码器等。43.可选地,所述解码模块,具体用于对当前拍照场景对应的raw图的编码码流进行熵解码,得到当前拍照场景对应的raw图的量化后的压缩特征;对当前拍照场景对应的raw图的量化后压缩特征进行反量化,得到当前拍照场景对应的raw图的压缩特征;对当前拍照场景对应的raw图的压缩特征进行解压,得到当前拍照场景对应的重建raw图。44.可选地,当前拍照场景对应的raw图包括多帧;所述解码模块,具体用于对多帧raw图的压缩特征进行解压,得到多帧raw图中的参考帧对应的重建raw图、以及其他帧对应的残差图;根据当前拍照场景的类型,确定多帧raw图之间的帧间相关性;根据参考帧对应的重建raw图、其他帧对应的残差图、以及多帧raw图之间的帧间相关性,对多帧raw图进行重建,得到与多帧raw图一一对应的多帧重建raw图。45.可选地,多帧raw图的编码码流中还包括多帧raw图的元数据信息;所述解码模块,还用于根据多帧raw图的元数据信息,确定当前拍照场景的类型。46.可选地,当前拍照场景对应的raw图的编码码流是终端设备采用分布式信源编码的方式对当前拍照场景对应的raw图进行信道编码得到的;当当前拍照场景对应的raw图包括多帧时,当前拍照场景对应的raw图的编码码流包括与多帧raw图一一对应的多组码流包;当当前拍照场景对应的raw图包括一帧时,当前拍照场景对应的raw图的编码码流包括与一帧raw图对应的一组码流包;每组码流包中包括多个码流包,每个码流包至少包括纠错码、以及码流包对应的一帧raw图的元数据信息。当当前拍照场景对应的raw图包括一帧时,所述解码模块,具体用于根据初始预测值采用帧内预测的方式对接收到的一帧raw图对应的码流包进行解码,得到一帧raw图对应的重建raw图。当当前拍照场景对应的raw图包括多帧时,所述解码模块,具体用于根据初始预测值采用帧内预测的方式对接收到的第一帧raw图对应的码流包进行解码,得到第一帧raw图对应的重建raw图;根据已经解码得到的重建raw图中的至少一帧、以及多帧raw图之间的帧间相关性,对接收到的第一帧raw图之后的每一帧raw图对应的码流包进行解码,得到第一帧raw图之后的每一帧raw图对应的重建raw图。47.可选地,当当前拍照场景对应的重建raw图包括多帧时,所述处理模块,具体用于将多帧重建raw图在raw域融合为一帧重建raw图;将融合后的一帧重建raw图由raw域转换至yuv域,得到得到一帧重建raw图对应的yuv图;将一帧重建raw图对应的yuv图编码为第一格式,得到当前拍照场景对应的第一格式的图像。48.可选地,当当前拍照场景对应的重建raw图包括多帧时,所述处理模块,具体用于将多帧重建raw图由raw域转换至yuv域,得到与多帧重建raw图一一对应的多帧yuv图;将与多帧重建raw图一一对应的多帧yuv图在yuv域融合为一帧yuv图;将融合后的一帧yuv图编码为第一格式,得到当前拍照场景对应的第一格式的图像。49.第八方面,本技术实施例提供一种电子设备,包括:处理器,用于存储处理器可执行指令的存储器;处理器被配置为执行所述指令时,使得电子设备实现如第六方面所述的图像处理方法。50.该电子设备可以是云端服务器、服务器集群、云平台等。51.第九方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序指令;当计算机程序指令被电子设备执行时,使得电子设备实现如第六方面所述的图像处理方法。52.第十方面,本技术实施例还提供一种计算机程序产品,包括计算机可读代码,当所述计算机可读代码在电子设备中运行时,使得电子设备实现前述第六方面所述的图像处理方法。53.上述第七方面至第十方面所具备的有益效果,可参考第六方面中所述,在此不再赘述。54.应当理解的是,本技术中对技术特征、技术方案、有益效果或类似语言的描述并不是暗示在任意的单个实施例中可以实现所有的特点和优点。相反,可以理解的是对于特征或有益效果的描述意味着在至少一个实施例中包括特定的技术特征、技术方案或有益效果。因此,本说明书中对于技术特征、技术方案或有益效果的描述并不一定是指相同的实施例。进而,还可以任何适当的方式组合本实施例中所描述的技术特征、技术方案和有益效果。本领域技术人员将会理解,无需特定实施例的一个或多个特定的技术特征、技术方案或有益效果即可实现实施例。在其他实施例中,还可在没有体现所有实施例的特定实施例中识别出额外的技术特征和有益效果。附图说明55.图1示出了一种拍照原理的示意图;56.图2示出了本技术实施例提供的端云协同系统的结构示意图;57.图3示出了本技术实施例提供的终端设备的结构示意图;58.图4示出了本技术实施例提供的手机与云端的交互示意图;59.图5示出了本技术实施例提供的拍照界面的示意图;60.图6示出了本技术实施例提供的拍照界面的另一示意图;61.图7示出了本技术实施例提供的拍照界面的又一示意图;62.图8示出了本技术实施例提供的拍照界面的又一示意图;63.图9示出了本技术实施例提供的编码模块的示意图;64.图10示出了本技术实施例提供的解码模块的示意图;65.图11示出了一种raw图的rggb格式排布示意图;66.图12示出了本技术实施例提供的编码模块的另一示意图;67.图13示出了本技术实施例提供的解码模块的另一示意图;68.图14示出了本技术实施例提供的解码模块的处理流程示意图;69.图15示出了本技术实施例提供的一种图像处理装置的结构示意图;70.图16示出了本技术实施例提供的另一种图像处理装置的结构示意图。具体实施方式71.本技术实施例可以适用于具有拍照功能的终端设备进行拍照的场景。72.可选地,终端设备可以是手机、平板电脑、可穿戴设备、车载设备、增强现实(augmentedreality,ar)/虚拟现实(virtualreality,vr)设备、笔记本电脑、超级移动个人计算机(ultra-mobilepersonalcomputer,umpc)、上网本、个人数字助理(personaldigitalassistant,pda)等移动终端,或者,也可以是数码相机、单反相机/微单相机、运动摄像机、云台相机、无人机等专业的拍摄设备,本技术实施例对终端设备的具体类型不作限制。73.以终端设备为手机为例,图1示出了一种拍照原理的示意图。如图1所示,一般而言,手机的相机模块110(或称为相机模组)包括镜头(lens)111和传感器(sensor)112。手机在进行拍照时,相机模块110的镜头111可以获取拍摄场景中拍摄对象对应的光信号。相机模块110的sensor112可以将通过镜头111的光信号转换为电信号,再对电信号进行模数(analogue-to-digital,a/d)转换,输出对应的数字信号给中间处理模块120。sensor112输出给中间处理模块120的数字信号即为相机模块110拍摄的原始图像,可称为raw图或数字底片。中间处理模块120可以对接收到的raw图进行一系列处理,最终得到可用于显示的图像,如:jpeg图像。该jpeg图像可以被传输给手机的显示屏130进行显示,和/或,传输给手机的存储器140进行存储。74.请继续参考图1所示,其中,中间处理模块120对raw图进行处理,生成jpeg图像的过程可以包括:对raw图进行图像信号处理(imagesignalprocessing,isp),将图像从raw域转换到yuv域,yuv域的图像可称为yuv图;然后,采用yuv域后处理算法对yuv图进行处理;最后,采用jpeg编码方式对完成yuv域处理后的yuv图进行编码,得到jpeg图像。75.示例性地,isp处理中可以包括:坏点矫正(badpixelcorrection,dpc)、raw域降噪、黑电平矫正(blacklevelcorrection,blc)、镜头亮度矫正(lensshadingcorrection,lsc)、自动白平衡(autowhitebalance,awb)、去马赛克(demosica)颜色插值、色彩校正(colorcorrectionmatrix,ccm)、动态范围压缩(dynamicrangecompression,drc)、伽玛(gamma)、3d查找表(lookuptable,lut)、yuv域降噪、锐化(sharpen)、增强细节(detailenhance)等。76.yuv域后处理算法可以包括:高动态范围图像(high-dynamicrange,hdr)的多帧配准、融合、降噪,以及提升清晰度的超分辨率(superresolution,sr)算法、美肤算法、畸变校正算法、虚化算法等。77.在上述中间处理模块120对raw图进行处理生成jpeg图像的过程中,通过将yuv域的一些图像处理算法迁移至raw域进行,可以达到更好的图像处理效果。例如,可以将hdr的多帧配准、融合、降噪等图像处理算法由yuv域迁移至raw域进行。在raw域进行图像处理的好处可以包括:raw图比yuv图含有更高的比特位信息;raw图未经过isp处理,不会对颜色、细节等信息造成破坏等。78.但是,相比于yuv域的图像处理而言,raw域的图像处理的数据量要更大,对算法性能、内存等要求会更高。而终端设备的计算资源和内存资源是有限的,因此,通过将yuv域的一些图像处理算法迁移至raw域进行的方式,在终端设备中会受到一定约束,容易导致处理效果受限的问题。例如,可能需要对一些图像处理算法根据终端设备的算力进行裁剪适配,从而导致图像处理算法的处理结果并不理想。79.基于此,本技术实施例提供一种图像处理方法,该方法中,终端设备可以将采集到的需要处理的raw图上传到云端。云端可以充分利用大数据资源和计算资源,对raw图进行raw域图像处理、isp处理、以及yuv域处理,得到最终的第一格式的图像,并回传给终端设备。80.其中,第一格式可以包括jpeg格式、高效率图像文件格式(highefficiencyimagefileformat,heif)等,本技术对第一格式不作限制。81.通过该图像处理方法可以避免将yuv域的一些图像处理算法迁移至raw域进行时,在终端设备中会受到一定约束而导致处理效果受限的问题;可以充分利用云端的大数据资源和计算资源,对raw图进行raw域图像处理、isp处理、以及yuv域处理,以达到更好的图像处理效果。82.以下结合附图对本技术实施例进行具体说明。83.需要说明的是,在本技术的描述中,“至少一个”是指一个或多个,“多个”是指两个或两个以上。类似地,“多帧”是指两帧或两帧以上。“第一”、“第二”等字样仅仅是为了区分描述,并不用于对某个特征的特别限定。“和/或”用于描述关联对象的关联关系,表示可以存在三种关系。例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。84.本技术实施例提供的图像处理方法可以应用于由终端设备和云端组成的端云协同系统。端云协同的“端”指终端设备,“云”指云端,云端也可称为云服务器或云平台。例如,图2示出了本技术实施例提供的端云协同系统的结构示意图,如图2所示,该端云协同系统可以包括:终端设备210和云端220,终端设备210可以通过无线网络与云端220连接。85.在一个实施例中,云端220可以是计算机服务器、或者多个服务器组成的服务器集群,本技术对云端220的实现架构不作限制。终端设备210的具体形态可以参考前述实施例中所述,不再赘述。86.可选地,图2中示例性给出了一个终端设备210。但应当理解,该端云协同系统中的终端设备210可以包括一个或多个,多个终端设备210可以相同,也可以不相同,在此不作限制。本技术实施例提供的图像处理方法是针对每个终端设备210与云端220之间进行交互实现图像处理的过程。87.示例性地,以终端设备为手机为例,图3示出了本技术实施例提供的终端设备的结构示意图。如图3所示,手机可以包括处理器310,外部存储器接口320,内部存储器321,通用串行总线(universalserialbus,usb)接口330,充电管理模块340,电源管理模块341,电池342,天线1,天线2,移动通信模块350,无线通信模块360,音频模块370,扬声器370a,受话器370b,麦克风370c,耳机接口370d,传感器模块380,按键390,马达391,指示器392,摄像头393,显示屏394,以及用户标识模块(subscriberidentificationmodule,sim)卡接口395等。88.处理器310可以包括一个或多个处理单元,例如:处理器310可以包括应用处理器(applicationprocessor,ap),调制解调处理器,图形处理器(graphicsprocessingunit,gpu),图像信号处理器(imagesignalprocessor,isp),控制器,存储器,视频编解码器,数字信号处理器(digitalsignalprocessor,dsp),基带处理器,和/或神经网络处理器(neural-networkprocessingunit,npu)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。89.其中,控制器可以是手机的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。90.处理器310中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器310中的存储器为高速缓冲存储器。该存储器可以保存处理器310刚用过或循环使用的指令或数据。如果处理器310需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器310的等待时间,因而提高了系统的效率。91.在一些实施例中,处理器310可以包括一个或多个接口。接口可以包括集成电路(inter-integratedcircuit,i2c)接口,集成电路内置音频(inter-integratedcircuitsound,i2s)接口,脉冲编码调制(pulsecodemodulation,pcm)接口,通用异步收发传输器(universalasynchronousreceiver/transmitter,uart)接口,移动产业处理器接口(mobileindustryprocessorinterface,mipi),通用输入输出(general-purposeinput/output,gpio)接口,sim接口,和/或usb接口等。diode,oled),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganiclightemittingdiode,amoled),柔性发光二极管(flexlight-emittingdiode,fled),miniled,microled,micro-oled,量子点发光二极管(quantumdotlightemittingdiodes,qled)等。在一些实施例中,手机可以包括1个或n个显示屏394,n为大于1的正整数。例如,显示屏394可以用于显示拍照界面,照片播放界面等。102.手机通过gpu,显示屏394,以及应用处理器等实现显示功能。gpu为图像处理的微处理器,连接显示屏394和应用处理器。gpu用于执行数学和几何计算,用于图形渲染。处理器310可包括一个或多个gpu,其执行程序指令以生成或改变显示信息。103.可以理解的是,图3所示的结构并不构成对手机的具体限定。在一些实施例中,手机也可以包括比图3所示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置等。又或者,图3所示的一些部件可以以硬件,软件或软件和硬件的组合实现。104.另外,当终端设备是其他平板电脑、可穿戴设备、车载设备、ar/vr设备、笔记本电脑、umpc、上网本、pda等移动终端,或者,数码相机、单反相机/微单相机、运动摄像机、云台相机、无人机等专业的拍摄设备时,这些其他终端设备的具体结构也可以参考图3所示。示例性地,其他终端设备可以是在图3给出的结构的基础上增加或减少了组件,在此不再一一赘述。105.还应当理解的是,终端设备(如手机)中可以运行有一个或多个拍照应用程序,以便通过运行拍照应用程序,实现拍摄的功能。例如,该拍照应用程序可以包括系统级应用“相机”应用。又如,该拍照应用还可以包括其他安装在终端设备中的能够用于拍摄的应用程序。106.下面以终端设备为手机为例,结合上述图2所示的端云协同系统,对手机在拍照时采集raw图、以及将采集到的需要处理的raw图上传到云端进行图像处理的过程进行示例性说明。应当理解,下述实施例给出的图像处理过程,同样适用于其他具有拍照功能的终端设备与云端交互的场景。107.图4示出了本技术实施例提供的手机与云端的交互示意图。其中,端侧表示手机侧,云侧表示云端侧。如图4所示,本技术实施例中,手机至少可以包括相机模块和编码模块。当用户使用手机进行拍照时,手机可以通过相机模块采集raw图。然后,手机可以通过编码模块对相机模块采集的raw图进行编码得到raw图对应的编码码流,并将raw图对应的编码码流上传给云端。108.云端至少可以包括解码模块、raw域后处理模块、isp模块、yuv域后处理模块、以及第一格式编码器。云端可以通过解码模块对来自手机的raw图对应的编码码流进行解码,得到重建raw图。通过raw域后处理模块、isp模块、以及yuv域后处理模块可以对重建raw图依次进行raw域图像处理、isp处理、以及yuv域图像处理,yuv域后处理模块会输出一帧yuv图。通过第一格式编码器可以对yuv域后处理模块输出的yuv图进行第一格式的编码,最终得到第一格式的图像(如:jpeg图像)。然后,云端可以将第一格式的图像回传给手机。从而,手机可以将第一格式的图像保存在图库中或呈现给用户。109.示例性地,用户在使用手机进行拍照之前,可以先启动手机的拍照应用程序。如:用户可以点击或触摸手机上的相机的图标,手机可以响应于用户对相机的图标的点击或触摸操作,启动运行相机(或者,用户还可以通过语音助手启动相机,不作限制)。手机在启动运行拍照应用程序后,会为用户呈现拍照界面,同时,手机还会获取当前拍照场景对应的预览画面,并显示在拍照界面中。例如,图5示出了本技术实施例提供的拍照界面的示意图。如图5所示,当手机的拍照应用程序启动时,手机为用户呈现的拍照界面至少可以包括:预览画面、拍照按键。110.其中,预览画面的获取过程与前述图1所示拍照原理类似,如:手机可以通过相机模块采集当前拍照场景对应的raw图。然后,手机的isp模块、yuv域后处理模块等(图4中未再示出手机的isp模块、yuv域后处理模块等结构)可以对raw图进行处理,得到可在拍照界面显示的预览画面。可选地,相对于拍照过程而言,手机在获取预览画面的过程中,对raw图的处理较为简单,如:可以只对raw图进行一些简单的isp处理得到yuv图,然后,将yuv图直接转换为rgb格式的预览画面显示在拍照界面中,并不需要对yuv图进行jepg编码。111.可以理解的,图5所示的拍照界面中,拍照按键的实质可以为拍照界面中显示的一个功能控件。当用户使用手机进行拍照时,可以点击或触摸该功能控件,手机可以响应于用户对拍照按键的功能控件的点击或触摸操作,通过相机模块采集raw图。或者,其他一些实施方式中,拍照按键的功能也可以通过手机上的其他物理按键实现,不作限制。112.可选地,本技术实施例中,手机还具有场景检测的功能,手机通过相机模块采集raw图可以是:手机先利用场景检测功能检测当前拍照场景,并根据对当前拍照场景的检测确认相机模块中sensor的出图要求;然后,手机根据sensor的出图要求,通过相机模块采集raw图。113.例如,当用户打开手机的拍照应用程序进行拍照的过程中,手机检测到当前拍照场景为高动态场景(即,hdr场景)时,可以确认sensor需要输出多帧不同曝光值(exposurevalue,ev)的raw图,以进行多帧融合生成高动态图。然后,手机可以根据前述基于场景检测确定出的sensor的出图要求,通过相机模块采集多帧不同ev值的raw图。其中,手机可以为相机模块配置不同曝光、不同感光度(感光度可以用iso值表示)以达到每帧raw图对应的ev值要求。也即,hdr场景中,sensor需要输出不同曝光、不同iso的多帧raw图。114.又例如,当用户打开手机的拍照应用程序进行拍照的过程中,手机检测到当前拍照场景为低亮场景时,可以确认sensor需要输出不同曝光、不同iso的多帧图像,以进行多帧融合去噪。然后,手机也可以根据前述基于场景检测确定出的sensor的出图要求,通过相机模块采集不同曝光、不同iso的多帧raw图。115.又例如,当用户打开手机的拍照应用程序进行拍照的过程中,手机检测到当前拍照场景为景深不足场景时,可以确认sensor需要输出不同对焦距离下的多帧图像,以进行多帧融合扩展景深(extenddepthoffield,edof)。然后,手机可以根据前述基于场景检测确定出的sensor的出图要求,通过相机模块采集不同对焦距离下的多帧raw图。116.可以理解的,前述对手机检测当前拍照场景,并根据对当前拍照场景的检测确认相机模块中sensor的出图要求的说明,均为示例性说明,本技术实施例对此不作限制。117.示例性地,请继续参考图4所示,手机的场景检测功能可以通过在手机中部署一个场景检测模块来实现。可选地,场景检测模块可以是手机中的一个程序模块(或算法单元)。118.在一些实施例中,场景检测模块可以检测用户在拍照应用程序中选择的拍照场景作为当前拍照场景。例如,图6示出了本技术实施例提供的拍照界面的另一示意图。如图6所示,当用户打开手机的拍照应用程序后,手机可以提供图6中所示的拍照界面,拍照界面中会显示当前拍照场景对应的预览画面,预览画面是相机模块实时采集(采集过程参考前述实施例所述)到的当前拍照场景的画面。另外,拍照界面中还包括至少一个场景对应的功能控件,如图6中所示的功能控件hdr。当用户在前述图6所示的拍照界面中对功能控件hdr进行点击或触摸时,手机的场景检测模块可以检测到用户对功能控件hdr的点击或触摸操作,并响应于该点击操作确定当前拍照场景为hdr场景,确认sensor需要输出不同曝光、不同感光度的多帧图像,以进行多帧融合生成高动态图。然后,当用户点击或触摸拍照按键的功能控件时,手机可以响应于用户对拍照按键的功能控件的点击或触摸操作,根据sensor需要输出不同曝光、不同感光度的多帧图像的出图要求,通过相机模块采集不同曝光、不同iso的多帧raw图。119.在另外一些实施例中,场景检测模块也可以是根据手机的传感器数据和/或相机模块采集的预览画面确定当前拍照场景。例如,手机在启动运行拍照应用程序后,场景检测模块可以根据环境光传感器采集的数据和/或根据相机模块采集的预览画面确定当前拍照场景为低亮场景,并确定sensor需要输出不同曝光、不同iso的多帧图像,以进行多帧融合去噪。然后,当用户点击或触摸拍照按键的功能控件(拍照按键可以参考图5/6所示)时,手机可以响应于用户对拍照按键的功能控件的点击或触摸操作,根据sensor需要输出不同曝光、不同感光度的多帧图像的出图要求,通过相机模块采集不同曝光、不同iso的多帧raw图。120.又例如,手机在启动运行拍照应用程序后,场景检测模块可以根据相机模块采集的预览画面中过曝区域和/或欠曝区域的占比,判断当前拍照场景是否为hdr场景。如:过曝区域的占比大于某个阈值,则确定当前拍照场景为hdr场景,示例性地,该阈值可以是60%、70%等,此处不作限制。当场景检测模块确定当前拍照场景为hdr场景时,可以确认sensor需要输出不同曝光、不同感光度的多帧图像,以进行多帧融合生成高动态图。然后,当用户点击或触摸拍照按键的功能控件时,手机可以响应于用户对拍照按键的功能控件的点击或触摸操作,根据sensor需要输出不同曝光、不同感光度的多帧图像的出图要求,通过相机模块采集不同曝光、不同iso的多帧raw图。本技术在此对场景检测模块的具体实现不作限制。121.可选地,如果场景检测模块检测到当前拍照场景为普通场景(即,不是上述hdr、低亮、景深不足等特别的场景),则可以确认sensor需要输出一帧图像。然后,当用户使用手机进行拍照时,手机可以根据前述sensor的出图要求,通过相机模块采集一帧raw图。122.由上可知,从整体来看,本技术实施例中,手机通过相机模块采集raw图可以包括采集一帧raw图和采集多帧raw图两种场景。123.一些实施例中,手机通过编码模块对相机模块采集的raw图进行编码得到raw图对应的编码码流,并将raw图对应的编码码流上传给云端可以是指:不论相机模块采集一帧raw图,还是采集多帧raw图,手机都对相机模块采集的raw图进行编码得到raw图对应的编码码流,并将raw图对应的编码码流上传给云端。124.也即,本实施例中,不论相机模块采集一帧raw图,还是采集多帧raw图,手机都会将相机模块采集的raw图上传到云端进行处理。125.另外一些实施例中,手机通过编码模块对相机模块采集的raw图进行编码得到raw图对应的编码码流,并将raw图对应的编码码流上传给云端也可以是指:如果相机模块采集多帧raw图,则手机通过编码模块对相机模块采集的多帧raw图进行编码得到多帧raw图对应的编码码流,并将多帧raw图对应的编码码流上传给云端。而如果相机模块采集一帧raw图,则手机直接通过本地(即手机侧)的isp模块、yuv域后处理模块对该帧raw图依次进行isp处理、以及yuv域图像处理,yuv域后处理模块会输出一帧yuv图。然后,手机可以通过本地的第一格式编码器对yuv域后处理模块输出的yuv图进行第一格式的编码,最终得到第一格式的图像(如:jpeg图像)。从而,手机可以将第一格式的图像保存在图库中或呈现给用户。具体地,一帧raw图的处理过程,可以参考前述图1所示的过程,不再详细赘述。126.也即,本实施例中,手机可以结合相机模块采集的raw图对应的拍照场景自动判断是否需要将相机模块采集的raw图上传到云端进行处理。只有在相机模块采集多帧raw图时,手机才将相机模块采集到的raw图上传到云端进行处理。127.还有一些实施例中,手机还可以具有供用户选择是否将相机模块采集到的raw图上传到云端进行处理的功能。例如,当手机启动运行拍照应用程序后,也可以在拍照界面为用户提供一个可选择是否将相机模块采集到的raw图上传到云端进行处理的功能控件,用户可以通过对该功能控件进行操作,以主动选择是否将相机模块采集到的raw图上传到云端进行处理。手机可以根据用户的选择,确定是否将相机模块采集到的raw图上传到云端进行处理。128.示例性地,图7示出了本技术实施例提供的拍照界面的又一示意图。如图7所示,一种实施方式中,手机启动运行拍照应用程序时,手机提供的拍照界面中还可以弹出如图7所示的提示信息:“是否上传到云端进行处理?”,同时,拍照界面中提示信息下面的区域还会显示两个功能控件:“是”和“否”。当用户点击或触摸功能控件“是”时,手机可以响应于用户对功能控件“是”的点击或触摸操作,确定需要将相机模块采集到的raw图上传到云端进行处理。从而,手机在后续拍照过程中响应于用户对拍照按键的功能控件的点击或触摸操作通过相机模块采集到raw图后,会通过编码模块对相机模块采集的raw图进行编码得到raw图对应的编码码流,并将raw图对应的编码码流上传给云端。当用户点击或触摸功能控件“否”时,手机可以响应于用户对功能控件“否”的点击或触摸操作,确定不需要将相机模块采集到的raw图上传到云端进行处理。从而,手机在后续拍照过程中响应于用户对拍照按键的功能控件的点击或触摸操作通过相机模块采集到raw图后,会直接在本地(即手机侧)进行对相机模块采集的raw图进行处理,具体处理过程也可以参考前述图1所示。129.可选地,图7中所示的提示信息、以及功能控件“是”和“否”仅在手机每次启动运行拍照应用程序时才会显示,以供用户进行选择。当用户在选择“是”或“否”后,拍摄界面中的提示信息以及功能控件“是”和“否”会消失,用户可以继续使用手机进行拍照。或者,如果用户在一定时长(如3秒、5秒、8秒等)内未做任何选择,则手机可以默认选择为“是”或“否”,并不再显示提示信息、以及功能控件“是”和“否”。130.可选地,图7中所示的提示信息、以及功能控件“是”和“否”仅为示例性说明。其他实施方式中,提示信息也可以是“是否上传到云端进行处理以得到更优的图像质量?”、“是否结合云端进行拍照?”等;功能控件“是”也可以被替换为“确定”、功能控件“否”也可以被替换为“取消”等,本技术在此均不作限制。另外,本技术对提示信息以及功能控件“是”和“否”在拍摄界面中的显示区域也不作限制。131.示例性地,图8示出了本技术实施例提供的拍照界面的又一示意图。如图8所示,另一种实施方式中,手机启动运行拍照应用程序时,手机提供的拍照界面中在预览画面底部还可以显示两个功能控件:“手机处理模式”和“云端处理模式”。用户在点击或触摸拍照按键的功能控件进行拍照前,可以先点击或触摸功能控件:“手机处理模式”或“云端处理模式”进行选择。当用户点击或触摸功能控件“云端处理模式”时,手机可以响应于用户对功能控件“云端处理模式”的点击或触摸操作,确定需要将相机模块采集到的raw图上传到云端进行处理。从而,手机在后续拍照过程中响应于用户对拍照按键的功能控件的点击或触摸操作通过相机模块采集到raw图后,会通过编码模块对相机模块采集的raw图进行编码得到raw图对应的编码码流,并将raw图对应的编码码流上传给云端。当用户点击或触摸功能控件“手机处理模式”时,手机可以响应于用户对功能控件“手机处理模式”的点击或触摸操作,确定不需要将相机模块采集到的raw图上传到云端进行处理。从而,手机在后续拍照过程中响应于用户对拍照按键的功能控件的点击或触摸操作通过相机模块采集到raw图后,会直接在本地(即手机侧)进行对相机模块采集的raw图进行处理,具体处理过程也可以参考前述图1所示。132.可选地,图8中所示的功能控件“手机处理模式”和“云端处理模式”可以仅在手机每次启动运行拍照应用程序时显示以供用户进行选择,如果用户在一定时长(如3秒、5秒、8秒等)内未做任何选择,则手机可以默认选择为“手机处理模式”或“云端处理模式”,并不再显示功能控件“手机处理模式”和“云端处理模式”。133.或者,图8中所示的功能控件“手机处理模式”和“云端处理模式”也可以在拍照界面中一直显示供用户进行选择,此处不作限制。同样的,功能控件“手机处理模式”和“云端处理模式”一直显示的场景中,如果用户在一定时长内未做任何选择,则手机也可以默认选择为“手机处理模式”或“云端处理模式”。在该场景中,如果用户已经选择了“手机处理模式”,后续还可以重新选择“云端处理模式”以进行切换。类似地,也可以从“云端处理模式”切换至“手机处理模式”。134.另外,图8中所示的功能控件“手机处理模式”和“云端处理模式”也仅为示例性说明。例如,其他实施方式中,“手机处理模式”也可以被替换为“本地模式”,“云端处理模式”也可以被替换为“云端模式”等,本技术在此均不作限制。同样的,本技术对功能控件“手机处理模式”和“云端处理模式”在拍摄界面中的显示区域也不作限制。135.还有一些实施例中,前述实施例中所述的手机是否将相机模块采集的raw图上传到云端进行处理的判断条件也可以部分结合在一起。例如,首先,可以如前述图7/8所示,手机可以响应于用户的主动选择操作,确定是否需要将相机模块采集的raw图上传到云端进行处理。手机确定需要将相机模块采集的raw图上传到云端进行处理后,在后续拍照过程中,手机可以进一步根据相机模块采集raw图的场景,只在相机模块采集多帧raw图时,将相机模块采集到的raw图上传到云端进行处理;如果相机模块采集一帧raw图,则在手机本地进行处理。如果手机响应于用户的主动选择操作,确定不需要将相机模块采集的raw图上传到云端进行处理,则后续拍照过程中,不论相机模块采集多帧raw图还是一帧raw图,均在手机本地进行处理。136.本技术实施例中,前述用户选择将raw图上传至云端进行处理的操作均可以称为第一选择操作。如:用户选择图7中所述的功能控件“是”的操作、选择图8中所示的“云端处理模式”的操作等。137.下面以相机模块的sensor输出多帧raw图为例,对手机通过编码模块对相机模块采集的多帧raw图进行编码的过程、以及云端通过解码模块对raw图对应的编码码流进行解码的过程进行示例性说明。可以理解的,相机模块的sensor输出一帧raw图时,手机通过编码模块对相机模块采集的一帧raw图进行编码的过程、以及云端通过解码模块对raw图对应的编码码流进行解码的过程可以参考sensor输出多帧raw图时每一帧raw图的处理过程,不再赘述。138.图9示出了本技术实施例提供的编码模块的示意图。如图9所示,在一种可能的设计中,手机的编码模块中包括人工智能(artificialintelligence,ai)编码网络、量化模块和熵编码模块。当相机模块采集到多帧raw图后,可以先将多帧raw图输入ai编码网络,ai编码网络可以对多帧raw图进行ai编码,输出多帧raw图对应的压缩特征给量化模块。量化模块可以对多帧raw图对应的压缩特征进行量化,如:可以将多帧raw对应的压缩特征中的浮点数转化为二进制数或整数。熵编码模块可以对量化模块量化后的多帧raw图对应的压缩特征进行熵编码,最终得到多帧raw图对应的编码码流。也即,编码模块的输出为多帧raw图对应的码流。139.示例性地,熵编码模块的编码方式可以包括:香农(shannon)编码、哈尔曼(huffman)编码、算术编码(arithmeticcoding)等,在此不作限制。140.图10示出了本技术实施例提供的解码模块的示意图。如图10所示,与手机的编码模块对应,本设计中,云端的解码模块包括熵解码模块、反量化模块和ai解码网络。云端接收到来自手机的多帧raw图对应的编码码流后,可以先将多帧raw图对应的编码码流输入熵解码模块,熵解码模块可以采用与手机的熵编码模块相反的方式对多帧raw图对应的编码码流进行熵解码,得到量化后的多帧raw图对应的压缩特征并输出给反量化模块。反量化模块可以采用与手机的量化模块相反的方式对熵解码模块输出的量化后的多帧raw图对应的压缩特征进行反量化,得到多帧raw图对应的压缩特征并输出给ai解码网络。ai解码网络可以对多帧raw图对应的压缩特征进行ai解码,输出多帧raw图一一对应的重建raw图。141.示例性地,上述ai编码网络和ai解码网络可以是卷积神经网络(convolutionalneuralnetwork,cnn)、循环神经网络(recurrentneuralnetwork,rnn)等,在此不作限制。142.可选地,相机模块的sensor出raw图的格式可以有多种,如:拜耳阵列(bayerpattern)、foveonx3、富士x-e3等。下面以rggb的bayerpattern格式为例,对本设计中,ai编码网络对多帧raw图进行ai编码的过程进行举例说明。143.图11示出了一种raw图的rggb格式排布示意图,相机模块的sensor输出的每一帧raw图的rggb格式的具体排布可以参考图11所示。其中,r表示红色(red)分量、g表示绿色(green)分量和b表示蓝色(blue)分量。示例性地,图11中用不同的填充图案表示每个像素点包括的r分量、g分量或者b分量的信息。144.对于上述图11所示的按照rggb格式排布的raw图而言,ai编码网络可以将每帧raw图中的r、g、g、b四个分量对应的位置分别抽取出来形成新的全部为r分量、全部为左上角g分量、全部为b分量、全部为右下角g分量的四个子图,从而可以学习到各个分量之间的图像内部的帧内相关性(或称为空间相关性),基于各个分量之间的图像内部的帧内相关性对raw图进行压缩,输出每帧raw图对应的压缩特征。145.例如,假设手机检测到当前拍照场景为hdr场景,相机模块采集到8帧不同ev值的raw图,如:8帧raw图的ev值分别为ev0、ev0、ev0、ev0、ev0、ev-2、ev-4、ev2。然后,相机模块可以将前述8帧raw图输入ai编码网络。ai编码网络可以将每帧raw图分别转化成r\g\g\b四个通道的数据流输出。每帧raw图对应4个通道,8帧raw图则对应4*8=32个通道,从而ai编码网络可以输出w/2*h/2*32通道的数据流,其中,w表示raw图的宽,h表示raw图的高,32表示通道数。w/2*h/2*32通道的数据流即为8帧raw图对应的压缩特征。146.ai解码网络对多帧raw图对应的压缩特征进行ai解码的过程与此相反,即,ai解码网络为ai编码网络的反向网络。例如,云端接收到来自手机的8帧raw图对应的编码码流,对8帧raw图对应的编码码流进行熵解码和反量化,可以得到w/2*h/2*32通道的数据流。ai解码网络可以对w/2*h/2*32通道的数据流进行ai解码,得到一个w/2*h/2*32的重建图像。该w/2*h/2*32的重建图像根据rggb通道的排布结构进行重排序后,可以得到8帧w*h的重建raw图。147.云端通过解码模块得到8帧重建raw图后,可以依次通过raw域后处理模块、isp模块、以及yuv域后处理模块进行后续的图像处理得到一帧yuv图,并将yuv图送入第一格式的编码器。通过第一格式编码器可以对yuv图第一格式的编码,最终得到第一格式的图像(如:jpeg图像)。然后,云端可以将第一格式的图像回传给手机。从而,手机可以将第一格式的图像保存在图库中或呈现给用户。148.一种实施方式中,云端通过解码模块得到8帧重建raw图后,依次通过raw域后处理模块、isp模块、以及yuv域后处理模块进行后续的图像处理得到一帧yuv图的过程可以是:先通过raw域后处理模块将8帧重建raw图融合为一帧raw图,然后将融合后的一帧raw图输入到isp模块;isp模块对这一帧raw图进行一系列的isp处理,得到一帧yuv图并输入yuv域后处理模块;yuv域后处理模块对这一帧yuv图进行sr、美肤、畸变校正、虚化等处理,最终得到处理后的yuv图。149.另一种实施方式中,上述多帧融合的处理也可以是在yuv域完成,也即,raw域后处理模块的输出为8帧处理后的raw图,8帧处理后的raw图输入到isp模块后,isp模块可以对8帧处理后的raw图进行一系列isp处理,得到对应的8帧yuv图并输入yuv域后处理模块;yuv域后处理模块可以先将8帧yuv图融合为一帧yuv图,然后对融合后的这一帧yuv图进行sr、美肤、畸变校正、虚化等处理,最终得到处理后的yuv图。150.可选地,上述ai编码网络和ai解码网络均是根据样本训练数据对神经网络(如前述cnn、rnn等)进行训练而得到的。样本训练数据可以包括样本raw图、以及样本raw图对应的样本重建raw图。其中,样本raw图可以是相机模块的sensor在不同场景下输出的raw图;样本重建raw图是先对样本raw图进行isp处理、yuv域处理以及第一格式编码得到第一格式的图像后,再对第一格式的图像进行与前述处理过程相反的退化反推后得到的。在训练ai编码网络和ai解码网络时,可以将样本raw图作为ai编码网络的输入,样本重建raw图作为ai解码网络的输出(ai编码网络的输出是ai解码网络的输入)进行训练。151.另外,还可以根据损失函数计算ai编码网络的输入与ai解码网络的输出之间的损失,对ai编码网络和ai解码网络的参数(如:神经元的权重)进行优化,优化目标为ai编码网络的输入与ai解码网络的输出之间的损失尽可能小。152.本技术实施例中,ai编码网络的输入为raw图,ai解码网络的输出为重建raw图。在计算ai编码网络的输入与ai解码网络的输出之间的损失时,可以先将输入ai编码网络的raw图依次通过云端的raw域后处理模块、isp模块、以及yuv域后处理模块进行图像处理得到对应的yuv图(下面称该yuv图为输入yuv图),以及将ai解码网络输出的重建raw图依次通过云端的raw域后处理模块、isp模块、以及yuv域后处理模块进行图像处理得到对应的重建yuv图。然后,再计算输入yuv图和重建yuv图的损失,作为ai编码网络的输入和ai解码网络的输出之间的损失。从而,对ai编码网络和ai解码网络的参数进行优化的原则可以为输入yuv图和重建yuv图之间的损失尽可能小。153.可选地,计算ai编码网络的输入与ai解码网络的输出之间的损失时,输入ai编码网络的raw图可以是上述样本训练数据中的样本raw图(可以称为第一样本raw图),也可以是其他样本raw图(可以称为第二样本raw图)。154.示例性地,损失函数可以包括峰值信噪比(peaksignal-to-noiseratio,psnr)、结构相似性(structuralsimilarity,ssim)、最小化绝对误差损失函数(leastabosuloteerror-loss,l1-loss)等。对ai编码网络和ai解码网络的参数进行优化的优化器算法可以包括随机梯度下降法(stochasticgradientdescent,sgd)、批量梯度下降法(batchgradientdescent,bgd)等。155.下面以psnr和ssim为例,对本技术实施例中计算ai编码网络的输入与ai解码网络的输出之间的损失的过程进行说明。156.假设输入ai编码网络的raw图经过raw域后处理模块、isp模块、以及yuv域后处理模块进行图像处理后的输入yuv图为为ori,其大小为m*n,即,ori包括m*n个像素点;对于前述输入ai编码网络的raw图,ai解码网络最终输出的重建raw图经过raw域后处理模块、isp模块、以及yuv域后处理模块进行图像处理后的重建yuv图为rec,其大小也为m*n,即,rec包括m*n个像素点,m和n均为大于0的整数。则,ori与rec之间的psnr可以通过下述步骤1)和2)进行计算。157.1)先通过下述公式(1)计算ori与rec之间的均方误差(mean-squareerror,mse)。[0158][0159]其中,mse表示ori与rec之间的均方误差,m表示ori与rec的宽,n表示ori与rec的高,(i,j)表示ori或rec中的像素点坐标,ori(i,j)表示像素点(i,j)的像素值。[0160]2)然后,根据ori与rec之间的均方误差,通过下述公式(2)计算ori与rec之间的psnr。[0161][0162]其中maxi为ori和rec可能的最大像素值。例如,每个像素都由8比特有效位来表示,则maxi就为255。[0163]ori与rec之间的psnr的值越大,表示rec相对于ori失真越小,也即ori和rec之间的损失越小。[0164]ori与rec之间的ssim可以通过下述公式(3)进行计算。[0165][0166]其中,μori表示ori的均值;μrec表示rec的均值;σorirec表示ori与rec之间的协方差;表示ori的方差;表示rec的方差;c1和c2表示常数。[0167]一般而言,c1和c2的取值可以如下所示。[0168]c1=(k1*l)2[0169]c2=(k2*l)2[0170]其中,k1可以为0.01;k2可以为0.03;l表示像素值的动态范围,一般取为255。[0171]ori与rec之间的ssim的值越大,表示ori和rec之间的损失越小。[0172]该示例中,对ai编码网络和ai解码网络的参数进行优化的原则可以为ori与rec之间的psnr和ssim的值尽可能大。例如,对ai编码网络和ai解码网络进行训练时,可以限定优化满足条件为ori与rec之间的psnr大于第一阈值,以及ori与rec之间的ssim大于第二阈值。其中,第一阈值可以38、39、40等值或者更大的值,可以根据图像质量的需求进行设置,第二阈值可以是0.8、0.85、0.9等取值在0至1范围内的数。[0173]一般而言,在训练优化ai编码网络和ai解码网络时,都是直接计算ai编码网络的输入与ai解码网络的输出之间的损失。但本发明实施例中涉及到raw图的压缩,而raw图并非用户直接可查看的效果,后续会经过一系列的isp处理、yuv域处理后才得到用户直接观察到的图像(如:jpeg图像)。而在对raw图进行isp处理、yuv域处理,将raw图转换至yuv或rgb空间的过程中,还会产生一定的损失,导致raw域损失无法直接与用户体验损失相匹配。[0174]示例性地,isp处理中的相关映射会导致raw域损失无法直接与用户体验损失相匹配。例如,isp模块中进行drc、gamma校正等处理时,会导致不同数据段的raw数据映射到最终用户看到的yuv域或者rgb域时会被压缩或者放大到另一数据段,从而造成损失。如:一般的raw域数据有效位为10~12比特,但是最终的yuv域或rgb域数据有效位为8比特,因此会通过drc进行映射压缩比特位。但是为了保证质量,通常这类压缩并非线性压缩,会保证在中间区间内的高频段出现的像素范围使用更多的比特宽。gamma校正也是一种对于亮度进行曲线映射的拉伸调整方式,也会导致最终的图像亮度与raw域信息成非线性调整。[0175]鉴于上述raw域损失无法直接与用户体验损失相匹配的情况,如果直接计算输入ai编码网络的raw图和ai解码网络输出的重建raw图的损失,则可能会出现输入ai编码网络的raw图和ai解码网络输出的重建raw图之间的psnr和/或ssim较小,但经过一系列的isp处理、yuv域处理转换到yuv、rgb空间后的损失非常大的情况。[0176]例如,假设raw图和重建raw图每个像素都差1,以8比特有效位为例计算,那么根据公式(2)计算可得raw图和重建raw图之间的psnr达到48.13分贝(db),raw图和重建raw图的之间的pnsr已经非常高。通常yuv域或者rgb域psnr达到40db以上几乎就达到肉眼看不出明显问题的质量了,然而,在raw域,r、g、g、b四个分量中,如果只有一个分量是呈现此类损失,则这种损失会导致明显的颜色偏色,对最终用户体验会有非常明显的问题。[0177]而本技术实施例中,通过先将输入ai编码网络的raw图和ai解码网络输出的重建raw图先转化为对应的输入yuv图和重建yuv图,然后,再计算输入yuv图和重建yuv图的损失,作为ai编码网络的输入和ai解码网络的输出之间的损失,实现了在yuv域(或者rgb域)对ai编码网络的输入和ai解码网络的输出之间的损失进行估量,从而可以使得训练好的ai解码网络输出的重建raw图在转换到yuv域以后损失仍然较小,避免最终呈现给用户的图像出现色差、失真等损失问题,减少raw域损失无法直接与用户体验损失相匹配的情况所造成的影响。[0178]可选地,本技术实施例中,对于相机模块的sensor输出多帧raw图的场景而言,编码模块通过ai编码网络基于每帧raw图的帧内相关性对raw图进行压缩之前,还可以根据多帧raw图之间的帧间相关性对多帧raw图进行预处理。[0179]例如,图12示出了本技术实施例提供的编码模块的另一示意图。如图12所示,编码模块还包括相关性处理模块。ai编码网络基于每帧raw图的帧内相关性对raw图进行压缩之前,相关性处理模块可以先从多帧raw图中选择一帧作为参考帧,然后根据参考帧和多帧raw图之间的帧间相关性对多帧raw图中的其他帧进行预测,输出参考帧raw图和相关性处理后的其他帧raw图给ai编码网络进行后续的处理。其中,相关性处理后的其他帧raw图是指根据参考帧raw图对其他帧raw图进行预测后得到的其他帧raw图对应的残差图。也即,参考帧raw图是直接送入ai编码网络进行后续处理的,而其他帧raw图是根据参考帧和多帧raw图之间的帧间相关性进行预测后,再送入ai编码网络进行处理的。通过这种方式可以减小其他帧raw图所占的数据量,进而提高编码模块对多帧raw图的压缩率。[0180]以手机检测到当前拍照场景为hdr场景,相机模块采集不同ev值的多帧raw图为例,一般而言,hdr场景下相机模块的sensor输出的多帧raw图的ev值不同(可能部分相同),不同ev值对应的raw图之间会有线性关系。例如,对于ev0和ev-1的两帧ev值相邻的raw图(即,一帧raw图的ev值为0,另一帧raw图的ev值为-1),假设ev0的raw图中某个位置(某个像素点)的像素值为p0,ev-1的raw图中该相同位置的像素值为p-1,那么,对应的sensor会有一个黑电平的偏移量,减去该偏移量后,p0和p-1两个像素值之间满足2倍关系。即,p0和p-1满足下述公式(4)。[0181]p0-blc=2×(p-1-blc)ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ(4)[0182]其中,blc表示黑电平的偏移量。[0183]当然,由于sensor输出的raw图会有噪声、坏点、像素比特有效范围等因素干扰,p0和p-1可能不能完全满足上述公式(4)所述的线性关系,但是整体会呈现上述线性关系。[0184]因此,对于hdr场景下相机模块的sensor输出的多帧ev值不同的raw图,相关性处理模块可以先从多帧raw图中选择一帧作为参考帧(可以是随机选择,也可以是选择第一帧),然后基于上述公式(4)所示的线性关系,根据参考帧对其他帧进行预测,其他帧raw图可以被预测为一张几乎全0的raw图(该raw图即为残差图)。由于此处对于不满足公式(4)的数据,很大一部分是由于坏点、噪声等导致,因此这类数据的压缩率可以提升,尤其是绝对值较大的数据。[0185]应当理解,上述公式(4)所示的线性关系仅为针对hdr场景的示例性说明,与此类似,其他sensor输出多帧raw图的场景中,相关性处理模块也可以根据多帧raw图之间的帧间相关性对raw图进行预处理。例如,edof场景中,相关性处理模块可以根据多帧raw图之间的区域清晰度的差异对raw图进行预处理等。[0186]本技术实施例中,sensor输出多帧raw图的场景不同时,相关性处理模块可以采用不同的算法根据多帧raw图之间的帧间相关性进行处理,本技术对此不作限制。例如,手机通过相机模块获取多帧raw图时,会记录每帧raw图的元数据(matadata)信息,也可以称为raw图的说明数据或参数信息。示例性地,raw图的matadata可以包括该帧raw图的拍照场景(如hdr)、raw图的宽和高、iso值等。相关性处理模块可以根据多帧raw图的matadata信息,选择相应的算法根据多帧raw图之间的帧间相关性进行处理,如:hdr场景,则选择基于上述公式(4)所示的算法。可选地,如果某些场景下sensor输出的多帧raw图之间不存在可以建立数学模型的线性关系(即,无法通过算法提取帧间相关性)时,相关性处理模块也可以不进行帧间相关性处理。[0187]示例性地,相关性处理模块可以是手机中的一个程序模块(或算法单元),能够针对不同的拍照场景,对多帧raw图的相关性进行处理。可选地,对于相机模块的sensor输出一帧raw图的场景而言,可以跳过相关性处理模块,直接将该帧raw图送入ai编码网络进行后续处理。[0188]对于相机模块的sensor输出多帧raw图的场景而言,如果编码模块通过ai编码网络基于每帧raw图的帧内相关性对raw图进行压缩之前,根据多帧raw图之间的帧间相关性对多帧raw图进行相关性处理,则解码模块通过ai解码网络对多帧raw图对应的压缩特征进行ai解码之后,得到的结果为参考帧raw图对应的重建raw图、以及其他帧raw图对应的重建残差图(相关性处理后的raw图的重建图)。因此,与编码模块相对应,解码模块还需要对ai解码得到的参考帧raw图对应的重建raw图、以及其他帧raw图对应的重建残差图进行相关性逆向处理,以得到多帧raw图一一对应的重建raw图。[0189]例如,图13示出了本技术实施例提供的解码模块的另一示意图。如图13所示,解码模块还包括相关性逆向处理模块。解码模块通过ai解码网络对多帧raw图对应的压缩特征进行ai解码,得到参考帧raw图对应的重建raw图、以及其他帧raw图对应的重建残差图之后,相关性逆向处理模块可以对参考帧raw图对应的重建raw图、以及其他帧raw图对应的重建残差图进行相关性逆向处理,得到多帧raw图一一对应的重建raw图。具体地,相关性逆向处理模块的处理过程与手机侧相关性处理模块的过程可以完全相反,在此不再赘述。[0190]示例性地,手机向云端上传的多帧raw图对应的编码码流中还包括每帧raw图的matadata信息。相关性逆向处理模块可以根据每帧raw图的matadata信息,得知手机侧相关性处理模块采用了何种算法对多帧raw图进行了相关性处理,从而相关性逆向处理模块可以采用与手机侧相关性处理模块的过程相反的方式,对参考帧raw图对应的重建raw图、以及其他帧raw图对应的重建残差图进行相关性逆向处理。[0191]可选地,本技术另外一些实施例中,在训练获取ai编码网络和ai解码网络时,可以在样本训练数据增加sensor输出多帧raw图的场景的数据,使ai编码网络和ai解码网络自己学习多帧raw图之间的帧间相关性。对于相机模块的sensor输出多帧raw图的场景而言,前述实施例中所述的相关性处理模块的功能可以通过ai编码网络来实现,对应的,相关性逆向处理模块的功能可以通过ai解码网络来实现。[0192]例如,对于hdr场景,可以在样本raw图中增加hdr场景下sensor输出的多帧raw图,在样本重建raw图中对应增加hdr场景下sensor输出的多帧raw图一一对应的多帧重建raw图。在使用样本训练数据对ai编码网络和ai解码网络进行训练时,对于前述hdr场景相关的训练数据,可以将多帧样本raw图固定对应ev值差异放在对应通道上,让ai编码网络和ai解码网络学习hdr场景中不同ev值差异的raw图的帧间相关性。[0193]或者,对于edof场景,可以在样本raw图中增加edof场景下sensor输出的多帧raw图,在样本重建raw图中对应增加edof场景下sensor输出的多帧raw图一一对应的多帧重建raw图等。对于前述edof场景相关的训练数据,可以将多帧样本raw图固定相同对焦距离位置的放在对应通道上,让ai编码网络和ai解码网络学习edof场景中不同对焦距离下的raw图的帧间相关性。[0194]从而,训练完成后的ai编码网络对多帧raw图进行ai编码时,既可以基于每帧raw图的帧内相关性,对每帧raw图进行压缩,同时也可以从多帧raw图中选择一帧作为参考帧,根据参考帧和多帧raw图之间的帧间相关性对多帧raw图中的其他帧进行预测。对应的,训练完成后的ai解码网络对多帧raw图对应的压缩特征进行ai解码时的过程,则与ai编码网络进行ai编码的过程相反,不再赘述。[0195]本技术一些实施例中,可以仅训练获取一个ai编码网络,和对应的一个ai解码网络,对于sensor输出多帧raw图的多种不同场景,该ai编码网络和ai解码网络均可以适用。例如,可以使用hdr场景下的样本训练数据对ai编码网络和ai解码网络进行训练,使ai编码网络和ai解码网络学习hdr场景中不同ev值差异的raw图的帧间相关性。然后,可以继续使用edof场景下的样本训练数据对ai编码网络和ai解码网络进行训练,使ai编码网络和ai解码网络学习edof场景中不同对焦距离下的raw图的帧间相关性。类似地,还可以使用更多不同的sensor输出多帧raw图的场景下的样本训练数据对ai编码网络和ai解码网络进行训练等。从而,ai编码网络和对应的ai解码网络可以适用于sensor输出多帧raw图的多种不同场景。[0196]可以理解的,对于上述ai编码网络和ai解码网络可以适用于sensor输出多帧raw图的多种不同场景而言,手机的编码模块中仅包含一个ai编码网络,云端的解码模块中仅包含一个ai解码网络。[0197]另外一些实施例中,也可以针对sensor输出多帧raw图的每种场景,训练获取适用于该场景的ai编码网络和ai解码网络。也即,对于sensor输出多帧raw图的多种不同场景而言,可以训练获取与场景一一对应的多个ai编码网络和ai解码网络。例如,可以使用hdr场景下的样本训练数据对第一ai编码网络和第一ai解码网络进行训练,使第一ai编码网络和第一ai解码网络学习hdr场景中不同ev值差异的raw图的帧间相关性。另外,还可以使用edof场景下的样本训练数据对第二ai编码网络和第二ai解码网络进行训练,使第二ai编码网络和第二ai解码网络学习edof场景中不同对焦距离下的raw图的帧间相关性。类似地,还可以使用更多不同的sensor输出多帧raw图的场景下的样本训练数据对第三ai编码网络和第三ai解码网络进行训练等。从而,每组ai编码网络和ai解码网络(第一ai编码网络和第一ai解码网络可以为一组)可以适用于sensor输出多帧raw图的一种场景。[0198]可以理解的,对于上述每组ai编码网络和ai解码网络适用sensor输出多帧raw图的一种场景而言,若手机的编码模块中包含多个(如:m个,m为大于1的整数)ai编码网络,则云端的解码模块中对应包含多个(m个)ai解码网络。当sensor输出多帧raw图时,编码模块可以根据多帧raw图的matadata信息,选择符合多帧raw图对应的场景的ai编码网络对多帧raw图进行ai编码。手机向云端上传的多帧raw图对应的编码码流中还包括每帧raw图的matadata信息。解码模块可以根据多帧raw图的matadata信息,选择符合多帧raw图对应的场景的ai解码网络对多帧raw图进行ai解码。[0199]还有一些实施例中,也可以是针对部分比较接近或相似的场景,训练获取同一组ai编码网络和ai解码网络;针对其他不同的场景,则训练获取仅适用于该场景的ai编码网络和ai解码网络。例如,对于低亮场景、hdr场景而言,sensor输出的多帧raw图均为不同ev值的多帧raw图,所以,针对低亮场景和hdr场景可以训练获取同一组ai编码网络和ai解码网络。而对于edof场景而言,sensor输出的多帧raw图为对焦距离不同的多帧raw图,所以,可以训练获取仅适用于edof场景的ai编码网络和ai解码网络。同样的,当sensor输出多帧raw图时,编码模块和解码模块可以根据多帧raw图的matadata信息,分别选择符合多帧raw图对应的场景的ai编码网络和ai解码网络进行处理,不再赘述。需要说明的是,本技术对ai编码网络和ai解码网络与拍照场景的对应关系并不作限制。[0200]前述实施例中,示例性给出了编码模块和解码模块基于ai网络的实现方案。可选地,还有一些实施例中,手机的编码模块也可以是分布式编码模块,相应的,云端的解码模块可以采取与分布式编码对应的策略进行解码。[0201]以相机模块的sensor输出多帧raw图为例,当相机模块采集到多帧raw图后,分布式编码模块可以采用分布式信源编码(distributedsourcecoding,dsc)的方式对多帧raw图进行信道编码,得到多帧raw图对应的多组码流包,其中,一帧raw图对应一组码流包,每组码流包中包括多个码流包,每个码流包至少包括纠错码以及该码流包对应的raw图的matadata信息。[0202]示例性地,分布式编码模块可以采用低密度奇偶校验码(low-densityparity-check,ldpc)、turbo编码等信道编码方式对每帧raw图进行编码。如:假设某一帧raw图的大小为2兆(m),则分布式编码模块采用ldpc编码算法对该帧raw图进行编码时,可以将1024比特划分为1个码流包,得到该帧raw图对应的16个码流包。[0203]然后,手机可以以帧为单位,依次向云端上传每一帧raw图对应的码流包,供云端进行解码以获取重建raw图。具体地,图14示出了本技术实施例提供的解码模块的处理流程示意图。请参考图14所示,对于每一帧raw图:手机可以上传该帧raw图对应的码流包,云端的解码模块在接收到该帧raw图对应的码流包时,可以获取该帧raw图的预测值,并根据接收到的码流包中的纠错码对预测值进行纠错以对该帧raw图进行解码(即,图14中所示解码模块中的解码过程)。然后,解码模块可以判断raw图是否正确解码。如果正确解码,则输出重建raw图至后续处理模块,如:raw图后处理模块。如果云端根据接收到的码流包解码错误(即未正确解码),则说明当前接收到的这个码流包中包含的纠错码不足以进行纠错,云端可以要求手机侧继续传输纠错码,即,通知手机继续传输码流包,并重复前述过程直到解码正确。例如,手机可以先上传该帧raw图对应的第1个码流包,云端的解码模块在接收到该帧raw图对应的第1个码流包时,可以先获取该帧raw图的预测值,然后根据第1个码流包中的纠错码对预测值进行纠错以对该帧raw图进行解码。如果云端根据该帧raw图对应的第1个码流包解码错误,则说明第1个码流包中包含的纠错码不足以进行纠错。云端可以要求手机侧继续传输纠错码,即,继续传输该帧图像对应的第2个码流包。如:云端可以向手机发送通知消息通知手机继续上传该帧图像对应的第2个码流包。从而,云端可以继续根据该帧raw图对应的第2个码流包进行解码。以此类推,云端可以利用更多的纠错码进行解码,直到解码正确,二进制匹配为止时,云端可以得到该帧raw图对应的重建raw图。得到该帧raw图对应的重建raw图后,解码模块可以将重建raw图输出给raw域后处理模块进行后续处理。其中,解码正确是指不断迭代至所有的奇偶校验归0。[0204]可选地,本技术实施例中,对于相机模块采集多帧raw图的场景而言,云端的解码模块在预测获取第一帧raw图的预测值时,可以根据初始预测值(pred)采用帧内预测的方式进行预测。其中,初始预测值可以是默认值(预设值),如可以是有效比特位的中间值。例如,当有效比特位为255时,初始预测值可以是128。另外,这里所述的帧内预测的方式可以参考现有图像编码或者视频的帧内预测的方式,在此不作限制。[0205]云端的解码模块在预测获取第一帧raw图之后的其他帧raw图的预测值时(如:第二帧,第三帧等,这里第二帧、第三帧等用于表示手机上传码流包的raw图顺序),可以根据已经解码得到的重建raw图建立帧间相关性预测模型,并根据该帧间相关性预测模型预测获取其他帧raw图的预测值。[0206]举例说明,假设hdr场景下,相机模块的sensor输出3帧不同ev值的raw图,ev值分别为ev0、ev-1和ev-2,则手机上传给云端的码流包中包括的raw图的matadata信息至少包括:码流包对应的raw图的拍照场景为hdr场景、以及码流包对应的raw图的ev值。其中,手机上传给云端的第一帧raw图的ev值为ev0,第二帧raw图的ev值为ev-1,第三帧raw图的ev值为ev-2。[0207]对于ev0的raw图,云端的解码模块可以根据初始预测值(pred)采用帧内预测的方式,获取ev0的raw图的预测值,并按照如前述所述的方式根据ev0的raw图对应的码流包进行纠错,得到ev0的raw图对应的重建raw图。[0208]然后,对于ev-1的raw图,云端的解码模块可以根据ev-1的raw图对应的码流包中包括的raw图的matadata信息,确定出ev0的raw图和ev-1的raw图存在如前述公式(4)所述的线性关系。从而,云端的解码模块可以将ev0的raw图对应的重建raw图作为参考帧,分段建立ev-1的raw图对应的如下相关性预测模型预测获取ev-1的raw图的预测值。[0209][0210]其中,pred-1表示ev-1的raw图的预测值,rec0表示ev0的raw图对应的重建raw图的实际值;参数a1、a2、b1、b2的初始值依次为2、2、0、0;min和max分别设置为有效比特位最大值的1/16和15/16。例如,假设有效比特位为8比特,则min设置为16,max设置为240。有效比特位与sensor有关,在此不限制其大小。[0211]通过上述ev-1的raw图对应的相关性预测模型,云端可以获取ev-1的raw图的预测值,然后,将预测值作为默认解码模块已接收到的数据,并按照如前述所述的方式通过从手机侧实际传过来的码流包中的纠错码对预测值进行纠错,直至得到ev-1的raw图对应的重建raw图。[0212]进一步地,一些实施方式中,对于ev-2的raw图,云端的解码模块可以根据ev-2的raw图对应的码流包中包括的raw图的matadata信息,确定出ev-1的raw图和ev-2的raw图存在如前述公式(4)所述的线性关系。从而,云端的解码模块可以将ev-1的raw图对应的重建raw图作为参考帧,分段建立ev-2的raw图对应的相关性预测模型预测获取ev-2的raw图的预测值。具体可以参考上述ev-1的raw图对应的相关性预测模型,不再赘述。[0213]另外一些实施方式中,对于ev-2的raw图,云端的解码模块也可以将ev-0的raw图对应的重建raw图、以及ev-1的raw图对应的重建raw图均作为参考帧,分段建立ev-2的raw图对应的如下相关性预测模型预测获取ev-2的raw图的预测值。[0214][0215]其中,pred-2表示ev-2的raw图的预测值,rec0表示ev0的raw图对应的重建raw图的实际值,rec-1表示ev-1的raw图对应的重建raw图的实际值;参数a1、a2、b1、b2、c1、c2的初始值可以分别设置为2、2、1、1、0、0;参数a1、a2、b1、b2的初始值依次为2、2、0、0;min和max与前述实施例相同,不再赘述。[0216]通过上述ev-2的raw图对应的相关性预测模型,云端也可以获取ev-2的raw图的预测值,然后,将预测值作为默认解码模块已接收到的数据,并按照如前述所述的方式通过从手机侧实际传过来的码流包中的纠错码对预测值进行纠错,直至得到ev-2的raw图对应的重建raw图。[0217]根据上述获取获取ev-1的raw图的预测值、以及获取ev-2的raw图的预测值的方式可知,本技术实施例中,在获取某个ev值的raw图的预测值时,可以选择已经得到上一帧重建raw图作为参考帧,也可以选择已经得到的多帧重建raw图共同作为参考帧。也即,对于当前云端已经重建的内容,均可以作为后续帧的参考,如:假设已经有n帧解码成功,则下一帧可以设置的最大参考帧数目为n(n为大于0的整数)。可选地,本技术实施例中,当相机模块的sensor输出的raw图的帧数更多时,云端可以根据实际需求确定用于参考的已经重建帧的数量,在此不作限制。[0218]可选地,云端的解码模块在上述解码获取重建raw图的过程中,还可以根据重建raw图对上述相关性预测模型中的a1、a2、b1、b2等参数进行更新。例如,云端在得到ev0的raw图对应的重建raw图、以及ev-1的raw图对应的重建raw图之后,可以将ev0的raw图对应的重建raw图、以及ev-1的raw图对应的重建raw图代入上述ev-1的raw图对应的相关性预测模型中(将pred-1替换为ev-1的raw图对应的重建raw图的实际值),重新计算a1、a2、b1、b2的值,并将a1、a2、b1、b2用重新计算后的结果替换以实现更新。后续建立ev-2的raw图对应的相关性预测模型时,则可以使用更新后的a1、a2、b1、b2等参数。[0219]类似地,在得到ev-2的raw图对应的重建图之后,可以继续对a1、a2、b1、b2等参数进行更新,不再赘述。也即,本技术实施例中,可以在云侧通过更多的数据对a1、a2、b1、b2等参数进行不断更新。[0220]需要说明的是,通常sensor出图在接近0的较暗区域以及接近最高比特位最大值的过曝区域附近无法满足线性关系,因此,本技术实施例中,可以假设其满足线性关系进行数学模型建模,并用来预测下一个ev的像素值。[0221]另外,可以理解的,上述hdr场景下的相关性预测模型仅为示例性说明,也可以根据sensor输出的多帧raw图的拍照场景相应的建立其它数学模型,并对相关未知参数进行不断刷新,在此不作限制。[0222]由上可知,当手机侧的编码模块采用分布式编码的方法对raw图进行编码时,在云端的预测值越准确,则需要传输的纠错码就会越少,压缩率会越高。因此,本实施例可以充分利用云端的数据相关性,达到更高压缩率,有效节省上传流量。[0223]可选地,本技术实施例中,云端的解码模块还可以结合云端存储的其他已有数据预测获取raw图的预测值。其他已有数据可以是用户(可以是当前拍照用户或其他用户)上传存储的历史图像、历史图像处理过程中建立过的一些相关性预测模型等。例如,某个ev值的raw图的matadata信息中还可以包括手机获取该帧raw图时的位置信息(如:可以是手机的经纬度坐标),云端需要获取该帧raw图的预测值时,可以先根据该帧raw图对应的位置信息从云端的数据库中获取同样是在该位置信息对应的地点(如某个景点)拍摄的其他已有图像,然后,可以将从数据库中获取的同样位置信息的其他已有图像对应的raw图作为参考帧,以获取raw图的预测值等。[0224]可选地,也有一些实施例中,raw域处理算法也可以放在手机侧实现。例如,对于相机模块采集多帧raw图的场景,可以在手机侧先对多帧raw图进行多帧融合处理,得到单帧raw图。然后,手机可以将得到的单帧raw图上传到云端进行isp处理、yuv域处理、第一格式编码等,最终云端可以返回第一格式的图像给手机侧。对于单帧图像的上传,可以参考前述实施例中所述,在此不再赘述。[0225]可选地,请参考图4所示,本技术实施例中,云端进行yuv域图像处理时,还可以根据数据库中存储的高质量参考图,对yuv图进行优化,从而使得最终得到的第一格式的图像质量更好。例如,云端可以对数据库中存储的高质量参考图进行参考学习,得到适用于各种场景的网络模型,然后,在上述拍照过程中,云端可以利用符合拍照场景的网络模型对yuv图进行优化。在此对网络模型的网络架构具体不作限制。[0226]又例如,对于用户自拍的场景而言,一般都是用户自己拍照。假如当前照片由于手抖等原因拍摄模糊,那么在用户授权可以访问本人的数据的情况下,云端还可以利用已有的数据进行ai学习的方式通过本人已有清晰照片的人脸信息对当前模糊图像学习,得到更加真实的本人清晰照片。[0227]类似地,本技术实施例可以充分利用云端的资源,使得图像处理达到更好的效果,在此不再一一举例说明。[0228]对应于前述实施例中所述的图像处理方法,本技术实施例还提供一种图像处理装置,可以应用于终端设备。该装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,图15示出了本技术实施例提供的一种图像处理装置的结构示意图。如图15所示,该图像处理装置可以包括:相机模块1501、编码模块1502、发送模块1503、接收模块1504。[0229]其中,相机模块1501,用于响应于用户的拍照操作,采集当前拍照场景对应的raw图;编码模块1502,用于对当前拍照场景对应的raw图进行编码,得到当前拍照场景对应的raw图的编码码流;发送模块1503,用于向云端发送当前拍照场景对应的raw图的编码码流;接收模块1504,用于接收来自云端的第一格式的图像,第一格式的图像为云端根据当前拍照场景对应的raw图的编码码流所生成的。[0230]可选地,编码模块1502的具体编码过程、以及具体结构,可以参考前述方法实施例中所述,在此不再赘述。[0231]可选地,相机模块1501还用于响应于用户的第一选择操作,确定需要将拍照时采集的raw图上传到云端进行处理。[0232]类似地,本技术实施例还提供一种图像处理装置,可以应用于云端。该装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,图16示出了本技术实施例提供的另一种图像处理装置的结构示意图。如图16所示,该图像处理装置可以包括:接收模块1601、解码模块1602、处理模块1603、发送模块1604。[0233]其中,接收模块1601,用于接收来自终端设备的当前拍照场景对应的raw图的编码码流;解码模块1602,用于对当前拍照场景对应的raw图的编码码流进行解码,得到当前拍照场景对应的重建raw图;处理模块1603,用于对当前拍照场景对应的重建raw图进行处理,生成当前拍照场景对应的第一格式的图像;发送模块1604,用于向终端设备发送第一格式的图像。[0234]例如,处理模块1603可以包括raw域后处理模块、isp模块、yuv域后处理模块、第一格式编码器等。处理模块1603的具体处理过程、以及具体结构可以参考前述方法实施例中所述。[0235]可选地,解码模块1602的具体编码过程、以及具体结构,也可以参考前述方法实施例中所述,在此不再赘述。[0236]应理解以上装置中单元或模块(以下均称为单元)的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且装置中的单元可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分单元以软件通过处理元件调用的形式实现,部分单元以硬件的形式实现。[0237]例如,各个单元可以为单独设立的处理元件,也可以集成在装置的某一个芯片中实现,此外,也可以以程序的形式存储于存储器中,由装置的某一个处理元件调用并执行该单元的功能。此外这些单元全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件又可以称为处理器,可以是一种具有信号的处理能力的集成电路。在实现过程中,上述方法的各步骤或以上各个单元可以通过处理器元件中的硬件的集成逻辑电路实现或者以软件通过处理元件调用的形式实现。[0238]在一个例子中,以上装置中的单元可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个专用集成电路(applicationspecificintegratedcircuit,asic),或,一个或多个数字信号处理器(digitalsignalprocess,dsp),或,一个或者多个现场可编辑逻辑门阵列(fieldprogrammablegatearray,fpga),或这些集成电路形式中至少两种的组合。[0239]再如,当装置中的单元可以通过处理元件调度程序的形式实现时,该处理元件可以是通用处理器,例如cpu或其它可以调用程序的处理器。再如,这些单元可以集成在一起,以片上系统(system-on-a-chip,soc)的形式实现。[0240]在一种实现中,以上装置实现以上方法中各个对应步骤的单元可以通过处理元件调度程序的形式实现。例如,该装置可以包括处理元件和存储元件,处理元件调用存储元件存储的程序,以执行以上方法实施例所述的方法。存储元件可以为与处理元件处于同一芯片上的存储元件,即片内存储元件。[0241]在另一种实现中,用于执行以上方法的程序可以在与处理元件处于不同芯片上的存储元件,即片外存储元件。此时,处理元件从片外存储元件调用或加载程序于片内存储元件上,以调用并执行以上方法实施例所述的方法。[0242]例如,本技术实施例还可以提供一种装置,如:电子设备,可以包括:处理器,用于存储该处理器可执行指令的存储器。该处理器被配置为执行上述指令时,使得该电子设备实现如前述实施例所述的图像处理方法中,终端设备执行的步骤或者云端执行的步骤。该存储器可以位于该电子设备之内,也可以位于该电子设备之外。且该处理器包括一个或多个。[0243]在又一种实现中,该装置实现以上方法中各个步骤的单元可以是被配置成一个或多个处理元件,这里的处理元件可以为集成电路,例如:一个或多个asic,或,一个或多个dsp,或,一个或者多个fpga,或者这些类集成电路的组合。这些集成电路可以集成在一起,构成芯片。[0244]例如,本技术实施例还提供一种芯片,该芯片可以应用于上述电子设备。芯片包括一个或多个接口电路和一个或多个处理器;接口电路和处理器通过线路互联;处理器通过接口电路从电子设备的存储器接收并执行计算机指令,以实现如前述实施例所述的图像处理方法中,终端设备执行的步骤或者云端执行的步骤。[0245]本技术实施例还提供一种计算机程序产品,包括计算机可读代码,当计算机可读代码在电子设备中运行时,使得电子设备实现如前述实施例所述的图像处理方法中,终端设备执行的步骤或者云端执行的步骤。[0246]通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。[0247]在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。[0248]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。[0249]另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。[0250]所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,如:程序。该软件产品存储在一个程序产品,如计算机可读存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。[0251]例如,本技术实施例还可以提供一种计算机可读存储介质,其上存储有计算机程序指令。当计算机程序指令被电子设备执行时,使得电子设备实现如前述实施例所述的图像处理方法中,终端设备执行的步骤或者云端执行的步骤。[0252]以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何在本技术揭露的技术范围内的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献