CN113873096A - 场景检测方法、芯片、电子设备以及存储介质 - Google Patents
场景检测方法、芯片、电子设备以及存储介质 Download PDFInfo
- Publication number
- CN113873096A CN113873096A CN202010613548.9A CN202010613548A CN113873096A CN 113873096 A CN113873096 A CN 113873096A CN 202010613548 A CN202010613548 A CN 202010613548A CN 113873096 A CN113873096 A CN 113873096A
- Authority
- CN
- China
- Prior art keywords
- block
- matching error
- blocks
- matching
- vertical
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 34
- 230000000737 periodic effect Effects 0.000 claims abstract description 211
- 238000000034 method Methods 0.000 claims abstract description 129
- 230000008569 process Effects 0.000 claims description 111
- 230000008859 change Effects 0.000 claims description 31
- 230000002093 peripheral effect Effects 0.000 claims description 28
- 230000003247 decreasing effect Effects 0.000 claims description 26
- 238000009499 grossing Methods 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 10
- 239000003550 marker Substances 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 2
- 238000005457 optimization Methods 0.000 claims description 2
- 230000002349 favourable effect Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 23
- 230000009286 beneficial effect Effects 0.000 description 11
- 239000013598 vector Substances 0.000 description 5
- 230000007423 decrease Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 241001255830 Thema Species 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/40—Analysis of texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/223—Analysis of motion using block-matching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/144—Movement detection
- H04N5/145—Movement estimation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/98—Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
- G06V10/993—Evaluation of the quality of the acquired pattern
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
- H04N5/147—Scene change detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20172—Image enhancement details
- G06T2207/20182—Noise reduction or smoothing in the temporal domain; Spatio-temporal filtering
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种场景检测方法、芯片、电子设备以及存储介质,所述方法包括:计算周围块与当前中心块的匹配误差;基于中心块沿行向获得第一匹配误差参考极大值作为水平预测深度;基于中心块沿列向获得第二匹配误差参考极大值作为垂直预测深度;根据水平预测深度设置第一水平阈值和第二水平阈值;沿行向基于匹配误差与第一水平阈值和第二水平阈值,判断匹配误差周期变化的次数作为第一数值;根据垂直预测深度设置第一垂直阈值和第二垂直阈值;沿列向基于匹配误差与第一垂直阈值和第二垂直阈值,判断匹配误差周期变化的次数作为第二数值;根据第一数值和第二数值,判断当前中心块是否位于周期性场景。本发明对周期性场景进行检测,有利于提高运动估计的准确性。
Description
技术领域
本发明实施例涉及图像处理技术领域,尤其涉及一种场景检测方法、芯片、电子设备以及存储介质。
背景技术
视频帧率是一秒内显示设备播放帧数的量度,一般情况下,在每秒60帧图片的播放帧率的情况下,人眼会感觉到视频比较逼真和流畅。在实际应用中,低帧率的视频资源在显示设备上播放时,人眼能够感受到抖动和模糊。为了解决低帧率带来的视频抖动和模糊效应,可以通过提高视频帧率技术来提高视频图像的主观视觉效果。如果我们只是采用简单的帧重复或者相邻帧做平均的方法来提高帧率,但还是不能解决视频抖动和模糊的问题。
视频帧率转换的主要技术是运动估计和运动补偿,运动估计的算法有很多种。视频帧率上转换一般将视频中的每帧图像分成若干个相同大小的块,并且在背景区域相邻帧的改变比较细微,可以设法搜索每个块在相邻帧的对应位置,相邻帧间块在空间位置的相对偏移量就是当前块的运动矢量。
在现实生活中,大多数重复的场景在空间位置和视觉上是有规律的,周期性场景具有比较明显的几何结构特点,且动态纹理在空间上重复的、时变的运动序列。
发明内容
本发明实施例解决的问题是提供一种场景检测方法、芯片、电子设备以及存储介质,对周期性场景进行检测,以提高运动估计的准确性。
为解决上述问题,本发明实施例提供一种场景检测方法,包括:在以当前中心块为中心的搜索范围内,计算周围块与当前中心块的匹配误差;基于中心块沿行方向获得第一匹配误差参考极大值,作为水平预测深度;基于中心块沿列方向获得第二匹配误差参考极大值,作为垂直预测深度;根据所述水平预测深度设置第一水平阈值和第二水平阈值,第一水平阈值大于第二水平阈值;沿着搜索范围行向基于块的匹配误差与第一水平阈值和第二水平阈值的相对大小,判断匹配误差周期变化的次数,作为第一数值;根据所述垂直预测深度设置第一垂直阈值和第二垂直阈值,第一垂直阈值大于第二垂直阈值;沿着搜索范围列向基于块的匹配误差与第一垂直阈值和第二垂直阈值的相对大小,判断匹配误差周期变化的次数,作为第二数值;根据所述第一数值和第二数值,判断当前中心块是否位于周期性场景。
相应的,本发明实施例还提供一种芯片,包括场景检测模块,所述场景检测模块包括:匹配误差计算单元,用于在以当前中心块为中心的搜索范围内,计算周围块与当前中心块的匹配误差;深度预测单元,包括:水平预测子单元,用于基于中心块沿行方向获得第一匹配误差参考极大值,输出为水平预测深度;以及垂直预测子单元,用于基于中心块沿列方向获得第二匹配误差参考极大值,输出为垂直预测深度;搜索单元,包括:设置子单元,用于根据所述水平预测深度设置第一水平阈值和第二水平阈值,第一水平阈值大于第二水平阈值,以及用于根据所述垂直预测深度设置第一垂直阈值和第二垂直阈值,第一垂直阈值大于第二垂直阈值;统计子单元,用于沿着搜索范围行向基于块的匹配误差与第一水平阈值和第二水平阈值的相对大小,判断匹配误差周期变化的次数,作为第一数值,以及用于沿着搜索范围列向基于块的匹配误差与第一垂直阈值和第二垂直阈值的相对大小,判断匹配误差周期变化的次数,作为第二数值;判断单元,用于根据所述第一数值和第二数值,判断当前中心块是否位于周期性场景。
相应的,本发明实施例还提供一种电子设备,包括本发明实施例提供的芯片。
相应的,本发明实施例还提供一种存储介质,所述存储介质存储有一条或多条计算机指令,所述一条或多条计算机指令用于实现本发明实施例提供的场景检测方法。
与现有技术相比,本发明实施例的技术方案具有以下优点:
本发明实施例提供的场景检测方法中,周围块与当前中心块越相似,则匹配误差越小,反之,周围块与当前中心块的相似度越低,则匹配误差越大,因此,如果中心块位于周期性场景中,则在以当前块为中心的搜索范围内,周围块与当前中心块的匹配误差具有周期性变化的过程,本发明实施例通过根据所述水平预测深度设置第一水平阈值和第二水平阈值,并沿着搜索范围行向基于块的匹配误差与第一水平阈值和第二水平阈值的相对大小,判断匹配误差周期变化的次数,从而能够分析出沿行方向相应块与当前中心块的相似度是否发生周期性变化以及发生周期性变化的次数,作为第一数值;以及通过根据所述垂直预测深度设置第一垂直阈值和第二垂直阈值,并沿着搜索范围列向基于块的匹配误差与第一垂直阈值和第二垂直阈值的相对大小,判断匹配误差周期变化的次数,作为第二数值,从而能够分析出沿列方向相应块与当前中心块的相似度是否发生周期性变化以及发生周期性变化的次数;相应地,本发明实施例能够根据所述第一数值和第二数值,判断当前中心块是否位于周期性场景,从而后续能够根据场景的周期性规律进行运动估计,有利于降低运动估计出现偏差而导致线条破碎等问题的概率,提高了运动估计的准确度,进而有利于提高运动场景的图像质量。
附图说明
图1是一种周期性场景的示意图;
图2是本发明提供的场景检测方法一实施例的流程图;
图3是图2中计算周围块与当前中心块的匹配误差的过程示意图;
图4是一些周期性场景对应的块匹配误差函数的图像;
图5是图2中的步骤S21一实施例的流程图;
图6是图2中的步骤S22一实施例的流程图;
图7是图2中的步骤S31一实施例的流程图;
图8是图7中的步骤S311一实施例的流程图;
图9是图2中的步骤S32一实施例的流程图;
图10是图2中的步骤S4一实施例的流程图;
图11是图10中的步骤S42的平滑处理的方法示意图;
图12是本发明提供的芯片一实施例的功能框图;
图13是图12中的场景检测模块一实施例的功能框图;
图14是图13中的水平预测子单元一实施例的功能框图;
图15是图13中的垂直预测子单元一实施例的功能框图;
图16是图13中的统计子单元一实施例的功能框图;
图17是图16中的行向计数器一实施例的功能框图;
图18是图16中的列向计数器一实施例的功能框图;
图19是图13中的判断单元一实施例的功能框图;
图20是图19中的平滑处理器一实施例的功能框图。
具体实施方式
由背景技术可知,在现实生活中,大多数重复的场景在空间位置和视觉上是有规律的。但是,对于周期性场景估计的运动矢量存在很大的不确定性,并且不能检测出正确的运动矢量,图像中一些重复的网状或者线条状的场景检测运动矢量的过程变得复杂,而且容易出错,易降低运动估计的准确度。
具体地,对于一些特殊的复杂场景,利用现有的运动估计技术很难准确地检测出正确的运动矢量。图1示意出了一种周期性场景。如图1中虚线箭头所指位置处所示,该场景都是周期性的线条,如果运动估计有偏差会导致线条破碎,影响整个场景的图像质量。
为了解决所述技术问题,本发明实施例提供的场景检测方法中,周围块与当前中心块越相似,则匹配误差越小,反之,周围块与当前中心块的相似度越低,则匹配误差越大,因此,如果中心块位于周期性场景中,则在以当前块为中心的搜索范围内,周围块与当前中心块的匹配误差具有周期性变化的过程,本发明实施例通过根据所述水平预测深度设置第一水平阈值和第二水平阈值,并沿着搜索范围行向基于块的匹配误差与第一水平阈值和第二水平阈值的相对大小,判断匹配误差周期变化的次数,从而能够分析出沿行方向相应块与当前中心块的相似度是否发生周期性变化以及发生周期性变化的次数,作为第一数值;以及通过根据所述垂直预测深度设置第一垂直阈值和第二垂直阈值,并沿着搜索范围列向基于块的匹配误差与第一垂直阈值和第二垂直阈值的相对大小,判断匹配误差周期变化的次数,作为第二数值,从而能够分析出沿列方向相应块与当前中心块的相似度是否发生周期性变化以及发生周期性变化的次数;相应地,本发明实施例能够根据所述第一数值和第二数值,判断当前中心块是否位于周期性场景,从而后续能够根据场景的周期性规律进行运动估计,有利于降低运动估计出现偏差而导致线条破碎等问题的概率,提高了运动估计的准确度,进而有利于提高运动场景的图像质量。
图2是本发明提供的场景检测方法一实施例的流程图。作为一种示例,本实施例所述运动估计方法包括以下基本步骤:
步骤S1:在以当前中心块为中心的搜索范围内,计算周围块与当前中心块的匹配误差;
步骤S21:基于中心块沿行方向获得第一匹配误差参考极大值,作为水平预测深度;
步骤S22:基于中心块沿列方向获得第二匹配误差参考极大值,作为垂直预测深度;
步骤S31:根据所述水平预测深度设置第一水平阈值和第二水平阈值,第一水平阈值大于第二水平阈值;沿着搜索范围行向基于块的匹配误差与第一水平阈值和第二水平阈值的相对大小,判断匹配误差周期变化的次数,作为第一数值;
步骤S32:根据所述垂直预测深度设置第一垂直阈值和第二垂直阈值,第一垂直阈值大于第二垂直阈值;沿着搜索范围列向基于块的匹配误差与第一垂直阈值和第二垂直阈值的相对大小,判断匹配误差周期变化的次数,作为第二数值;
步骤S4:根据所述第一数值和第二数值,判断当前中心块是否位于周期性场景。
为使本发明实施例的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
参考图2,执行步骤S1:在以当前中心块为中心的搜索范围内,计算周围块与当前中心块的匹配误差。
匹配误差用于表示块与块之间的匹配度以及相似度。相邻的两个块越相似,匹配误差越小。具体地,本实施例中,通过计算周围块与当前中心块的匹配误差,从而计算周围块与当前中心块之间的匹配度。
计算周围块与当前中心块的匹配误差,从而后续能够根据计算出的匹配误差数据,以中心块为中心沿行方向获得第一匹配误差参考极大值,以中心块为中心沿列方向获得第二匹配误差参考极大值。
作为一种示例,基于公式(1),计算周围块与当前中心块的匹配误差。
结合参考图3,示意出图2中计算周围块与当前中心块的匹配误差的过程示意图,以及参考公式(1)。其中,Bcenter表示当前中心块,Bi,j表示以Bcenter块为中心的周围(2*s+1)*(2*s+1)的区域块,且块的大小为N*N;i和j分别表示行方向和列方向周围块与当前中心块的距离,errori,j表示周围块与当前中心块的匹配误差。
本实施例中,利用ABS(Absolute Balance Search)匹配算法,来计算匹配误差。具体地,ABS匹配算法可以为SAD(Sum of Absolute Differences,绝对误差和)或SSD(Sum ofSquared Differences,误差平方和)等。在其他实施例中,还能够利用其他合适的算法,计算周围块与当前中心块的匹配误差。
需要说明的是,在具体实施中,需要根据实际情况,合理设定搜索范围的大小,以使搜索范围能够正确反应图像的周期性。
周围块与当前中心块越相似,则匹配误差越小,反之,周围块与当前中心块的相似度越低,则匹配误差越大,因此,如果中心块位于周期性场景中,则在以当前块为中心的搜索范围内,周围块与当前中心块的匹配误差具有周期性变化的过程。
结合参考图4,其中,图4(a)、图4(b)、以及图4(c)示意出了一些周期性场景对应的块匹配误差函数的图像。由图4中示意出的图像可知,周期性场景对应的块匹配误差曲面至少在一个方向上呈现多个类似“V”的形状,也就是至少在一个方向上周期性的呈现出类似“V”的形状,体现出周期性场景对应的块匹配误差具有周期性变化的过程。
继续参考图2,执行步骤S21:基于中心块沿行方向获得第一匹配误差参考极大值,作为水平预测深度。
水平预测深度用于作为后续设置第一水平阈值和第二水平阈值的参考值。
作为一种示例,结合参考图4(c),本实施例中,所述水平预测深度即为图像中“V”形状的深度D,也就是第一匹配误差参考极大值与当前中心块位置处的匹配误差的差值。其中,由于当前中心块位置处的匹配误差为零,也就是匹配误差最低点,因此,第一匹配误差参考极大值极为“V”形状的深度D。
结合参考图5,示出了图2中的步骤S21一实施例的流程图。作为一种示例,获得第一匹配误差参考极大值的步骤S21包括:
执行步骤S211:基于中心块沿行方向获得匹配误差连续增大的第一块数,作为水平预测半径。
当前中心块的匹配误差为零,当前中心块为匹配误差最小点,从当前中心块出发,沿行向的第一水平方向或沿行向的第二水平方向,当前中心块的周围块与当前中心块的相似度逐渐降低,因此,从当前中心块沿行向的第一水平方向或沿行向的第二水平方向,周围块与当前中心块的匹配误差也越来越大。如果在以当前中心块为中心的搜索范围内为周期性的场景,则在从当前中心块出发向第一水平方向或向第二水平方向,周围块与当前中心块的匹配误差连续增大,直到某个块时匹配误差达到最大,到接近与当前中心块对应的下一个周期中的重复块的过程中,匹配误差又会逐渐减小,直到搜索到与当前中心块对应的下一个周期中的重复块的位置处,匹配误差又到达最低点。
因此,本实施例中,所述水平预测半径指的是:从当前中心块出发向沿行向的第一水平方向或向沿行向的第二水平方向,匹配误差连续增大到某个块时,不再连续增大,沿行向该块与当前中心块之间的距离即为所述水平预测半径。结合参考图4(c),本实施例中,所述水平预测半径指的是“V”形状的最低点和最高点之间的水平距离r。
相应地,本实施例中,通过沿行方向获得匹配误差连续增大的第一块数,作为水平预测半径,后续能够基于所述水平预测半径,沿行方向获得第一匹配误差参考极大值。
作为一种示例,沿行向的第一水平方向为从当前中心块向左的方向,沿行向的第二水平方向为当前中心块向右的方向。
具体地,本实施例中,获得所述水平预测半径的步骤包括:基于公式(2.1)从当前中心块沿行的第一水平方向获得匹配误差连续增大的块数,用于作为第一水平预测块数rleft;基于公式(2.2),从当前中心块沿行的第二水平方向获得匹配误差连续增大的块数,用于作为第二水平预测块数rright;基于公式(2.3),将所述第一水平预测块数rleft和第二水平预测块数rright中的较小值min(rleft,rright),作为所述第一块数r1。其中,所述第一块数r1作为所述水平预测半径。
rleft=rleft+1,until(errori,j≥errori,j+1),i=0,-s≤j≤-1 (2.1)
rright=rright+1,until(errori,j≤errori,j+1),i=0,1≤j≤s (2.2)
r1=min(rleft,rright) (2.3)
在具体实施中,第一水平预测块数rleft和第二水平预测块数rright不一定相同,通过将所述第一水平预测块数rleft和第二水平预测块数rright中的较小值min(rleft,rright),作为所述第一块数r1,有利于降低误判的概率,提高第一匹配误差参考极大值的准确性,相应提高对当前中心块是否位于周期性场景的判断准确性。作为一种示例,s=8。在其他实施例中,s还能够为其他的参考数值。
执行步骤S212:获得与中心块沿行向距离为水平预测半径对应块的匹配误差,作为第一匹配误差参考极大值。
与中心块沿行向距离为水平预测半径对应的块,为基于中心块沿行的第一水平方向或沿行的第二水平方向上,匹配误差连续增大的块,因此,与中心块沿行向距离为水平预测半径对应块的匹配误差,为沿行向的极大值点,也就是图4(c)中“V”形状的最高点,能够作为第一匹配误差参考极大值,即所述水平预测深度。相应地,后续根据水平预测深度设置的第一水平阈值和第二水平阈值,能够作为沿行向判断匹配误差是否具有“V”形状的基准。
具体地,本实施例中,获得与中心块沿行向距离为水平预测半径对应块的匹配误差,作为第一匹配误差参考极大值的步骤包括:获得沿行方向位于中心块的一侧且与中心块的距离为水平预测半径r1的块对应的第一匹配误差以及获得沿行方向位于中心块的另一侧且与中心块的距离为水平预测半径r1的块对应的第二匹配误差结合参考公式(2.4),取第一匹配误差和第二匹配误差中的较小值作为所述第一匹配误差参考极大值D1。
继续参考图2,执行步骤S22,基于中心块沿列方向获得第二匹配误差参考极大值,作为垂直预测深度。
垂直预测深度用于作为后续设置第一垂直阈值和第二垂直阈值的参考基准。
结合参考图6,示出了图2中的步骤S22一实施例的流程图。作为一种示例,获得第二匹配误差参考极大值的步骤S22包括:
执行步骤S221:基于中心块沿列方向获得匹配误差连续增大的第二块数,作为垂直预测半径。
当前中心块的匹配误差为零,当前中心块为匹配误差最小点,从当前中心块出发,沿列向的第一垂直方向或沿列向的第二垂直方向,当前中心块的周围块与当前中心块的相似度逐渐降低,因此,从当前中心块沿列向的第一垂直方向或沿列向的第二垂直方向,周围块与当前中心块的匹配误差也越来越大。如果在以当前中心块为中心的搜索范围内为周期性的场景,则在从当前中心块出发向第一垂直方向或向第二垂直方向,周围块与当前中心块的匹配误差连续增大,直到某个块时匹配误差达到最大,到接近与当前中心块对应的下一个周期中的重复块的过程中,匹配误差又会逐渐减小,直到搜索到与当前中心块对应的下一个周期中的重复块的位置处,匹配误差又到达最低点。
因此,本实施例中,所述垂直预测半径指的是:从当前中心块出发向沿列向的第一垂直方向或沿列向的第二垂直方向,匹配误差连续增大到某个块时,不再连续增大,沿列向该块与当前中心块之间的距离即为所述垂直预测半径。
相应地,本实施例中,通过沿列方向获得匹配误差连续增大的第二块数,作为垂直预测半径,因此,后续能够基于所述垂直预测半径,沿列方向获得第二匹配误差参考极大值。
作为一种示例,沿行向的第一垂直方向为从当前块出发向上的方向,沿行向的第二垂直方向为从当前块出发向下的方向。
具体地,本实施例中,获得所述垂直预测半径的步骤包括:基于公式(3.1)从当前中心块沿列的第一垂直方向获得匹配误差连续增大的块数,用于作为第一垂直预测块数rup;基于公式(3.2),从当前中心块沿列的第二垂直方向获得匹配误差连续增大的块数,用于作为第二垂直预测块数rdown;基于公式(3.3),将所述第一垂直预测块数rup和第二垂直预测块数rdown中的较小值min(rup,rdown),作为所述第二块数r2。
rup=rup+1,until(errori,j≥errori+1,j),j=0,-s≤i≤-1 (3.1)
rdown=rdown+1,until(errori,j≤errori+1,j),j=0,1≤i≤s (3.2)
r2=min(rup,rdown) (3.3)
在具体实施中,第一垂直预测块数rup和第二垂直预测块数rdown不一定相同,通过将所述第一垂直预测块数rup和第二垂直预测块数rdown中的较小值min(rup,rdown),作为所述第二块数r2,有利于降低误判的概率,提高第二匹配误差参考极大值的准确性,相应提高对当前中心块是否位于周期性场景的判断准确性。作为一种示例,s=8。在其他实施例中,s还能够为其他的参考数值。
执行步骤S222:获得与中心块沿行向距离为垂直预测半径对应块的匹配误差,作为第二匹配误差参考极大值。
与中心块沿列向距离为垂直预测半径对应的块,为基于中心块沿列的第一垂直方向或沿行的第二垂直方向上,匹配误差连续增大的块,因此,与中心块沿列向距离为垂直预测半径对应的块的匹配误差,为沿列向的极大值点,也就是“V”形状的最高点,能够作为第二匹配误差参考极大值,即所述垂直预测深度。相应地,后续根据垂直预测深度设置的第一垂直阈值和第二垂直阈值,能够作为沿列向判断匹配误差是否具有“V”形状的基准。
具体地,本实施例中,获得与中心块沿列向距离为垂直预测半径对应块的匹配误差,作为第二匹配误差参考极大值的步骤包括:获得沿列方向位于中心块的一侧且与中心块的距离为垂直预测半径r2的块对应的第三匹配误差以及获得沿列方向位于中心块的另一侧且与中心块的距离为垂直预测半径r2的块对应的第四匹配误差基于公式(3.4),取第三匹配误差和第四匹配误差中的较小值作为所述第二匹配误差参考极大值D2。
继续参考图2,执行步骤S31:根据所述水平预测深度设置第一水平阈值和第二水平阈值,第一水平阈值大于第二水平阈值;沿着搜索范围行向基于块的匹配误差与第一水平阈值和第二水平阈值的相对大小,判断匹配误差周期变化的次数,作为第一数值。
周期场景是在指定区域内,块匹配误差呈现出一种几何的周期性变化。本发明实施例通过根据所述水平预测深度设置第一水平阈值和第二水平阈值,并沿着搜索范围行向基于块的匹配误差与第一水平阈值和第二水平阈值的相对大小,判断匹配误差周期变化的次数,从而能够分析出沿行方向相应块与当前中心块的相似度是否发生周期性变化以及发生周期性变化的次数,作为第一数值;相应地,后续能够基于所述第一数值,对当前中心块是否位于周期性场景进行判断,从而后续能够根据场景的周期性规律进行运动估计,有利于降低运动估计出现偏差而导致线条破碎等问题的概率,提高了运动估计的准确度,进而有利于提高运动场景的图像质量。
第一水平阈值用于作为高参考阈值thhigh,后续沿行向依次比较块的匹配误差与第一水平阈值的相对大小,判断块的匹配误差是否有递增的过程,也就是判断块的匹配误差是否有递增的趋势。
因此,和所述水平预测深度相比,所述第一水平阈值不宜过小,也不宜过大。如果和所述水平预测深度相比,所述第一水平阈值过小,则在沿行向依次比较块的匹配误差与第一水平阈值的相对大小,判断块的匹配误差是否有递增的过程时,容易降低判断的准确性;如果和所述水平预测深度相比,所述第一水平阈值过大,在具体实施中,在判断块的匹配误差是否有递增的过程时,容易找不到匹配误差大于第一水平阈值的块。
本实施例中,第一水平阈值thhigh=khigh*D1,其中,khigh∈(0,1),且khigh为(0,1)之间的一个较大值,也就是说,khigh为接近1的一个值。作为一种示例,khigh∈(0.5,1)。
作为一种示例,如公式(4.0)所示,所述第一水平阈值thhigh设定为所述水平预测深度D1的3/4。
thhigh=3×D1/4 (4.0)
第二水平阈值小于第一水平阈值,第二水平阈值用于作为低参考阈值thlow,后续在沿行向依次比较块的匹配误差与第二水平阈值的相对大小,判断块的匹配误差是否有递减的过程,也就是判断块的匹配误差是否有递减的趋势。
因此,和所述水平预测深度相比,所述第二水平阈值不宜过小,也不宜过大。如果和所述水平预测深度相比,所述第二水平阈值过小,在具体实施中,在沿行向依次比较块的匹配误差与第二水平阈值的相对大小,判断块的匹配误差是否有递减的过程时,容易找不到匹配误差小于第二水平阈值的块;如果和所述水平预测深度相比,所述第二水平阈值过大,则在判断块的匹配误差是否有递减的过程时,容易降低判断的准确性。
本实施例中,所述第二水平阈值thlow=klow*D1,其中,klow∈(0,1),klow<khigh,且klow为(0,1)之间的一个较小值,也就是说,klow为接近0的一个值。作为一种示例,klow∈(0,0.5)。
作为一种示例,如公式(4.1)所示,所述第二水平阈值thlow设定为所述水平预测深度D1的1/4。
thlow=D1/4 (4.1)
结合参考图7,示出了图2中步骤S31一实施例的流程图。作为一种示例,获得所述第一数值的步骤包括:
执行步骤S311:沿着搜索范围行向基于块的匹配误差与第一水平阈值和第二水平阈值的相对大小,判断每一行相应块的匹配误差周期变化的次数。
作为一种示例,判断每一行相应块的匹配误差周期变化的次数的步骤包括:沿行向依次比较块的匹配误差与第一水平阈值的相对大小,判断块的匹配误差是否有递增的过程;沿行向依次比较块的匹配误差与第二水平阈值的相对大小,判断块的匹配误差是否有递减的过程;结合第一水平阈值和第二水平阈值,将一个匹配误差递增的过程和一个匹配误差递减的过程标记为一个周期;获得所述周期的次数,作为当前行相应块的匹配误差周期变化的次数。
沿行向依次比较块的匹配误差与第一水平阈值的相对大小,判断块的匹配误差是否有递增的过程,也就是判断块的匹配误差是否有连续增大的趋势;沿行向依次比较块的匹配误差与第二水平阈值的相对大小,判断块的匹配误差是否有递减的过程,也就是判断块的匹配误差是否有连续减小的趋势;因此,一个匹配误差递增的过程和一个匹配误差递减的过程,能够体现出在沿行向上块的匹配误差是否有“变小再变大”或“变大再变小”的过程,一个“变小再变大”或“变大再变小”的过程为一个周期,通过获得所述周期的次数,从而能够判断出当前行的块的匹配误差是否有多次“变大再变小”或“变小再变大”的过程,也就是判断当前行的块匹配误差是否有发生周期性变化的过程。
结合参考图8,示出了图7中的步骤S311一实施例的流程图。以下结合图8,对本发明实施例判断每一行相应块的匹配误差周期变化的次数的步骤进行向详细说明。
执行步骤S3111:以一行的搜索范围内的第一个块为初始位置。
其中,nlhl_i=0指的是当前行相应块的匹配误差周期变化的次数。在初始位置时,nlhl_i为零。
执行步骤S3112:基于公式(4.2),判断当前周围块的匹配误差是否小于所述第二水平阈值。
其中,flglow=1时,是指当前周围块的误差小于所述第二水平阈值。
判断当前周围块的匹配误差是否小于所述第二水平阈值,也就是判断当前周围块是否为接近匹配误差极小值的块。
如果当前周围块的匹配误差大于或等于所述第二水平阈值,则执行步骤S3113:判断当前行的下一个块的匹配误差是否小于所述第二水平阈值。其中,x+1表示当前行的下一个块。
如果当前周围块的匹配误差小于所述第二水平阈值,则执行步骤S3114:基于公式(4.3),判断当前周围块的匹配误差是否大于所述第一水平阈值。
其中,判断当前周围块的匹配误差是否小于所述第二水平阈值,以及当当前周围块的匹配误差大于或等于所述第二水平阈值时,判断当前行的下一个块的匹配误差是否小于所述第二水平阈值,直至当前周围块的匹配误差小于第二水平阈值的过程,也就是判断块的匹配误差是否有递减的过程。
判断当前周围块的匹配误差是否大于所述第一水平阈值,也就是判断当前周围块是否为匹配误差接近极大值的块。
当当前周围块的匹配误差小于或等于所述第一水平阈值时,执行步骤S3115:判断当前行的下一个块的匹配误差是否大于第一水平阈值。
当当前周围块的匹配误差大于所述第一水平阈值时,则执行步骤S3116:对当前行相应块的匹配误差周期变化的次数进行计次。
其中,判断当前周围块的匹配误差是否大于所述第一水平阈值,以及当当前周围块的匹配误差小于或等于所述第一水平阈值时,判断当前行的下一个块的匹配误差是否大于所述第一水平阈值,直至当前周围块的匹配误差大于第二水平阈值的过程,也就是判断块的匹配误差是否有递增的过程。
当当前周围块的匹配误差大于所述第一水平阈值时,也就是说,当前行的块存在一个匹配误差递增的过程和一个匹配误差递减的过程,一个匹配误差递增的过程和一个匹配误差递减的过程标记为一个周期,因此,对当前行相应块的匹配误差周期变化的次数进行计次。
需要说明的是,本实施例以先判断当前周围块的匹配误差是否小于所述第二水平阈值,再判断当前周围块的匹配误差是否大于所述第一水平阈值作为一种示例。在其他实施例中,还能够先判断当前周围块的匹配误差是否大于所述第一水平阈值,再判断当前周围块的匹配误差是否小于所述第二水平阈值。
执行步骤S3117:在对当前行相应块的匹配误差周期变化的次数进行计次之后,返回至步骤S3112,判断当前行的下一个块的匹配误差是否小于所述第二水平阈值。
通过返回至步骤S3112,判断当前行的下一个块的匹配误差是否小于第二水平阈值,也就是说,对搜索范围内的当前行的剩余块继续判断是否有重复匹配误差递增和递减的过程,每判断出一个匹配误差递增的过程和一个匹配误差递减的过程时,即对当前行相应块的匹配误差周期变化的次数计次,直至将搜索范围内的当前行的最后一个块判断完成时,得到当前行相应块的匹配误差周期变化的次数。
继续参考图7,执行步骤S312:将所有行相应块的匹配误差周期变化的次数累加,获得所述第一数值。
与仅将某一行相应块的匹配误差周期变化的次数作为第二数值相比,通过将所有行相应块的匹配误差周期变化的次数累加,获得第二数值,也就是判断所有行的匹配误差周期变化的次数,有利于提高对当前中心块是否位于周期性场景的判断准确性。
具体地,基于公式(4.4),将所有行相应块的匹配误差周期变化的次数nlhl_i进行累加,得到第一数值nlhl_r。其中,i表示当前行,sh表示搜索范围的行数。
继续参考图2,执行步骤S32:根据所述垂直预测深度设置第一垂直阈值和第二垂直阈值,第一垂直阈值大于第二垂直阈值;沿着搜索范围列向基于块的匹配误差与第一垂直阈值和第二垂直阈值的相对大小,判断匹配误差周期变化的次数,作为第二数值。
周期场景是在指定区域内,块匹配误差呈现出一种几何的周期性变化。通过根据所述垂直预测深度设置第一垂直阈值和第二垂直阈值,并沿着搜索范围列向基于块的匹配误差与第一垂直阈值和第二垂直阈值的相对大小,判断匹配误差周期变化的次数,作为第二数值,从而能够分析出沿列方向相应块与当前中心块的相似度是否发生周期性变化以及发生周期性变化的次数;相应地,本发明实施例能够根据所述第一数值和第二数值,判断当前中心块是否位于周期性场景,从而后续能够根据场景的周期性规律进行运动估计,有利于降低运动估计出现偏差而导致线条破碎等问题的概率,提高了运动估计的准确度,进而有利于提高运动场景的图像质量。
在具体实施中,周期性场景对应的块匹配误差可能仅沿着一个方向(行向或列向)发生周期性变化,本实施例中,不仅沿着搜索范围行向基于块的匹配误差与第一水平阈值和第二水平阈值的相对大小,判断匹配误差周期变化的次数,还沿着搜索范围列向基于块的匹配误差与第一垂直阈值和第二垂直阈值的相对大小,判断匹配误差周期变化的次数,行方向与列方向垂直,与仅沿着搜索范围的其中一个方向判断匹配误差周期变化的次数相比,通过在沿行向和列向均判断匹配误差周期变化的次数,有利于防止出现块匹配误差发生周期性变化的方向、与搜索判断方向相垂直,而导致周期性场景漏判、误判的情况,从而提高后续对周期性场景的判断准确性。
第一垂直阈值用于作为高参考阈值thhigh,后续沿列向依次比较块的匹配误差与第一垂直阈值的相对大小,判断块的匹配误差是否有递增的过程,也就是判断块的匹配误差是否有递增的趋势。
因此,和所述垂直预测深度相比,所述第一垂直阈值不宜过小,也不宜过大。如果和所述垂直预测深度相比,所述第一垂直阈值过小,则在沿列向依次比较块的匹配误差与第一垂直阈值的相对大小,判断块的匹配误差是否有递增的过程时,容易降低判断的准确性;如果和所述垂直预测深度相比,所述第一垂直阈值过大,在具体实施中,在判断块的匹配误差是否有递增的过程时,容易找不到匹配误差大于第一垂直阈值的块。
本实施例中,第一垂直阈值设定为所述垂直预测深度的khigh倍,其中,khigh∈(0,1),且khigh为(0,1)之间的一个较大值,也就是说,khigh为接近1的一个值。作为一种示例,khigh∈(0.5,1)。
作为一种示例,所述第一垂直阈值设定为所述垂直预测深度的3/4。
第二垂直阈值小于第一垂直阈值,第二垂直阈值用于作为低参考阈值thlow,后续在沿列向依次比较块的匹配误差与第二垂直阈值的相对大小,判断块的匹配误差是否有递减的过程,也就是判断块的匹配误差是否有递减的趋势。
因此,和所述垂直预测深度相比,所述第二垂直阈值不宜过小,也不宜过大。如果和所述垂直预测深度相比,所述第二垂直阈值过小,在具体实施中,在沿列向依次比较块的匹配误差与第二垂直阈值的相对大小,判断块的匹配误差是否有递减的过程时,容易找不到匹配误差小于第二垂直阈值的块;如果和所述垂直预测深度相比,所述第二垂直阈值过大,则在判断块的匹配误差是否有递减的过程时,容易降低判断的准确性。
本实施例中,所述第二垂直阈值设定为所述垂直预测深度的klow倍,klow<khigh,其中,klow∈(0,1),且klow为(0,1)之间的一个较小值,也就是说,klow为接近0的一个值。作为一种示例,klow∈(0,0.5)。
作为一种示例,所述第二垂直阈值设定为所述垂直预测深度的1/4。
结合参考图9,示出了图2中步骤S32一实施例的流程图。作为一种示例,获得所述第二数值的步骤包括:
执行步骤S321:沿着搜索范围列向基于块的匹配误差与第一垂直阈值和第二垂直阈值的相对大小,判断每一列相应块的匹配误差周期变化的次数。
本实施例中,判断每一列相应块的匹配误差周期变化的次数的步骤包括:沿列向依次比较块的匹配误差与第一垂直阈值的相对大小,判断块的匹配误差是否有递增的过程;沿列向依次比较块的匹配误差与第二垂直阈值的相对大小,判断块的匹配误差是否有递减的过程;结合第一垂直阈值和第二垂直阈值,将一个匹配误差递增的过程和一个匹配误差递减的过程标记为一个周期;获得所述周期的次数,作为当前列相应块的匹配误差周期变化的次数。
沿列向依次比较块的匹配误差与第一垂直阈值的相对大小,判断块的匹配误差是否有递增的过程,也就是判断块的匹配误差是否有连续增大的趋势;沿列向依次比较块的匹配误差与第二垂直阈值的相对大小,判断块的匹配误差是否有递减的过程,也就是判断块的匹配误差是否有连续减小的趋势;因此,一个匹配误差递增的过程和一个匹配误差递减的过程,能够体现出在沿列向上块的匹配误差是否有“变小再变大”或“变大再变小”的过程,一个“变小再变大”或“变大再变小”的过程为一个周期,通过获得所述周期的次数,从而能够判断出当前列的块的匹配误差是否有多次“变大再变小”或“变小再变大”的过程,也就是判断当前列的块匹配误差是否有发生周期性变化的过程。
关于本实施例判断每一列相应块的匹配误差周期变化的次数的具体描述,可参考前述判断每一行相应块的匹配误差周期变化次数的相关描述,在此不再赘述。
执行步骤S322:将所有列相应块的匹配误差周期变化的次数累加,获得所述第二数值。
与仅将某一列相应块的匹配误差周期变化的次数作为第二数值相比,通过将所有列相应块的匹配误差周期变化的次数累加,获得第二数值,也就是判断所有列的匹配误差周期变化的次数,有利于提高对当前中心块是否位于周期性场景的判断准确性。
具体地,基于公式(4.5),将所有列相应块的匹配误差周期变化的次数累加,获得所述第二数值。其中,j表示当前行,sw表示搜索范围的行数。
继续参考图2,执行步骤S4:根据所述第一数值和第二数值,判断当前中心块是否位于周期性场景。
结合参考图10,示出了图2中的步骤S4一实施例的示意图。本实施例中,根据所述第一数值和第二数值,判断当前中心块是否位于周期性场景的步骤包括:
执行步骤S41:根据所述第一数值和第二数值与预设参考值的相对大小,对当前中心块进行标记。
具体地,参考公式(5.1),当所述第一数值和第二数值中的至少一个大于预设参考值时,将当前中心块标记为周期块;当第一数值和第二数值均小于预设参考值时,将当前中心块标记为非周期块。其中,nlhl=max(nlhl_r,nlhl_c),th为预设参考值。
在具体实施中,能够根据实际的情况和经验,合理设定所述预设参考值,例如:当周期性场景的周期重复出现n次时,才能作为周期性场景,则所述预设参考值th=n。
继续参考图10,本实施例中,判断当前中心块是否位于周期性场景的步骤还包括:在对当前中心块进行标记之后,执行步骤S42:对中心块的标记数据进行平滑处理。
通过前述的方法,判断某个块是否属于周期性场景的区域。由于整个图像的随机性,某些块存在被误判的可能性,通过对中心块的标记数据进行平滑处理,从而对当前块的周期性做进一步的判断,有利于降低出现误判问题的概率,进而使得整个图像的周期性场景更加饱满平滑。
具体地,本实施例中,进行平滑处理的步骤包括:获取当前中心块以及当前中心块在搜索范围内的周围相邻块的标记数据;如果当前中心块被标记为非周期块,且周围相邻块被标记为周期块的数量大于第一参考值,则判断当前中心块位于周期性场景,并将当前中心块重新标记为周期块;如果当前中心块被标记为周期块,且周围相邻块被标记为非周期块的数量小于第二参考值,则判断当前中心块位于非周期性场景,并将当前中心块重新标记为非周期块。
作为一种示例,基于公式(5.2),进行平滑处理。
其中,flg(r,c)表示当前块,(r,c)表示当前块在整个图像中的位置,th1表示第一参考值,th2表示第二参考值。
需要说明的是,th1和th2可以相等,也可以不同。th1越大,flg(r,c)=1的条件越严格。类似地,th2越小,flg(r,c)=0的条件越严格。
作为一种示例,当i=3,j=3,th1=5,th2=3时,判断当前块周围3*3的搜索范围内块是否为周期块。如果多于5个块为周期性的块,那么当前的块也是周期块;反之,如果指定范围内周期性块少于3个,那么当前块为非周期块。
具体地,作为一种示例,结合参考图11,示意出了图10中的步骤S42的平滑处理的方法示意图。
图11(a)中当前块B1标记为0,而周围的块均标记为1,也就是说,当前块B1周围的块全部为周期块,只有当前块B1不是周期块,这个块B1被误判为非周期块的概率较高,因此,将当前块B1也改成周期块;图11(b)中当前块B2标记为1,而周围的块全部标记为0,也就是说,当前块B2周围的块全部为非周期块,只有当前块B2为周期块,这个块B2被误判为周期块的概率较高,因此,将其改成非周期块。
通过上述方法,去除了图像中孤立的周期性块,并且填补了周期性前景区域中空洞的块,有利于提高图像的平滑度。
相应的,本发明还提供一种芯片,所述芯片包括场景检测模块。参考图12,示出了本发明提供的芯片一实施例的功能框图,以及结合参考图13,示出了图12中的场景检测模块一实施例的功能框图。
所述场景检测模块100用于对当前图像中的场景进行检测。具体的,本实施例中,对图像中的周期性场景进行检测。
本实施例中,所述场景检测模块100包括:匹配误差计算单元10,用于在以当前中心块为中心的搜索范围内,计算周围块与当前中心块的匹配误差;深度预测单元20,包括:水平预测子单元201,用于基于中心块沿行方向获得第一匹配误差参考极大值,输出为水平预测深度;以及垂直预测子单元202,用于基于中心块沿列方向获得第二匹配误差参考极大值,输出为垂直预测深度;搜索单元30,包括:设置子单元301,用于根据所述水平预测深度设置第一水平阈值和第二水平阈值,第一水平阈值大于第二水平阈值,以及用于根据所述垂直预测深度设置第一垂直阈值和第二垂直阈值,第一垂直阈值大于第二垂直阈值;统计子单元302,用于沿着搜索范围行向基于块的匹配误差与第一水平阈值和第二水平阈值的相对大小,判断匹配误差周期变化的次数,作为第一数值,以及用于沿着搜索范围列向基于块的匹配误差与第一垂直阈值和第二垂直阈值的相对大小,判断匹配误差周期变化的次数,作为第二数值;判断单元40,用于根据所述第一数值和第二数值,判断当前中心块是否位于周期性场景。
匹配误差计算单元10用于在以当前中心块为中心的搜索范围内,计算周围块与当前中心块的匹配误差。
匹配误差用于表示块与块之间的匹配度以及相似度。相邻的两个块越相似,匹配误差越小。具体地,本实施例中,匹配误差计算单元10用于计算周围块与当前中心块之间的匹配度。
匹配误差计算单元10用于计算周围块与当前中心块的匹配误差,从而深度预测单元20能够根据匹配误差计算单元10计算出的匹配误差数据,以中心块为中心沿行方向获得第一匹配误差参考极大值,以中心块为中心沿列方向获得第二匹配误差参考极大值。
作为一种示例,匹配误差计算单元10用于基于前述实施例中的公式(1),计算周围块与当前中心块的匹配误差。
本实施例中,匹配误差计算单元10用于利用ABS匹配算法,来计算匹配误差。具体地,ABS匹配算法可以为SAD或SSD等。
在其他实施例中,匹配误差计算单元用于还能够利用其他合适的算法,计算周围块与当前中心块的匹配误差。
需要说明的是,在具体实施中,需要根据实际情况,合理设定搜索范围的大小,以使搜索范围能够正确反应图像的周期性。
周围块与当前中心块越相似,则匹配误差越小,反之,周围块与当前中心块的相似度越低,则匹配误差越大,因此,如果中心块位于周期性场景中,则在以当前块为中心的搜索范围内,周围块与当前中心块的匹配误差具有周期性变化的过程。
结合参考图4,其中,图4(a)、图4(b)、以及图4(c)示意出了一些周期性场景对应的块匹配误差函数的图像。由图4中示意出的图像可知,周期性场景对应的块匹配误差曲面至少在一个方向上呈现多个类似“V”的形状,也就是至少在一个方向上,周期性的呈现出类似“V”的形状,周期性场景对应的块匹配误差具有周期性变化的过程。
水平预测子单元201用于基于中心块沿行方向获得第一匹配误差参考极大值,输出为水平预测深度。
水平预测深度用于作为后续设置第一水平阈值和第二水平阈值的参考值。
作为一种示例,结合参考图4(c),本实施例中,所述水平预测深度即为图像中“V”形状的深度D,也就是第一匹配误差参考极大值与当前中心块位置处的匹配误差的差值。其中,由于当前中心块位置处的匹配误差为零,也就是匹配误差最低点,因此,第一匹配误差参考极大值极为“V”形状的深度D。
结合参考图14,示出了图13中的水平预测子单元一实施例的功能框图。
所述水平预测子单元201包括:水平半径预测器2011,用于基于中心块沿行方向获得匹配误差连续增大的第一块数,输出为水平预测半径。
当前中心块的匹配误差为零,当前中心块为匹配误差最小点,从当前中心块出发,沿行向的第一水平方向或沿行向的第二水平方向,当前中心块的周围块与当前中心块的相似度逐渐降低,因此,从当前中心块沿行向的第一水平方向或沿行向的第二水平方向,周围块与当前中心块的匹配误差也越来越大。如果在以当前中心块为中心的搜索范围内为周期性的场景,则在从当前中心块出发向第一水平方向或向第二水平方向,周围块与当前中心块的匹配误差连续增大,直到某个块时匹配误差达到最大,到接近与当前中心块对应的下一个周期中的重复块的过程中,匹配误差又会逐渐减小,直到搜索到与当前中心块对应的下一个周期中的重复块的位置处,匹配误差又到达最低点。
因此,本实施例中,所述水平预测半径指的是:从当前中心块出发向沿行向的第一水平方向或向沿行向的第二水平方向,匹配误差连续增大到某个块时,不再连续增大,该块与当前中心块之间的距离即为所述水平预测半径。结合参考图4(c),本实施例中,所述水平预测半径指的是“V”形状的最低点和最高点之间的水平距离r。
相应地,本实施例中,通过沿行方向获得匹配误差连续增大的第一块数,作为水平预测半径,因此,第一参考极大值获取器2012能够基于所述水平预测半径,沿行方向获得第一匹配误差参考极大值。
作为一种示例,沿行向的第一水平方向为从当前中心块向左的方向,沿行向的第二水平方向为当前中心块向右的方向。
具体地,本实施例中,水平半径预测器2011基于前述实施例中的公式(2.1)从当前中心块沿行的第一水平方向获得匹配误差连续增大的块数,用于作为第一水平预测块数rleft,以及用于基于前述实施例中的公式(2.2),从当前中心块沿行的第二水平方向获得匹配误差连续增大的块数,用于作为第二水平预测块数rright,还用于基于前述实施例中的公式(2.3),将所述第一水平预测块数rleft和第二水平预测块数rright中的较小值min(rleft,rright),作为所述第一块数r1。其中,所述第一块数r1作为所述水平预测半径。
在具体实施中,第一水平预测块数rleft和第二水平预测块数rright不一定相同,水平半径预测器2011通过将所述第一水平预测块数rleft和第二水平预测块数rright中的较小值min(rleft,rright),作为所述第一块数r1,有利于降低误判的概率,提高第一匹配误差参考极大值的准确性,相应提高对当前中心块是否位于周期性场景的判断准确性。
所述水平预测子单元201还包括:第一参考极大值获取器2012,用于获得与中心块沿行向距离为水平预测半径对应块的匹配误差,输出为第一匹配误差参考极大值。
与中心块沿行向距离为水平预测半径对应的块,为基于中心块沿行的第一水平方向或沿行的第二水平方向上,匹配误差连续增大的块,因此,与中心块沿行向距离为水平预测半径对应块的匹配误差,为沿行向的极大值点,也就是图4(c)中“V”形状的最高点,能够作为第一匹配误差参考极大值,也就是所述水平预测深度。相应地,搜索单元30中的设置子单元301根据水平预测深度设置的第一水平阈值和第二水平阈值,能够作为沿行向判断匹配误差是否具有“V”形状的基准。
具体地,本实施例中,第一参考极大值获取器2012用于获得沿行方向位于中心块的一侧且与中心块的距离为水平预测半径r1的块对应的第一匹配误差以及用于获得沿行方向位于中心块的另一侧且与中心块的距离为水平预测半径r1的块对应的第二匹配误差并用于结合参考前述实施例中的公式(2.4),取第一匹配误差和第二匹配误差中的较小值作为所述第一匹配误差参考极大值D1。
垂直预测子单元202用于基于中心块沿列方向获得第二匹配误差参考极大值,输出为垂直预测深度。
垂直预测深度用于作为后续设置第一垂直阈值和第二垂直阈值的参考值。
结合参考图15,示出了图13中的垂直预测子单元202一实施例的功能框图。作为一种示例,垂直预测子单元202包括:垂直半径预测器2021,用于基于中心块沿列方向获得匹配误差连续增大的第二块数,输出为垂直预测半径。
当前中心块的匹配误差为零,当前中心块为匹配误差最小点,从当前中心块出发,沿列向的第一垂直方向或沿列向的第二垂直方向,当前中心块的周围块与当前中心块的相似度逐渐降低,因此,从当前中心块沿列向的第一垂直方向或沿列向的第二垂直方向,周围块与当前中心块的匹配误差也越来越大。如果在以当前中心块为中心的搜索范围内为周期性的场景,则在从当前中心块出发向第一垂直方向或向第二垂直方向,周围块与当前中心块的匹配误差连续增大,直到某个块时匹配误差达到最大,到接近与当前中心块对应的下一个周期中的重复块的过程中,匹配误差又会逐渐减小,直到搜索到与当前中心块对应的下一个周期中的重复块的位置处,匹配误差又到达最低点。
因此,本实施例中,所述垂直预测半径指的是:从当前中心块出发向沿列向的第一垂直方向或沿列向的第二垂直方向,匹配误差连续增大到某个块时,不再连续增大,该块与当前中心块之间的距离即为所述垂直预测半径。
相应地,本实施例中,垂直半径预测器2021通过沿列方向获得匹配误差连续增大的第二块数,输出为垂直预测半径,因此,第二参考极大值获取器2022能够基于所述垂直预测半径,沿列方向获得第二匹配误差参考极大值。
作为一种示例,沿行向的第一垂直方向为从当前块出发向上的方向,沿行向的第二垂直方向为从当前块出发向下的方向。
具体地,本实施例中,垂直半径预测器2021用于基于前述实施例中的公式(3.1)从当前中心块沿列的第一垂直方向获得匹配误差连续增大的块数,输出为第一垂直预测块数rup,以及用于基于前述实施例中的公式(3.2),从当前中心块沿列的第二垂直方向获得匹配误差连续增大的块数,输出为第二垂直预测块数rdown,还用于将所述第一垂直预测块数rup和第二垂直预测块数rdown中的较小值min(rup,rdown),输出为所述第二块数r2。
在具体实施中,第一垂直预测块数rup和第二垂直预测块数rdown不一定相同,垂直半径预测器2021通过将所述第一垂直预测块数rup和第二垂直预测块数rdown中的较小值min(rup,rdown),作为所述第二块数r2,有利于降低误判的概率,提高第二匹配误差参考极大值的准确性,相应提高对当前中心块是否位于周期性场景的判断准确性。
垂直预测子单元202还包括:第二参考极大值获取器2022,用于获得与中心块沿行向距离为垂直预测半径对应块的匹配误差,输出为第二匹配误差参考极大值。
与中心块沿列向距离为垂直预测半径对应的块,为基于中心块沿列的第一垂直方向或沿行的第二垂直方向上,匹配误差连续增大的块,因此,与中心块沿列向距离为垂直预测半径对应的块的匹配误差,为沿列向的极大值点,也就是“V”形状的最高点,能够作为第二匹配误差参考极大值,也就是所述垂直预测深度。相应地,搜索单元30中的设置子单元301根据垂直预测深度设置的第一垂直阈值和第二垂直阈值,能够作为沿列向判断匹配误差是否具有“V”形状的基准。
具体地,本实施例中,第二参考极大值获取器2022用于获得沿列方向位于中心块的一侧且与中心块的距离为垂直预测半径r2的块对应的第三匹配误差以及用于获得沿列方向位于中心块的另一侧且与中心块的距离为垂直预测半径r2的块对应的第四匹配误差还用于基于前述实施例中的公式(3.4),取第三匹配误差和第四匹配误差中的较小值输出为所述第二匹配误差参考极大值D2。
周期场景是在指定区域内,块匹配误差呈现出一种几何的周期性变化。通过根据所述垂直预测深度设置第一垂直阈值和第二垂直阈值,并沿着搜索范围列向基于块的匹配误差与第一垂直阈值和第二垂直阈值的相对大小,判断匹配误差周期变化的次数,作为第二数值,从而能够分析出沿列方向相应块与当前中心块的相似度是否发生周期性变化以及发生周期性变化的次数;相应地,本发明实施例能够根据所述第一数值和第二数值,判断当前中心块是否位于周期性场景,从而后续能够根据场景的周期性规律进行运动估计,有利于降低运动估计出现偏差而导致线条破碎等问题的概率,提高了运动估计的准确度,进而有利于提高运动场景的图像质量。
设置子单元301用于根据所述水平预测深度设置第一水平阈值和第二水平阈值,第一水平阈值大于第二水平阈值。
第一水平阈值用于作为高参考阈值thhigh,统计子单元302能够沿行向依次比较块的匹配误差与第一水平阈值的相对大小,判断块的匹配误差是否有递增的过程,也就是判断块的匹配误差是否有递增的趋势。
本实施例中,第一水平阈值thhigh=khigh*D1,其中,khigh∈(0,1),且khigh为(0,1)之间的一个较大值,也就是说,khigh为接近1的一个值。作为一种示例,khigh∈(0.5,1)。
作为一种示例,所述第一水平阈值thhigh设定为所述水平预测深度D1的3/4。
第二水平阈值小于第一水平阈值,第二水平阈值用于作为低参考阈值thlow,后续在沿行向依次比较块的匹配误差与第二水平阈值的相对大小,判断块的匹配误差是否有递减的过程,也就是判断块的匹配误差是否有递减的趋势。
本实施例中,所述第二水平阈值thlow=klow*D1,其中,klow∈(0,1),klow<khigh,且klow为(0,1)之间的一个较小值,也就是说,klow为接近0的一个值。作为一种示例,klow∈(0,0.5)。
作为一种示例,所述第二水平阈值thlow设定为所述水平预测深度D1的1/4。
设置子单元301还用于根据所述垂直预测深度设置第一垂直阈值和第二垂直阈值,第一垂直阈值大于第二垂直阈值。
第一垂直阈值用于作为高参考阈值thhigh,从而统计子单元302能够沿列向依次比较块的匹配误差与第一垂直阈值的相对大小,判断块的匹配误差是否有递增的过程,也就是判断块的匹配误差是否有递增的趋势。
本实施例中,所述第一垂直阈值设定为所述垂直预测深度的khigh倍,其中,khigh∈(0,1),且khigh为(0,1)之间的一个较大值,也就是说,khigh为接近1的一个值。作为一种示例,khigh∈(0.5,1)。
作为一种示例,所述第一垂直阈值设定为所述垂直预测深度的3/4。
第二垂直阈值小于第一垂直阈值,第二垂直阈值用于作为低参考阈值thlow,从而统计子单元302能够在沿列向依次比较块的匹配误差与第二垂直阈值的相对大小,判断块的匹配误差是否有递减的过程,也就是判断块的匹配误差是否有递减的趋势。
本实施例中,所述第二垂直阈值设定为所述垂直预测深度的klow倍,klow<khigh,其中,klow∈(0,1),且klow为(0,1)之间的一个较小值,,也就是说,klow为接近0的一个值。作为一种示例,klow∈(0,0.5)。
作为一种示例,所述第二垂直阈值设定为所述垂直预测深度的1/4。
统计子单元302用于沿着搜索范围行向基于块的匹配误差与第一水平阈值和第二水平阈值的相对大小,判断匹配误差周期变化的次数,作为第一数值。
结合参考图16,示出了图13中的统计子单元302一实施例的功能框图。作为一种示例,所述统计子单元302包括:行向计数器3021,用于沿着搜索范围行向基于块的匹配误差与第一水平阈值和第二水平阈值的相对大小,判断每一行相应块的匹配误差周期变化的次数;行向累加器3022,用于将所有行相应块的匹配误差周期变化的次数累加,获得所述第一数值。
结合参考图17,示出了图16中的行向计数器3021一实施例的功能框图。
作为一种示例,行向计数器3021包括:行向递增判断块3021a,用于沿行向依次比较块的匹配误差与第一水平阈值的相对大小,判断块的匹配误差是否有递增的过程;行向递减判断块3021b,用于沿行向依次比较块的匹配误差与第二水平阈值的相对大小,判断块的匹配误差是否有递减的过程;行向周期获取块3021c,用于结合第一水平阈值和第二水平阈值,将一个匹配误差递增的过程和一个匹配误差递减的过程标记为一个周期,以及用于获得所述周期的次数,作为当前行相应块的匹配误差周期变化的次数。
沿行向依次比较块的匹配误差与第一水平阈值的相对大小,判断块的匹配误差是否有递增的过程,也就是判断块的匹配误差是否有连续增大的趋势;沿行向依次比较块的匹配误差与第二水平阈值的相对大小,判断块的匹配误差是否有递减的过程,也就是判断块的匹配误差是否有连续减小的趋势;因此,一个匹配误差递增的过程和一个匹配误差递减的过程,能够体现出在沿行向上块的匹配误差是否有“变小再变大”或“变大再变小”的过程,一个“变小再变大”或“变大再变小”的过程为一个周期,通过获得所述周期的次数,从而能够判断出当前行的块的匹配误差是否有多次“变大再变小”或“变小再变大”的过程,也就是判断当前行的块匹配误差是否有发生周期性变化的过程。
行向计数器3021以一行的搜索范围内的第一个块为初始位置。在初始位置时,当前行相应块的匹配误差周期变化的次数为零。
行向计数器3021还用于基于前述实施例中的公式(4.2),判断当前周围块的匹配误差是否小于所述第二水平阈值。判断当前周围块的匹配误差是否小于所述第二水平阈值,也就是判断当前周围块是否为接近匹配误差极小值的块。
如果当前周围块的匹配误差大于或等于所述第二水平阈值,行向计数器3021判断当前行的下一个块的匹配误差是否小于所述第二水平阈值。
如果当前周围块的匹配误差小于所述第二水平阈值,则行向计数器3021基于前述实施例中的公式(4.3),判断当前周围块的匹配误差是否大于所述第一水平阈值。
其中,判断当前周围块的匹配误差是否小于所述第二水平阈值,以及当当前周围块的匹配误差大于或等于所述第二水平阈值时,判断当前行的下一个块的匹配误差是否小于所述第二水平阈值,直至当前周围块的匹配误差小于第二水平阈值的过程,也就是判断块的匹配误差是否有递减的过程。
判断当前周围块的匹配误差是否大于所述第一水平阈值,也就是判断当前周围块是否为匹配误差接近极大值的块。
当当前周围块的匹配误差小于或等于所述第一水平阈值时,行向计数器3021判断当前行的下一个块的匹配误差是否大于第一水平阈值。
当当前周围块的匹配误差大于所述第一水平阈值时,行向计数器3021对当前行相应块的匹配误差周期变化的次数进行计次。
其中,判断当前周围块的匹配误差是否大于所述第一水平阈值,以及当当前周围块的匹配误差小于或等于所述第一水平阈值时,判断当前行的下一个块的匹配误差是否大于所述第一水平阈值,直至当前周围块的匹配误差大于第二水平阈值的过程,也就是判断块的匹配误差是否有递增的过程。
当当前周围块的匹配误差大于所述第一水平阈值时,也就是说,当前行的块存在一个匹配误差递增的过程和一个匹配误差递减的过程,一个匹配误差递增的过程和一个匹配误差递减的过程标记为一个周期,因此,对当前行相应块的匹配误差周期变化的次数进行计次。
需要说明的是,本实施例以先判断当前周围块的匹配误差是否小于所述第二水平阈值,再判断当前周围块的匹配误差是否大于所述第一水平阈值作为一种示例。在其他实施例中,还能够先判断当前周围块的匹配误差是否大于所述第一水平阈值,再判断当前周围块的匹配误差是否小于所述第二水平阈值。
在对当前行相应块的匹配误差周期变化的次数进行计次之后,行向计数器3021返回判断当前行的下一个块的匹配误差是否小于所述第二水平阈值。
通过返回判断当前行的下一个块的匹配误差是否小于第二水平阈值,也就是说,对搜索范围内的当前行的剩余块继续判断是否有重复匹配误差递增和递减的过程,每判断出一个匹配误差递增的过程和一个匹配误差递减的过程时,即对当前行相应块的匹配误差周期变化的次数计次,直至将搜索范围内的当前行的最后一个块判断完成时,得到当前行相应块的匹配误差周围变化的次数。
行向累加器3022用于将所有行相应块的匹配误差周期变化的次数累加,获得所述第一数值。
与仅将某一行相应块的匹配误差周期变化的次数作为第二数值相比,行向累加器3022通过将所有行相应块的匹配误差周期变化的次数累加,获得第二数值,也就是判断所有行的匹配误差周期变化的次数,有利于提高对当前中心块是否位于周期性场景的判断准确性。
具体地,基于前述实施例中的公式(4.4),将所有行相应块的匹配误差周期变化的次数nlhl_i进行累加,得到第一数值nlhl_r。
结合参考图16,所述统计子单元302还包括:列向计数器3023,用于沿着搜索范围列向基于块的匹配误差与第一垂直阈值和第二垂直阈值的相对大小,判断每一列相应块的匹配误差周期变化的次数;列向累加器3024,用于将所有列相应块的匹配误差周期变化的次数累加,获得所述第二数值。
在具体实施中,周期性场景对应的块匹配误差可能仅沿着一个方向(行向或列向)发生周期性变化,本实施例中,搜索单元30不仅沿着搜索范围行向基于块的匹配误差与第一水平阈值和第二水平阈值的相对大小,判断匹配误差周期变化的次数,还沿着搜索范围列向基于块的匹配误差与第一垂直阈值和第二垂直阈值的相对大小,判断匹配误差周期变化的次数,行方向与列方向垂直,与仅沿着搜索范围的其中一个方向判断匹配误差周期变化的次数相比,通过在沿行向和列向均判断匹配误差周期变化的次数,有利于防止出现块匹配误差发生周期性变化的方向、与搜索判断方向相垂直,而导致周期性场景漏判、误判的情况,从而提高后续对周期性场景的判断准确性。
结合参考图18,示出了图16中的列向计数器一实施例的示意图。作为一种示例,列向计数器3023包括:列向递增判断块3023a,用于沿列向依次比较块的匹配误差与第一垂直阈值的相对大小,判断块的匹配误差是否有递增的过程;列向递减判断块3023b,用于沿列向依次比较块的匹配误差与第二垂直阈值的相对大小,判断块的匹配误差是否有递减的过程;列向周期获取块3023c,用于结合第一垂直阈值和第二垂直阈值,将一个匹配误差递增的过程和一个匹配误差递减的过程标记为一个周期,以及用于获得所述周期的次数,作为当前列相应块的匹配误差周期变化的次数。
沿列向依次比较块的匹配误差与第一垂直阈值的相对大小,判断块的匹配误差是否有递增的过程,也就是判断块的匹配误差是否有连续增大的趋势;沿列向依次比较块的匹配误差与第二垂直阈值的相对大小,判断块的匹配误差是否有递减的过程,也就是判断块的匹配误差是否有连续减小的趋势;因此,一个匹配误差递增的过程和一个匹配误差递减的过程,能够体现出在沿列向上块的匹配误差是否有“变小再变大”或“变大再变小”的过程,一个“变小再变大”或“变大再变小”的过程为一个周期,通过获得所述周期的次数,从而能够判断出当前列的块的匹配误差是否有多次“变大再变小”或“变小再变大”的过程,也就是判断当前列的块匹配误差是否有发生周期性变化的过程。
关于本实施例判断每一列相应块的匹配误差周期变化的次数的具体描述,可参考前述判断每一行相应块的匹配误差周期变化的次数的相关描述,在此不再赘述。
列向累加器3024用于将所有列相应块的匹配误差周期变化的次数累加,获得所述第二数值。与仅将某一列相应块的匹配误差周期变化的次数作为第二数值相比,通过将所有列相应块的匹配误差周期变化的次数累加,获得第二数值,也就是判断所有列的匹配误差周期变化的次数,有利于提高对当前中心块是否位于周期性场景的判断准确性。
具体地,列向累加器3024基于前述实施例中的公式(4.5),将所有列相应块的匹配误差周期变化的次数累加,获得所述第二数值。
判断单元40用于根据所述第一数值和第二数值,判断当前中心块是否位于周期性场景。
结合参考图19,示出了图13中的判断单元40一实施例的示意图。作为一种示例,所述判断单元40包括:标记器401,用于根据所述第一数值和第二数值与预设参考值的相对大小,对当前中心块进行标记;所述标记器401用于当所述第一数值和第二数值中的至少一个大于预设参考值时,将当前中心块标记为周期块,以及用于当第一数值和第二数值均小于预设参考值时,将当前中心块标记为非周期块。
具体地,参考前述实施例中的公式(5.1),当所述第一数值和第二数值中的至少一个大于预设参考值时,将当前中心块标记为周期块;当第一数值和第二数值均小于预设参考值时,将当前中心块标记为非周期块。其中,nlhl=max(nlhl_r,nlhl_c),th为预设参考值。
在具体实施中,能够根据实际的情况和经验,合理设定所述预设参考值,例如:当周期性场景的周期重复出现n次时,才能作为周期性场景,则所述预设参考值th=n。
本实施例中,所述判断单元40还包括:平滑处理器402,用于对标记器401输出的中心块的标记数据进行平滑处理。
通过判断某个块是否属于周期性场景的区域。由于整个图像的随机性,某些块存在被误判的可能性,通过对中心块的标记数据进行平滑处理,从而对当前块的周期性做进一步的判断,降低出现误判问题的概率,有利于使得整个图像的周期性场景更加饱满平滑。
结合参考图20,示出了图19中的平滑处理器402一实施例的示意图。
具体地,本实施例中,平滑处理器402包括:提取块4021,用于获取当前中心块以及当前中心块在搜索范围内的周围相邻块的标记数据;优化块4022,用于当当前中心块被标记为非周期块,且周围相邻块被标记为周期块的数量大于第一参考值时,判断当前中心块位于周期性场景,并将当前中心块重新标记为周期块;以及用于当当前中心块被标记为周期块,且周围相邻块被标记为非周期块的数量小于第二参考值时,判断当前中心块位于非周期性场景,并将当前中心块重新标记为非周期块。
平滑处理器402能够去除图像中孤立的周期性块,并且填补了周期性前景区域中空洞的块,有利于提高图像的平滑度。
继续参考图12,所述芯片300还包括:运动估计模块200,用于对场景检测模块100检测出的周期性场景的相应块进行运动估计。
运动估计模块200能够根据场景的周期性规律进行运动估计,有利于降低运动估计出现偏差而导致线条破碎等问题的概率,提高了运动估计的准确度,进而有利于提高运动场景的图像质量,相应提高了芯片300的音视频处理能力。
本实施例中,所述芯片300可以为多媒体芯片、音视频芯片、视频处理芯片、MEMC(Motion Estimation and Motion Compensation)芯片等。
本发明实施例中的芯片300包括所述场景检测模块100和所述运动估计模块200,有利于提高芯片300的音视频处理能力,进而有利于优化用户的视觉体验、提高用户感受度。
本发明实施例中的芯片300可以通过数字逻辑电路来实现,每个数字逻辑电路通过逻辑运算用来执行之前对应实施例所提到的方法。或者芯片300可通过通用处理器实现,所述通用处理器通过执行计算机软件程序运行相关处理方法。
相应的,本发明实施例还提供一种电子设备,包括本发明实施例提供的芯片300。
本实施例中,所述电子设备为能够进行视频图像处理的设备,例如:机顶盒或显示装置等。其中,显示装置可以为电视、投影仪或手机等。
由前述实施例可知,本发明实施例提供的芯片300具有较高的音视频处理能力,因此,有利于提高电子设备的视频流畅度和平滑度,从而有利于提高用户感受度,使用户具有较高的视觉体验。
相应的,本发明实施例还提供一种存储介质,所述存储介质存储有一条或多条计算机指令,所述一条或多条计算机指令用于实现本发明实施例提供的场景检测方法。
所述存储介质为计算机可读存储介质,存储介质可以为只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、U盘、移动硬盘、磁盘或光盘等各种可以存储程序代码的介质。
上述本发明的实施方式是本发明的元件和特征的组合。除非另外提及,否则所述元件或特征可被视为选择性的。各个元件或特征可在不与其它元件或特征组合的情况下实践。另外,本发明的实施方式可通过组合部分元件和/或特征来构造。本发明的实施方式中所描述的操作顺序可重新排列。任一实施方式的一些构造可被包括在另一实施方式中,并且可用另一实施方式的对应构造代替。对于本领域技术人员而言明显的是,所附权利要求中彼此没有明确引用关系的权利要求可组合成本发明的实施方式,或者可在提交本申请之后的修改中作为新的权利要求包括。
本发明的实施方式可通过例如硬件、固件、软件或其组合的各种手段来实现。在硬件配置方式中,根据本发明示例性实施方式的方法可通过一个或更多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理器件(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器等来实现。
在固件或软件配置方式中,本发明的实施方式可以模块、过程、功能等形式实现。软件代码可存储在存储器单元中并由处理器执行。存储器单元位于处理器的内部或外部,并可经由各种己知手段向处理器发送数据以及从处理器接收数据。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (20)
1.一种场景检测方法,其特征在于,包括:
在以当前中心块为中心的搜索范围内,计算周围块与当前中心块的匹配误差;
基于中心块沿行方向获得第一匹配误差参考极大值,作为水平预测深度;基于中心块沿列方向获得第二匹配误差参考极大值,作为垂直预测深度;
根据所述水平预测深度设置第一水平阈值和第二水平阈值,第一水平阈值大于第二水平阈值;沿着搜索范围行向基于块的匹配误差与第一水平阈值和第二水平阈值的相对大小,判断匹配误差周期变化的次数,作为第一数值;
根据所述垂直预测深度设置第一垂直阈值和第二垂直阈值,第一垂直阈值大于第二垂直阈值;沿着搜索范围列向基于块的匹配误差与第一垂直阈值和第二垂直阈值的相对大小,判断匹配误差周期变化的次数,作为第二数值;
根据所述第一数值和第二数值,判断当前中心块是否位于周期性场景。
2.如权利要求1所述的场景检测方法,其特征在于,获得第一匹配误差参考极大值的步骤包括:基于中心块沿行方向获得匹配误差连续增大的第一块数,作为水平预测半径;获得与中心块沿行向距离为水平预测半径对应块的匹配误差,作为第一匹配误差参考极大值;
获得第二匹配误差参考极大值的步骤包括:基于中心块沿列方向获得匹配误差连续增大的第二块数,作为垂直预测半径;获得与中心块沿列向距离为垂直预测半径对应块的匹配误差,作为第二匹配误差参考极大值。
3.如权利要求2所述的场景检测方法,其特征在于,获得所述水平预测半径的步骤包括:从当前中心块沿行的第一水平方向获得匹配误差连续增大的块数,用于作为第一水平预测块数;从当前中心块沿行的第二水平方向获得匹配误差连续增大的块数,用于作为第二水平预测块数;将所述第一水平预测块数和第二水平预测块数中的较小值,作为所述第一块数;
获得所述垂直预测半径的步骤包括:从当前中心块沿列的第一垂直方向获得匹配误差连续增大的块数,用于作为第一垂直预测块数;从当前中心块沿列的第二垂直方向获得匹配误差连续增大的块数,用于作为第二垂直预测块数;将所述第一垂直预测块数和第二垂直预测块数中的较小值,作为所述第二块数。
4.如权利要求2所述的场景检测方法,其特征在于,获得与中心块沿行向距离为水平预测半径对应块的匹配误差,作为第一匹配误差参考极大值的步骤包括:获得沿行方向位于中心块的一侧且与中心块的距离为水平预测半径的块对应的第一匹配误差,以及获得沿行方向位于中心块的另一侧且与中心块的距离为水平预测半径的块对应的第二匹配误差;取第一匹配误差和第二匹配误差中的较小值,作为所述第一匹配误差参考极大值;
获得与中心块沿列向距离为垂直预测半径对应块的匹配误差,作为第二匹配误差参考极大值的步骤包括:获得沿列方向位于中心块的一侧且与中心块的距离为垂直预测半径的块对应的第三匹配误差,以及获得沿列方向位于中心块的另一侧且与中心块的距离为垂直预测半径的块对应的第四匹配误差;取第三匹配误差和第四匹配误差中的较小值,作为所述第二匹配误差参考极大值。
5.如权利要求1所述的场景检测方法,其特征在于,获得所述第一数值的步骤包括:沿着搜索范围行向基于块的匹配误差与第一水平阈值和第二水平阈值的相对大小,判断每一行相应块的匹配误差周期变化的次数;将所有行相应块的匹配误差周期变化的次数累加,获得所述第一数值;
获得所述第二数值的步骤包括:沿着搜索范围列向基于块的匹配误差与第一垂直阈值和第二垂直阈值的相对大小,判断每一列相应块的匹配误差周期变化的次数;将所有列相应块的匹配误差周期变化的次数累加,获得所述第二数值。
6.如权利要求5所述的场景检测方法,其特征在于,判断每一行相应块的匹配误差周期变化的次数的步骤包括:沿行向依次比较块的匹配误差与第一水平阈值的相对大小,判断块的匹配误差是否有递增的过程;沿行向依次比较块的匹配误差与第二水平阈值的相对大小,判断块的匹配误差是否有递减的过程;结合第一水平阈值和第二水平阈值,将一个匹配误差递增的过程和一个匹配误差递减的过程标记为一个周期;获得所述周期的次数,作为当前行相应块的匹配误差周期变化的次数;
判断每一列相应块的匹配误差周期变化的次数的步骤包括:沿列向依次比较块的匹配误差与第一垂直阈值的相对大小,判断块的匹配误差是否有递增的过程;沿列向依次比较块的匹配误差与第二垂直阈值的相对大小,判断块的匹配误差是否有递减的过程;结合第一垂直阈值和第二垂直阈值,将一个匹配误差递增的过程和一个匹配误差递减的过程标记为一个周期;获得所述周期的次数,作为当前列相应块的匹配误差周期变化的次数。
7.如权利要求1所述的场景检测方法,其特征在于,根据所述第一数值和第二数值,判断当前中心块是否位于周期性场景的步骤包括:根据所述第一数值和第二数值与预设参考值的相对大小,对当前中心块进行标记;当所述第一数值和第二数值中的至少一个大于预设参考值时,将当前中心块标记为周期块;当第一数值和第二数值均小于预设参考值时,将当前中心块标记为非周期块。
8.如权利要求7所述的场景检测方法,其特征在于,判断当前中心块是否位于周期性场景的步骤还包括:在对当前中心块进行标记之后,对中心块的标记数据进行平滑处理。
9.如权利要求8所述的场景检测方法,其特征在于,进行平滑处理的步骤包括:获取当前中心块以及当前中心块在搜索范围内的周围相邻块的标记数据;
如果当前中心块被标记为非周期块,且周围相邻块被标记为周期块的数量大于第一参考值,则判断当前中心块位于周期性场景,并将当前中心块重新标记为周期块;如果当前中心块被标记为周期块,且周围相邻块被标记为非周期块的数量小于第二参考值,则判断当前中心块位于非周期性场景,并将当前中心块重新标记为非周期块。
10.一种芯片,其特征在于,包括场景检测模块,所述场景检测模块包括:
匹配误差计算单元,用于在以当前中心块为中心的搜索范围内,计算周围块与当前中心块的匹配误差;
深度预测单元,包括:水平预测子单元,用于基于中心块沿行方向获得第一匹配误差参考极大值,输出为水平预测深度;以及垂直预测子单元,用于基于中心块沿列方向获得第二匹配误差参考极大值,输出为垂直预测深度;
搜索单元,包括:设置子单元,用于根据所述水平预测深度设置第一水平阈值和第二水平阈值,第一水平阈值大于第二水平阈值,以及用于根据所述垂直预测深度设置第一垂直阈值和第二垂直阈值,第一垂直阈值大于第二垂直阈值;统计子单元,用于沿着搜索范围行向基于块的匹配误差与第一水平阈值和第二水平阈值的相对大小,判断匹配误差周期变化的次数,作为第一数值,以及用于沿着搜索范围列向基于块的匹配误差与第一垂直阈值和第二垂直阈值的相对大小,判断匹配误差周期变化的次数,作为第二数值;
判断单元,用于根据所述第一数值和第二数值,判断当前中心块是否位于周期性场景。
11.如权利要求10所述的芯片,其特征在于,所述水平预测子单元包括:水平半径预测器,用于基于中心块沿行方向获得匹配误差连续增大的第一块数,输出为水平预测半径;第一参考极大值获取器,用于获得与中心块沿行向距离为水平预测半径对应块的匹配误差,输出为第一匹配误差参考极大值;
所述垂直预测子单元包括:垂直半径预测器,用于基于中心块沿列方向获得匹配误差连续增大的第二块数,输出为垂直预测半径;第二参考极大值获取器,用于获得与中心块沿列向距离为垂直预测半径对应块的匹配误差,输出为第二匹配误差参考极大值。
12.如权利要求10所述的芯片,其特征在于,所述统计子单元包括:行向计数器,用于沿着搜索范围行向基于块的匹配误差与第一水平阈值和第二水平阈值的相对大小,判断每一行相应块的匹配误差周期变化的次数;行向累加器,用于将所有行相应块的匹配误差周期变化的次数累加,获得所述第一数值;
列向计数器,用于沿着搜索范围列向基于块的匹配误差与第一垂直阈值和第二垂直阈值的相对大小,判断每一列相应块的匹配误差周期变化的次数;列向累加器,用于将所有列相应块的匹配误差周期变化的次数累加,获得所述第二数值。
13.如权利要求12所述的芯片,其特征在于,所述行向计数器包括:行向递增判断块,用于沿行向依次比较块的匹配误差与第一水平阈值的相对大小,判断块的匹配误差是否有递增的过程;行向递减判断块,用于沿行向依次比较块的匹配误差与第二水平阈值的相对大小,判断块的匹配误差是否有递减的过程;行向周期获取块,用于结合第一水平阈值和第二水平阈值,将一个匹配误差递增的过程和一个匹配误差递减的过程标记为一个周期,以及用于获得所述周期的次数,作为当前行相应块的匹配误差周期变化的次数;
列向计数器包括:列向递增判断块,用于沿列向依次比较块的匹配误差与第一垂直阈值的相对大小,判断块的匹配误差是否有递增的过程;列向递减判断块,用于沿列向依次比较块的匹配误差与第二垂直阈值的相对大小,判断块的匹配误差是否有递减的过程;列向周期获取块,用于结合第一垂直阈值和第二垂直阈值,将一个匹配误差递增的过程和一个匹配误差递减的过程标记为一个周期,以及用于获得所述周期的次数,作为当前列相应块的匹配误差周期变化的次数。
14.如权利要求10所述的芯片,其特征在于,所述判断单元包括:标记器,用于根据所述第一数值和第二数值与预设参考值的相对大小,对当前中心块进行标记;所述标记器用于当所述第一数值和第二数值中的至少一个大于预设参考值时,将当前中心块标记为周期块,以及用于当第一数值和第二数值均小于预设参考值时,将当前中心块标记为非周期块。
15.如权利要求14所述的芯片,其特征在于,所述判断单元还包括:平滑处理器,用于对标记器输出的中心块的标记数据进行平滑处理。
16.如权利要求15所述的芯片,其特征在于,所述平滑处理器包括:提取块,用于获取当前中心块以及当前中心块在搜索范围内的周围相邻块的标记数据;
优化块,用于当当前中心块被标记为非周期块,且周围相邻块被标记为周期块的数量大于第一参考值时,判断当前中心块位于周期性场景,并将当前中心块重新标记为周期块;以及用于当当前中心块被标记为周期块,且周围相邻块被标记为非周期块的数量小于第二参考值时,判断当前中心块位于非周期性场景,并将当前中心块重新标记为非周期块。
17.如权利要求10所述的芯片,其特征在于,所述芯片还包括:运动估计模块,用于对场景检测模块检测出的周期性场景的相应块进行运动估计。
18.一种电子设备,其特征在于,包括如权利要求10-17任一项所述的芯片。
19.如权利要求18所述的电子设备,其特征在于,所述电子设备为机顶盒或显示装置。
20.一种存储介质,其特征在于,所述存储介质存储有一条或多条计算机指令,所述一条或多条计算机指令用于实现如权利要求1-9任一项所述的场景检测方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010613548.9A CN113873096A (zh) | 2020-06-30 | 2020-06-30 | 场景检测方法、芯片、电子设备以及存储介质 |
US17/304,959 US11823393B2 (en) | 2020-06-30 | 2021-06-29 | Scene detection method, chip, electronic device, and storage medium |
EP21182597.1A EP3933767B1 (en) | 2020-06-30 | 2021-06-29 | Scene detection method, chip, electronic device, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010613548.9A CN113873096A (zh) | 2020-06-30 | 2020-06-30 | 场景检测方法、芯片、电子设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113873096A true CN113873096A (zh) | 2021-12-31 |
Family
ID=76744606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010613548.9A Pending CN113873096A (zh) | 2020-06-30 | 2020-06-30 | 场景检测方法、芯片、电子设备以及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11823393B2 (zh) |
EP (1) | EP3933767B1 (zh) |
CN (1) | CN113873096A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113873096A (zh) * | 2020-06-30 | 2021-12-31 | 晶晨半导体(上海)股份有限公司 | 场景检测方法、芯片、电子设备以及存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0647919A1 (en) * | 1993-10-11 | 1995-04-12 | THOMSON multimedia | Method and apparatus for correcting motion vectors |
CN1180276A (zh) * | 1996-09-27 | 1998-04-29 | 次级系统有限公司 | 数字视频信号的场景变化检测器 |
WO2000011609A1 (en) * | 1998-08-25 | 2000-03-02 | Holding B.E.V. S.A. | Image processing apparatus and method |
CN101946514A (zh) * | 2007-12-20 | 2011-01-12 | 集成装置技术公司 | 使用自适应搜索范围的真实运动矢量估计 |
US20120033138A1 (en) * | 2010-08-05 | 2012-02-09 | Vixs Systems, Inc. | Motion detector for cadence and scene change detection and methods for use therewith |
US20130176487A1 (en) * | 2012-01-11 | 2013-07-11 | Panasonic Corporation | Image processing apparatus, image capturing apparatus, and computer program |
CN103281538A (zh) * | 2013-06-06 | 2013-09-04 | 上海交通大学 | 基于滚动哈希和块级别帧内预测的帧内编码方法 |
US20160014433A1 (en) * | 2014-07-09 | 2016-01-14 | Interra Systems, Inc. | Methods and Systems for Detecting Block Errors in a Video |
CN105684441A (zh) * | 2013-10-25 | 2016-06-15 | 微软技术许可有限责任公司 | 视频和图像编码中的基于散列的块匹配 |
JP2017027578A (ja) * | 2015-06-16 | 2017-02-02 | 株式会社リコー | 検出装置、視差値導出装置、物体認識装置、機器制御システム、検出方法、およびプログラム |
CN107396111A (zh) * | 2017-07-13 | 2017-11-24 | 河北中科恒运软件科技股份有限公司 | 介导现实中自动视频插帧补偿方法及系统 |
CN108010558A (zh) * | 2017-11-28 | 2018-05-08 | 晶晨半导体(上海)股份有限公司 | 一种存储器的信号完整性测试方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113873096A (zh) * | 2020-06-30 | 2021-12-31 | 晶晨半导体(上海)股份有限公司 | 场景检测方法、芯片、电子设备以及存储介质 |
-
2020
- 2020-06-30 CN CN202010613548.9A patent/CN113873096A/zh active Pending
-
2021
- 2021-06-29 EP EP21182597.1A patent/EP3933767B1/en active Active
- 2021-06-29 US US17/304,959 patent/US11823393B2/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0647919A1 (en) * | 1993-10-11 | 1995-04-12 | THOMSON multimedia | Method and apparatus for correcting motion vectors |
CN1180276A (zh) * | 1996-09-27 | 1998-04-29 | 次级系统有限公司 | 数字视频信号的场景变化检测器 |
WO2000011609A1 (en) * | 1998-08-25 | 2000-03-02 | Holding B.E.V. S.A. | Image processing apparatus and method |
CN101946514A (zh) * | 2007-12-20 | 2011-01-12 | 集成装置技术公司 | 使用自适应搜索范围的真实运动矢量估计 |
US20120033138A1 (en) * | 2010-08-05 | 2012-02-09 | Vixs Systems, Inc. | Motion detector for cadence and scene change detection and methods for use therewith |
US20130176487A1 (en) * | 2012-01-11 | 2013-07-11 | Panasonic Corporation | Image processing apparatus, image capturing apparatus, and computer program |
CN103281538A (zh) * | 2013-06-06 | 2013-09-04 | 上海交通大学 | 基于滚动哈希和块级别帧内预测的帧内编码方法 |
CN105684441A (zh) * | 2013-10-25 | 2016-06-15 | 微软技术许可有限责任公司 | 视频和图像编码中的基于散列的块匹配 |
US20160014433A1 (en) * | 2014-07-09 | 2016-01-14 | Interra Systems, Inc. | Methods and Systems for Detecting Block Errors in a Video |
JP2017027578A (ja) * | 2015-06-16 | 2017-02-02 | 株式会社リコー | 検出装置、視差値導出装置、物体認識装置、機器制御システム、検出方法、およびプログラム |
CN107396111A (zh) * | 2017-07-13 | 2017-11-24 | 河北中科恒运软件科技股份有限公司 | 介导现实中自动视频插帧补偿方法及系统 |
CN108010558A (zh) * | 2017-11-28 | 2018-05-08 | 晶晨半导体(上海)股份有限公司 | 一种存储器的信号完整性测试方法 |
Non-Patent Citations (2)
Title |
---|
SAMUEL FERNÁNDEZ-MENDUIÑA, ET AL: "Temporal Localization of Non-Static Digital Videos Using the Electrical Network Frequency", 《IEEE SIGNAL PROCESSING LETTERS ( VOLUME: 27)》 * |
陈远铮等: "一种应用于实时FRC中的淡入淡出检测算法", 《电视技术》 * |
Also Published As
Publication number | Publication date |
---|---|
EP3933767B1 (en) | 2023-01-18 |
EP3933767A1 (en) | 2022-01-05 |
US20210407104A1 (en) | 2021-12-30 |
US11823393B2 (en) | 2023-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11538232B2 (en) | Tracker assisted image capture | |
US9852511B2 (en) | Systems and methods for tracking and detecting a target object | |
US9179071B2 (en) | Electronic device and image selection method thereof | |
US9471964B2 (en) | Non-local mean-based video denoising method and apparatus | |
US9646389B2 (en) | Systems and methods for image scanning | |
US8503732B2 (en) | Image generating device, static text detecting device and method thereof | |
CN106204633B (zh) | 一种基于计算机视觉的学生跟踪方法和装置 | |
CN112584232A (zh) | 视频插帧方法、装置及服务器 | |
CN109729298B (zh) | 图像处理方法与图像处理装置 | |
US20180047271A1 (en) | Fire detection method, fire detection apparatus and electronic equipment | |
WO2021073066A1 (zh) | 图像处理方法及装置 | |
CN111383250A (zh) | 基于改进混合高斯模型的运动目标检测方法及装置 | |
US20150187051A1 (en) | Method and apparatus for estimating image noise | |
CN115797607B (zh) | 一种增强vr真实效果的图像优化处理方法 | |
CN114494775A (zh) | 视频切分方法、装置、设备及存储介质 | |
CN114302226B (zh) | 一种视频画幅智能裁剪方法 | |
CN113873096A (zh) | 场景检测方法、芯片、电子设备以及存储介质 | |
CN111368596A (zh) | 人脸识别逆光补偿方法、装置、可读存储介质及设备 | |
CN109451318B (zh) | 便于vr视频编码的方法、装置、电子设备及存储介质 | |
CN113870302A (zh) | 运动估计方法、芯片、电子设备以及存储介质 | |
CN111311584B (zh) | 视频质量评估方法及装置、电子设备、可读介质 | |
CN104333758A (zh) | 深度图的预测方法和检测像素点的方法及相关装置 | |
CN113642442A (zh) | 人脸检测方法及装置、计算机可读存储介质、终端 | |
US10063880B2 (en) | Motion detecting apparatus, motion detecting method and program | |
CN106446944B (zh) | 基于图像的物体检测方法、装置及服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |