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

图像处理方法、装置及图像处理设备

文献发布时间:2024-04-18 19:59:31


图像处理方法、装置及图像处理设备

技术领域

本申请属于图像处理技术领域,尤其涉及图像处理方法、装置、图像处理设备及计算机可读存储介质。

背景技术

网络摄像机(IP Camera,IPC)是一种结合传统摄像机与网络技术所产生的新一代摄像机。它利用图像传感器将光线转换为电信号,再将电信号经过图像信号处理(ImageSignal Processing,ISP)、编码等处理后,通过网络传输给各客户端。

随着IPC的安装量越来越多,即同一款IPC监控到不同场景的概率也增大。但由于IPC通常只预先内置一种图像信号处理参数,而一种图像信号处理参数通常只适用于一种场景,例如,若该图像信号处理参数适合普通场景,如适合非逆光的场景,则在逆光场景下,通过该图像信号处理参数处理后的图像会使得暗处信息丢失,因此,为了能够获取到质量更高的画面,需要根据场景的不同对IPC内置的图像信号处理参数进行调整,后续再根据调整后的图像信号处理参数对图像进行相应的处理。

现有方法中,在根据场景的不同对IPC内置的图像信号处理参数进行调整时,可能会导致输出的图像产生震荡效果。

发明内容

本申请实施例提供了图像处理方法、装置及图像处理设备,可以降低输出的图像产生震荡效果的概率的问题。

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

获取第N帧的RAW数据,其中,所述N为大于或等于1的整数,所述RAW数据为从传感器的感光芯片获取的未经过加工的视频数据;

根据预设的第一内置参数将所述第N帧的RAW数据转换成第一YUV数据;

对所述第一YUV数据进行场景识别,得到场景识别结果;

根据所述场景识别结果确定第(N+1)帧的RAW数据对应的自适应调整参数;

根据所述第(N+1)帧的RAW数据对应的自适应调整参数以及预设的第二内置参数,对获取的所述第(N+1)帧的RAW数据进行处理;

输出与处理后的所述第(N+1)帧的RAW数据对应的YUV格式的数据。

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

原始数据获取模块,用于获取第N帧的RAW数据,其中,所述N为大于或等于1的整数,所述RAW数据为从传感器的感光芯片获取的未经过加工的视频数据;

格式转换模块,用于根据预设的第一内置参数将所述第N帧的RAW数据转换成第一YUV数据;

场景识别模块,用于对所述第一YUV数据进行场景识别,得到场景识别结果;

自适应调整参数确定模块,用于根据所述场景识别结果确定第(N+1)帧的RAW数据对应的自适应调整参数;

数据处理模块,用于根据所述第(N+1)帧的RAW数据对应的自适应调整参数以及预设的第二内置参数,对获取的所述第(N+1)帧的RAW数据进行处理;

数据输出模块,用于输出与处理后的所述第(N+1)帧的RAW数据对应的YUV格式的数据。

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

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

第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在图像处理设备上运行时,使得图像处理设备执行上述第一方面所述的方法。

本申请实施例与现有技术相比存在的有益效果是:

本申请实施例中,由于场景识别结果为对第N帧的RAW数据所对应的第一YUV数据进行场景识别得到,而该第一YUV数据是根据预设的第一内置参数对第N帧的RAW数据进行处理后得到,即,相当于根据固定的处理方式对没有经过任何处理的RAW数据进行处理,因此,能够保证得到的场景识别结果与该第N帧的RAW数据的匹配度,即保证得到的场景识别结果的准确度,从而保证后续根据该场景识别结果确定的自适应调整参数的准确度,进而能够保证根据该自适应调整参数对第(N+1)帧的RAW数据处理后的准确度。此外,由于视频流的场景识别结果是逐个对连续的RAW数据所对应的YUV数据进行场景识别得到,且该YUV数据没有经过自适应调整参数处理,因此,只要该连续的YUV数据所对应的场景没有发生变化,则得到的视频流的场景识别结果所指示的场景也不会发生变化,即保证根据场景识别结果所确定的自适应调整参数也不会发生变化,从而在根据本申请实施例所提供的自适应调整参数对RAW数据调整后,能够降低所得到的预览效果产生震荡效果的概率。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1是采用1路ISP对图像进行场景识别的示意图;

图2是本申请实施例提供的一种图像处理方法的流程示意图;

图3是本申请实施例提供的一种场景识别后,不同场景对应的概率的示意图;

图4是本申请一实施例提供的一种图像处理方法的数据流向示意图;

图5是本申请另一实施例提供的一种防震荡处理的流程示意图;

图6是本申请一实施例提供的一种图像处理装置的结构示意图;

图7是本申请另一实施例提供的一种图像处理设备的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。

考虑到一个IPC通常只内置与一个或有限个场景对应的图像信号处理参数,而IPC可能会对不同的场景进行拍摄,因此,可根据场景的不同对IPC内置的图像信号处理参数进行调整,以使调整后的图像信号处理参数与当前场景更匹配。

但在对图像信号处理参数进行调整时,可能会导致输出的图像产生震荡效果。如图1所示,图1示出了采用1路ISP对图像进行场景识别的示意图。在图1中,vcap模块用于从传感器(sensor)的感光芯片获取视频信号,并控制视频捕获(video capture)引擎来获取图像,返回视频帧的RAW数据用于下一级模块(如图1的vproc0模块)处理。其中,RAW数据是指从传感器获取的未经加工(或未经处理)的数据。

vproc0模块用于从上一级模块(如图1的vcap模块)获取视频帧的RAW数据,并控制视频处理(video process)引擎对该RAW数据进行处理,包括缩放、降噪、旋转、裁剪等,然后返回可用于显示和编码的YUV格式的图像数据。其中,YUV格式的图像数据是一种将图像的颜色信息和亮度信息分离的用于表示彩色图像的数据,“Y”表示明亮度(Luminance或Luma),也就是灰阶值,“U”和“V”表示的则是色度(Chrominance或Chroma)。

venc0模块用于从上一级模块(如图1的vproc0模块)获取YUV格式的图像数据,并控制视频编码(video encode)引擎对该YUV格式的图像数据进行编码,然后向客户端返回可用于保存的视频文件或者可在线预览的流数据。

根据图1可知,vproc 0模块产生的自适应调整参数(即用于对图像数据进行调整的参数)会作用于该vproc 0模块所获取的下一帧的图像数据。

假设当前拍摄一个过曝场景:

第一帧,因为vproc0模块还没有得到自适应调整参数,所以venc0模块的预览效果为过曝,此时,根据该venc0模块的预览效果得到的场景识别为过曝场景,所给出的自适应调整参数会压低过曝,但该自适应调整参数还没在第一帧生效。

第二帧,vproc0根据自适应调整参数对图像数据进行调整后,此时,根据venc0预览效果得到的场景识别为不过曝场景,即场景识别为正常场景,此时,判定不需要给出自适应调整参数,前一帧(即第一帧)传给vproc0的自适应调整参数删掉。

第三帧,由于vproc0删掉了之前拿到的自适应调整参数,因此,根据当前venc0预览效果得到的场景识别又变为过曝,即此时算法再一次识别出当前场景是过曝场景,又给出压低过曝的自适应调整参数,以在下一帧生效。

如此反复,预览效果会在“过曝->不过曝->过曝”之间来回变化,形成震荡效果。

为了降低在根据自适应调整参数调整图像数据后,预览效果产生震荡效果的概率,本申请实施例提供了一种图像处理方法。

在该图像处理方法中,对当前帧的RAW数据所对应的YUV数据进行场景识别,得到场景识别结果,并将当前帧的场景识别结果反馈到下一帧的RAW数据的处理中,以在下一帧能够根据该场景识别结果对该下一帧的RAW数据进行对应的处理。

下面结合附图对本申请实施例提供的图像处理方法进行描述。

图2示出了本申请实施例提供的一种图像处理方法的流程示意图,详述如下:

S21,获取第N帧的RAW数据,其中,上述N为大于或等于1的整数,上述RAW数据为从传感器的感光芯片获取的未经过加工的视频数据。

其中,当该图像处理方法应用在能够进行视频拍摄的图像处理设备(如网络摄像机)时,该图像处理设备用于获取多帧视频数据,该第N帧的RAW数据通常为从感光芯片获取到的最新的RAW数据。当然,若预先存储了感光芯片所获取的所有的RAW数据,则该第N帧的RAW数据可为当前从存储设备读取的RAW数据,此处不作限定。

S22,根据预设的第一内置参数将上述第N帧的RAW数据转换成第一YUV数据。

其中,第一内置参数用于将RAW数据转为YUV格式的YUV数据。

本申请实施例中,由于场景识别不能针对RAW数据进行,但能针对YUV格式的数据进行场景识别,因此,需要先将RAW数据转换为第一YUV数据。

S23,对第一YUV数据进行场景识别,得到场景识别结果。

本申请实施例中,预先设定一个或多个场景所对应的特征,这些场景包括但不限于:逆光场景、大雾场景、雪地场景、绿植场景、肤色场景、蓝天场景等。

假设逆光场景的特征是:画面中存在暗区(即平均亮度低于预设的亮度阈值的区域),在暗区内很暗,难以辨认其中物体,且暗区在整个画面面积占比超过第一数值(如为1/8)。

假设大雾场景的特征是:画面中存在朦胧、模糊不清的地方,相应面积超过第二数值(如为1/2),但模糊的位置能辨认出具体的东西。

假设雪地场景的特征是:画面中雪地面积占比超过第三数值(如1/3),是否为雪地可通过判断画面颜色是否为白色进行判定。

假设肤色场景的特征是:画面中人的面积占比超过第四数值(如1/8),且人露出脸(正脸或侧脸)。

假设蓝天场景的特征是:画面中天空面积超过第五数值(如1/8)即可。

需要指出的是,上述第一数值、第二数值、第三数值、第四数值和第五数值可相同,也可不同,此处不作限定。

在设定了场景的特征之后,若确定出第N帧的RAW数据对应的第一YUV数据,则可提取该第一YUV数据的特征,将提取的特征与预先设定的特征进行比较,根据比较结果判断该第一YUV数据所对应的场景。

以判断第一YUV数据对应的场景是否为逆光场景为例,根据逆光场景的特征,可先统计该第一YUV数据在不同区域的亮度,并将统计得到的亮度与预设的亮度阈值比较,若小于该亮度阈值,则判断小于亮度阈值的区域的面积与第一YUV数据对应的整个画面的面积的比值是否大于第一数值,若大于第一数值,则判定该第一YUV数据对应的场景为逆光场景。

需要指出的是,同一帧的第一YUV数据对应的场景可为一个,也可以为多个,即对第一YUV数据进行场景识别后,得到的场景识别结果可能包括一个场景标识,也可能包括多个场景标识。其中,该场景标识用于唯一表示场景,其可以用场景的名称表示。

可选地,可基于深度学习方法预先训练出场景识别模型,当获取到第一YUV数据后,通过该场景识别模型识别出该第一YUV数据的场景识别结果。

S24,根据上述场景识别结果确定第(N+1)帧的RAW数据对应的自适应调整参数。

具体地,由于场景识别结果需要一定的时间,而图像处理设备需要及时输出对应的图像数据,因此,当根据第N帧的RAW数据所对应的第一YUV数据确定出场景识别结果后,该场景识别结果只能作用于该第N帧的RAW数据的下一帧RAW数据,即作用于第(N+1)帧的RAW数据。

本申请实施例中,自适应调整参数与场景识别结果对应,该自适应调整参数通常包括但不限于:去雾、自动白平衡(Automatic White Balance,AWB)、自动曝光(AutomaticExposure,AE)等信息。

例如,若场景识别结果指示第N帧的RAW数据所对应的第一YUV数据为逆光场景,则该逆光场景对应的自适应调整参数包括以下信息:提高宽动态范围(Wide Dynamic Range,WDR)的强度,调整WDR映射关系,使直方图分布更均匀。

例如,若场景识别结果指示第N帧的RAW数据所对应的第一YUV数据为大雾场景,则该大雾场景对应的自适应调整参数包括以下信息:提高去雾(Defog)模块的增益,增加WDR,优化暗处过暗问题。

例如,若场景识别结果指示第N帧的RAW数据所对应的第一YUV数据为雪地场景,则该雪地场景对应的自适应调整参数包括以下信息:调高AE的期望亮度、调高防过曝阈值,使得调整后图像的整体亮度增加。

例如,若场景识别结果指示第N帧的RAW数据所对应的第一YUV数据为绿植场景,则该绿植场景对应的自适应调整参数包括以下信息:调整AWB,去除自然绿植落点部分,避免绿植经过AWB处理后,其颜色过白。其中,白平衡的落点通常是指在摄影和摄像中白平衡的设置,该设置用于矫正图像中的色彩偏差,使得白色物体在照片或视频中看起来是真正的白色。

例如,若场景识别结果指示第N帧的RAW数据所对应的第一YUV数据为肤色场景,则该肤色场景对应的自适应调整参数包括以下信息:调整AWB,在不同色温下扣除肤色落点部分,经过AWB处理后,避免肤色的颜色做白。

例如,若场景识别结果指示第N帧的RAW数据所对应的第一YUV数据为蓝天场景,则该蓝天场景对应的自适应调整参数包括以下信息:调整AWB,扣除蓝天落点部分,避免经过AWB处理后,蓝天的颜色做白。

S25,根据上述第(N+1)帧的RAW数据对应的自适应调整参数以及预设的第二内置参数,对获取的上述第(N+1)帧的RAW数据进行处理。

其中,第二内置参数能够将第(N+1)帧的RAW数据转换为YUV格式的数据,该第二内置参数可以与上述的第一内置参数相同,也可以不同,此处不作限定。

本申请实施例中,根据第二内置参数以及上一步骤确定的自适应调整参数共同对第(N+1)帧的RAW数据进行处理,如将该第(N+1)帧的RAW数据转换为第二YUV数据等。例如,若上一步骤确定的是逆光场景对应的自适应调整参数,则对第(N+1)帧的RAW数据的处理包括:提高该第(N+1)帧的RAW数据的WDR的强度,调整WDR映射关系,使直方图分布更均匀。

S26,输出与处理后的上述第(N+1)帧的RAW数据对应的YUV格式的数据。

其中,RAW数据经过输出处理后可以作为后续的在线预览的流数据,也可以作为其他算法(如缩放算法、裁剪算法等)的输入,还可以作为下一级编码模块的输入。其中,该编码模块可以将输入的YUV格式的数据编码为符合H.264或H.265等高度压缩数字视频编解码器标准的YUV格式的数据,后续再由播放器将编码后的YUV格式的数据转换为RGB格式的数据再在显示器上显示。由于视频编码后,能够减少得到的数据量,因此,在输出之前先进行视频编码,能够有效减少传输时所需的流量。

本申请实施例中,由于场景识别结果为对第N帧的RAW数据所对应的第一YUV数据进行场景识别得到,而该第一YUV数据是根据预设的第一内置参数对第N帧的RAW数据进行处理后得到,即,相当于根据固定的处理方式对没有经过任何处理的RAW数据进行处理,因此,能够保证得到的场景识别结果与该第N帧的RAW数据的匹配度,即保证得到的场景识别结果的准确度,从而保证后续根据该场景识别结果确定的自适应调整参数的准确度,进而能够保证根据该自适应调整参数对第(N+1)帧的RAW数据处理后的准确度。此外,由于视频流的场景识别结果是逐个对连续的RAW数据所对应的YUV数据进行场景识别得到,且该YUV数据没有经过自适应调整参数处理,因此,只要该连续的YUV数据所对应的场景没有发生变化,则得到的视频流的场景识别结果所指示的场景也不会发生变化,即保证根据场景识别结果所确定的自适应调整参数也不会发生变化,从而在根据本申请实施例所提供的自适应调整参数对RAW数据调整后,能够降低所得到的预览效果产生震荡效果的概率。

在一些实施例中,为了保证视频数据的完整性,在上述S26之前,还包括:

输出与处理后的第N帧的RAW数据对应的YUV数据。

其中,当N=1时,处理后的第N帧的RAW数据是指经过上述的第二内置参数处理后的第N帧的RAW数据。当N>1时,处理后的第N帧的RAW数据是指经过上述的第二内置参数以及第N帧的RAW数据对应的自适应调整参数共同处理后的第N帧的RAW数据。

由于本申请实施例是根据当前帧的RAW数据所对应的YUV数据确定下一帧的RAW数据的自适应调整参数,即第一帧的RAW数据不存在根据前一帧RAW数据对应的YUV数据所确定的自适应调整参数,因此,根据RAW数据当前的帧数是否为第一帧选择不同的处理方式,能够保证输出后的数据的准确性。

在一些实施例中,考虑到对某些场景下拍摄的视频数据进行场景识别时,所得到的场景识别结果的准确度较低,因此,可先过滤这些场景下所得到的场景识别结果之后,再根据剩余的场景识别结果确定自适应调整参数,即,假设上述图像处理方法应用于图像处理设备,则上述S22包括:

在第N帧的RAW数据不是需过滤场景下的RAW数据的情况下,根据上述场景识别结果确定第(N+1)帧的RAW数据对应的自适应调整参数。

可选地,上述需过滤场景包括以下至少一种:上述图像处理设备在转动时对应的场景、上述图像处理设备进行日夜切换功能的启动过程所对应的场景、上述图像处理设备处于变焦时所对应的场景、上述图像处理设备处于白光报警所对应的场景。其中,这里的变焦包括数字变焦和光学变焦,其用于放大或缩小图像处理设备所拍摄的物体。

本申请实施例中,考虑到图像处理设备在转动,或,图像处理设备处于日夜切换功能的启动过程(其中,日夜切换功能打开后,图像处理设备能够根据照度打开或关闭补光等)等需过滤场景时,所拍摄得到的视频数据可能存在画面不稳定的情况,因此,过滤掉对该视频数据进行场景识别所得到的场景识别结果。以图像处理设备为网络摄像机为例,当该网络摄像机的电机在转动过程中,该网络摄像机也在转动,此时,即使根据转动过程中所得到的RAW数据所对应的YUV数据得到场景识别结果,也不根据该场景识别结果确定后续的RAW数据的自适应调整参数。

在一些实施例中,上述图像处理方法应用于图像处理设备,上述S21包括:

A1、对第一YUV数据进行场景识别,得到上述第一YUV数据属于上述图像处理设备所能够识别的场景的概率。

需要指出的是,图像处理设备所能够识别的场景的数量可以等于1,也可以大于1。

当图像处理设备能够识别的场景的数量大于1时,需要分别计算该第N帧的RAW数据属于上述图像处理设备所能够识别的各个场景的概率。

A2、根据大于预设的概率阈值的上述概率,确定上述第一YUV数据所对应的场景标识,上述场景标识作为上述场景识别结果。

假设图像处理设备可以识别出逆光场景、大雾场景、雪地场景、绿植场景、肤色场景、蓝天场景这几个场景。假设对RAW数据所对应的YUV数据进行场景识别后,得到的概率SR

本申请实施例中,根据大于预设的概率阈值的概率确定第一YUV数据所对应的场景标识。由于在概率较大时,表明该第一YUV数据为对应的场景的可能性也较大,因此,根据上述方法能够提高得到的场景识别结果的准确度,此外,由于同一帧的YUV数据可能同时对应2个或2个以上的场景,因此,根据上述方式,能够保证得到的场景识别结果更全面。

在一些实施例中,考虑到图像处理设备所拍摄得到的画面可能是运动变化的,即不同帧的RAW数据所对应的YUV数据所属的场景的概率也可能是变化的,例如,进行场景识别后,得到的概率在预设的概率阈值的上下波动,此时,若根据场景识别结果(即根据上下波动的概率)确定自适应调整参数,则将导致根据该自适应调整参数调整后的画面出现场景震荡的效果。本申请实施例中,为了降低出现场景震荡的概率,则在判断出2帧或2帧以上的YUV数据所对应的场景相同后,再根据场景识别结果确定自适应调整参数。即在上述场景识别结果包括场景标识时,上述S22包括:

在上述第一YUV数据对应的场景识别结果和(M-1)帧的历史YUV数据对应的场景识别结果中均包括目标场景标识的情况下,根据上述目标场景标识确定上述第(N+1)帧的RAW数据对应的自适应调整参数,其中,上述目标场景标识为上述第一YUV数据对应的场景识别结果和上述(M-1)帧的历史YUV数据对应的场景识别结果中均相同的场景标识,上述(M-1)帧的历史YUV数据为上述第一YUV数据的(M-1)帧的历史数据,上述M为大于或等于2的整数。

其中,M的取值可根据实际情况确定,例如,若需要连续5帧的YUV数据的场景识别结果均存在相同的场景标识,则该M可设置为5,此时,即确定第N帧的RAW数据所对应的YUV数据的场景识别结果和该第N帧之前的4帧的RAW数据所对应的YUV数据的场景识别结果中均包括的场景识别标识---即目标场景识别标识。当然,该M也可以设置为其他数值,此处不作限定。

例如,若第1帧的RAW数据所对应的YUV数据的场景识别结果为逆光场景的场景标识、第2帧的RAW数据所对应的YUV数据的场景识别结果为逆光场景的场景标识和绿植场景的场景标识、第3帧的RAW数据所对应的YUV数据的场景识别结果为逆光场景的场景标识和肤色场景的场景标识、第4帧的RAW数据所对应的YUV数据的场景识别结果为逆光场景的场景标识和肤色场景的场景标识、第5帧的RAW数据所对应的YUV数据的场景识别结果为逆光场景的场景标识和大雾场景的场景标识,则这5帧的RAW数据所对应的YUV数据均包括的场景标识为:逆光场景的场景标识,此时,该逆光场景的场景标识为目标场景标识。

需要指出的是,上述目标场景标识所包括的场景标识的数量可以等于1,也可以大于1,此处不作限定。

例如,在目标场景所包括的场景标识的数量等于1时,则直接根据该场景标识以及预设的场景标识与自适应调整参数的对应关系,确定该场景标识对应的自适应调整参数。其中,确定的自适应调整参数作为第(N+1)帧的RAW数据对应的自适应调整参数。

例如,在目标场景所包括的场景标识的数量大于1时,则分别根据各个场景标识以及预设的场景标识与自适应调整参数的对应关系,确定各个场景标识对应的自适应调整参数。其中,确定的各个自适应调整参数均作为第(N+1)帧的RAW数据对应的自适应调整参数。

本申请实施例中,只有在相同的场景标识出现的次数大于1时才根据该场景标识确定自适应调整参数,因此,能够避免自适应调整参数被频繁确定的次数,从而能够避免根据该自适应调整参数对RAW数据进行频繁调整的次数,进而降低了调整后产生场景震荡的概率。

在一些实施例中,上述图像处理方法还包括:

在上述第一YUV数据对应的场景识别结果不存在上述目标场景标识的情况下,将当前使用的自适应调整参数作为上述第(N+1)帧的RAW数据对应的自适应调整参数。

其中,当前使用的自适应调整参数是指第N帧的RAW数据对应的自适应调整参数。

本申请实施例中,由于在判断出第一YUV数据对应的场景识别结果所包括的场景标识没有连续出现后,采用当前使用的自适应调整参数对第(N+1)帧的RAW数据进行处理,因此,能够降低自适应调整参数被频繁确定的概率。

在一些实施例中,考虑到在短时间内可能存在场景反复切换的问题,如在一分钟之内出现了10次切换等,而场景的反复切换将导致显示的画面效果存在场景震荡的问题,为了进一步降低发生场景震荡的概率,在上述S24之前,还包括:

C1、按照时间顺序,对当前时刻之前的第一预设时长内所得到的各个场景识别结果进行排序,得到排序结果。

其中,当前时刻可以为得到最新的一个场景识别结果的时刻。例如,假设当前对第N帧的RAW数据所对应的YUV数据进行场景识别,则得到场景识别结果的时刻可作为本申请实施例的当前时刻。

其中,第一预设时长的单位可设置为“分钟”,如该第一预设时长可设置为1分钟或2分钟等,具体数值可根据实际情况进行设置,此处不作限定。

本申请实施例中,若第一预设时长为1分钟,则将当前时刻之前的1分钟之内所得到的各个场景识别结果,按照得到各个场景识别结果的顺序进行排序,得到排序结果。

C2、根据排序结果中所有相邻的两个场景结果,计算该排序结果对应的场景切换次数,其中,上述场景切换次数用于指示具有不同的场景结果的场景结果对的数量,其中,上述场景结果对由相邻的两个场景结果组成。

具体地,若排序结果包括3个场景识别结果:场景识别结果1、场景识别结果2和场景识别结果3。则将场景识别结果1和场景识别结果2作为一个场景结果对(假设为第一场景结果对),将场景识别结果2和场景识别结果3作为另一个分组(假设为第二场景结果对)。若第一场景结果对中至少存在一个不相同的场景标识,第二场景结果对的各个场景标识都相同,则场景切换次数为“1”。

对应地,上述S24包括:

在上述场景切换次数不大于预设的数量阈值的情况下,根据上述场景识别结果确定第(N+1)帧的RAW数据对应的自适应调整参数。

其中,预设的数量阈值根据实际情况进行设定,例如,设定为5,或设定为10等。

由于在第一预设时长内场景切换次数不大于预设的数量阈值时,表明在该第一预设时长内没有存在场景反复切换的问题,因此,本申请实施例根据对当前帧的YUV数据所识别的场景识别结果确定下一帧的RAW数据的自适应调整参数,能够保证后续根据该自适应调整参数对下一帧的RAW数据的处理的准确度。

在一些实施例中,本申请实施例提供的图像处理方法还包括:

在上述场景切换次数大于上述预设的数量阈值的情况下,根据上述第二内置参数对当前时刻之后的第二预设时长内的RAW数据进行处理,其中,上述第(N+1)帧的RAW数据属于上述当前时刻之后的第二预设时长内的RAW数据。

其中,第二预设时长根据实际情况进行设定,通常情况下,第二预设时长大于第一预设时长,以保证在一个较长的时间内场景的稳定。例如,可将第二预设时长设定为30分钟或1小时等。

由于在第一预设时长内场景切换次数大于预设的数量阈值时,表明在该第一预设时长内存在场景反复切换的问题,因此,本申请实施例根据第二内置参数对当前时刻之后的第二预设时长内的RAW数据进行处理,能够保证在第二时长内的RAW数据的自适应调整参数不受反复切换的场景的影响。即能够避免对自适应调整参数的频繁调整,从而能够降低产生场景震荡的概率。

在一些实施例中,考虑到同一个场景识别结果可能包括2个或2个以上的场景结果标识,因此,即使在第一预设时长内,出现的场景切换次数大于预设的数量阈值的情况下,也可能出现以下情况:在该第一预设时长内的各个场景识别结果中均存在相同的场景标识。为了能够对第一预设时长内均出现的场景所对应的RAW数据进行准确的处理,则仍采用该场景所对应的自适应参数对对应的RAW数据进行处理,也即,在上述场景切换次数大于上述预设的数量阈值的情况下,根据上述第二内置参数对当前时刻之后的第二预设时长内的RAW数据进行处理,包括:

在上述场景切换次数大于上述预设的数量阈值且在该第一预设时长内的各个场景识别结果中均存在相同的场景标识的情况下,根据上述第二内置参数以及该相同的场景标识所对应的自适应调整参数对当前时刻之后的第二预设时长内的RAW数据进行处理。

例如,假设在第一预设时长内的场景识别结果如下:场景识别结果1(包括逆光场景标识、绿地场景标识)、场景识别结果2(包括天空场景标识、绿地场景标识)、场景识别结果3(包括肤色场景标识、绿地场景标识)。

由于场景识别结果1、场景识别结果2和场景识别结果3所包括的场景标识没有完全相同,因此,在第一预设时长内出现的场景切换次数为2。假设预设的数量阈值为1,则场景切换次数大于预设的数量阈值。

又由于场景识别结果1、场景识别结果2和场景识别结果3均包括“绿地场景标识”,因此,将根据预设的第二内置参数以及“绿地场景标识”所对应的自适应参数对当前时刻之后的第二预设时长内的RAW数据进行处理。

在本申请实施例中,由于还根据相同的场景标识对应的自适应调整参数对当前时刻之后的第二预设时长内的RAW数据进行处理,因此,能够保证后续的RAW数据所对应的自适应调整参数能够解决该相同的场景标识指向的场景所存在的问题,从而能够保证处理后的数据的画面质量。

为了更清楚地描述本申请实施例提供的图像处理方法,下面结合图4和图5进行描述。

图4示出了本申请实施例提供的一种图像处理方法的数据流向示意图。

在图4中:

第一步,vcap会从sensor拿到RAW数据分发给vproc0和vproc1用于后续处理。

第二步,vproc0会根据预设的第二内置参数以及vproc1确定的自适应调整参数对RAW数据进行处理,将得到的YUV数据传到下一级编码器venc0用于编码出流,或者,将得到的YUV数据传给算法模块,该算法模块用于对接收到的YUV数据进行缩放、降噪、旋转、裁剪等一种或多种的除场景识别之外的算法处理。

第三步,在第二步执行的同时,vproc1处理得到用于后续进行场景识别的YUV格式的数据,并传给下一级模块。

第四步,场景识别过程中,使用深度学习的方法计算出当前环境下属于各个场景的概率,并传给下一级模块处理。

第五步,在拿到各个场景的概率之后,对概率进行处理,完成场景判断。根据场景识别结果确定对应的自适应调整参数,并传给vproc0使用。从时序上来说,vproc1产生的自适应调整参数会在下一帧作用于vproc 0。

参考图5,图5示出了一种防震荡处理的流程示意图。假设图像处理设备为网络摄像机,为了进一步降低画面产生场景震荡的概率,则在第五步的场景判断过程中,还可执行以下步骤:

(1),特殊状态结果过滤:在进行场景判断之前,先过滤诸如电机转动过程中、日夜切换过程中产生的结果。考虑到IPC云台转动时画面不稳定,这期间产生的算法结果(如各个场景的概率等)没有参考价值,因此需要先过滤掉,以提高后续得到的场景判断结果的准确度。

(2),场景概率判断:将得到的各个场景的概率与预先设定的概率阈值进行比较,高于该概率阈值的才允许后续的场景参数(即自适应调整参数)的切换。

(3),防震荡滤波处理:因为监控画面都是运动变化的,所以根据算法得到的场景的概率大小会发生变化。如果场景的概率在预先设定的概率阈值上下波动,则容易造成场景震荡,因此我们需要对场景概率的判断结果进行防震荡滤波处理,比如,要求同一个场景连续出现5次才真正进行场景参数的切换。例如,假设“1”表示逆光场景的概率高于预设的概率阈值,“0”表示逆光场景的概率不高于预设的概率阈值,则只有出现连续的5个“1”才真正进行场景参数的切换:

假设在对连续的5帧RAW数据所对应的YUV数据进行场景识别后,得到的序列为“01 0 0 0”,由于该序列中没有出现连续的5个“1”,因此,不切换至逆光场景所对应的自适应调整参数。假设在对连续的10帧RAW数据进行场景识别后,得到的序列为“0 1 0 0 0 1 1 11 1”,由于出现了连续的5个“1”,因此,在得到最后一个“1”后(即连续第5次判断出逆光场景的概率高于预设的概率阈值后),切换到逆光场景所对应的自适应调整参数。

(4),反复切换兜底策略:在某些情况下,即使加了上面的限制,短时间内还是可能出现场景反复切换,因此,可设置以下兜底策略:如果一分钟内出现10次切换(一次切换就对应一次自适应调整参数的加载),则在预设时长(如1小时)内加载默认的自适应调整参数(即上述的第二内置参数)代替出现10次切换的场景所对应的自适应调整参数。需要指出的是,若出现了10次切换的RAW数据还存在至少一个场景不变,则不变的场景所对应的自适应调整参数仍继续采用,以对后续的预设时长内的RAW数据进行处理。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

对应于上文实施例上述的图像处理方法,图6示出了本申请实施例提供的一种图像处理装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。

参照图6,该图像处理装置6包括:原始数据获取模块61、格式转换模块62、场景识别模块63、自适应调整参数确定模块64、数据处理模块65、数据输出模块66。其中:

原始数据获取模块61,用于获取第N帧的RAW数据,其中,上述N为大于或等于1的整数,上述RAW数据为从传感器的感光芯片获取的未经过加工的视频数据。

格式转换模块62,用于根据预设的第一内置参数将上述第N帧的RAW数据转换成第一YUV数据。

场景识别模块63,用于对上述第一YUV数据进行场景识别,得到场景识别结果。

自适应调整参数确定模块64,用于根据上述场景识别结果确定第(N+1)帧的RAW数据对应的自适应调整参数。

数据处理模块65,用于根据上述第(N+1)帧的RAW数据对应的自适应调整参数以及预设的第二内置参数,对获取的上述第(N+1)帧的RAW数据进行处理。

数据输出模块66,用于输出与处理后的上述第(N+1)帧的RAW数据对应的YUV格式的数据。

本申请实施例中,由于场景识别结果为对第N帧的RAW数据所对应的第一YUV数据进行场景识别得到,而该第一YUV数据是根据预设的第一内置参数对第N帧的RAW数据进行处理后得到,即,相当于根据固定的处理方式对没有经过任何处理的RAW数据进行处理,因此,能够保证得到的场景识别结果与该第N帧的RAW数据的匹配度,即保证得到的场景识别结果的准确度,从而保证后续根据该场景识别结果确定的自适应调整参数的准确度,进而能够保证根据该自适应调整参数对第(N+1)帧的RAW数据处理后的准确度。此外,由于视频流的场景识别结果是逐个对连续的RAW数据所对应的YUV数据进行场景识别得到,且该YUV数据没有经过自适应调整参数处理,因此,只要该连续的YUV数据所对应的场景没有发生变化,则得到的视频流的场景识别结果所指示的场景也不会发生变化,即保证根据场景识别结果所确定的自适应调整参数也不会发生变化,从而在根据本申请实施例所提供的自适应调整参数对RAW数据调整后,能够降低所得到的预览效果产生震荡效果的概率。

在一些实施例中,上述图像处理装置6应用于图像处理设备,上述自适应调整参数确定模块64具体用于:

在上述第N帧的RAW数据不是需过滤场景下的RAW数据的情况下,根据上述场景识别结果确定上述第(N+1)帧的RAW数据对应的自适应调整参数。

在一些实施例中,上述图像处理装置6应用于图像处理设备,上述场景识别模块63包括:

场景识别单元,用于对上述第一YUV数据进行场景识别,得到上述第一YUV数据分别属于上述图像处理设备所能够识别的各个场景的概率。

概率比较单元,用于根据大于预设的概率阈值的上述概率,确定上述第一YUV数据所对应的场景标识,上述场景标识作为上述场景识别结果。

在一些实施例中,上述场景识别结果包括场景标识,上述自适应调整参数确定模块64具体用于:

在上述第一YUV数据对应的场景识别结果和(M-1)帧的历史YUV数据对应的场景识别结果中均包括目标场景标识的情况下,根据上述目标场景标识确定上述第(N+1)帧的RAW数据对应的自适应调整参数,其中,上述目标场景标识为上述第一YUV数据对应的场景识别结果和上述(M-1)帧的历史YUV数据对应的场景识别结果中均相同的场景标识,上述(M-1)帧的历史YUV数据为上述第一YUV数据的(M-1)帧的历史数据,上述M为大于或等于2的整数。

在一些实施例中,本申请实施例提供的图像处理装置6还包括:

参数重置模块,用于在上述第一YUV数据对应的场景识别结果不存在上述目标场景标识的情况下,将当前使用的自适应调整参数作为上述第(N+1)帧的RAW数据对应的自适应调整参数。

在一些实施例中,本申请实施例提供的图像处理装置6还包括:

排序结果确定模块,用于在上述根据上述场景识别结果确定第(N+1)帧的RAW数据对应的自适应调整参数之前,按照时间顺序,对当前时刻之前的第一预设时长内所得到的各个场景识别结果进行排序,得到排序结果。

场景切换次数统计模块,用于根据上述排序结果中所有相邻的两个场景结果,计算上述排序结果对应的场景切换次数,其中,上述场景切换次数用于指示具有不同的场景结果的场景结果对的数量,其中,上述场景结果对由相邻的两个场景结果组成。

对应地,上述自适应调整参数确定模块64用于:

在上述场景切换次数不大于预设的数量阈值的情况下,根据上述场景识别结果确定第(N+1)帧的RAW数据对应的自适应调整参数。

在一些实施例中,本申请实施例提供的图像处理装置6还包括:

兜底处理模块,用于在上述场景切换次数大于上述预设的数量阈值的情况下,根据上述第二内置参数对当前时刻之后的第二预设时长内的RAW数据进行处理,其中,上述第(N+1)帧的RAW数据属于上述当前时刻之后的第二预设时长内的RAW数据。

在一些实施例中,考虑到同一场景识别结果可能包括2个或2个以上的场景识别标识,则:在上述场景切换次数大于上述预设的数量阈值的情况下,根据上述第二内置参数对当前时刻之后的第二预设时长内的RAW数据进行处理,包括:

在上述场景切换次数大于上述预设的数量阈值且在该第一预设时长内的各个场景识别结果中均存在相同的场景标识的情况下,根据上述第二内置参数以及该相同的场景标识所对应的自适应调整参数对当前时刻之后的第二预设时长内的RAW数据进行处理。

需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

图7为本申请一实施例提供的图像处理设备的结构示意图。如图7所示,该实施例的图像处理设备7包括:至少一个处理器70(图7中仅示出一个处理器)、存储器71以及存储在所述存储器71中并可在所述至少一个处理器70上运行的计算机程序72,所述处理器70执行所述计算机程序72时实现上述任意各个方法实施例中的步骤。

所述图像处理设备7可以是网络摄像机、桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该图像处理设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是图像处理设备7的举例,并不构成对图像处理设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。

所称处理器70可以是中央处理单元(Central Processing Unit,CPU),该处理器70还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器71在一些实施例中可以是所述图像处理设备7的内部存储单元,例如图像处理设备7的硬盘或内存。所述存储器71在另一些实施例中也可以是所述图像处理设备7的外部存储设备,例如所述图像处理设备7上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述图像处理设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本申请实施例还提供了一种网络设备,该网络设备包括:至少一个处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意各个方法实施例中的步骤。

本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述各个方法实施例中的步骤。

本申请实施例提供了一种计算机程序产品,当计算机程序产品在图像处理设备上运行时,使得图像处理设备执行时可实现上述各个方法实施例中的步骤。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/图像处理设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。

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

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

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

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

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

技术分类

06120116523812