一种场景切换检测方法及系统与流程

文档序号:16590180发布日期:2019-01-14 19:02阅读:211来源:国知局
一种场景切换检测方法及系统与流程

本发明涉及视频处理领域,尤其涉及一种场景切换检测方法及系统。



背景技术:

实际视频源具有多样性,精确的场景切换可提升编码器的压缩性能。然而,传统的全帧分析法,虽然判断较为精确,却忽略了每个场景都具有自己的特点,如背景变化、仅前景运动、全局运动等。抛开不同场景的特点,独立进行全帧图像分析的判定,会降低场景切换检测算法的时效性。



技术实现要素:

本发明实施例的目的在于提出一种场景切换检测方法,旨在解决现有技术抛开不同场景的特点,独立进行全帧图像分析的判定,会降低场景切换检测时效性的问题。

本发明实施例是这样实现的,一种场景切换检测方法,所述方法包括

step1:首先选取当前帧的运动检测辅助帧;若所述运动检测辅助帧选取成功,则进入step2,否则,结束;

step2:利用当前帧的运动检测辅助帧,对当前帧进行当前场景运动特点分析;

step3:根据当前场景运动特点分析,划定当前场景切换的检测区域;

step4:对视频进行当前场景场景切换检测。

本发明实施例的另一目的在于提出一种场景切换检测系统所述系统包括:

运动检测辅助帧选取及判断模块,用于首先选取当前帧的运动检测辅助帧;然后判断若所述运动检测辅助帧选取成功,则进入场景运动特点分析装置,否则,结束;

场景运动特点分析装置,用于利用当前帧的运动检测辅助帧,对当前帧进行当前场景运动特点分析;

场景切换检测区域划分模块,用于根据当前场景运动特点分析,划定当前场景切换的检测区域;

场景切换检测装置,用于对视频进行当前场景场景切换检测。

本发明的有益效果

本发明提出一种场景切换检测方法及系统。本发明方法根据相邻帧的运动特点,设定当前场景发生切换的检测区域和特征,并据此对后续帧进行场景切换的判定。本发明方法根据不同场景的运动特点进行场景检测,既可以保证场景检测的精确度,同时又可以避免了全帧检测算法在计算量上的无谓浪费,从而达到提升算法效率的目的。

附图说明

图1是本发明优选实施例一种场景切换检测方法流程图;

图2是图1中step2的详细方法流程图;

图3是本发明优选实施例一种场景切换检测系统结构图;

图4是图3中场景运动特点分析装置的详细结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对本发明进行进一步详细说明,为了便于说明,仅示出了与本发明实施例相关的部分。应当理解,此处所描写的具体实施例,仅仅用于解释本发明,并不用以限制本发明。

本发明提出一种场景切换检测方法及系统。本发明方法根据相邻帧的运动特点,设定当前场景发生切换的检测区域和特征,并据此对后续帧进行场景切换的判定。本发明方法根据不同场景的运动特点进行场景检测,既可以保证场景检测的精确度,同时又可以避免了全帧检测算法在计算量上的无谓浪费,从而达到提升算法效率的目的。

实施例一

图1是本发明优选实施例一种场景切换检测方法流程图;所述方法包括:stepl:首先选取当前帧的运动检测辅助帧;若所述运动检测辅助帧选取成功,则进入step2,否则,结束。

其中,上述“当前帧的运动检测辅助帧”可选取当前帧编码顺序后的某一个p帧,或者选取当前帧在播放顺序上的后续某一帧,间隔不宜超过1秒。step2:利用当前帧的运动检测辅助帧,对当前帧进行当前场景运动特点分析。

图2是图1中step2的详细方法流程图;包括:

step21:如果当前帧和当前帧的运动检测辅助帧均为已编码帧,则进入step22;否则进入step23。

step22:采用第一处理模式,对当前场景进行运动特点分析,然后进入step3。

stepa1:将当前帧的运动检测辅助帧中skip模式的预测块划入第一集合,将当前帧的运动检测辅助帧中非skip模式的帧间预测块划入第二集合;

stepa2:判断上述第一集合是否为空集,若为空则进入stepa3;若为非空则进入stepa4。

stepa3:若第二集合为空,则将当前帧设置为当前帧的运动检测辅助帧,接着标识当前帧为场景切换帧,然后清空第一、第二集合后重回stepl;否则,则对第二集合内块进行一致运动趋势判定,若存在一致运动趋势时,设置一致运动标识符为1,即noteu=1(其初始值为0),并记录一致运动方向及运动强度,然后进入step3;否则,设置noteu=-1,然后进入step3。

其中,“一致运动趋势的判定”可采用业内公开的基于压缩信息全局运动判定方法;“并记录一致运动方向及运动强度”,应在对当前帧和当前帧的运动检测辅助帧编码后,记录全局运动向量。

stepa4:首先,划定位于图像中心的块为中心区域,剩余的块划定为边界区域;然后根据第一集合中块的位置分布,进行分类标识。

即如果numc>numb*thres1,则notec=1,并计算变化比重k=numc/sizec,然后进入step3;否则如果numb>numc*thres1,则notec=-1,并计算变化比重k=numb/sizeb,然后进入step3;否则,令notec=0,k=0,然后进入step3。

其中,numc、numb分别表示第一集合中位于中心区域、边界区域块的数量;thres1表示第一门限阈值;notec表示分类标识符,初始值为0;中心区域可以选取图像中心点为中心的矩形区域,面积不超过9/16;sizec、sizeb分别表示中心区域、边界区域块的数量。

step23:采用第二处理模式,对当前场景进行运动特点分析,然后进入step3。包括以下步骤:

stepbl:首先以块为单位,计算相同位置的当前帧和当前帧的运动检测辅助帧对应块的亮度差值,称为差值块;接着求差值块的各像素绝对值,再求取均值;然后,将均值小于运动阈值的块划入第一集合。

stepb2:判断上述第一集合是否为空集,若为非空则进入stepb3;若为空则进入stepb4。

stepb3:首先,划定位于图像中心的块为中心区域,剩余的块划定为边界区域;然后根据第一集合中块的位置分布,进行分类标识。

即如果numc>numb*thres1,则令notec=1,并计算变化比重k=numc/sizec,然后进入step3;否则如果numb>numc*thres1,则notec=-1,并计算变化比重k=numb/sizeb,然后进入step3;否则,进入stepb4。

stepb4:进行全局运动检测,若存在一致运动趋势时,设置noteu=1,并记录一致运动方向,然后进入step3;否则,设置noteu=-1,然后进入step3。

其中,“一致运动趋势的判定”可采用业内公开的基于非压缩信息全局运动判定方法。

step3:根据当前场景运动特点分析,划定当前场景切换的检测区域:

即:如果notec=1,划定场景检测区域为中心区域;否则,如果notec=-1,划定场景检测区域为边界区域;否则,如果abs(noteu)=1,则将图像第n个块行、最后n个块行、第m个块列、最后m个块列(1≤n≤4、1≤m≤4)划为场景检测区域;否则,划定场景检测区域为全帧图像。

step4:对视频进行当前场景场景切换检测。包括以下步骤:

stepc0:当当前检测帧获取失败时,则结束;否则,清空非空的第二集合后进入stepc1。

首次操作时,则选取当前帧的运动检测辅助帧在播放顺序上的后续某一帧,作为当前检测帧,并设置当前检测帧的运动检测辅助帧为当前帧的运动检测辅助帧;其余情况,设置当前检测帧的运动检测辅助帧为前检测帧、并将当前检测帧在播放顺序上的后续帧设置为当前检测帧。

stepc1:如果不满足notec≠0,则进入stepc2;否则,如果noteu=1,则进入stepc5;否则进入stepc6。

stepc2:首先以块为单位,对位于场景检测区域相同位置的当前检测帧和当前检测帧运动检测辅助帧对应块,计算亮度差值绝对值的均值;然后,将其中均值大于数倍运动阈值的块划入第二集合。

stepc3:计算当前变化比重kn=hum/size。

其中,num、size分别表示第二集合块的数量、场景检测区域块的数量。

stepc4:如果(k≠0且kn/k>thres2)或者(k=0且kn>thres3),则判定当前检测帧为场景切换帧,将当前检测帧设置为当前帧,然后清空第一、第二集合后重回step1;否则,判定当前检测帧非场景切换帧,清空第二集合后重回step4对当前检测帧在播放顺序上的后续帧进行场景检测。

其中,thres2、thres3分别表示第二、第三门限阈值,一般thres2≥2、0.9<thres3<1。

stepc5:首先,将当前检测帧运动检测辅助帧,按照全局运动向量,作全局移动,构建出虚拟帧,然后设置该虚拟帧为当前检测帧运动检测辅助帧;然后利用“stepc2-stepc4”的方法判定当前检测帧是否为场景切换帧。

stepc6:将位于场景检测区域的当前检测帧块,构建为虚拟帧。然后利用业内公开的场景检测法,判定该虚拟帧是否为场景切换帧:若是,则判定当前检测帧块为场景切换帧,然后将当前检测帧设置为当前帧,在清空第一、第二集合后重回stepl;若否,则判定当前检测帧非场景切换帧,清空第二集合后重回step4对当前检测帧在播放顺序上的后续帧进行场景检测。

实施例二

图3是本发明优选实施例一种场景切换检测系统结构图。所述系统包括:

运动检测辅助帧选取及判断模块,用于首先选取当前帧的运动检测辅助帧;然后判断若所述运动检测辅助帧选取成功,则进入场景运动特点分析装置,否则,结束。

其中,上述“当前帧的运动检测辅助帧”可选取当前帧编码顺序后的某一个p帧,或者选取当前帧在播放顺序上的后续某一帧,间隔不宜超过1秒。

场景运动特点分析装置,用于利用当前帧的运动检测辅助帧,对当前帧进行当前场景运动特点分析。

场景切换检测区域划分模块,用于根据当前场景运动特点分析,划定当前场景切换的检测区域:

即:如果notec=1,划定场景检测区域为中心区域;否则,如果notec=-1,划定场景检测区域为边界区域;否则,如果abs(noteu)=1,则将图像第n个块行、最后n个块行、第m个块列、最后m个块列(1≤n≤4、1≤m≤4)划为场景检测区域;否则,划定场景检测区域为全帧图像。

场景切换检测装置,用于对视频进行当前场景场景切换检测。

图4是图3中场景运动特点分析装置的详细结构图。所述装置包括

判断模块,用于判断如果当前帧和当前帧的运动检测辅助帧均为已编码帧,则进入第一场景运动特点分析装置,否则,进入第二场景运动特点分析装置;

第一场景运动特点分析装置,用于采用第一处理模式,对当前场景进行运动特点分析;

第二场景运动特点分析装置,用于采用第二处理模式,对当前场景进行运动特点分析;

所述第一场景运动特点分析装置(图中未示出)包括:

第一预测块划分模块,用于将当前帧的运动检测辅助帧中skip模式的预测块划入第一集合,将当前帧的运动检测辅助帧中非skip模式的帧间预测块划入第二集合;

第一判断处理模块,用于判断上述第一集合是否为空集,若为空则进入第二判断处理模块;若为非空则进入第一分类标识模块。

第二判断处理模块,用于判断若第二集合为空,则将当前帧设置为当前帧的运动检测辅助帧,接着标识当前帧为场景切换帧,然后清空第一、第二集合后重回运动检测辅助帧选取及判断模块;否则,则对第二集合内块进行一致运动趋势判定,若存在一致运动趋势时,设置一致运动标识符为1,即noteu=1(其初始值为0),并记录一致运动方向及运动强度,然后进入场景切换检测区域划分模块;否则,设置noteu=-1,然后进入场景切换检测区域划分模块。

其中,“一致运动趋势的判定”可采用业内公开的基于压缩信息全局运动判定方法;“并记录一致运动方向及运动强度”,应在对当前帧和当前帧的运动检测辅助帧编码后,记录全局运动向量。

第一分类标识模块,用于首先,划定位于图像中心的块为中心区域,剩余的块划定为边界区域;然后根据第一集合中块的位置分布,进行分类标识。

即如果numc>numb*thres1,则notec=1,并计算变化比重k=numc/sizec,然后进入场景切换检测区域划分模块;否则如果numb>numc*thres1,则notec=-1,并计算变化比重k=numb/sizeb,然后进入场景切换检测区域划分模块;否则,令notec=0,k=0,然后进入场景切换检测区域划分模块。

其中,numc、numb分别表示第一集合中位于中心区域、边界区域块的数量;thres1表示第一门限阈值;notec表示分类标识符,初始值为0;中心区域可以选取图像中心点为中心的矩形区域,面积不超过9/16;sizec、sizeb分别表示中心区域、边界区域块的数量。

所述第二场景运动特点分析装置(图中未示出)包括:

第二预测块划分模块,用于首先以块为单位,计算相同位置的当前帧和当前帧的运动检测辅助帧对应块的亮度差值,称为差值块;接着求差值块的各像素绝对值,再求取均值;然后,将均值小于运动阈值的块划入第一集合。

第三判断处理模块,用于判断上述第一集合是否为空集,若为非空则进入第二分类标识模块;若为空则进入全局运动检测模块。

第二分类标识模块,用于首先,划定位于图像中心的块为中心区域,剩余的块划定为边界区域;然后根据第一集合中块的位置分布,进行分类标识。

即如果numc>numb*thres1,则令notec=1,并计算变化比重k=numc/sizec,然后进入场景切换检测区域划分模块;否则如果numb>numc*thres1,则notec=-1,并计算变化比重k=numb/sizeb,然后进入场景切换检测区域划分模块;否则,进入全局运动检测模块。

全局运动检测模块,用于进行全局运动检测,若存在一致运动趋势时,设置noteu=1,并记录一致运动方向,然后进入场景切换检测区域划分模块;否则,设置noteu=-1,然后进入场景切换检测区域划分模块。

其中,“一致运动趋势的判定”可采用业内公开的基于非压缩信息全局运动判定方法。

所述场景切换检测装置(图中未示出)包括:

第四判断处理模块,用于当当前检测帧获取失败时,则结束;否则,清空非空的第二集合后进入第五判断处理模块。

首次操作时,则选取当前帧的运动检测辅助帧在播放顺序上的后续某一帧,作为当前检测帧,并设置当前检测帧的运动检测辅助帧为当前帧的运动检测辅助帧;其余情况,设置当前检测帧的运动检测辅助帧为前检测帧、并将当前检测帧在播放顺序上的后续帧设置为当前检测帧。

第五判断处理模块,用于判断如果不满足notec≠0,则进入第三预测块划分模块,;否则,如果noteu=1,则进入场景切换帧判断模块;否则进入第六判断处理模块。

第三预测块划分模块,用于首先以块为单位,对位于场景检测区域相同位置的当前检测帧和当前检测帧运动检测辅助帧对应块,计算亮度差值绝对值的均值;然后,将其中均值大于数倍运动阈值的块划入第二集合。

变化比重计算模块,用于计算当前变化比重kn=num/size。

其中,num、size分别表示第二集合块的数量、场景检测区域块的数量。

第五判断处理模块,用于判断如果(k≠0且kn/k>thres2)或者(k=0且kn>thres3),则判定当前检测帧为场景切换帧,将当前检测帧设置为当前帧,然后清空第一、第二集合后重回运动检测辅助帧选取及判断模块;否则,判定当前检测帧非场景切换帧,清空第二集合后重回场景切换检测装置对当前检测帧在播放顺序上的后续帧进行场景检测。

其中,thres2、thres3分别表示第二、第三门限阈值,一般thres2≥2、0.9<thres3<1。

场景切换帧判断模块,用于首先,将当前检测帧运动检测辅助帧,按照全局运动向量,作全局移动,构建出虚拟帧,然后设置该虚拟帧为当前检测帧运动检测辅助帧;然后利用“第三预测块划分模块+变化比重计算模块+第五判断处理模块”中的方法判定当前检测帧是否为场景切换帧。

第六判断处理模块,用于将位于场景检测区域的当前检测帧块,构建为虚拟帧。然后利用业内公开的场景检测法,判定该虚拟帧是否为场景切换帧:若是,则判定当前检测帧块为场景切换帧,然后将当前检测帧设置为当前帧,在清空第一、第二集合后重回运动检测辅助帧选取及判断模块;若否,则判定当前检测帧非场景切换帧,清空第二集合后重回场景切换检测装置对当前检测帧在播放顺序上的后续帧进行场景检测。

本领域的普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序指令相关硬件来完成的,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质可以为rom、ram、磁盘、光盘等。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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