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

文档序号:19933252发布日期:2020-02-14 22:16阅读:117来源:国知局
一种视频处理方法、电子设备及存储介质与流程

本发明涉及视频技术领域,尤其涉及一种视频处理方法、电子设备及存储介质。



背景技术:

现有技术中在进行视频制作及播放的过程中,通常是直接通过摄像头采集数据后进行编码,然后推送到服务器,由服务器进行转码后回溯到内容分发网络(contentdeliverynetwork,cdn),然后客户端从cdn下载视频数据并进行解码显示。

针对景区视频而言,用户观看景区视频时更多关心的是景区风景,而景区风景基本为背景区域。而摄像头对视频数据进行编码时,通常背景部分码率会降低,这导致最后的视频文件中背景部分的图像质量较差,进而影响了用户的观看体验。



技术实现要素:

本发明实施例提供一种视频处理方法、电子设备及存储介质,以在不增加传输带宽的同时,提高视频中背景区域的图像质量。

第一方面,本发明实施例提供一种视频处理方法,包括:

获取视频流中背景区域内的目标区域;

对所述目标区域内的图像进行处理,得到高对比度图像;

将所述视频流和所述高对比度图像发送至客户端,以使所述客户端通过所述高对比度图像对所述目标区域进行覆盖。

可选地,所述获取视频流中背景区域内的目标区域,包括:通过帧间差分算法,从所述视频流中获取所述背景区域;通过图像边缘算法,从所述背景区域中获取图像边缘区域,并将所述图像边缘区域确定为所述目标区域。

可选地,所述通过图像边缘算法,从所述背景区域中获取图像边缘区域,包括:通过下述公式,从所述背景区域中得到图像边缘区域:

其中,gx表示所述图像边缘区域,(x,y)表示像素坐标,fk(x,y)表示第k帧视频帧所对应的灰度图像。

可选地,所述对所述目标区域内的图像进行处理,得到高对比度图像之前,还包括:通过快速精确超级图像分辨率技术raisr,将所述目标区域的图像放大至少一倍。

可选地,所述对所述目标区域内的图像进行处理,得到高对比度图像,包括:将所述图像渲染到纹理,得到纹理图像;对所述纹理图像进行色调映射,得到色调映射结果,并对所述纹理图像进行泛光处理,得到泛光处理结果;将所述色调映射结果和所述泛光处理结果进行叠加,得到所述高对比度图像。

可选地,所述对所述纹理图像进行色调映射,得到色调映射结果,包括:计算所述纹理图像的平均亮度值;针对所述纹理图像中的每个像素,根据所述平均亮度值以及所述像素所对应的亮度值,通过预设缩放因子值,对所述像素进行亮度调节,得到所述像素的当前亮度值;对每个像素的当前亮度值进行归一化处理,得到所述色调映射结果。

可选地,所述计算所述纹理图像的平均亮度值,包括:

根据所述纹理图像中每个像素的亮度值,通过下述公式,计算得到所述纹理图像的平均亮度值:

其中,lavg表示所述纹理图像的平均亮度值,n表示所述纹理图像中所有的像素的总数量,δ为预设数值,lum(x,y)表示所述纹理图像中每个像素(x,y)的亮度值;

所述针对所述纹理图像中的每个像素,根据所述平均亮度值以及所述像素所对应的亮度值,通过预设缩放因子值,对所述像素进行亮度调节,得到所述像素的当前亮度值,包括:

根据所述平均亮度值以及所述像素所对应的亮度值,通过预设缩放因子值,通过下述公式,对所述像素进行亮度调节,得到所述像素的当前亮度值:

lscale(x,y)=key*l(x,y)/lavg;

其中,lscale(x,y)表示所述像素的当前亮度值,key表示所述预设缩放因子值,l(x,y)表示进行亮度调节前的所述纹理图像中每个像素(x,y)的亮度值,lavg表示所述平均亮度值。

第二方面,本发明实施例提供一种视频处理方法,包括:

接收服务器发送的视频流和高对比度图像,其中所述高对比度图像为视频流中目标区域所对应的图像,所述目标区域位于所述视频流的背景区域内;

将所述高对比度图像覆盖所述目标区域,并进行播放显示。

第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现所述的视频处理方法的步骤。

第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的视频处理方法的步骤。

本发明实施例提供的视频处理方法、电子设备及存储介质,通过获取视频流中背景区域内的目标区域,然后对目标区域内的图像进行处理,得到高对比度图像,最后将视频流和高对比度图像发送至客户端,以使客户端通过高对比度图像对目标区域进行覆盖,实现了能够直接在服务器上对视频流中的背景区域进行图像处理,得到高对比度图像,不需要用户在客户端做图像处理,减轻了客户端的处理器负担,并通过将原视频流和高对比度图像发送给客户端,实现了在不增加传输带宽的前提下,使得用户查看到理想的图像效果,提高了视频质量。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例中视频处理方法的步骤流程图之一;

图2为本发明实施例中获取视频流中背景区域内的目标区域的步骤流程图;

图3为本发明实施例中视频处理方法的步骤流程图之二;

图4为本发明实施例中视频处理装置的模块框图之一;

图5为本发明实施例中视频处理装置的模块框图之二;

图6为本发明实施例中电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,为本发明实施例中视频处理方法的步骤流程图之一,该方法包括如下步骤:

步骤101:获取视频流中背景区域内的目标区域。

在本步骤中,具体的,服务器端获取视频流中背景区域中的目标区域。

具体的,服务器可以根据摄像机发送的编码数据生成视频流,例如当摄像机采集到景区的视频数据后,可以将景区视频数据进行编码然后发送给服务器端,服务器端根据接收到的编码数据生成视频流。

在此需要说明的是,该视频流可以为每帧图像具有相同背景的一段视频流;此外,该视频流还可以为包括有多个不同背景的视频流,此时由于视频流中多个连续帧图像中可能会出现相同的背景区域,因此本实施例可以每隔预设时间获取一次背景区域内的目标区域,以减少获取目标区域的次数,减少服务器的运算量,当然,为了保证所获取到的目标区域的准确性,也可以获取视频流中每帧图像背景区域内的目标区域,然后从获取到的多个相同的目标区域中选择一个目标区域即可,在此并不对此进行限定。

此外,视频流中的背景区域可以为静态背景区域,目标区域可以为背景区域中用户感兴趣的区域。例如,假设背景区域为景区区域中的风景区,用户对景区区域中的静态塔感兴趣,则可以将背景区域中的静态塔确定为目标区域。

步骤102:对目标区域内的图像进行处理,得到高对比度图像。

在本步骤中,具体的,在获取到目标区域之后,可以对目标区域内的图像进行处理,得到高对比度图像,从而使得能够通过该高对比度图像,提高目标区域的图像效果,进而满足用户对目标区域的观看需求。

当然,在此需要说明的是,在对目标区域内的图像进行处理,得到高对比度图像之前,还可以通过快速精确超级图像分辨率技术(rapidandaccurateimagesuperresolution,raisr)技术,将目标区域的图像放大至少一倍,以方便对目标区域的图像进行处理,得到高对比度图像。

当然,具体的,为了保证放大后的图像效果,可以将目标区域的图像只放大一倍。

步骤103:将视频流和高对比度图像发送至客户端,以使客户端通过高对比度图像对目标区域进行覆盖。

在本步骤中,具体的,在得到高对比度图像之后,可以将视频流和高对比度图像发送至客户端,从而使得客户端能够通过高对比度图像对目标区域进行覆盖,即将高对比度图像覆盖目标区域部分,以提高目标区域的图像质量,进而满足用户对目标区域的观看需求。

这样,本实施例通过对目标区域内的图像进行处理,得到高对比度图像,并将视频流和高对比度图像发送至客户端,实现了对图像的处理直接在服务器端完成,减轻了客户端的处理器负担,并且实现了通过增加传输一张高对比度图像,由客户端通过高对比度图像对目标区域进行覆盖,使得能够在不增加传输带宽的前提下,使得用户能够观看到满足用户需求的视频效果,提升了视频质量。

此外,进一步地,如图2所示,在获取视频流中背景区域内的目标区域时,可以包括如下步骤:

步骤201:通过帧间差分算法,从视频流中获取背景区域。

在本步骤中,具体的,服务器在通过帧间差分算法,从视频流中获取背景区域时,可以在获取到视频流后,对视频流进行解码,得到每帧的视频图像,然后根据每帧的视频图像生成每帧所对应的灰度图像,例如对应第k帧的灰度图像为fk(x,y),再然后根据灰度图像得到差分图像,最后根据所得到的差分图像计算得到背景区域。

具体的,可以通过下述公式,基于灰度图像得到差分图像,然后将等于0的区域连通,得到背景区域:

其中,d(x,y)表示差分图像,(x,y)为像素坐标,fk(x,y)表示第k帧视频帧所对应的灰度图像,fk-1(x,y)表示第k-1帧视频帧所对应的灰度图像,t为阈值,阈值的选取是基于实验以及经验得出,且由于每帧图像光照的不同以及成像系统的随机误差,阈值的选取不可为零。

步骤202:通过图像边缘算法,从背景区域中获取图像边缘区域,并将图像边缘区域确定为目标区域。

在本步骤中,具体的,在得到背景区域之后,可以通过图像边缘算法,从背景区域中获取得到图像边缘区域。

具体的,可以通过下述公式,从背景区域中得到图像边缘区域:

其中,gx表示图像边缘区域,(x,y)表示像素坐标,fk(x,y)表示第k帧视频帧所对应的灰度图像。

具体的,通过先获取背景区域,然后通过图像边缘算法从背景区域中获取图像边缘区域,最后将图像边缘区域确定为目标区域,保证了所确定的目标区域的准确性。

另外,进一步地,本实施例在对目标区域内的图像进行处理,得到高对比度图像时,可以通过高动态范围光(high-dynamicrangelight,hdrlight)技术,对目标区域内的图像进行处理,得到高对比度图像;即在对目标区域内的图像进行处理时,可以包括如下步骤:

步骤a1:将图像渲染到纹理,得到纹理图像。

在本步骤中,具体的,在得到高对比度图像时,需要首先将目标区域内的图像渲染到纹理,得到纹理图像,以为后续处理提供基础。

步骤a2:对纹理图像进行色调映射,得到色调映射结果,并对纹理图像进行泛光处理,得到泛光处理结果。

在本步骤中,具体的,可以对预处理得到的纹理图像分别进行色调映射以及泛光处理,从而得到色调映射结果和泛光处理结果。

具体的,其一,在对纹理图像进行色调映射,得到色调映射结果时,可以计算所述纹理图像的平均亮度值,然后针对所述纹理图像中的每个像素,根据所述平均亮度值以及所述像素所对应的亮度值,通过预设缩放因子值,对所述像素进行亮度调节,得到所述像素的当前亮度值,最后对每个像素的当前亮度值进行归一化处理,得到色调映射结果。

当然,在此需要说明的是,在计算纹理图像的平均亮度值之后,还可以进行光适应处理,但是基于背景区域为静态背景区域时,可以认为当次的平均亮度值等于上次的平均亮度值。

具体的,在计算纹理图像的平均亮度值时,可以根据所述纹理图像中每个像素的亮度值,通过下述公式,计算得到所述纹理图像的平均亮度值:

其中,lavg表示纹理图像的平均亮度值,n表示纹理图像中所有的像素的总数量,δ为预设数值,可以为0.0001,用于防止求对数的计算结果趋于负无穷的情况,lum(x,y)表示纹理图像中每个像素(x,y)的亮度值。

具体的,对于一个像素p(r,g,b),该像素的亮度值可以通过下述公式计算得到:

lum(p)=0.2125*r+0.7154*g+0.0721*b。

其中,r表示红色值,g表示绿色值,b表示蓝色值。

另外,具体的,针对所述纹理图像中的每个像素,根据所述平均亮度值以及所述像素所对应的亮度值,通过预设缩放因子值,对所述像素进行亮度调节,得到所述像素的当前亮度值时,可以根据所述平均亮度值以及所述像素所对应的亮度值,通过预设缩放因子值,通过下述公式,对所述像素进行亮度调节,得到所述像素的当前亮度值:

lscale(x,y)=key*l(x,y)/lavg;

其中,lscale(x,y)表示所述像素的当前亮度值,key表示所述预设缩放因子值,l(x,y)表示进行亮度调节前的所述纹理图像中每个像素(x,y)的亮度值,lavg表示所述平均亮度值。

具体的,预设缩放因子值为一常数,且预设缩放因子的值的大小决定了映射场景的整体明暗程度,例如可以取值为0.18,当然在此并不进行具体限定。

另外,具体的,在对每个像素的当前亮度值进行归一化处理,得到色调映射结果时,可以将每个像素的当前亮度值映射到[0,1]的范围内;具体可以通过如下公式进行映射:

colorfinal(x,y)=color(x,y)*lscale(x,y)÷(lscale(x,y)+1);

其中,colorfinal(x,y)为像素(x,y)所对应的色调映射结果,color(x,y)表示像素(x,y)的颜色值,lscale(x,y)表示当前亮度值。

另外,具体的,其二,在对纹理图像进行泛光处理时,可以使用bright-passfilter提取出纹理图像中的高亮部分,然后对高亮部分进行高斯模糊处理,最后进行归一化处理,得到泛光处理结果。

步骤a3:将色调映射结果和泛光处理结果进行叠加,得到高对比度图像。

在本步骤中,具体的,在得到色调映射结构和泛光处理结果之后,可以将色调映射结果和泛光处理结果进行叠加,进而得到高对比度图像。

这样,通过上述方式实现高动态范围光渲染,得到目标区域所对应的高对比度图像,充分显示了亮度的差别,增加了目标区域的图像识别度。

本实施例通过对目标区域内的图像进行处理,得到高对比度图像,并将视频流和高对比度图像发送至客户端,实现了对图像的处理直接在服务器端完成,减轻了客户端的处理器负担,并且实现了通过增加传输一张高对比度图像,由客户端通过高对比度图像对目标区域进行覆盖,使得能够在不增加传输带宽的前提下,使得用户能够观看到满足用户需求的视频效果,提升了视频质量。

另外,如图3所示,为本发明实施例中视频处理方法的步骤流程图之二,该方法包括如下步骤:

步骤301:接收服务器发送的视频流和高对比度图像。

在本步骤中,具体的,高对比度图像为视频流中目标区域所对应的图像,该目标区域位于视频流的背景区域内。

具体的,客户端接收服务器发送的视频流和高对比度图像时,可以先向服务器请求播放视频的请求信息,此时服务器根据该请求信息向客户端发送视频流和高对比度图像,此时客户端可以接收服务器发送的视频流和高对比度图像。

步骤302:将高对比度图像覆盖目标区域,并进行播放显示。

在本步骤中,具体的,客户端在接收到视频流和高对比度图像之后,可以将高对比度图像覆盖目标区域,并进行播放显示。

具体的,客户端在将高对比度图像覆盖目标区域时,可以先确定目标区域,然后将高对比度图像按照比例完全覆盖在目标区域上,从而实现目标区域的较好效果显示。

这样,本实施例通过接收服务器发送的视频流和高对比度图像,该高对比度图像为视频流中目标区域所对应的图像,且目标区域位于视频流的背景区域内,然后将高对比度图像覆盖目标区域并进行播放显示,使得用户能够观看到满足用户需求的目标区域的视频效果,增加了用户体验。

另外,如图4所示,为本发明实施例中视频处理装置的模块框图之一,该装置包括:

第一获取模块401,用于获取视频流中背景区域内的目标区域;

第二获取模块402,用于对所述目标区域进行处理,得到与所述目标区域相对应的高对比度图像;

发送模块403,用于将所述视频流和所述高对比度图像发送至客户端,以使所述客户端通过所述高对比度图像对所述目标区域进行覆盖显示。

可选地,所述第一获取模块401包括:

第一获取单元,用于通过帧间差分算法,从所述视频流中获取所述背景区域;

第二获取单元,用于通过图像边缘算法,从所述背景区域中获取图像边缘区域,并将所述图像边缘区域确定为所述目标区域。

可选地,所述第二获取单元用于,通过下述公式,从所述背景区域中得到图像边缘区域:

其中,gx表示所述图像边缘区域,(x,y)表示像素坐标,fk(x,y)表示第k帧视频帧所对应的灰度图像。

可选地,还包括:

放大模块,用于通过快速精确超级图像分辨率raisr技术,将所述目标区域的图像放大至少一倍。

可选地,所述第二获取模块402包括:

第三获取单元,用于将所述图像渲染到纹理,得到纹理图像;

第四获取单元,用于对所述纹理图像进行色调映射,得到色调映射结果,并对所述纹理图像进行泛光处理,得到泛光处理结果;

第五获取单元,用于将所述色调映射结果和所述泛光处理结果进行叠加,得到所述高对比度图像。

可选地,所述第四获取单元用于,计算所述纹理图像的平均亮度值;针对所述纹理图像中的每个像素,根据所述平均亮度值以及所述像素所对应的亮度值,通过预设缩放因子值,对所述像素进行亮度调节,得到所述像素的当前亮度值;对每个像素的当前亮度值进行归一化处理,得到所述色调映射结果。

可选地,所述第四获取单元用于,根据所述纹理图像中每个像素的亮度值,通过下述公式,计算得到所述纹理图像的平均亮度值:

其中,lavg表示所述纹理图像的平均亮度值,n表示所述纹理图像中所有的像素的总数量,δ为预设数值,lum(x,y)表示所述纹理图像中每个像素(x,y)的亮度值;

所述第四获取单元还用于,根据所述平均亮度值以及所述像素所对应的亮度值,通过预设缩放因子值,通过下述公式,对所述像素进行亮度调节,得到所述像素的当前亮度值:

lscale(x,y)=key*l(x,y)/lavg;

其中,lscale(x,y)表示所述像素的当前亮度值,key表示所述预设缩放因子值,l(x,y)表示进行亮度调节前的所述纹理图像中每个像素(x,y)的亮度值,lavg表示所述平均亮度值。

在此需要说明的是,本实施例提供的装置能够实现上述服务器侧方法实施例所能实现的所有方法步骤,并能够达到相同的技术效果,在此不再对本实施例中与方法实施例中的相同部分进行赘述。

另外,如图5所示,为本发明实施例中视频处理装置的模块框图之二,该装置包括:

接收模块501,用于接收服务器发送的视频流和高对比度图像,其中所述高对比度图像为视频流中目标区域所对应的图像,所述目标区域位于所述视频流的背景区域内;

处理模块502,用于将所述高对比度图像覆盖所述目标区域,并进行播放显示。

在此需要说明的是,本实施例提供的装置能够实现上述客户端侧方法实施例所能实现的所有方法步骤,并能够达到相同的技术效果,在此不再对本实施例中与方法实施例中的相同部分进行赘述。

另外,如图6所示,为本发明实施例提供的电子设备的实体结构示意图,该电子设备可以包括:处理器(processor)610、通信接口(communicationsinterface)620、存储器(memory)630和通信总线640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储在存储器630上并可在处理器610上运行的计算机程序,以实现如下步骤:获取视频流中背景区域内的目标区域;对所述目标区域内的图像进行处理,得到高对比度图像;将所述视频流和所述高对比度图像发送至客户端,以使所述客户端通过所述高对比度图像对所述目标区域进行覆盖。

或者实现如下步骤:接收服务器发送的视频流和高对比度图像,其中所述高对比度图像为视频流中目标区域所对应的图像,所述目标区域位于所述视频流的背景区域内;将所述高对比度图像覆盖所述目标区域,并进行播放显示。

此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现如下步骤:获取视频流中背景区域内的目标区域;对所述目标区域内的图像进行处理,得到高对比度图像;将所述视频流和所述高对比度图像发送至客户端,以使所述客户端通过所述高对比度图像对所述目标区域进行覆盖。

或者实现如下步骤:接收服务器发送的视频流和高对比度图像,其中所述高对比度图像为视频流中目标区域所对应的图像,所述目标区域位于所述视频流的背景区域内;将所述高对比度图像覆盖所述目标区域,并进行播放显示。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

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

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