发明内容
基于此,有必要针对上述技术问题,提供一种IPC、图像处理设备、图像处理的系统及方法。
第一方面,提供了一种IPC,所述IPC包括图像传感器和主控芯片;
所述主控芯片,用于向所述图像传感器发送图像采集指令;
所述图像传感器,用于根据所述图像采集指令,连续地采集目标物体的多个原始图像帧,并将采集到的原始图像帧发送至所述主控芯片;
所述主控芯片,还用于将所述原始图像帧发送至图像处理设备,以使所述图像处理设备根据预设的ISP算法对所述原始图像帧进行图像处理,得到所述原始图像帧对应的目标图像帧。
作为一种可选地实施方式,所述主控芯片,还用于根据预设的图像分辨率,对所述原始图像帧进行裁剪处理,得到裁剪后的原始图像帧,并将所述裁剪后的原始图像帧发送至所述图像处理设备。
作为一种可选地实施方式,所述主控芯片,还用于向所述图像传感器发送配置指令,所述配置指令中携带有配置参数,所述配置参数包括分辨率、模数转换比特数、工作模式以及帧率中的一种或多种;
所述图像传感器,还用于根据所述配置指令中携带的配置参数,配置所述图像传感器的工作参数,并根据所述工作参数和所述图像采集指令采集所述目标物体的连续的多个原始图像帧。
作为一种可选地实施方式,所述IPC还包括内存;
所述主控芯片,还用于将所述裁剪后的原始图像帧存储至所述内存中,以及当接收到所述图像处理设备发送的图像获取指令时,根据所述图像获取指令,从所述内存中获取所述裁剪后的原始图像帧,并将所述裁剪后的原始图像帧发送至所述图像处理设备。
第二方面,提供了一种图像处理设备,所述图像处理设备包括接收模块和ISP算法模块组,所述ISP算法模块组包含多个ISP算法模块;
所述接收模块,用于接收网络摄像机IPC发送的原始图像帧,并将所述原始图像帧发送至所述ISP算法模块组,所述原始图像帧是网络摄像机IPC中的图像传感器根据图像采集指令连续地采集目标物体的多个原始图像帧得到的;
所述ISP算法模块组,用于根据预设的ISP算法模块执行顺序,对所述原始图像帧进行图像处理,得到所述原始图像帧对应的目标图像帧。
作为一种可选地实施方式,所述ISP算法模块组,用于根据预设的ISP算法模块执行顺序,使所述多个ISP算法模块中的第一个ISP算法模块对所述原始图像帧进行图像处理,得到所述第一个ISP算法模块的输出图像帧,并使除所述第一个ISP算法模块以外的其他每一个ISP算法模块对该ISP算法模块的前一个ISP算法模块的输出图像帧进行图像处理,得到该ISP算法模块的输出图像帧;以及,针对所述多个ISP算法模块中的每一个ISP算法模块,根据针对该ISP算法模块的读写指令存储该ISP算法模块的输出图像帧和/或根据针对该ISP算法模块的显示指令显示该ISP算法模块的输出图像帧;
其中,最后一个ISP算法模块的输出图像帧为所述原始图像帧对应的目标图像帧。
作为一种可选地实施方式,所述ISP算法模块组包括:
黑电平校正模块,用于根据黑电平值调整所述原始图像帧的图像数据,得到第一输出图像帧;
多帧降噪模块,用于对所述第一输出图像帧进行去噪处理,得到第二输出图像帧;
色调映射模块,用于对所述第二输出图像帧进行高动态范围的色调映射处理,得到第三输出图像帧;
去马赛克模块,用于对所述第三输出图像帧进行色彩恢复处理,得到目标图像帧。
第三方面,提供了一种图像处理的系统,所述图像处理的系统包括如第一方面任一项所述的IPC和如第二方面任一项所述的图像处理设备。
第四方面,提供了一种图像处理的方法,所述方法应用于如第二方面任一项所述的图像处理设备,所述方法包括:
接收IPC发送的原始图像帧,所述原始图像帧是IPC中的图像传感器根据图像采集指令连续地采集目标物体的多个原始图像帧得到的;
根据预设的ISP算法执行顺序,对所述原始图像帧进行图像处理,得到所述原始图像帧对应的目标图像帧。
第五方面,提供了一种图像处理的方法,所述方法应用于图像处理的系统,所述图像处理的系统包括IPC和图像处理设备,所述IPC包括图像传感器和主控芯片,所述图像处理设备包括接收模块和ISP算法模块组,所述ISP算法模块组包含多个ISP算法模块,所述方法包括:
所述主控芯片向所述图像传感器发送图像采集指令;
所述图像传感器根据所述图像采集指令,采集目标物体的连续的多个原始图像帧,并将采集到的原始图像帧发送至所述主控芯片;
所述主控芯片将所述原始图像帧发送至图像处理设备;
所述接收模块接收IPC发送的所述原始图像帧,并将所述原始图像帧发送至所述ISP算法模块组;
所述ISP算法模块组根据预设的ISP算法模块执行顺序,对所述原始图像帧进行图像处理,得到所述原始图像帧对应的目标图像帧。
第六方面,提供了一种计算机设备,包括存储器及处理器,所述存储器上存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现第四方面所述方法的步骤。
第七方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现第四方面所述的方法的步骤。
本申请实施例提供了一种IPC。由于IPC中的图像传感器能够根据主控芯片的图像采集指令,进行高频率、连续地采集目标物体的多个原始图像帧,从而可以保证相邻原始图像帧之间的时间间隔较短,提高图像处理的效果,同时,还可以保证原始图像帧采集的连续性和图像处理设备对原始图像帧的流水线化处理。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供了一种IPC(IP Camera,网络摄像机)110,如图1所示,该IPC110包括图像传感器111和主控芯片112。
主控芯片112,用于向图像传感器111发送图像采集指令。
图像传感器111,用于根据图像采集指令,连续地采集目标物体的多个原始图像帧,并将采集到的原始图像帧发送至主控芯片112。
主控芯片112,还用于将原始图像帧发送至图像处理设备,以使图像处理设备根据预设的ISP算法对原始图像帧进行图像处理,得到原始图像帧对应的目标图像帧。
在实施中,如图1所示,该IPC110包括图像传感器111和主控芯片112。当需要获取某一物体(即目标物体)的图像时,主控芯片112可以向图像传感器111发送图像采集指令。图像传感器111接收到该图像采集指令后,可以根据该图像采集指令连续地采集目标物体的多个原始图像帧,并将采集到的多个原始图像帧发送至主控芯片112。主控芯片112接收到该目标物体的多个原始图像帧后,可以将该目标物体的多个原始图像帧发送至图像处理设备120(如图2所示)。这样,图像处理设备120接收到该目标物体的多个原始图像帧后,可以根据预设的ISP算法对该目标物体的多个原始图像帧进行图像处理,得到各原始图像帧对应的目标图像帧。其中,主控芯片112可以通过基于套接字(socket)协议的通信网络将该目标物体对应的原始图像帧发送至图像处理设备120,也可以通过其他类型的通信网络将该目标物体对应的原始图像帧发送至图像处理设备120,本申请实施例不作限定。
作为一种可选地实施方式,主控芯片112,还用于根据预设的图像分辨率,对原始图像帧进行裁剪处理,得到裁剪后的原始图像帧,并将裁剪后的原始图像帧发送至图像处理设备120。
在实施中,IPC110中可以预先存储有图像分辨率。该图像分辨率可以由技术人员根据IPC110与图像处理设备120之间的通信网络的传输带宽进行设定。主控芯片112接收到该目标物体的多个原始图像帧后,针对各原始图像帧中的每个原始图像帧,主控芯片112可以根据预设的图像分辨率,对该原始图像帧进行裁剪处理,得到裁剪后的该原始图像帧。然后,主控芯片112可以将裁剪后的多个原始图像帧发送至图像处理设备120。例如,针对各原始图像帧中的每个原始图像帧,主控芯片112可以将该原始图像帧裁剪为分辨率为1080p的图像帧。
作为一种可选地实施方式,主控芯片112,还用于向图像传感器111发送配置指令。其中,配置指令中携带有配置参数,配置参数包括分辨率、模数转换比特数、工作模式以及帧率中的一种或多种。
图像传感器111,还用于根据配置指令中携带的配置参数,配置图像传感器111的工作参数,并根据工作参数和图像采集指令采集目标物体的连续的多个原始图像帧。
在实施中,主控芯片112还可以向图像传感器111发送配置指令。其中,配置指令中携带有配置参数,配置参数包括分辨率、模数转换比特数、工作模式(比如线性模式或宽动态模式)以及帧率中的一种或多种。优选的,配置参数中分辨率可以为5M,模数转换比特数为14bit,工作模式为线性模式,帧率为30fps。图像传感器111接收到该配置指令后,可以根据配置指令中携带的配置参数,配置图像传感器111的工作参数。后续,图像传感器111接收到主控芯片112发送的图像采集指令后,可以根据该工作参数和图像采集指令连续地采集目标物体的多个原始图像帧。这样,主控芯片112通过配置指令配置图像传感器111的工作参数后,图像传感器111可以基于该工作参数采集目标物体的连续的多个原始图像帧,从而保证相邻原始图像帧之间的时间间隔较短,进而提高图像处理的效果。
作为一种可选地实施方式,IPC110还包括内存113。主控芯片112,还用于将裁剪后的原始图像帧存储至内存113中,以及当接收到图像处理设备120发送的图像获取指令时,根据图像获取指令,从内存113中获取裁剪后的原始图像帧,并将裁剪后的原始图像帧发送至图像处理设备120。
可选的,如图1所示,IPC110还可以包括内存113。其中,内存113可以为DDR(DoubleData Rate,双倍速率)类型的内存,也可以为其他类型的内存,本申请实施例不作限定。主控芯片112得到裁剪后的原始图像帧后,可以将裁剪后的原始图像帧存储至内存113中。后续,当主控芯片112接收到图像处理设备120发送的图像获取指令时,主控芯片112可以从内存113中读取裁剪后的原始图像帧,并将裁剪后的原始图像帧发送至图像处理设备120。
本申请实施例提供了一种IPC110。IPC110中的图像传感器111能够根据主控芯片112的图像采集指令,连续地采集目标物体的多个原始图像帧,从而保证了原始图像帧采集的连续性。
本申请实施例还提供了一种图像处理设备120,如图2所示,该图像处理设备120包括接收模块121和ISP算法模块组122,ISP算法模块组122包含多个ISP算法模块1221。
接收模块121,用于接收IPC110发送的原始图像帧,并将原始图像帧发送至ISP算法模块组122。其中,原始图像帧可以是IPC110中的图像传感器111根据图像采集指令连续地采集目标物体的多个原始图像帧得到的,也可以是IPC110中的主控芯片112根据预设的图像分辨率,对原始图像帧进行裁剪处理后得到的裁剪后的原始图像帧;接收模块121可以为基于python(一种计算机程序设计语言)的socket模块。
ISP算法模块组122,用于根据预设的ISP算法模块执行顺序,对原始图像帧进行图像处理,得到原始图像帧对应的目标图像帧。
在实施中,如图2所示,该图像处理设备120包括接收模块121和ISP算法模块组122,ISP算法模块组122包含多个ISP算法模块1221。图像处理设备120中可以预先存储有ISP算法(比如黑电平校正算法、多帧降噪算法、色调映射(Tone mapping)算法、去马赛克(Demosaic)算法等)。其中,该ISP算法可以由技术人员根据图像处理的需求进行选择。当图像处理设备120需要对目标物体的多个原始图像帧进行图像处理时,图像处理设备120可以向IPC110发送图像获取指令。IPC110则可以根据图像获取指令将该目标物体的多个原始图像帧发送至图像处理设备120。接收模块121接收到IPC110发送的原始图像帧后,可以将原始图像帧发送至ISP算法模块组122。其中,原始图像帧是IPC110中的图像传感器111根据图像采集指令连续地采集目标物体的多个原始图像帧得到的。ISP算法模块组122接收到该目标物体的原始图像帧后,可以根据预设的ISP算法模块执行顺序,对各原始图像帧进行图像处理,得到各原始图像帧对应的目标图像帧。其中,图像处理设备120可以通过流水线处理(pipeline)技术创建ISP算法模块组122,并在ISP算法模块组122中设置多个ISP算法模块1221的执行顺序(即预设的ISP算法模块执行顺序)。
作为一种可选地实施方式,ISP算法模块组122,用于根据预设的ISP算法模块执行顺序,使多个ISP算法模块1221中的第一个ISP算法模块对原始图像帧进行图像处理,得到第一个ISP算法模块的输出图像帧,并使除第一个ISP算法模块以外的其他每一个ISP算法模块对该ISP算法模块的前一个ISP算法模块的输出图像帧进行图像处理,得到该ISP算法模块的输出图像帧;以及,针对多个ISP算法模块中的每一个ISP算法模块,根据针对该ISP算法模块的读写指令存储该ISP算法模块的输出图像帧和/或根据针对该ISP算法模块的显示指令显示该ISP算法模块的输出图像帧;
其中,最后一个ISP算法模块的输出图像帧为原始图像帧对应的目标图像帧。
在实施中,ISP算法模块组122接收到该目标物体的原始图像帧后,可以根据预设的ISP算法模块执行顺序,将原始图像帧输入至第一个ISP算法模块,该第一个ISP算法模块则对原始图像帧进行图像处理,输出该第一个ISP算法模块的输出图像帧。然后,ISP算法模块组122将该第一个ISP算法模块的输出图像帧输入至第二个ISP算法模块,该第二个ISP算法模块则对该第一个ISP算法模块的输出图像帧进行图像处理,输出该第二个ISP算法模块的输出图像帧。直到ISP算法模块组122将倒数第二个ISP算法模块的输出图像帧输入至最后一个ISP算法模块,该最后一个ISP算法模块则对倒数第二个ISP算法模块的输出图像帧进行图像处理,得输出该最后一个ISP算法模块的输出图像帧。其中,最后一个ISP算法模块的输出图像帧为原始图像帧对应的目标图像帧。
同时,针对多个ISP算法模块中的每一个ISP算法模块,该ISP算法模块还可以根据用户输入的读写指令,将该ISP算法模块的输出图像帧存储至存储器中。其中,该存储器可以为USB(Universal Serial Bus,通用串行总线)存储器,也可以为SSD(Solid StateDrive,固态驱动器)存储器,还可以为其他类型的存储器,本申请实施例不作限定。后续,该ISP算法模块还可以根据用户输入的显示指令显示该ISP算法模块的输出图像帧,从而提高系统的可视性。其中,该ISP算法模块可以通过通用编程语言库函数(比如opencv(一种基于伯克利软件套件许可的跨平台视觉库))中的写文件函数将该ISP算法模块的输出图像帧存储至存储器;该ISP算法模块还可以通过通用编程语言库函数中的显示图像函数显示该ISP算法模块的输出图像帧。
作为一种可选地实施方式,ISP算法模块组122包括:
黑电平校正模块,用于根据黑电平值调整原始图像帧的图像数据,得到第一输出图像帧。多帧降噪模块,用于对第一输出图像帧进行去噪处理,得到第二输出图像帧。色调映射模块,用于对第二输出图像帧进行高动态范围的色调映射处理,得到第三输出图像帧。去马赛克模块,用于对第三输出图像帧进行色彩恢复处理,得到目标图像帧。
在实施中,如图2所示,ISP算法模块1为黑电平校正模块,ISP算法模块2为多帧降噪模块,ISP算法模块3为色调映射模块,ISP算法模块4为去马赛克模块。ISP算法模块组122接收到目标物体对应的原始图像帧后,可以首先将原始图像帧输入至ISP算法模块1,则ISP算法模块1可以将原始图像中每个像素点的像素值减去黑电平值,以调整原始图像帧的图像数据,得到第一输出图像帧。其中,黑电平值可以通过在全黑条件下拍摄多张原始图像帧,建立高斯噪声模型得到。然后,ISP算法模块组122将第一输出图像帧输入至ISP算法模块2,ISP算法模块2则利用多帧降噪算法对连续的多个第一输出图像帧进行降噪处理,得到第二输出图像帧。之后,ISP算法模块组122将第二输出图像帧输入至ISP算法模块3,ISP算法模块3则利用色调映射神经网络算法调整第二输出图像中高动态范围图像的灰度值,得到第三输出图像帧。最后,ISP算法模块组122将第三输出图像帧输入至ISP算法模块4,ISP算法模块4则利用去马赛克神经网络算法对第三输出图像帧进行色彩恢复处理(即根据某一像素点周围的像素点的像素值来确定该像素点中除显示通道以外的其他两个通道的值),得到目标图像帧(即RGB(Red Greed Blue,红绿蓝)图像帧)。
本申请实施例提供了一种图像处理设备120。该图像处理设备120中的ISP算法模块组122可以根据预设的ISP算法模块执行顺序,对原始图像帧进行图像处理,得到原始图像帧对应的目标图像帧。这样,可以保证图像处理设备120对原始图像帧的流水线化处理。同时,图像处理设备120还可以通过通用编程语言库函数存储ISP算法模块的输出图像帧和/或通过通用编程语言库函数中的显示图像函数显示ISP算法模块的输出图像帧,以进行实时预览,从而保证了对原始图像帧进行图像处理过程的可视性。
本申请实施例还提供了一种图像处理的系统,如图3所示,该图像处理的系统包括IPC110和图像处理设备120。
本申请实施例还提供了一种图像处理的方法,该方法应用于上述的图像处理设备,如图4所示,该方法的处理过程如下:
步骤401,接收IPC110发送的原始图像帧。其中,原始图像帧是IPC110中的图像传感器111根据图像采集指令连续地采集目标物体的多个原始图像帧得到的。
步骤402,根据预设的ISP算法执行顺序,对原始图像帧进行图像处理,得到原始图像帧对应的目标图像帧。
步骤401至步骤402的处理过程与上述图像处理设备120的处理过程类似,此处不再赘述。
本申请实施例提供了一种图像处理的方法。该图像处理设备120中的ISP算法模块组122可以根据预设的ISP算法模块执行顺序,对原始图像帧进行图像处理,得到原始图像帧对应的目标图像帧。这样,可以保证图像处理设备120对原始图像帧的流水线化处理。
本申请实施例还提供了一种图像处理的方法,该方法应用于上述的图像处理的系统,该图像处理的系统包括IPC110和图像处理设备120,IPC110包括图像传感器111和主控芯片112,图像处理设备120包括接收模块121和ISP算法模块组122,ISP算法模块组122包含多个ISP算法模块1221,如图5所示,该方法的处理过程如下:
步骤501,主控芯片112向图像传感器111发送图像采集指令。
步骤502,图像传感器111根据图像采集指令,采集目标物体的连续的多个原始图像帧,并将采集到的原始图像帧发送至主控芯片112。
步骤503,主控芯片112将原始图像帧发送至图像处理设备120。
步骤504,接收模块121接收IPC110发送的原始图像帧,并将原始图像帧发送至ISP算法模块组122。
步骤505,ISP算法模块组122根据预设的ISP算法模块执行顺序,对原始图像帧进行图像处理,得到原始图像帧对应的目标图像帧。
步骤501至步骤503的处理过程与上述IPC110的处理过程类似,此处不再赘述。步骤504至步骤505的处理过程与上述图像处理设备120的处理过程类似,此处不再赘述。
本申请实施例提供了一种图像处理的方法。该方法应用于图像处理的系统,该图像处理的系统包括IPC和图像处理设备,IPC包括图像传感器和主控芯片,图像处理设备包括接收模块和ISP算法模块组,ISP算法模块组包含多个ISP算法模块,主控芯片向图像传感器发送图像采集指令;图像传感器根据图像采集指令,采集目标物体的连续的多个原始图像帧,并将采集到的原始图像帧发送至主控芯片;主控芯片将原始图像帧发送至图像处理设备;接收模块接收IPC发送的原始图像帧,并将原始图像帧发送至ISP算法模块组;ISP算法模块组根据预设的ISP算法模块执行顺序,对原始图像帧进行图像处理,得到原始图像帧对应的目标图像帧。由于IPC中的图像传感器能够根据主控芯片的图像采集指令,进行高频率、连续地采集目标物体的多个原始图像帧,从而可以保证相邻原始图像帧之间的时间间隔较短,提高图像处理的效果,同时,还可以保证原始图像帧采集的连续性和图像处理设备对原始图像帧的流水线化处理。
在一个实施例中,提供了一种计算机设备,如图6所示,包括存储器及处理器,所述存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述图像处理的方法步骤。
在一个实施例中,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述图像处理的方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。