视频处理方法及装置、存储介质及电子设备与流程

文档序号:23144548发布日期:2020-12-01 13:24阅读:132来源:国知局
视频处理方法及装置、存储介质及电子设备与流程

本发明涉及图像处理技术领域,具体而言,涉及一种视频处理方法及装置、存储介质及电子设备。



背景技术:

动态范围是指电信号最高和最低的相对比值,反映在图像上就是亮部区域和暗部区域可以显示出的细节,动态范围越大图像的层次越丰富。高动态范围(highdynamicrange,简称hdr)算法可以指一种后处理技术,通过该技术处理后的图像或视频在画面中的亮部区域和暗部区域可以展现出更加丰富的细节,或者说体现出更大的动态范围,因此亦可简称hdr图像或hdr视频。

对图像而言,常见的hdr算法包括:曝光融合、泊松融合、色调映射、低光增强、基于深度学习的算法等。这些算法虽然能取得不错的处理效果,但往往耗时较长(单张图像处理需数百毫秒至数秒不等),若用于处理照片尚可接受,若用于处理视频,特别是移植到移动终端或者嵌入式设备上进行实时的视频处理,则显得力不从心,即无法高效地生成hdr视频。



技术实现要素:

本申请实施例的目的在于提供一种视频处理方法及装置、存储介质及电子设备,以改善上述技术问题。

为实现上述目的,本申请提供如下技术方案:

第一方面,本申请实施例提供一种视频处理方法,包括:获取视频帧序列中当前视频帧;对所述当前视频帧中的目标通道进行像素值校正,以扩大所述目标通道中像素值的分布范围;对所述当前视频帧进行平滑滤波,获得当前增强视频帧。

通过上述方法进行视频处理,可以获得具有hdr效果的视频。该方法主要通过单帧图像的像素值校正实现hdr效果,因此其执行效率明显高于现有技术中通过结合多帧图像实现hdr效果的方式。另外,上述方法还通过对像素值校正后的视频帧进行平滑滤波,改善了因像素值校正引起的图像质量下降问题,使获得的hdr视频效果更佳。

在第一方面的一种实现方式中,所述对所述当前视频帧中的目标通道进行像素值校正,包括:对采用yuv格式的所述当前视频帧中的y通道进行像素值校正,或者,对采用bgr格式的所述当前视频帧中的bgr三个通道分别进行像素值校正。

上述实现方式给出了进行像素值校正的两种可能的方案,发明人长期研究发现,在y通道上进行像素值校正,校正后的图像中偏色和噪声现象较轻。

在第一方面的一种实现方式中,所述对采用yuv格式的所述当前视频帧中的y通道进行像素值校正,包括:计算所述y通道的反相图像并对所述反相图像进行高斯滤波,获得滤波图像;根据所述滤波图像中每个像素的像素值计算所述y通道中对应像素的校正系数;其中,若所述滤波图像中一像素的像素值偏亮,则所述y通道中对应像素的校正系数小于1,若所述滤波图像中一像素的像素值偏暗,则所述y通道中对应像素的校正系数大于1;对所述y通道中每个像素的像素值进行归一化,将每个像素的校正系数作为幂指数对该像素归一化后的像素值进行像素值校正,并将校正后的像素值进行反归一化。

按照上述方法进行像素值校正,当前视频帧中偏亮的像素(例如,若y通道像素的取值为0至255,则像素值大于128可以认为是偏亮的像素)亮度会得到抑制,而当前视频帧中偏暗的像素(例如,若y通道像素的取值为0至255,则像素值小于128可以认为是偏暗的像素)亮度会得到提升,从而使得视频帧中亮部和暗部的更多细节得以呈现在画面中,即实现了hdr效果。

在第一方面的一种实现方式中,所述获取视频帧序列中当前视频帧,包括:获取在预设曝光补偿值下采集的视频帧序列中当前视频帧;其中,所述预设曝光补偿值为负数。

将曝光补偿值设置为负数(例如,-2)进行图像采集,即使得画面在一定程度上欠曝,可以在视频帧的暗部保留更多细节,这些细节可通过暗部像素的亮度提升(即像素值校正)得到呈现。

在第一方面的一种实现方式中,所述对像素值校正后的所述当前视频帧进行平滑滤波,包括:对像素值校正后的所述当前视频帧在时间域和/或空间域上进行平滑滤波。

发明人经长期研究发现,在进行像素值校正后,视频帧可能会出现帧间闪烁、噪声等问题,可以通过对当前视频帧在时间域和/或空间域上进行平滑滤波以改善这一现象。其中,时间域滤波主要改善帧间闪烁问题,空间域滤波主要改善噪声问题。

在第一方面的一种实现方式中,对像素值校正后的所述当前视频帧在空间域上进行平滑滤波,包括:在像素值校正后的所述当前视频帧上,以每个像素为中心像素取预设大小的滑动窗口,并计算所述滑动窗口内各像素取值的加权平均值作为所述中心像素的新像素值;其中,所述中心像素的权重为常数,所述滑动窗口中其他任一像素的权重与该像素和所述中心像素之间的距离负相关,并且与该像素和所述中心像素的像素值之间的差值负相关。

在第一方面的一种实现方式中,对像素值校正后的所述当前视频帧在时间域上进行平滑滤波,包括:针对像素值校正后的所述当前视频帧中的每个像素,计算该像素取值与所述至少一个前序增强视频帧中同位置像素取值的加权平均值作为该像素的新像素值;其中,该像素的权重为预设常数,任一前序增强视频帧中同位置像素的权重与该增强视频帧和像素值校正后的所述当前视频帧之间间隔的帧数负相关。

平滑滤波可以采用高斯核,但高斯核由于涉及幂运算,其运算效率相对较低,因此也可以采用上面两种实现方式中提供的简化方案。

在第一方面的一种实现方式中,所述方法还包括:对像素值校正后的所述当前视频帧进行对比度拉伸。

发明人经长期研究发现,在进行像素值校正后,视频帧可能会出现颜色偏暗的问题,可以通过对像素值校正后的视频帧进行对比度拉伸以改善这一现象。

在第一方面的一种实现方式中,所述方法还包括:对像素值校正后的所述当前视频帧进行锐化。

发明人经长期研究发现,在进行像素值校正后,视频帧可能会出现画面模糊的问题,可以通过对像素值校正后的视频帧进行锐化以改善这一现象。

第二方面,本申请实施例提供一种视频处理装置,包括:视频帧获取模块,用于获取视频帧序列中当前视频帧;像素值校正模块,用于对所述当前视频帧中的目标通道进行像素值校正,以扩大所述目标通道中像素值的分布范围;平滑滤波模块,用于对所述当前视频帧进行平滑滤波,获得当前增强视频帧。

第三方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法。

第四方面,本申请实施例提供一种电子设备,包括:存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本申请实施例提供的一种视频处理方法的流程图;

图2示出了本申请实施例提供的一种视频处理装置的模块图;

图3示出了本申请实施例提供的一种电子设备的示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

图1示出了本申请实施例提供的一种视频处理方法的流程图,该方法可以但不限于由一电子设备执行,图3示出了该电子设备的一种可能的结构,具体可参考后文关于图3的阐述。参照图1,该方法包括:

步骤s110:获取视频帧序列中当前视频帧。

视频帧序列可以是实时采集的视频帧构成的序列,也可以是一个视频文件中的视频帧构成的序列,也可以是一系列在画面上连续的图像文件构成的序列,等等。采集视频数据的电子设备和本申请实施例提供的视频处理方法的电子设备可能是同一台设备,也能不是同一台设备:例如,可以由一台手机采集视频数据,经手机本地处理后(采用本申请实施例提供的视频处理方法),在手机上展示生成的hdr视频;又例如,可以由一台手机采集视频数据,将数据传输到计算机上,经计算机本地处理后(采用本申请实施例提供的视频处理方法),在计算机上展示生成的hdr视频,等等。

视频帧序列中的视频帧具有特定的格式,并且在对视频帧进行处理前,还可以根据需求进行格式转换。例如,在一些实现方式中,步骤s120要求输入的视频帧采用yuv格式,步骤s130要求输入的视频帧采用bgr格式,但原始采集到的视频帧可能是raw格式,则可以将raw格式的视频帧先转换为yuv格式后,再执行步骤s120中的像素值校正,校正后再将其从yuv格式转换为bgr格式,以执行步骤s130中的平滑滤波。可以理解的,视频帧格式的转换可以在每处理一个视频帧之前执行,也可以先对整个视频帧序列进行格式转换后再分别处理每个视频帧。

在一些实现方式中,为实现较好的hdr效果,可以在视频帧序列的采集阶段采用预设的曝光补偿值(ev)进行拍摄,此处预设的曝光补偿值为负数(例如,-1、-2等),以使得画面在一定程度上欠曝,从而可以在视频帧的暗部保留更多细节,这些细节可通过暗部像素的亮度提升(通过步骤s120中的像素值校正)得到呈现,当然,预设的曝光补偿值需合理设置,若欠曝过度也会导致视频帧暗部的像素细节丢失。

以预设的曝光补偿值是-2的情况为例,由于手机等电子设备在进行视频拍摄时通常将曝光补偿值默认设置为0,所以要将曝光补偿值设置为-2,可以由手机用户进行手动设置,当然在其他一些实现方式中,也可由手机内置的程序根据外部环境的光照条件自动判断。例如,对于外部环境是高光、暗光或逆光的情况,拍摄到的视频经常出现亮部严重过曝和/或暗部严重欠曝的问题,此时对视频进行hdr处理的需求比较明显,手机程序可以自动将曝光补偿值设置为-2进行拍摄并进行后续的hdr处理。此外,手动设置和程序自动判断也可以相互结合,例如,若用户手动选择了hdr拍摄模式,并且手机程序根据当前光照条件判断出确实需要进行hdr处理,则可以采用适当的曝光补偿值进行拍摄并进行后续的hdr处理。

对视频帧序列中的每个视频帧,其处理方式是基本相同的,所以后文主要以其中一帧的处理过程为例进行介绍,不失一般性,称其为当前视频帧。

步骤s120:对当前视频帧中的目标通道进行像素值校正,以扩大目标通道中像素值的分布范围。

目标通道是指当前视频帧中选定的一个或多个要进行像素值校正的通道,对目标通道进行像素值校正是指对目标通道中的部分或全部的像素的取值进行校正,具体而言,像素值校正是指对输入像素值进行某种变换(例如,线性变换或非线性变换),将其映射为输出像素值的一种方法,比如,某像素校正前的像素值为输入像素值,以输入像素值为底数,以某个系数为幂指数进行幂运算得到输出像素值,并将输出像素值作为被校正的像素的新的取值,这就是一种像素值校正的方法。

步骤s120中的像素值校正可以是全局的,也就是说对整个目标通道中的所有像素采用统一的参数(例如,上面的幂指数就是一种校正参数)进行校正。在一些实现方式中,步骤s120中的像素值校正也可以是具有局部性的,即对目标通道中不同的像素采用不同的参数进行校正,以达到不同的校正效果。

下面以局部性校正为例进行说明:

比如,对于目标通道亮部的像素和暗部的像素可以采用不同的参数分别进行校正。其中,若设置256个灰度等级,则像素值大于128的像素可称为偏亮的像素,偏亮的像素构成的区域就是目标通道中的亮部,像素值小于128的像素可称为偏暗的像素,偏暗的像素构成的区域就是目标通道中的暗部。当然,若采用其他灰度等级,亮部、暗部的定义也可以相应调整。

对位于目标通道亮部的像素,可以通过像素值校正减小其像素值,即抑制其亮度以展现更多亮部细节;对位于目标通道暗部的像素,可以通过像素值校正增大其像素值,即提升其亮度以展现更多亮部细节。

以校正目标通道暗部的情况为例,假设校正前的当前视频帧欠曝比较严重,导致目标通道暗部的像素取值集中在一个小区间内(例如,[0,10]),使得暗部细节难以分辨,通过暗部校正使得这部分像素的取值按照某种变换方式(例如,幂运算)被放大,并最终落在一个新的区间内(例如,[0,25]),在像素数量不变的情况下,由于其取值的分布范围变大了(从[0,10]变为[0,25]),使得各像素之间的差异更加明显,体现为画面中出现更多的暗部细节。对于校正目标通道亮部的情况,可以类似分析。

总之,如果通过校正使得目标通道中像素值的分布范围得以扩大,则校正后目标通道整体的细节丰富程度将得到显著提升,进一步由于目标通道属于当前视频帧,从而当前视频帧的细节丰富程度也能够得到显著提升,即步骤s120是实现视频hdr效果的关键。

可以理解的,对于上面的例子,在不同的实现方式中,对目标通道亮部和暗部的像素值校正既可以只执行其中一项,也可以两项都执行。

上面提到,像素值校正的对象是输入像素值。对于当前视频帧而言,根据选择的目标通道的不同,该输入像素值可能代表不同的含义:例如,若当前视频帧采用bgr格式(包括转换为bgr格式的情况),则可以对视频帧中的b、g、r三个通道分别进行像素值校正(目标通道为b、g、r三个通道),比如对b通道进行校正,则上述输入像素值就是b通道中的像素值(蓝色分量值)。又例如,当前视频帧采用yuv格式(包括转换为yuv格式的情况),则可以对视频帧中的y通道进行像素值校正(目标通道为y通道),上述输入像素值就是y通道中的像素值(亮度分量值)。并且,若当前视频帧采用yuv格式,在进行完像素值校正后可以将其转换为bgr格式,以便执行后续步骤。

发明人长期研究发现,在b、g、r三个通道上分别进行像素值校正,校正后的图像中容易出现较明显偏色和噪声现象,而在y通道上进行像素值校正,校正后的图像中偏色和噪声现象较轻,而且仅对一个通道进行像素值校正,运算量也会小一些。

对于分别校正b、g、r三个通道的方案,以b通道为例,可以通过如下步骤进行校正(假设采用256个灰度级):

(1)计算b、g、r三个通道的均值图像s。

(2)计算s的反相图像s1=255-s。

(3)对s1利用高斯滤波进行去噪,得到滤波图像s2。

(4)根据s2中每个像素的像素值计算b通道中对应像素的校正系数,其计算规则满足:若s2中一像素的像素值偏亮(如大于128),则b通道中对应像素的校正系数小于1,若s2中一像素的像素值偏暗(如小于128),则y通道中对应像素的校正系数大于1。例如,在一个可选方案中,校正系数γ1按照如下方式计算:

其中,i、j表示s2中的像素坐标。

(5)对b通道中每个像素的像素值进行归一化,将每个像素的校正系数作为幂指数对该像素归一化后的像素值进行校正,并将校正后的像素值进行反归一化。该步骤用公式表示如下:

其中,b(i,j)除以255表示归一化,乘以255表示反归一化,o1(i,j)表示b(i,j)进行像素值校正后的结果。

通过上面的计算过程可以看出,b通道中的某个像素的像素值b(i,j)与该像素对应的校正系数γ1是正相关的,因此在b(i,j)的值较大时,γ1的值也较大,而b(i,j)/255是一个0到1之间的数,从而较大的γ1对其取值的增大有抑制作用,反之,在b(i,j)的值较小时,γ1的值也较小,较小的γ1对b(i,j)/255的取值有提升作用。因此上述像素值校正方法可以达到前文提出的使得位于目标通道亮部的像素亮度得到抑制、位于目标通道暗部的像素亮度得到提升的效果。

对于校正y通道的方案,可以通过如下步骤进行校正(假设采用256个灰度级):

(1)计算y通道的反相图像s3=255-y。

(2)对s3利用高斯滤波进行去噪,得到滤波图像s4。

(3)根据s4中每个像素的像素值计算y通道中对应像素的校正系数,其计算规则满足:若s4中一像素的像素值偏亮(如大于128),则y通道中对应像素的校正系数小于1,若s4中一像素的像素值偏暗(如小于128),则y通道中对应像素的校正系数大于1。例如,在一个可选方案中,校正系数γ2按照如下方式计算:

其中,i、j表示s4中的像素坐标。

(4)对y通道中每个像素的像素值进行归一化,将每个像素的校正系数作为幂指数对该像素归一化后的像素值进行校正,并将校正后的像素值进行反归一化。该步骤用公式表示如下:

其中,y(i,j)除以255表示归一化,乘以255表示反归一化,o2(i,j)表示y(i,j)进行像素值校正后的结果。

通过上面的计算过程可以看出,y通道中的某个像素的像素值y(i,j)与该像素对应的校正系数γ2是正相关的,因此在y(i,j)的值较大时,γ2的值也较大,而y(i,j)/255是一个0到1之间的数,从而较大的γ2对其取值的增大有抑制作用,反之,在y(i,j)的值较小时,γ2的值也较小,较小的γ2对y(i,j)/255的取值有提升作用。因此上述像素值校正方法可以达到前文提出的使得位于目标通道亮部的像素亮度得到抑制、位于目标通道暗部的像素亮度得到提升的效果。

步骤s130:对像素值校正后的当前视频帧进行平滑滤波,获得当前增强视频帧。

经步骤s130处理后的视频帧称为增强视频帧,视频帧序列中所有的视频帧都得到增强后,所获得的视频帧序列就是最终要得到的hdr视频。

发明人经长期研究发现,虽然步骤s120已经可以实现hdr的基本效果,但可能导致校正后的视频帧图像质量下降。进一步的,发明人发现,图像质量的下降至少体现在如下两方面:

(1)在步骤s120中可能对每个像素的像素值独立进行校正,并未考虑视频帧内容在空间上的连续性,所以在像素值校正后可能会因为当前视频帧中相邻像素之间的亮度缺乏连续性而引起画面噪声问题。

(2)由于步骤s120是对视频帧序列中的每个视频帧单独处理,并未考虑视频帧内容在时间上的连续性,所以在像素值校正后可能会因为各帧之间的亮度缺乏连续性而引起帧间闪烁问题。

因此,在一些实现方式中,可以对像素值校正后的当前视频帧进行空间域上的平滑滤波,提高像素亮度在时间上的连续性,以改善上述第(1)项问题,也可以对像素值校正后的当前视频帧进行时间域上的平滑滤波,提高像素亮度在空间上的连续性,以改善上述第(2)项问题,或者也可以对像素值校正后的当前视频帧既进行空间域上的平滑滤波,又进行时间域上的平滑滤波,以同时改善上述两项问题。至于空间域平滑滤波与时间域平滑滤波的先后顺序,本申请并不限定。

在本申请的方案中,前序增强视频帧是指这些增强视频帧在视频帧序列中的位置位于当前视频帧之前(也就是说,前序增强视频帧是视频帧序列中位于当前视频帧之前的原始视频帧处理后得到的),所谓时间域上的平滑滤波就是指在对当前视频帧中的像素进行平滑滤波时,会考虑至少一个前序增强视频帧中的像素,由于前序增强视频帧和当前视频帧并非同一时刻采集的图像,因此这样的平滑滤波体现出了像素的时间特性。作为对比的,若对当前视频帧中的像素进行平滑滤波时只考虑当前帧中的像素,这样的平滑滤波则只能体现像素的空间特性,从而可以称为空间域上的平滑滤波。

下面具体介绍这两种滤波可能的实现方式,注意,为简单起见,在介绍平滑滤波时,所称的当前视频帧都是指进行像素值校正后的当前视频帧。

(1)空间域平滑滤波

在当前视频帧上以每个像素为中心像素取预设大小的滑动窗口,计算滑动窗口内各像素取值的加权平均值,将该加权平均值作为中心像素的新像素值。其中,中心像素的权重为预设常数,滑动窗口中其他任一像素的权重与该像素和中心像素之间的距离负相关,并且与该像素和中心像素的像素值之间的差值负相关。下面的公式给出了一种符合上述空间域滤波方案描述的可选方案:

其中,win1表示当前视频帧中以像素c为中心的一个滑动窗口(例如,3x3、5x5的窗口),像素(i,j)表示该窗口内的任一像素,w1(i,j)表示像素(i,j)的权重,i(i,j)表示像素(i,j)在当前视频帧中的像素值,等式右侧的意思就是对win1内的所有像素的像素值求加权平均,ic表示像素c进行空间域平滑滤波后的结果。上式中的权重这样计算:

其中,若像素(i,j)就是像素c,则权重为1(也不排除取其他常数)。若像素(i,j)不是像素c,则权重主要取决于两个因素:一是像素(i,j)与像素c之间的距离(xi,j-xc)2+(yi,j-yc)2(此处实际为距离的平方,但不影响分析),且权重与该距离为负相关关系,即像素(i,j)离像素c越近,权重越大,否则权重越小,这项因素是空间域因素;二是像素(i,j)与像素c的像素值之间的差值(pi,j-pc)2(此处实际为差值的平方,但不影响分析),且权重与该差值为负相关关系,即像素(i,j)与像素c的像素值差异越小,权重越大,否则权重越小,这项因素是像素域因素。

上式中的sigma1、sigma2为常数,可以适当地选取sigma1、sigma2,使得在像素(i,j)不是像素c时,计算出的权重总是小于1,可以理解的,在进行加权求和时,中心像素c自身的像素值在结果中应占有最大的权重。

应当指出,上述空间域平滑滤波方案仅为示例,在其他一些实现方式中,也可以采用双边滤波、高斯滤波等替代。但上述滤波方案的优势在于:第一,在进行空间域平滑滤波时,将像素域的因素也考虑进来,有利于在滤波之后保留图像中的边缘等细节,避免图像模糊;第二,双边滤波、高斯滤波等滤波方法都采用高斯核,因此滤波过程涉及指数运算,其运算效率相对于上述方案来说比较低。

(2)时间域平滑滤波

若要进行时间域的平滑滤波,本申请的方案中应设置缓存区,每产生一个增强视频帧就将其保存至缓存区中,缓存区中至少能保存一个增强视频帧,但缓存区大小有限,至多也只能保存预设数量的增强视频帧(例如,2个、3个等),从而当缓存区满后再向其中存入增强视频帧,缓存区中最早存入的增强视频帧将被覆盖掉。若增强视频帧按照视频帧被处理的先后顺序(也即视频帧在视频帧序列中的排列顺序)存入缓存区,则缓存区中所有的视频帧都属于前序增强视频帧。例如,当前视频帧是视频帧序列的第k帧且缓存区大小为2,则前序增强视频帧为保存于缓存区中的、视频帧序列中的第k-1和第k-2帧。

在对当前视频帧进行时间域上的平滑滤波时,是否要结合缓存区中全部的增强视频帧,本申请对此并不限定。若会结合缓存区中全部的增强视频帧,则缓存区越大,时间域上的平滑滤波对帧间闪烁问题的改善也越好,但计算耗时也越长,若重点考虑视频处理的实时性,则缓存区不应设置得太大。

特别地,如果当前视频帧为视频帧序列的第一帧,则由于此时缓存区为空,可不对其进行时间域上的平滑滤波。

一种可能的时间域滤波方式如下:针对当前视频帧中的每个像素,计算该像素取值与至少一个前序增强视频帧中同位置像素取值的加权平均值作为该像素的新像素值;其中,该像素的权重为预设常数,任一前序增强视频帧中同位置像素的权重与该增强视频帧和当前视频帧之间间隔的帧数(指在视频帧序列中间隔的帧数)负相关。下面的公式给出了一种符合上述时间域滤波方案描述的可选方案:

其中,win2表示一个视频帧集合,该集合包括当前视频帧(经过空间域滤波后的)以及缓存区中全部的增强视频帧,k表示视频帧集合中任一视频帧的序号(在视频帧序列中的序号),kc表示当前视频帧的序号。(i,j)表示视频帧中的一个像素位置,当前视频帧中的像素(i,j)即要进行时间域平滑滤波的像素,滤波完成后更新的也是该像素的像素值,前序增强视频帧中的像素(i,j)即上面所谓的同位置像素。w2k(i,j)表示序号为k的帧中像素(i,j)的权重,ik(i,j)表示序号为k的帧中像素(i,j)的像素值,等式右侧的意思就是对win2内的所有帧中的像素(i,j)的像素值求加权平均,ikc(i,j)表示当前视频帧中的像素(i,j)进行时间域平滑滤波后的结果。上式中的权重这样计算:

其中,若视频帧集合中序号为k的帧就是当前视频帧(序号为kc),则权重为1(也不排除取其他常数)。若视频帧集合中序号为k的帧不是当前视频帧,则权重取决于视频帧序号k与视频帧序号kc之间的差值(k-kc)2(此处实际为差值的平方,但不影响分析),且权重与该差值为负相关关系,即视频帧集合中序号为k的帧与当前视频帧在视频帧序列中相距越近(也就是间隔时间越短),权重越大,否则权重越小,即权重取值与时间域因素有关。

上式中的sigma3为常数,可以适当地选取sigma3,使得在视频帧集合中序号为k的帧不是当前视频帧时,计算出的权重总是小于1,可以理解的,在进行加权求和时,当前视频帧自身的像素在结果中应占有最大的权重。

应当指出,上述时间域平滑滤波方案仅为示例,也存在其他替代方式,例如在进行时间域上的平滑滤波时也将像素域的因素纳入考虑范围。

综上所述,本申请实施例提供的视频处理方法主要通过单帧图像的像素值校正实现hdr效果,其方法逻辑简单,执行效率明显高于现有技术中通过结合多帧图像实现hdr效果的方式(例如,现有技术中的曝光融合方法通过拍摄不同曝光量的图像进行融合)。经实测,该方法完成单个视频帧的hdr处理(指产生增强视频帧)只需数十毫秒,可以满足对视频进行实时hdr的需求,并且在高光、逆光、暗光等环境下都具有良好的表现。

进一步的,发明人经长期研究发现,在步骤s120中进行像素值校正后,视频帧可能会出现颜色偏暗的问题。因此在一些实现方式中,还可以对像素值校正后的当前视频帧进行对比度拉伸,以改善画面中的偏色问题。

此外,发明人还发现,在步骤s120中进行像素值校正后,视频帧可能会出现画面模糊的问题。因此在一些实现方式中,还可以对像素值校正后的当前视频帧进行锐化,以改善画面模糊的问题。下面举例说明一种可能的锐化方式:

首先,对像素值校正后的当前视频帧进行高斯滤波,获得该视频帧中包含的低频信号;然后,利用像素值校正后的当前视频帧减去该低频信号,获得该视频帧中包含的高频信号;最后,将该高频信号放大后与低频信号相加,获得锐化后的当前视频帧。

上述锐化方式的原理主要是增强视频帧中的高频分量,其中高频信号的放大可以采用乘以某个放大系数的方式。在其他一些实现方式中,也可以直接将获得的高频信号与像素值校正后的当前视频帧相加,同样能够起到增强高频分量的效果。

尽管本申请提出的是一种视频处理方法,但该方法亦可用于生成hdr图像(可将图像视为只有一帧的特殊视频),无非是在生成hdr图像时不执行时间域上的平滑滤波而已。

最后还需说明的是,在阐述本申请实施例提供的是视频处理方法时,除方法本身以外,还提到了发明人发现的诸多技术问题,这些技术问题是发明人在不断完善视频处理方案的过程中,通过观察、归纳、总结获得的,因此同样体现了发明人所付出的创造性劳动,理应视为发明人对本申请的方案所作出的贡献。

图2示出了本申请实施例提供的视频处理装置200的功能模块图。参照图2,视频处理装置200包括:

视频帧获取模块210,用于获取视频帧序列中当前视频帧;

像素值校正模块220,用于对所述当前视频帧中的目标通道进行像素值校正,以扩大所述目标通道中像素值的分布范围;

平滑滤波模块230,用于对所述当前视频帧进行平滑滤波,获得当前增强视频帧。

在视频处理装置200的一种实现方式中,像素值校正模块220对所述当前视频帧中的目标通道进行像素值校正,包括:对采用yuv格式的所述当前视频帧中的y通道进行像素值校正,或者,对采用bgr格式的所述当前视频帧中的bgr三个通道分别进行像素值校正。

在视频处理装置200的一种实现方式中,像素值校正模块220对采用yuv格式的所述当前视频帧中的y通道进行像素值校正,包括:计算所述y通道的反相图像并对所述反相图像进行高斯滤波,获得滤波图像;根据所述滤波图像中每个像素的像素值计算所述y通道中对应像素的校正系数;其中,若所述滤波图像中一像素的像素值偏亮,则所述y通道中对应像素的校正系数小于1,若所述滤波图像中一像素的像素值偏暗,则所述y通道中对应像素的校正系数大于1;对所述y通道中每个像素的像素值进行归一化,将每个像素的校正系数作为幂指数对该像素归一化后的像素值进行校正,并将校正后的像素值进行反归一化。

在视频处理装置200的一种实现方式中,视频帧获取模块210获取视频帧序列中当前视频帧,包括:获取在预设曝光补偿值下采集的视频帧序列中当前视频帧;其中,所述预设曝光补偿值为负数。

在视频处理装置200的一种实现方式中,平滑滤波模块230对像素值校正后的所述当前视频帧进行平滑滤波,包括:对像素值校正后的所述当前视频帧在时间域和/或空间域上进行平滑滤波。

在视频处理装置200的一种实现方式中,平滑滤波模块230对像素值校正后的所述当前视频帧在空间域上进行平滑滤波,包括:在像素值校正后的所述当前视频帧上,以每个像素为中心像素取预设大小的滑动窗口,并计算所述滑动窗口内各像素取值的加权平均值作为所述中心像素的新像素值;其中,所述中心像素的权重为常数,所述滑动窗口中其他任一像素的权重与该像素和所述中心像素之间的距离负相关,并且与该像素和所述中心像素的像素值之间的差值负相关。

在视频处理装置200的一种实现方式中,平滑滤波模块230对像素值校正后的所述当前视频帧在时间域上进行平滑滤波,包括:针对像素值校正后的所述当前视频帧中的每个像素,计算该像素取值与所述至少一个前序增强视频帧中同位置像素取值的加权平均值作为该像素的新像素值;其中,该像素的权重为常数,任一前序增强视频帧中同位置像素的权重与该增强视频帧和像素值校正后的所述当前视频帧之间间隔的帧数负相关。

在视频处理装置200的一种实现方式中,所述装置还包括:对比度拉伸模块,用于对像素值校正后的所述当前视频帧进行对比度拉伸。

在视频处理装置200的一种实现方式中,所述装置还包括:锐化模块,用于对像素值校正后的所述当前视频帧进行锐化。

本申请实施例提供的视频处理装置200,其实现原理及产生的技术效果在前述方法实施例中已经介绍,为简要描述,装置实施例部分未提及之处,可参考方法实施例中相应内容。

图3示出了本申请实施例提供的电子设备300的一种可能的结构。参照图3,电子设备300包括:处理器310、存储器320以及通信接口330,这些组件通过通信总线340和/或其他形式的连接机构(未示出)互连并相互通讯。

其中,存储器320包括一个或多个(图中仅示出一个),其可以是,但不限于,随机存取存储器(randomaccessmemory,简称ram),只读存储器(readonlymemory,简称rom),可编程只读存储器(programmableread-onlymemory,简称prom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom),电可擦除可编程只读存储器(electricerasableprogrammableread-onlymemory,简称eeprom)等。处理器310以及其他可能的组件可对存储器320进行访问,读和/或写其中的数据。

处理器310包括一个或多个(图中仅示出一个),其可以是一种集成电路芯片,具有信号的处理能力。上述的处理器310可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、微控制单元(microcontrollerunit,简称mcu)、网络处理器(networkprocessor,简称np)或者其他常规处理器;还可以是专用处理器,包括图形处理器(graphicsprocessingunit,gpu)、数字信号处理器(digitalsignalprocessor,简称dsp)、专用集成电路(applicationspecificintegratedcircuits,简称asic)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。并且,在处理器310为多个时,其中的一部分可以是通用处理器,另一部分可以是专用处理器。

通信接口330包括一个或多个(图中仅示出一个),可以用于和其他设备进行直接或间接地通信,以便进行数据的交互。通信接口330可以包括进行有线和/或无线通信的接口。

在存储器320中可以存储一个或多个计算机程序指令,处理器310可以读取并运行这些计算机程序指令,以实现本申请实施例提供的视频处理方法以及其他期望的功能。

可以理解,图3所示的结构仅为示意,电子设备300还可以包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。图3中所示的各组件可以采用硬件、软件或其组合实现。电子设备300可能是实体设备,例如pc机、笔记本电脑、平板电脑、手机、服务器、嵌入式设备等,也可能是虚拟设备,例如虚拟机、虚拟化容器等。并且,电子设备300也不限于单台设备,也可以是多台设备的组合或者大量设备构成的集群。

本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被计算机的处理器读取并运行时,执行本申请实施例提供的视频处理方法。例如,计算机可读存储介质可以实现为图3中电子设备300中的存储器320。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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