一种静态背景帧内编码方法和装置与流程

文档序号:11216297阅读:473来源:国知局
一种静态背景帧内编码方法和装置与流程

本申请涉及视频编码领域,更具体地说,涉及一种静态背景帧内编码方法和装置。



背景技术:

近些年,由于公共安全管理需要,高清监控摄像头的数量与日俱增,随之产生的海量监控视频数据使得现有的编码方法已经不能满足监控应用需求,这些海量数据给视频编码方法提出了更高的要求,即进一步降低视频数据的存储、传输开销。不同于其他应用,监控应用场景要求编码方法在提供高压缩率的同时满足低延时、低复杂度的要求,且尽可能减少码率波动。

在实际的监控应用中,需要支持随机访问的功能。所谓随机访问,就是用户可以在视频码流的任何位置切入并在较短时间内获得解码图像。在视频编码中,一般有b、p、i三种编码帧,b、p帧需要参考其他帧的重建才能正常解码,而i帧不参考其他帧。因而如果码流切入点为b、p帧,则只有将该帧的所有参考帧均解码出,才能正常解码该帧。如果该帧的某一参考帧仍为b、p帧,则这些参考帧的解码也需要其所有参考帧正常解码出,如此递归,直到参考帧为i帧时才可不需要解码其参考帧而正常解码。由此可见,我们需要在视频码流中周期性地插入i帧来保证用户能进行随机访问。但是,由于不能使用参考帧,i帧相比b、p帧的压缩效率较差,在相同的质量下,i帧所需的码率远大于b、p帧,因而在实际传输中往往会带来较大延时,甚至发生丢包,严重影响解码视频质量。



技术实现要素:

有鉴于此,本申请提供一种静态背景帧内编码方法和装置,以利用静态背景的特性,提高帧内编码的压缩效率,从而提高解码视频质量。

为了实现上述目的,现提出的方案如下:

一种静态背景帧内编码方法,包括:

确定视频数据中静态背景的反射系数;

基于所述反射系数确定i帧各个像素点对应的光照分量;

利用所述光照分量对所述i帧各个像素点的像素值进行替换;

利用预设的多个编码模式分别对未进行光照分量替换处理的i帧进行分块编码,以确定每个编码块的第一最优编码模式以及所述第一最优编码模式对应的第一率失真代价;

利用所述预设的多个编码模式分别对经过光照分量替换处理的i帧进行分块编码,以确定每个编码块的第二最优编码模式以及第二最优编码模式对应的第二率失真代价;

比较所述第一率失真代价和所述第二率失真代价,从所述第一最优编码模式和所述第二最优编码模式中选取每个编码块的最佳编码模式。

优选的,所述确定视频数据中静态背景的反射系数,包括:

从固定摄像头已有的视频数据中提取不同时间的多个静态背景帧;

基于所述多个静态背景帧确定静态背景的反射系数。

优选的,所述基于所述反射系数确定i帧各个像素点对应的光照分量,之后还包括:

将所述光照分量缩放到正常视频像素范围内。

优选的,所述利用所述预设的多个编码模式分别对经过光照分量替换处理的i帧进行分块编码,之前还包括:

对所述多个编码模式中的编码参数进行调整。

优选的,所述基于所述反射系数确定i帧各个像素点对应的光照分量,包括:

基于公式计算所述i帧各个像素点对应的光照分量;

其中,lorg为光照分量,ρ为反射系数,i为各个像素点的原始像素值。

一种静态背景帧内编码装置,包括:

反射系数确定单元,用于确定视频数据中静态背景的反射系数;

第一计算单元,用于基于所述反射系数确定i帧各个像素点对应的光照分量;

帧处理单元,用于利用所述光照分量对所述i帧各个像素点的像素值进行替换;

第一编码单元,用于利用预设的多个编码模式分别对未进行光照分量替换处理的i帧进行分块编码,以确定每个编码块的第一最优编码模式以及所述第一最优编码模式对应的第一率失真代价;

第二编码单元,用于利用所述预设的多个编码模式分别对经过光照分量替换处理的i帧进行分块编码,以确定每个编码块的第二最优编码模式以及第二最优编码模式对应第二率失真代价;

比较单元,用于比较所述第一率失真代价和所述第二率失真代价,从所述第一最优编码模式和所述第二最优编码模式中选取每个编码块的最佳编码模式。

优选的,反射系数确定单元包括:

静态背景帧提取模块,用于从固定摄像头已有的视频数据中提取不同时间的多个静态背景帧;

反射系数计算模块,用于基于所述多个静态背景帧确定静态背景的反射系数。

优选的,还包括:数据处理单元,用于将所述光照分量缩放到正常视频像素范围内。

优选的,还包括:参数调整单元,用于对所述多个编码模式中的编码参数进行调整。

优选的,所述第一计算单元具体用于:

基于公式计算所述i帧各个像素点对应的光照分量;

其中,lorg为光照分量,ρ为反射系数,i为各个像素点的原始像素值。

经由上述技术方案可知,本申请公开了一种静态背景帧内编码方法和装置。该方法首先计算视频数据中静态背景的反射系数,从而确定i帧各个像素点对应的光照分量,并利用光照分量对i帧各个像素点的像素值进行替换。进一步,利用预设的多个编码模式分别对未经过光照分量替换处理的i帧和经过光照分量替换处理的i帧进行分块编码,并基于编码结果确定每个编码块的最佳编码模式。与现有技术相比,本发明充分利用静态背景反射系数长期相对不变的性质,利用光照分量比当前像素值具有更强的空间相关性,对其进行帧内编码,提高了帧内编码的压缩效率。

附图说明

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

图1示出了本发明一个实施例公开的一种静态背景帧内编码方法的流程示意图;

图2示出了本发明另一个实施例公开的一种静态背景帧内编码方法的流程示意图;

图3示出了本发明另一个实施例公开的一种静态背景帧内编码装置的结构示意图;

图4示出了本发明另一个实施例公开的一种静态背景帧内编码装置的结构示意图。

具体实施方式

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

参见图1示出了本发明一个实施例公开的一种静态背景帧内编码方法的流程示意图。

在本实施例中,该方法包括:

由图1可知,该方法包括:

s101:确定视频数据中静态背景的反射系数。

从固定摄像头已有的视频数据提取不同时间的多个背景帧。所述背景帧指的是从一段时间的视频构造出的一种图像。理想情况下,这种图像只包含静态背景内容而不包含前景内容。

进一步,基于上述多个背景帧确定静态背景的反射系数。

s102:基于所述反射系数确定i帧各个像素点对应的光照分量。

对某个i帧进行编码前,基于上述反射系数,分离出当前i帧的光照分量。

具体的,基于公式计算所述i帧各个像素点对应的光照分量。

其中,lorg为光照分量,ρ为反射系数,i为各个像素点的原始像素值。

s103:利用所述光照分量对所述i帧各个像素点的像素值进行替换。

对于任意像素点,利用该像素点的光照分量替换该像素点的像素值。

s104:利用预设的多个编码模式分别对未进行光照分量替换处理的i帧进行分块编码,以确定每个编码块的第一最优编码模式以及所述第一最优编码模式对应的第一率失真代价。

在实施例中,对未经过光照分量替换处理的i帧进行分块编码。对于每个编码块是通过尝试hevc已有的帧内预测编码模式,获得最优的帧内编码模式(即第一最优编码模式),以及对应的码率和失真(即第一率失真代价)。

s105:利用所述预设的多个编码模式分别对经过光照分量替换处理的i帧进行分块编码,以确定每个编码块的第二最优编码模式以及第二最优编码模式对应第二率失真代价。

在实施例中,对经过光照分量替换处理的i帧进行分块编码。对于每个编码块,是通过尝试hevc已有的帧内预测编码模式,获得最优的帧内编码模式(即第二最优编码模式),以及对应的码率和失真(即第二率失真代价)。

需要说明的是,在本实施例中,步骤s104和步骤s105是对i帧的每个块分别进行编码的。如,可将i帧分为大小为64x64的块,其他大小的分块方式也可以。

s106:比较所述第一率失真代价和所述第二率失真代价,从所述第一最优编码模式和所述第二最优编码模式中选取每个编码块的最佳编码模式。

对于任意编码块,分别采用步骤s104和步骤s105的方式进行编码,从而确定第一最优编码模式和所述第二最优编码模式。

进一步,比较第一最优编码模式的第一率失真代价和第二最优编码模式的第二率失真代价,将率失真代价最小的编码模式作为该编码块的最佳编码模式。

由以上实施例可知,本申请公开了一种静态背景帧内编码方法。该方法首先计算视频数据中静态背景的反射系数,从而确定i帧各个像素点对应的光照分量,并利用光照分量对i帧各个像素点的像素值进行替换。进一步,利用预设的多个编码模式分别对未经过光照分量替换处理的i帧和经过光照分量替换处理的i帧进行编码,并基于编码结果确定该i帧的最佳编码模式。与现有技术相比,本发明充分利用静态背景反射系数长期相对不变的性质,利用光照分量比当前像素值具有更强的空间相关性对其进行帧内编码,提高了帧内编码的压缩效率。

参见图2示出了本发明另一个实施例公开的一种静态背景帧内编码方法的流程示意图。

在本实施例中,该方法包括:

s201:提取不同时间的多个背景帧,基于多个背景帧确定静态背景的反射系数。

从某一个摄像头已有的一天的视频数据,采用简单有效的背景帧提取方法提取多个背景帧。要求从早到晚,每隔1小时提取n(n为大于10的整数)帧背景帧。

下面具体介绍反射系数的计算方法:

设点x为朗伯平面上的一点,c为摄像头,其形成的图像值为i(x)。x的光照包括一个远距离的移动太阳光照ld和一个均匀的环境光la。局部的能见度用一个角度为α的圆锥表示。当移动光源与平面的法线角度θ大于α时,移动光源无法照到点x。首先,我们引入一个变量κ,κ定义为:

其中ε[·]表示期望。我们将每个图像i分解为太阳光和环境光反射叠加后的结果,即:i=ia+id,设la=fld,易得

基于上面分析,所设计光照分离算法如下:

a.基于公式(1)计算κ。

b.设f0=0,基于a获得的κ和公式(2),获得α的初始值α0。

c.通过公式(3)的最优化方法,获得α和f的最优估计α1和f1。

其中κobs为观察到的κ值。公式(3)的最小化方法是个非线性最小均方问题,可通过matlab的lsqnonlin函数求解。

d.基于获得的α和f的最优估计α1和f1,通过公式(4)可以得到反射系数图ρ(ld=1)。

理论上,反射系数为0到1之间的浮点数,分离出的光照分量为非零实数。在我们的方案中,反射系数只需要编码一次,其可以占用较多的资源,而需要大量编码的光照分离图像则希望其易于编码。为此,本实施例使用16比特来编码反射系数图,这实际上是保证了反射系数的精度为1/65536。

s202:基于所述反射系数确定i帧各个像素点对应的光照分量。

s203:将所述光照分量变换到正常视频像素范围内。

对获得的光照分量进行缩放。对于某一光照分离图像,设其整数分量的分布范围为[vmin,vmax],记99%以上的光照值分布在[v0,v1]区间内,则以v0和v1作为最小值和最大值,将该图像缩放到[0,255]的范围。具体的,设该光照图像的某一光照值为lorg,则实际用于编码的像素值lenc可通过公式(5)获得。为了正确还原光照值,我们还需要为每个图像编码光照分量最小值v0和最大值v1,本实施例采用16比特定长编码来分别编码这两个值。

其中,lorg为各个像素点的原始光照分量,lenc为各个像素点经过缩放后的光照分量。

s204:利用缩放后的所述光照分量对所述i帧各个像素点的像素值进行替换。

s205:利用预设的多个编码模式分别对未进行光照分量替换处理的i帧进行分块编码,以确定每个编码块的第一最优编码模式以及所述第一最优编码模式对应的第一率失真代价。

对未经过光照分量替换处理的i帧进行分块编码。对于每个编码块,先尝试hevc已有的帧内预测编码模式对编码块进行编码,以确定每个编码块的第一最优编码模式,以及对应的码率ropt和失真dopt。基于帧内预测的拉格朗日参数λintra,我们可以获得如公式所示的最优的率失真(ratedistortion,rd)代价jopt。

jopt=dopt+λintraropt

s206:对多个编码模式中的编码参数进行调整。

在将光照分量l作为原始值进行编码来选择最优编码模式时,我们需要调整下其拉格朗日参数,将调整后的拉格朗日参数记为λref。对于光照分量l的某一编码模式i,其编码码率为ri,重建值为li,其失真为的表达式为:

其中,和li(j)分别表示该编码块内第j个光照分量的缩放值和重建值,m表示该块内像素总数。该失真仅为光照分量的失真,实际失真di为:

ρj为第j个光照分量像素值对应的反射系数值。简单地,我们设该块内的反射系数都一样,均为ρavg,则di可表示为:

则某一编码模式i的rd代价ji应为:

因此,若还采用原有rd代价计算方法,在将光照值l作为原始值进行编码来选择最优编码模式时,拉格朗日参数应该调整为原来的这里,ρavg使用当前编码块对应的反射系数块的均值表示。

s207:利用预设的多个编码模式分别对经过光照分量替换处理的i帧进行分块编码,以确定每个编码块的第二最优编码模式以及第二最优编码模式对应第二率失真代价。

对经过光照分量替换处理的i帧进行分块编码。对于每个编码块,基于步骤s206计算得到的拉格朗日参数λref,通过率失真优化的方法获得光照分量lenc的最优编码模式(即第二最优编码模式),以及对应的码率rref和重建值lrec。

对所述重建值lrec进行变换获得实际光照分量的重建值l′rec

具体的,基于公式:计算实际光照分量的重建值l′rec

基于获得的实际光照变量的重建值l′rec和原有的反射系数ρ,获得实际像素的重建值ρl′rec,计算失真dref。基于类似公式的方法计算该模式下的编码rd代价jref=dref+λintrarref,并与jopt比较大小。选择代价较小的模式作为最终的编码模式。

参见图3示出了本发明另一个实施例公开的一种静态背景帧内编码装置的结构示意图。

由图4可知,该装置包括:反射系数确定单元1、第一计算单元2、帧处理单元3、第一编码单元4、第二编码单元5以及比较单元6。

其中,反射系数确定单元1用于确定视频数据中静态背景的反射系数。

第一计算单元,用于基于所述反射系数确定i帧各个像素点对应的光照分量。

具体的,基于公式计算所述i帧各个像素点对应的光照分量。

其中,lorg为光照分量,ρ为反射系数,i为各个像素点的原始像素值。

帧处理单元3用于利用所述光照分量对所述i帧各个像素点的像素值进行替换。

第一编码单元4用于利用预设的多个编码模式分别对未进行光照分量替换处理的i帧进行分块编码,以确定每个编码块的第一最优编码模式以及所述第一最优编码模式对应的第一率失真代价。

对未经过光照分量替换处理的i帧进行分块编码。对于每个编码块,先尝试hevc已有的帧内预测编码模式进行编码,以获得每个编码块的最优的帧内编码模式(即第一最优编码模式),以及对应的码率和失真(即第一率失真代价)。

第二编码单元5用于利用所述预设的多个编码模式分别对经过光照分量替换处理的i帧进行分块编码,以确定每个编码块的第二最优编码模式以及第二最优编码模式对应第二率失真代价。

对经过光照分量替换处理的i帧进行分块编码。对于每个编码块,利用hevc已有的帧内预测编码模式进行编码,以获得每个编码块的最优的帧内编码模式(即第二最优编码模式),以及对应的码率和失真(即第二率失真代价)。

比较单元6用于比较所述第一率失真代价和所述第二率失真代价,选择率失真代较小的编码模式作为编码块的最佳编码模式。

参加图4示出了本发明另一个实施例公开的一种静态背景帧内编码装置的结构示意图。

在本实施例中,反射系数确定单元具体包括:

静态背景帧提取模块11用于从固定摄像头已有的视频数据中提取不同时间的多个静态背景帧。

具体的,从某一个摄像头已有的一天的视频数据,采用简单有效的背景帧提取方法提取多个背景帧。要求从早到晚,每隔1小时提取n(n为大于10的整数)帧背景帧。

反射系数计算模块12用于基于所述多个静态背景帧确定静态背景的反射系数。

另外,该装置还包括:

数据处理单元7用于对第一计算单元得到的光照分量进行缩放处理,以将第一计算单元得到的光照分量缩放到正常视频像素范围内。

参数调整单元8,用于对所述多个编码模式中的编码参数进行调整。

在将光照分量l作为原始值进行编码来选择最优编码模式时,我们需要调整下其拉格朗日参数,将调整后的拉格朗日参数记为λref。具体的过程可参照步骤s206。

需要说明的是该装置实施例与方法实施例相对应,其执行过程和执行原理相同,在此不作赘述。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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