CN104754333B - 一种用于监控场景的运动预估计方法 - Google Patents

一种用于监控场景的运动预估计方法 Download PDF

Info

Publication number
CN104754333B
CN104754333B CN201510101241.XA CN201510101241A CN104754333B CN 104754333 B CN104754333 B CN 104754333B CN 201510101241 A CN201510101241 A CN 201510101241A CN 104754333 B CN104754333 B CN 104754333B
Authority
CN
China
Prior art keywords
macro block
copy
value
frame image
current frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510101241.XA
Other languages
English (en)
Other versions
CN104754333A (zh
Inventor
官升
姜黎
李淼
秦刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan Goke Microelectronics Co Ltd
Original Assignee
Hunan Goke Microelectronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hunan Goke Microelectronics Co Ltd filed Critical Hunan Goke Microelectronics Co Ltd
Priority to CN201510101241.XA priority Critical patent/CN104754333B/zh
Publication of CN104754333A publication Critical patent/CN104754333A/zh
Application granted granted Critical
Publication of CN104754333B publication Critical patent/CN104754333B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种用于监控场景的运动预估计方法,初始化监控场景的第一帧图像中所有的宏块均为非拷贝宏块,在某一帧图像开始编码时,判断该帧图像的某一个宏块是否为拷贝宏块,并将当前帧图像中被判定为非拷贝宏块的宏块视为发生了运动;本发明运用在编码器外部,对编码器依赖较小,因此可以广泛应用到多个标准的编码器上,具有更强的通用性。

Description

一种用于监控场景的运动预估计方法
技术领域
本发明涉及一种用于监控场景的运动预估计方法。
背景技术
随着人们安全意识的增强,监控摄像头使用的范围越来越广,而为了降低这些海量数据的存储成本,都会对采集的视频做压缩处理,如常用的mpeg4和h.264视频压缩算法。这些常用的视频压缩算法都是通用性很强的算法,不会对某些特定环境的视频做特殊处理。
运动估计是视频编码部分最为重要的部分,也是其最为耗时和耗带宽的部分。因此,运动估计的研究具有重要的现实意义和市场价值。目前常见的运动预估计算法都是嵌在编码器内部的,如宏块编码方式的预估计等,此类算法都是基于统计,选取最有可能的几种编码方式做运动估计,再根据得到的结果选择最优的方式或者决定是否还需要继续对其它编码方式做运动估计。因此目前常见的运动预估计算法和某一标准编码器关系紧密,一般较为难以运用在其它标准上。
发明内容
本发明所要解决的技术问题是,针对现有技术不足,提供一种对编码器依赖较小,可以广泛应用到多个标准的编码器上,通用性强的用于监控场景的运动预估计方法。
为解决上述技术问题,本发明所采用的技术方案是:一种用于监控场景的运动预估计方法,包括以下步骤:
1)初始化监控场景的第一帧图像中所有的宏块均为非拷贝宏块;
2)在监控场景视频当前帧图像i的前一帧图像不做修改,当前帧图像i开始编码前,用当前帧图像i的原始像素值减去前一帧图像经编码得到的重建帧的像素值,得到两者间差的绝对值,绝对值大于等于阀值的标为1,绝对值小于阈值的标为0,绝对值为1表明图像有变化,绝对值为0表示图像无变化,由此建立起差值图像的二值表;i≥2;
3)基于所述二值表,按照当前帧图像i的光栅扫描顺序逐宏块进行检测,当i=2时,当前帧图像i的宏块检测条件如下:
A)若某个宏块在二值表中的值均为0,则判定为拷贝宏块;
B)若宏块中在二值表中有非0值,则判定这些非0值对应的像素点是否相邻,若整个宏块非0值对应的像素点相邻的个数小于三个,则判定此宏块为待确定拷贝宏块,否则为非拷贝宏块;
C)若步骤B)待确定拷贝宏块的非0值对应的像素点总个数小于16~20个,则将待确定拷贝宏块认定为拷贝宏块,否则为非拷贝宏块;
当i>2时,当前帧图像i的宏块检测条件如下:
D)建立以当前帧图像i之前的所有帧图像为元素的参考列表;
E)将参考列表中的第一帧图像作为参考帧,若该参考帧图像中与当前帧图像i的某个宏块位置相同的宏块为拷贝宏块,且参考帧图像中与该拷贝宏块相邻的宏块至少有两个也是拷贝宏块,则进入F);否则,重复A)~C);
F)若上述当前帧图像i的所述某个宏块在二值表中的值均为0,则判定为拷贝宏块;若该宏块在二值表中有非0值,则判定这些非0值对应的像素点是否相邻,若整个宏块中与某个非0值像素点的相邻的非0值像素点小于四个,则判定此宏块为待确定拷贝宏块,否则为非拷贝宏块;
G)若步骤F)待确定拷贝宏块的非0值对应的像素点总个数小于20~25个,则将待确定拷贝宏块认定为拷贝宏块,否则为非拷贝宏块,并进入步骤H);
H)对于所述非拷贝宏块,以参考列表的第二帧图像作为参考帧,重复步骤E)~G);
I)重复步骤E)~H),直到所述非拷贝宏块被判定为拷贝宏块,或者直到将所述参考列表的最后一帧图像作为参考帧,并经过步骤E)~G)的处理;
J)重复步骤E)~I),直到当前帧图像i中的所有宏块均被判定为拷贝宏块,或者遍历完所述参考列表中的所有帧图像(即参考列表中所有的图像均被当做参考帧,并经过步骤E)~H)的处理);
4)将当前帧图像i中被判定为非拷贝宏块的宏块视为发生了运动,拷贝宏块视为未运动。
本发明中阀值设定为15,阈值越大,对图像变化的容忍度越高,阈值设定为15,在保证图像变化的容忍度的同时,能很好地反映图像的变化。
与现有技术相比,本发明所具有的有益效果为:本发明由于阀值的引入,因此对图像的像素点变化有一定容忍度,此容忍度是建立在对图像质量影响很小的情况下的,所以一些本会编码为有残差的宏块被处理为无残差的宏块,降低了码率。阀值的引入以及拷贝宏块时像素点相邻的判定对噪声有一定的抑制作用,几个孤立的变化的噪声会被忽略,而仍然编码为无残差的宏块;通过简单的图像减法,即确定部分宏块的宏块类型,减少其后续编码中大量的运动估计以及模式抉择的计算,降低了后续编码的复杂度;本发明是各个标准都通用的,因此可以广泛应用到多个标准的编码器上,具有更强的通用性。
附图说明
图1为相同位置宏块示意图;
图2为本发明相连通两点的定义。
具体实施方式
对于监控场景的视频,大部分摄像头都是固定安装的,所以采集的图像都有较为固定的背景区域,如何利用好这一特性成为本发明关注的焦点。
对于监控采集的视频而言,大部分的帧率都在25帧或者30帧每秒,有的甚至达到60帧每秒,由此可知两幅图像之间的时间间隔是很短的,也就意味着两幅图像间的背景变化是很小的,两幅图像间有大量的相似区域,利用这一特性,我们可以对两幅图之间的相似部分做重用。
首先我们引入一个概念,拷贝宏块,其含义为当前图像与参考图像相同位置宏块的内容相似,可以直接拷贝参考图像的相同位置宏块代替当前图像的相同位置部分,即可认定为此宏块mv=0且无残差。如图1中所示的1和2宏块即为相同位置宏块。将图像以宏块为单位建立一张二维表mbcopy[mbcol][mbrow],用以标明当前图像是否可拷贝参考图像的相同部分。Mbcol=picheight/16,mbrow=picwidth/16。Picheight表示图像的高度,picwidth表示图像的宽度。Mbcopy表项存储的内容用8位表示,最高位表示是否为拷贝宏块,中间5位表示参考索引,低两位为保留位。如表1所示。
表1
建立起相应的表项后,下一步需要讨论的是如何判定当前宏块为拷贝宏块。表项内容的初始值为0(即将第一帧图像的所有宏块均初始化为非拷贝宏块),在视频的第一帧不做修改,在第二帧开始编码前,用当前帧原始像素值(即通过sensor采集的原始值)减去第一帧经编码得到的重建帧得出两者间差的绝对值,大于等于阀值5~15的标为1,小于5~15的标为0,为1表明图像有变化,0为无变化,由此建立起差值图像的二值表。基于此二值表,按照图像的光栅扫描顺序逐宏块进行检测,检测条件如下:
1.若整个宏块在二值表中均为0,则判定为拷贝宏块
2.若宏块中在二值表中有非0值,则需判定这些非0点是否连续,连续的定义为任意方向大于或等于三点可相连通。判定两点是否相邻可参见图2的定义,若整个宏块中与某个非0值像素点的相邻的非0值像素点小于三个,否则为非拷贝宏块。
3.2中判定的待确定拷贝宏块还需要进一步确认,若非0的点的个数小于阀值16~20(阀值可按需要调节,对图像变化容忍度高就大些),则认定为拷贝宏块,否则还是认定为非拷贝宏块。
判定为拷贝宏块后,需要将mbcopy表中对应宏块位置的Copyflag置为1,上述的讨论是在视频的第二帧,此时参考帧只有一个(即第一帧),此时refidx赋值为0,对于多参考帧的情况(例如,对于第三帧图像,其参考帧为第一帧和第二帧),在判定拷贝宏块时,还需要对参考列表中的图像都处理一遍,参考图像的处理顺序按照参考索引顺序处理;在对参考列表中的图像做遍历时,前面确定为拷贝宏块的部分就不用再检测了。为了降低计算复杂度,可不对所有参考图像都处理,只处理靠前的几帧即可(h.264参考列表中的长期参考图像除外)。
上述描述是拷贝宏块的基本判定,未进一步考虑背景不变的因素,下面将加入此因素对判定的影响。我们保存前向参考列表中所有图像对应的mbcopy表,当前帧图像某一宏块在参考帧图像相同位置宏块为拷贝宏块,且在此参考帧图像中该拷贝宏块周围相邻的宏块有两个及其以上的宏块也为拷贝宏块时,则可对拷贝宏块的判定条件适当放宽,因为此宏块为背景的可能性较高,发生变化的可能较小。此时上述三点判定条件,第一点不变,第二点的条件修改为小于4点相连,第三点的阀值修改为20~25(阀值可按需要调节,对图像变化容忍度高就大些)个点。如下所示:
1.若整个宏块在二值表中均为0,则判定为拷贝宏块;
2.若宏块中在二值表中有非0值,则需判定这些非0点是否连续,连续的定义为任意方向大于或等于四点可相连通。判定两点是否相连通可参见图2的定义,若整个宏块中与某个非0值像素点的相邻的非0值像素点小于四个,否则为非拷贝宏块;
3.2中判定的待确定拷贝宏块还需要进一步确认,若非0点的个数小于阀值20~25,则认定为拷贝宏块,否则还是认定为非拷贝宏块。
在将拷贝宏块和非拷贝宏块用于实际编码时,在当前帧编码时,若某一个宏块未判定为拷贝宏块,而在编码时,此宏块满足拷贝宏块的条件,即mv(运动向量)为0,且没有残差,那么将mbcopy表对应位置赋值。注意,此处的mv为0,不是编码时的mvd为0,是mvp+mvd=0。其中,mvp为根据相邻块预测出的mv,而mvd(运动向量残差)是在mvp(预测运动向量)的基础上通过运动搜索的偏移值,mvd也是编码到码流中的值。
在某一帧图像开始编码时,若该帧图像的某一个宏块未被判定为拷贝宏块,而在编码时,此宏块满足mv=0,且无残差,那么将该宏块判断为拷贝宏块,并修改该宏块对应的二维表;将拷贝宏块的运动向量mv设为0,并设定其为没有残差;根据视频编码标准得到的预测运动向量mvp来判定需要编码到码流中的运动向量残差mvd值,mvp+mvd=mv,从而将拷贝宏块的结果应用到编码中。
在此以视频编码标准h.264为例。拷贝宏块的实质是mv为0,残差为0,其和h.264的skip宏块很类似,但也有不同,他们都是没有残差部分,但skip是mvd为0,而拷贝宏块的mvd并不一定为0。
由以上不同,我们可以将拷贝宏块分为两类,一类可以融合到skip块中,一类可以融合到帧间的16x16前向预测宏块中。其融合不同的判定主要是基于mvp值的不同,以及此拷贝宏块对应的reidx是否为0,即mbcopy表中参考索引(refidx)是否为0。在h.264中对mvp的预测有其固定的规定,是编码必须要遵循的部分。
若mvp预测出的值为0,且mbcopy表中参考索引(refidx)为0,那么可以将拷贝宏块当作skip块来处理。
若mvp预测出的值非0,那么需要根据mvp的值,加上mvd,使得最终的mv为0,mv=mvp+mvd,并将当前宏块对应的CBP赋值为0,表明没有残差,此宏块则为普通的16X16前向预测宏块,有mvd,没有残差。

Claims (2)

1.一种用于监控场景的运动预估计方法,其特征在于,包括以下步骤:
1)初始化监控场景的第一帧图像中所有的宏块均为非拷贝宏块;
2)在监控场景视频当前帧图像i的前一帧图像不做修改,当前帧图像i开始编码前,用当前帧图像i的原始像素值减去前一帧图像经编码得到的重建帧的像素值,得到两者间差的绝对值,绝对值大于等于阀值的标为1,绝对值小于阈值的标为0,绝对值为1表明图像有变化,绝对值为0表示图像无变化,由此建立起差值图像的二值表;i≥2;所述阈值为5~15;
3)基于所述二值表,按照当前帧图像i的光栅扫描顺序逐宏块进行检测,当i=2时,当前帧图像i的宏块检测条件如下:
A)若某个宏块在二值表中的值均为0,则判定为拷贝宏块;所述拷贝宏块指当前图像中与参考图像相同位置内容相似的宏块,该宏块能直接拷贝参考图像的相同位置宏块代替当前图像的相同位置部分,该宏块mv=0且无残差;
B)若宏块中在二值表中有非0值,则判定这些非0值对应的像素点是否相邻,若整个宏块中与某个非0值像素点的相邻的非0值像素点小于三个,则判定此宏块为待确定拷贝宏块,否则为非拷贝宏块;
C)若步骤B)待确定拷贝宏块的非0值对应的像素点总个数小于16~20个,则将待确定拷贝宏块认定为拷贝宏块,否则为非拷贝宏块;
当i>2时,当前帧图像i的宏块检测条件如下:
D)建立以当前帧图像i之前的所有帧图像为元素的参考列表;
E)将参考列表中的第一帧图像作为参考帧,若该参考帧图像中与当前帧图像i的某个宏块位置相同的宏块为拷贝宏块,且参考帧图像中与该拷贝宏块相邻的宏块至少有两个也是拷贝宏块,则进入F);否则,重复A)~C);
F)若上述当前帧图像i的所述某个宏块在二值表中的值均为0,则判定为拷贝宏块;若该宏块在二值表中有非0值,则判定这些非0值对应的像素点是否相邻,若整个宏块中与某个非0值像素点的相邻的非0值像素点小于四个,则判定此宏块为待确定拷贝宏块,否则为非拷贝宏块;
G)若步骤F)待确定拷贝宏块的非0值对应的像素点总个数小于20~25个,则将待确定拷贝宏块认定为拷贝宏块,否则为非拷贝宏块,并进入步骤H);
H)对于所述非拷贝宏块,以参考列表的第二帧图像作为参考帧,重复步骤E)~G);
I)重复步骤E)~H),直到所述非拷贝宏块被判定为拷贝宏块,或者直到将所述参考列表的最后一帧图像作为参考帧,并经过步骤E)~G)的处理;
J)重复步骤E)~I),直到当前帧图像i中的所有宏块均被判定为拷贝宏块,或者遍历完所述参考列表中的所有帧图像;
4)将当前帧图像i中被判定为非拷贝宏块的宏块视为发生了运动,拷贝宏块视为未运动。
2.根据权利要求1所述的用于监控场景的运动预估计方法,其特征在于,所述阀值为15。
CN201510101241.XA 2015-03-09 2015-03-09 一种用于监控场景的运动预估计方法 Active CN104754333B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510101241.XA CN104754333B (zh) 2015-03-09 2015-03-09 一种用于监控场景的运动预估计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510101241.XA CN104754333B (zh) 2015-03-09 2015-03-09 一种用于监控场景的运动预估计方法

Publications (2)

Publication Number Publication Date
CN104754333A CN104754333A (zh) 2015-07-01
CN104754333B true CN104754333B (zh) 2016-03-02

Family

ID=53593355

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510101241.XA Active CN104754333B (zh) 2015-03-09 2015-03-09 一种用于监控场景的运动预估计方法

Country Status (1)

Country Link
CN (1) CN104754333B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106954082A (zh) * 2016-01-07 2017-07-14 中兴通讯股份有限公司 视频编解码方法、编解码装置及系统
CN109685824B (zh) * 2019-01-11 2021-01-01 湖南国科微电子股份有限公司 基于奇异值分解特征的运动判断方法、装置及电子设备
CN112351281A (zh) * 2020-10-28 2021-02-09 西安万像电子科技有限公司 图像处理方法及装置、处理器、非易失性存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100873636B1 (ko) * 2005-11-14 2008-12-12 삼성전자주식회사 단일 부호화 모드를 이용하는 영상 부호화/복호화 방법 및장치
TW201001339A (en) * 2008-06-25 2010-01-01 Univ Nat Chiao Tung Method of detecting moving object
CN101945275B (zh) * 2010-08-18 2012-10-24 镇江唐桥微电子有限公司 一种基于感兴趣区域的视频编码方法
CN102572428B (zh) * 2011-12-28 2014-05-07 南京邮电大学 面向多媒体传感网分布式编解码的边信息估计方法

Also Published As

Publication number Publication date
CN104754333A (zh) 2015-07-01

Similar Documents

Publication Publication Date Title
CN1098599C (zh) 在存在图象强度渐变情况下的视频信号编码系统
CN101557514B (zh) 一种帧间预测编解码方法、装置及系统
TWI477154B (zh) 用於編碼數位視訊資料之方法及數位視訊編碼器系統
Ladune et al. Optical flow and mode selection for learning-based video coding
CN101091393A (zh) 运动图像编码方法以及利用其的装置、计算机程序
CN108924558B (zh) 一种基于神经网络的视频预测编码方法
CN106604031A (zh) 一种基于兴趣区域的h.265视频质量提升方法
CN102271256B (zh) 基于模式决策的自适应帧组分布式视频编码和解码方法
CN107087200A (zh) 针对高效率视频编码标准的跳过编码模式提前判决方法
CN104754333B (zh) 一种用于监控场景的运动预估计方法
Yang et al. Advancing learned video compression with in-loop frame prediction
CN106060539A (zh) 一种低传输带宽的视频编码方法
CN107018413A (zh) 视频编码方法和视频编码器系统
CN114793282A (zh) 带有比特分配的基于神经网络的视频压缩
CN101883275B (zh) 视频编码方法
Wang et al. Region-classification-based rate control for flicker suppression of I-frames in HEVC
Tom et al. Fast moving-object detection in H. 264/AVC compressed domain for video surveillance
CN105282557B (zh) 一种预测运动矢量的h.264快速运动估计方法
US20110194602A1 (en) Method and apparatus for sub-pixel interpolation
CN111770334B (zh) 数据编码方法及装置、数据解码方法及装置
CN104918047A (zh) 一种双向运动估计的排除方法和装置
CN102547258B (zh) 一种帧间编码中子象素搜索方法、运动搜索方法及其模块
US20130251045A1 (en) Method and device for determining a motion vector for a current block of a current video frame
CN104168482B (zh) 一种视频编解码方法及装置
KR100607390B1 (ko) 이미지 전체 모션 벡터를 이용하여 디지털화된 이미지를코딩하기 위한 방법 및 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 410125 Hunan, Changsha economic and Technological Development Zone, the east side of the south section of the No. ten road, Tong Tong Street, No.

Applicant after: GOKE MICROELECTRONICS CO., LTD.

Address before: 410125 No. 9, East ten, South Road, Changsha economic and Technological Development Zone, Hunan

Applicant before: Hunan Guoke Microelectronics Co., Ltd.

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant