一种基于帧差绝对误差和SAD的运动和亮度检测方法与流程

文档序号:24406339发布日期:2021-03-26 17:17阅读:370来源:国知局
一种基于帧差绝对误差和SAD的运动和亮度检测方法与流程
一种基于帧差绝对误差和sad的运动和亮度检测方法
技术领域
1.本申请涉及图像处理技术领域,特别是涉及一种基于帧差绝对误差和sad的运动和亮度检测方法。


背景技术:

2.在视频监控领域中,人们往往对运动的物体更加关注,比如监控视频内运动的人、车及动物等;而对相对不变的背景区域,比如树、马路等关注程度较低。为此,在视频压缩编码前,提前区分出高关注度的运动区域和低敏感度的背景区域,分别采取不同的编码压缩策略,以有效地缓解主观效果上的编码损失。目前,主流的前后景区域分割是利用当前图像和背景图像的区别来检测运动区域,它一般能提供完整的运动物体特征,但对视频中的光照和噪声等无关信息的干扰特别敏感。因而大部分的研究都是基于此基础上开发不同的背景模型,例如背景帧差法、混合高斯模型(gmm)和光流法等,以减少动态场景的变化对于运动检测的影响。其中:
3.背景帧差法是一种非常简单的背景模型,具体地指定视频中的某一帧为背景图像,用当前图像与背景图像比较,再根据具体需要过滤较小的差异得到的结果部分就是前景区域。帧差计算是直接对两幅图像进行减法运算,然后在用指定阈值过滤,虽然这种方法比较简单易实施,但对于视频中的无关信息和噪声等特别敏感,比较适用于动静变化较小且亮度充足的场景,比如无人仓库的运行监控。但无法适用于动静变化较大或亮度不充足的运动场景,例如行车场景等。
4.在混合高斯模型中,输入图像的像素点会与背景模型中的像素点进行比较,与背景模型相似度较高的像素点被划分为背景区域,相似度较低的像素点划分为前景区域。在进行新一帧图像区分时,混合高斯模型一般由n个单高斯模型加权组合而成,如果当前图像中某个像素点与该像素点n个单高斯模型中的某个匹配程度很高,则这个像素点是背景像素,同时它的像素值将作为一个新模型用于更新已存在的n个单高斯模型。如果当前像素与模型匹配的程度比较低,则将当前像素划分为前景像素,即运动区域。方差和均值被用于训练整个混合高斯模型,如果对它们采取不同的学习机制将会直接影响最终整个混合高斯模型的正确性、稳定性和收敛性。换句话说,这种方法会受限于混合高斯模型的准确性,进而影响前景区域(即运动区域)识别的准确性。
5.通过观察视频中运动物体所对应像素点的位置,可以获得运动的像素点在时间域上的变化以其在相邻帧之间的相关性。根据上一帧与当前帧之间存在的对应关系,可以相对简单地计算出运动物体的瞬时速度、运动方向等信息。光流法就是通过研究图像中的像素数据在时间域中的变化和相关性来确定其位置的运动的一种算法。光流法中得出的运动像素即为人们所关心的前景区域。实际实施时,通过光流法会提前赋予图像中每个像素点的一个初速度矢量,从而形成一个运动的矢量场。在某个特定时刻,通过投影计算图像中像素点与三维物体中的点一一对应的关系,根据该像素点的速度矢量特征再对图像进行动态分析。如果图像中没有运动目标,则光流矢量在图像中不会连续变化。当图像中有运动目
标,即目标和背景之间存在相对运动,则运动物体所形成的速度矢量必然和背景中的速度矢量有所不同,因而可计算得到运动物体的位置。但是,光流法涉及的计算量很大,运动区域识别的效率较低,无法保证其在视频编码使用时的实施性和实用性。
6.因此,需提出一种更好地运动和亮度检测方法。


技术实现要素:

7.为克服上述现有技术存在的不足,本申请之目的在于提供一种基于帧差绝对误差和sad的运动和亮度检测方法,能解决现有方案中存在的无法适用于动静变化较大或亮度不充足的运动场景、运动区域识别准确性较低及无法满足视频编码使用时的实施性和实用性等问题。
8.为达上述及其它目的,本申请提出一种基于帧差绝对误差和sad的运动和亮度检测方法,包括如下步骤:
9.根据当前帧中的当前块与前一帧中的同位块内像素点的亮度值,计算所述当前块的sad,所述当前块为所述当前帧中的任一图像块,所述同位块为所述前一帧中与所述当前块处于同一位置的图像块;
10.根据所述当前块的sad,确定所述当前块为所述当前帧中的目标块,所述目标块为运动块或背景块;
11.根据所述当前帧中所有背景块的sad及前m帧中所有背景块的sad,对所述当前帧进行亮度检测,确定所述当前帧的亮度变化等级。
12.可选的,所述方法还包括:
13.确定所述当前块对应的色度块;
14.根据所述当前帧中所述当前块对应的色度块与前一帧中所述同位块对应的色度块内像素点的色度值,计算所述当前块对应的色度块的sad;
15.根据所述当前块对应的色度块的sad,对所述当前块进行色度检测,确定所述当前块的色度变化等级。
16.可选的,所述根据当前帧中的当前块与前一帧中的同位块内像素点的亮度值,计算所述当前块的sad包括:
17.将当前帧划分为多个图像块;
18.对所述当前帧中的当前块进行亮度均值采样,得到对应的第一亮度块;
19.对所述当前帧的前一帧中的同位块进行亮度均值采样,得到对应的第二亮度块,所述第一亮度块与所述第二亮度块的大小相同;
20.对所述第一亮度块和所述第二亮度块中每个像素点的亮度值进行差值绝对值求和,得到所述当前块的sad。
21.可选的,所述根据所述当前块的sad,确定所述当前块为所述当前帧中的目标块包括:
22.根据所述当前块中每个像素点的亮度值,计算所述当前块的平均绝对误差madi;
23.根据所述当前块的sad和所述当前块的madi,确定所述当前块为所述当前帧中的目标块。
24.可选的,所述根据所述当前块的sad和所述当前块的madi,确定所述当前块为所述
当前帧中的目标块包括:
25.若所述当前块的sad大于第一预设值,则确定所述当前块为所述当前帧中的运动块;
26.若所述当前块的sad小于或等于所述第一预设值,则确定所述当前块为所述当前帧中的背景块;
27.其中,所述第一预设值是根据所述所述当前块的madi确定的。
28.可选的,所述根据所述当前帧中所有背景块的sad及前m帧中所有背景块的sad,对所述当前帧进行亮度检测,确定所述当前帧的亮度变化等级包括:
29.根据所述当前帧中的所有背景块的sad和亮度值,计算所述当前帧中背景区域的sad平均和亮度平均,所述当前帧中所有背景块在所述当前帧中所占的区域为所述当前帧的背景区域;
30.根据所述当前帧的前m帧中每一帧的所有背景块的sad和亮度值,计算所述前m帧中每一帧的背景区域的sad平均和亮度平均;
31.根据所述前m帧中每一帧的sad平均和亮度平均,分别计算所述前m帧中背景区域的sad均值、sad方差、亮度均值和亮度方差;
32.根据所述当前帧中背景区域的sad平均和亮度平均,及所述前m帧中背景区域的sad均值、sad方差、亮度均值和亮度方差,确定所述当前帧的亮度等级。
33.可选的,所述根据所述当前帧中背景区域的sad平均和亮度平均,及所述前m帧中背景区域的sad均值、sad方差、亮度均值和亮度方差,确定所述当前帧的亮度等级包括:
34.若所述当前帧中背景区域的sad平均与所述前m帧中背景区域的sad均值之差的平方大于第二预设值,则确定所述当前帧的亮度变化等级为第一亮度级;
35.若所述当前帧中背景区域的sad平均与所述前m帧中背景区域的sad均值之差的平方大于第三预设值,且所述当前帧中背景区域的亮度平均与所述前m帧中背景区域的亮度均值之差的平方大于第四预设值,则确定所述当前帧的亮度变化等级为第二亮度级;否则确定所述当前帧的亮度变化等级为第三亮度级;
36.其中,所述第一亮度级、所述第二亮度级及所述第三亮度级各自所指示的当前帧的亮度变化程度递减,所述第二预设值和所述第三预设值均是根据所述前m帧中背景区域的sad均值和sad方差确定的,所述第四预设值是根据所述前m帧中背景区域的亮度方差确定的。
37.可选的,所述根据所述当前帧中所述当前块对应的色度块与前一帧中所述同位块对应的色度块内像素点的色度值,计算所述当前块对应的色度块的sad包括:
38.对所述当前块对应的色度块进行色度均值采样,得到对应的第一色度块;
39.对所述同位块对应的色度块进行色度均值采样,得到对应的第二色度块;
40.对所述第一色度块和所述第二色度块中每个像素点的色度值进行差值绝对值求和,得到所述当前块对应的色度块的sad。
41.可选的,所述根据所述当前块对应的色度块的sad,对所述当前块进行色度检测,确定所述当前块的色度变化等级包括:
42.对所述第一色度块和所述第二色度块中每个像素点的色度值进行差值绝对值求方差,得到所述当前块对应的色度块的sad方差;
43.根据所述当前块对应的色度块中每个像素点的色度值,计算所述当前块对应的色度块的平均绝对误差madi;
44.根据所述当前块对应的色度块的sad、sad方差和madi,对所述当前块进行色度检测,确定所述当前块的色度变化等级。
45.可选的,所述根据所述当前块对应的色度块的sad、sad方差和madi,对所述当前块进行色度检测,确定所述当前块的色度变化等级包括:
46.若所述当前块对应的色度块的sad大于第五预设值,或所述当前块对应的色度块的sad大于第六预设值且所述当前块对应的色度块的sad方差小于第七预设值,则确定所述当前块的色度变化等级为第一色度级;否则,确定所述当前块的色度变化等级为第二色度级;
47.其中,所述第一色度级和所述第二色度级各自所指示的当前块的色度变化程度递减,所述第五预设值和所述第六预设值均是根据所述当前块对应的色度块的madi确定的。
48.为达上述及其它目的,本申请还提出一种基于帧差绝对误差和sad的运动和亮度检测装置,包括:
49.计算单元,用于根据当前帧中的当前块与前一帧中的同位块内像素点的亮度值,计算所述当前块的sad,所述当前块为所述当前帧中的任一图像块,所述同位块为所述前一帧中与所述当前块处于同一位置的图像块;
50.确定单元,用于根据所述当前块的sad,确定所述当前块为所述当前帧中的目标块,所述目标块为运动块或背景块;
51.检测单元,用于根据所述当前帧中所有背景块的sad及前m帧中所有背景块的sad,对所述当前帧进行亮度检测,确定所述当前帧的亮度变化等级。
52.由上可见本申请提供了一种基于帧差绝对误差和sad的运动和亮度检测方法及装置,能达到以下有益效果:提供一种简单有效地运动和背景块的区分算法,在区分运动前景的同时,对背景区域中亮度变化程度也进行区分,以便后续采用不同的视频编码压缩策略。既能解决现有方案中存在的无法适用于动静变化较大或亮度不充足的运动场景、运动区域识别准确性较低及无法满足视频编码使用时的实施性和实用性等问题,又能提升图像运动和亮度检测的便捷性和准确性。
附图说明
53.图1是本申请实施例提供的一种基于帧差绝对误差和sad的运动和亮度检测方法的流程示意图。
54.图2是本申请实施例提供的一种运动和亮度检测的流程示意图。
55.图3是本申请实施例提供的一种基于帧差绝对误差和sad的运动和亮度检测装置的结构示意图。
具体实施方式
56.以下通过特定的具体实例并结合附图说明本申请的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本申请的其它优点与功效。本申请亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离
本申请的精神下进行各种修饰与变更。
57.申请人在提出本申请的过程中还发现:在论文中为提高视频编码的速度和效率,通常采用基于块匹配算法的运动估计。同时,由于图像和视频信息的表示往往采用高度相关性的大量数据,这些相关性会引起编码时信息的冗余,因此通过去除冗余信息来实现对视频数据的压缩。运动估计会首先将图像划分为许多互不重叠的子块,并默认子块内所有像素的运动相同,即每个子块都可以被认为是运动物体。对于某一序列中第k帧的子块,会在它前一帧即第k

1帧中寻找与其最相似的子块作为它的匹配块层,从而获得当前子块的运动位移。本申请结合块匹配的运动估计思想,采用均值采样来过滤无关信息(例如噪声数据等),然后通过对当前帧的在前一帧中的同位块与当前块的sad进行比较,来确认当前块是否发生了运动,进一步降低了运算的复杂程度。具体如下:
58.请参见图1,是本申请实施例提供的一种基于帧差绝对误差和(sum of absolute difference,sad)的运动和亮度检测方法的流程示意图。如图1所示的方法包括如下实施步骤:
59.s101、根据当前帧中的当前块与前一帧中的同位块内像素点的亮度值,计算所述当前块的sad,所述当前块为所述当前帧中的任一图像块,所述同位块为所述前一帧中与所述当前块处于同一位置的图像块。
60.作为一种可能的实施方式,本申请可将当前帧划分为多个图像块,例如当前帧为1920*1088的幅面图像,按照16*16块大小来划分,共有120*68=8160个图像块。然后对当前帧中的当前块进行亮度均值采样得到对应的第一亮度块,该当前块为当前帧中的任一图像块。对当前帧的前一帧中的同位块进行亮度均值采样得到对应的第二亮度块,该第一亮度块的大小和第二亮度块的大小相同,且第一亮度块的大小小于当前块的大小。最后对第一亮度块和第二亮度块中每个像素点的亮度值进行差值绝对值求和,即计算两个亮度块中每个亮度值的绝对值差,并求和得到当前块的sad。
61.s102、根据所述当前块的sad,确定所述当前块为所述当前帧中的目标块,所述目标块为运动块或背景块。
62.本申请还可根据当前块中每个像素点的亮度值,计算当前块的平均绝对误差(mean absolute deviation,madi)。具体地,首先计算当前块中每个像素点的亮度值的均值,然后计算当前块中每个像素点的亮度值(即每个像素值)与这个均值的绝对差的均值,即可获得当前块的madi。
63.然后根据当前块的sad和madi,确定当前块为当前帧中的目标块,该目标块具体可为运动块或者背景块,其中运动块在帧图像中所占的区域为运动区域,即前景区域。背景块在帧图像中所占的区域为背景区域。在一具体实施例中,若当前块的sad大于第一预设值,则确定当前块为运动块。否则,确定当前块为背景块。该第一预设值为系统自定义设置的,例如根据用户经验设置的经验值等。优选地,该第一预设值是根据当前块的madi确定的,具体可为:(阈值1*madi+a)/b+阈值2。其中,a为第一亮度块的大小,b为当前块的大小。阈值1和阈值2为自定义设置的数值,不做限定。
64.举例来说,以当前帧为1920*1088的幅面图像为例,本申请按照16*16块来划分当前帧,共有8160个图像块。本申请可分块计算每个图像块各自的madi:首先计算图像块内像素的亮度值的均值,然后计算图像块内每个像素值与这个均值的绝对差的均值即获得该图
像块的madi。然后分块对亮度进行均值采样,例如对每个16*16的图像块进行2*2的亮度均值采样,得到新的8*8的第一亮度块。对前一帧中同一位置的16*16的同位块进行2*2的亮度均值采样,得到前一帧的8*8的第二亮度块。再计算两个8*8亮度块中每个像素值的绝对值差,并求和,得到该图像块的sad。若该图像块的sad>(阈值1*madi+8)/16+阈值2,则该图像块(即当前块)为运动块,即前景块(a);否则为背景块。按此原理,可检测出当前帧中所有的运动块和所有的背景块。所有运动块在帧图像中所占的区域称为运动区域,即前景区域a,所有背景块在帧图像中所占的区域称为背景区域。
65.s103、根据所述当前帧中所有背景块的sad及前m帧中所有背景块的sad,对所述当前帧进行亮度检测,确定所述当前帧的亮度变化等级。
66.对于背景区域,本申请还需区分是否发生了亮度变化。亮度检测是先按帧分类,再与阈值比较,最终决定每一图像块用作压缩编码时的偏差offset,即压缩编码时所采用的编码码率。
67.作为一种可能的实施方式中,本申请可根据当前帧中的所有背景块的sad和每个背景块中像素点的亮度值,计算当前帧中背景区域的sad平均(current_sad)和亮度平均(current_luma)。在按帧分类前,同理可计算出当前帧的前m帧各自背景区域的sad平均和亮度平均,然后再计算出前m帧中背景区域的sad平均的均值(简称为sad均值,sad_ave)和方差(简称为sad方差,sad_var),前m帧中背景区域的亮度平均的均值(简称为亮度均值,luma_ave)和方差(简称为亮度方差,luma_var)。最后根据当前帧中背景区域的sad平均、亮度平均、及前m帧中背景区域的sad均值、sad方差、亮度均值和亮度方差,确定出当前帧的亮度等级。
68.在一具体实施例中,若当前帧中背景区域的sad(current_sad)与前m帧中背景区域的sad均值(sad_ave)之差的平方大于第二预设值,则确定当前帧的亮度变化等级为第一亮度级(b1)。若当前帧中背景区域的sad平均(current_sad)与前m帧中背景区域的sad均值(sad_ave)之差的平方大于第三预设值,则确定当前帧的亮度变化等级为第二亮度级(b2)。否则,确定当前帧的亮度变化等级为第三亮度级(b3)。其中,第一亮度级b1、第二亮度级b2及第三亮度级b3各自所指示的当前帧的亮度变化程度递减,例如b1指示当前帧的亮度发生了剧烈变化,b2指示当前帧的亮度变化比较不明显,b3表示当前帧基本没有发生亮度变化等。第二预设值、第三预设值及第四预设值均为系统自定义设置的,优先地第二预设值和第三预设值均是根据sad_ave和sad_var确定的,第四预设值是根据luma_var确定的,例如第二预设值为sad_ave*阈值3+(sad_var*sad_var)/阈值4,第三预设值为sad_var*阈值5+(sad_ave*sad_ave)/阈值6,第四预设值为luma_var+阈值7。这里的阈值3

阈值7均为系统自定义设置的数值,本申请不做限定。
69.其中本申请计算每一帧中背景区域的sad平均和亮度平均的具体实施方式为:获取每一帧中组成背景区域的所有背景块,通过将所有背景块各自的sad累加,再除以背景区域中所有背景块的个数,来获得当前帧中背景区域的sad平均。同理,通过将背景区域中所有背景块各自的亮度值累加,再除以所有背景块的个数来获得当前帧中背景区域的亮度平均。
70.对当前帧而言,对sad平均和亮度平均的计算是每次获得当前帧的前m帧进行每帧更新的,m为系统自定义设置的整数,例如10等。以m=10为例,对于当前帧而言,在分类前先
计算其前10帧的sad平均和亮度平均各自的均值和方差,分别记为前10帧的sad均值sad_ave、前10帧的sad方差sad_var、前10帧的亮度均值luma_ave及前10帧的亮度方差luma_var。
71.然后,计算当前帧的sad平均current_sad和亮度平均current_luma。
72.下一步获得current_sad与sad_ave的差的平方,再与sad_var组成的阈值比较;同理,获得current_luma与luma_ave的差的平方,再与luma_var组成的阈值比较,即可完成当前帧的亮度变化等级的分类。具体分类如下:
73.case1:(current_sad

sad_ave)*(current_sad

sad_ave)>sad_var*阈值3+(sad_ave*sad_ave)/阈值4表示当前帧的亮度变化等级为第一亮度级b1,说明当前帧的亮度发生了剧烈的变化。
74.case2:(current_sad

sad_ave)*(current_sad

sad_ave)>sad_var*阈值5+(sad_ave*sad_ave)/阈值6,并且,
75.(current_luma

luma_ave)*(current_luma

luma_ave)>luma_var+阈值7表示当前帧的亮度变化等级为第二亮度级b2,说明当前帧的亮度变化比较不明显。
76.如果不是case1也不是case2,表示当前帧的亮度变化等级为第三亮度级b3,说明当前帧基本没有亮度变化。
77.在可选实施例中,本申请还需对当前帧中的每个图像块(如当前块)进行额外的色度检测。具体地,首先确定当前块对应的色度块,再根据当前帧中当前块对应的色度块与前一帧中同位块对应的色度块中每个像素点的色度值计算当前块对应的色度块的sad,再根据该色度块的sad对当前块进行色度检测,确定出当前块的色度变化等级。
78.作为一种可能的实施方式,本申请对当前块对应的色度块进行色度均值采样得到对应的第一色度块,对同位块对应的色度块进行色度均值采样得到对应的第二色度块。其中第一色度块和第二色度块具有相同的大小,且都小于当前块对应的色度块的大小。再对第一色度块和第二色度块中每个像素点的色度值进行差值绝对值求和,得到当前块对应的色度块的sad。
79.本申请对第一色度块和第二色度块中每个像素点的色度值进行差值绝对值求方差,得到当前块对应的色度块的sad方差。根据当前块对应的色度块中每个像素点的色度值,计算当前块对应的色度块的平均绝对误差madi,具体地首先计算该色度块内每个像素点的色度值的均值,然后计算色度块内每个色度值与这个均值绝对差的均值即可获得色度块的madi。最后根据当前块对应的色度块的sad、sad方差和madi对当前块进行色度检测,确定出当前块的色度变化等级。
80.在一具体实施例中,若当前块对应的色度块的sad大于第五预设值,或者当前块对应的色度块的sad大于第六预设值且当前块对应的色度块的sad方差小于第七阈值,则确定当前块的色度变化等级为第一色度级c。否则,确定当前块的色度变化等级为第二色度级。其中,第一色度级和第二色度级各自所指示的当前块的色度变化程度递减,例如第一色度级c表示当前块的色度发生了剧烈变化等。第五预设值、第六阈值及第七预设值均为系统自定义设置的,优选地第五预设值和第六预设值是根据当前块对应的色度块的madi确定的,例如第七预设阈值为阈值8、第六预设值为(100*madi+a)/b+阈值9,第五预设值为(阈值10*madi+a)/b+阈值11,这里的阈值8

阈值11均为系统自定义设置的数值,本申请不做限定。
81.举例来说,以当前块为16*16的图像块为例,16*16的当前块对应的色度块为8*8,类似前述前景检测中madi的计算,这里也可计算出8*8色度块的madi。然后分块对色度进行2*2的色度均值采样得到4*4的第一色度块。同理,对前一帧中同一位置的同位块对应的4*4的色度块进行2*2的色度均值采样得到4*4的第二色度块。计算这两个4*4的色度块中每个像素点的色度值的绝对值差,再求和得到8*8色度块的sad。求方差得到色度值差的方差(简称为8*8色度块的sad方差)var_sad。
82.如果var_sad<阈值8,并且sad>(100*madi+8)/16+阈值9,则确定当前块的色度变化等级为第一色度级c,表示当前块的色度发生了剧烈变化。如果sad>(阈值10*madi+8)/16+阈值11,同理确定当前块的色度变化等级为第一色度级c,表示当前块的色度发生了剧烈变化。否则,确定当前块的色度变化等级为第二色度级,表示当前块的色度没有发生剧烈变化。
83.本申请基于前一帧同位块与当前块的sad进行运动块的估计,计算量较小,能够拥有较快的处理速度和执行效率,也可有效地嵌入到基于块处理的编码过程中。在图像主观效果确认时,能准确地区分绝大部分的前景块(运动块),而对于小于最小块尺寸16*16的运动物体,虽然也有概率无法被区分为前景块,但介于肉眼对如此小的变化不敏感,因而不影响最终对运动物体的判断。在亮度检测方面,本申请对于亮度变化检测是以帧为单位,在排除了前景区域的影响后,能准确地检测出某一帧是否发生了亮度的变化以及发生的亮度变化等级,对于之后采取的编码算法有一个明确的引导分级,其具体执行流程如图2所示,这里不再赘述。
84.本申请提出一种基于帧差sad的运动和亮度检测算法,主要是为了在编码前先对处理的序列中的帧进行初步分类,以便编码时采用不同的编码策略。因此该算法应用在实际编码器时,会处于应用软件这一层。对于第一个i帧,不进行任何运动和亮度的区域区分,直接进行编码操作。从第二帧开始,分别获取前一帧的同位块,按照前文本申请所提出的方案,区分出当前帧的运动块、当前帧的亮度变化等级和色度变化等级。对于不同的分类块,编码时采用不同的码率进行编码。由于本发明提供的运动和亮度检测算法,计算的数据是直接由当前帧和之前帧计算得到的,所以滤波处理时可以依据编码器设计的特点,既可以进行帧级的处理,也可把滤波处理嵌入到编码器逐块编码的处理过程中完成。
85.通过实施本申请,能减少计算量,拥有较快的处理速度和执行效率,还能同步解决现有方案中存在的无法适用于动静变化较大或亮度不充足的运动场景、运动区域识别准确性较低及无法满足视频编码使用时的实施性和实用性等问题。
86.请参见图3,是本申请实施例提供的一种基于帧差绝对误差和sad的运动和亮度检测装置的结构示意图。如图3所示的装置包括:
87.计算单元301,用于根据当前帧中的当前块与前一帧中的同位块内像素点的亮度值,计算所述当前块的sad,所述当前块为所述当前帧中的任一图像块,所述同位块为所述前一帧中与所述当前块处于同一位置的图像块;
88.确定单元302,用于根据所述当前块的sad,确定所述当前块为所述当前帧中的目标块,所述目标块为运动块或背景块;
89.检测单元303,用于根据所述当前帧中所有背景块的sad及前m帧中所有背景块的sad,对所述当前帧进行亮度检测,确定所述当前帧的亮度变化等级。
90.可选的,
91.所述确定单元302,还用于确定所述当前块对应的色度块;
92.所述计算单元301,还用于根据所述当前帧中所述当前块对应的色度块与前一帧中所述同位块对应的色度块内像素点的色度值,计算所述当前块对应的色度块的sad;
93.所述检测单元303,还用于根据所述当前块对应的色度块的sad,对所述当前块进行色度检测,确定所述当前块的色度变化等级。
94.可选的,所述计算单元301具体用于:
95.将当前帧划分为多个图像块;
96.对所述当前帧中的当前块进行亮度均值采样,得到对应的第一亮度块;
97.对所述当前帧的前一帧中的同位块进行亮度均值采样,得到对应的第二亮度块,所述第一亮度块与所述第二亮度块的大小相同;
98.对所述第一亮度块和所述第二亮度块中每个像素点的亮度值进行差值绝对值求和,得到所述当前块的sad。
99.可选的,所述确定单元302具体用于:
100.根据所述当前块中每个像素点的亮度值,计算所述当前块的平均绝对误差madi;
101.根据所述当前块的sad和所述当前块的madi,确定所述当前块为所述当前帧中的目标块。
102.可选的,所述确定单元302具体用于:
103.若所述当前块的sad大于第一预设值,则确定所述当前块为所述当前帧中的运动块;
104.若所述当前块的sad小于或等于所述第一预设值,则确定所述当前块为所述当前帧中的背景块;
105.其中,所述第一预设值是根据所述所述当前块的madi确定的。
106.可选的,所述确定单元302具体用于:
107.根据所述当前帧中的所有背景块的sad和亮度值,计算所述当前帧中背景区域的sad平均和亮度平均,所述当前帧中所有背景块在所述当前帧中所占的区域为所述当前帧的背景区域;
108.根据所述当前帧的前m帧中每一帧的所有背景块的sad和亮度值,计算所述前m帧中每一帧的背景区域的sad平均和亮度平均;
109.根据所述前m帧中每一帧的sad平均和亮度平均,分别计算所述前m帧中背景区域的sad均值、sad方差、亮度均值和亮度方差;
110.根据所述当前帧中背景区域的sad平均和亮度平均,及所述前m帧中背景区域的sad均值、sad方差、亮度均值和亮度方差,确定所述当前帧的亮度等级。
111.可选的,所述确定单元302具体用于:
112.若所述当前帧中背景区域的sad平均与所述前m帧中背景区域的sad均值之差的平方大于第二预设值,则确定所述当前帧的亮度变化等级为第一亮度级;
113.若所述当前帧中背景区域的sad平均与所述前m帧中背景区域的sad均值之差的平方大于第三预设值,且所述当前帧中背景区域的亮度平均与所述前m帧中背景区域的亮度均值之差的平方大于第四预设值,则确定所述当前帧的亮度变化等级为第二亮度级;否则,
确定所述当前帧的亮度变化等级为第三亮度级;
114.其中,所述第一亮度级、所述第二亮度级及所述第三亮度级各自所指示的当前帧的亮度变化程度递减,所述第二预设值和所述第三预设值均是根据所述前m帧中背景区域的sad均值和sad方差确定的,所述第四预设值是根据所述前m帧中背景区域的亮度方差确定的。
115.可选的,所述计算单元301具体用于:
116.对所述当前块对应的色度块进行色度均值采样,得到对应的第一色度块;
117.对所述同位块对应的色度块进行色度均值采样,得到对应的第二色度块;
118.对所述第一色度块和所述第二色度块中每个像素点的色度值进行差值绝对值求和,得到所述当前块对应的色度块的sad。
119.可选的,所述确定单元302具体用于:
120.对所述第一色度块和所述第二色度块中每个像素点的色度值进行差值绝对值求方差,得到所述当前块对应的色度块的sad方差;
121.根据所述当前块对应的色度块中每个像素点的色度值,计算所述当前块对应的色度块的平均绝对误差madi;
122.根据所述当前块对应的色度块的sad、sad方差和madi,对所述当前块进行色度检测,确定所述当前块的色度变化等级。
123.可选的,所述确定单元302具体用于:
124.若所述当前块对应的色度块的sad大于第五预设值,或所述当前块对应的色度块的sad大于第六预设值且所述当前块对应的色度块的sad方差小于第七预设值,则确定所述当前块的色度变化等级为第一色度级;否则,确定所述当前块的色度变化等级为第二色度级;
125.其中,所述第一色度级和所述第二色度级各自所指示的当前块的色度变化程度递减,所述第五预设值和所述第六预设值均是根据所述当前块对应的色度块的madi确定的。
126.上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何本领域技术人员均可在不违背本申请的精神及范畴下,对上述实施例进行修饰与改变。因此,本申请的权利保护范围,应如权利要求书所列。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1