CN102572277A - 数字图像稳定设备和方法 - Google Patents
数字图像稳定设备和方法 Download PDFInfo
- Publication number
- CN102572277A CN102572277A CN2011104368288A CN201110436828A CN102572277A CN 102572277 A CN102572277 A CN 102572277A CN 2011104368288 A CN2011104368288 A CN 2011104368288A CN 201110436828 A CN201110436828 A CN 201110436828A CN 102572277 A CN102572277 A CN 102572277A
- Authority
- CN
- China
- Prior art keywords
- tile
- motion vector
- characteristic point
- vector
- group
- 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.)
- Granted
Links
Images
Classifications
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- 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/207—Analysis of motion for motion estimation over a hierarchy of resolutions
-
- 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
- G06T7/238—Analysis of motion using block-matching using non-full search, e.g. three-step search
-
- 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/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/681—Motion detection
- H04N23/6811—Motion detection based on the image signal
-
- 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/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- 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/20016—Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Studio Devices (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Adjustment Of Camera Lenses (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
一种数字图像稳定(DIS)方法,包括:特征点拣选算法,用于选择最优特征点;计算高效的基于瓦片矢量的搜索算法,用于导出选择的特征点的运动矢量;以及特征点运动矢量分组/比较过程,用于基于它们的矢量幅度比和它们的角度差来将选择的特征点对分组。一种数字图像稳定方法,包括:基于为瓦片运动矢量(瓦片MV)组的多个变换和特征点运动矢量(FP MV)组的多个变换中的每个变换评分,来选择代表视频帧的场景中的固定/背景对象的主变换;以及基于固定(背景)组的历史和多个运动矢量组中的每个的历史,来排除大的移动对象。
Description
技术领域
本发明构思这里涉及数字图像稳定(DIS),而且更具体地,涉及检测、选择、和分组用于数字图像稳定的特征点的方法。
背景技术
数字照相机、数字摄像机和包括这样的摄像头的手持设备常常用来在摄像头在人类操作员的手中操作时捕获图像或视频。因此,在捕获图像或视频时摄像头可能在操作员手中摇晃或抖动。该抖动可以包括水平分量、垂直分量、和旋转分量。旋转可以沿与图像捕获电路的聚焦平面垂直的轴,或者沿与图像捕获电路的聚焦平面平行的轴,或者沿在垂直轴与平行轴之间歪斜的轴。抖动可以使得手捕获的视频让观看者分心或迷惑,因此期望使用数字电路来数字估计摄像头轨迹(即,在每对连续帧之间检测的抖动)并且从相同场景的视频帧的序列中过滤该抖动。用于估计连续视频帧之间的摄像头轨迹并且用于从视频帧的序列中过滤由摄像头轨迹造成的抖动的电路可以包含在摄像机本身中,并且在存储捕获的视频帧之前(例如,如果摄像机包括实时MPEG编码器则在MPEG编码之前或在其期间)被激活以实时取消抖动。替换地,用于估计连续视频帧之间的摄像头轨迹并且用于从视频帧的存储序列中过滤抖动的电路可以是由实现数字图像稳定(DIS)方法的软件控制的通用微型计算机,或者可以是专用硬件,诸如嵌入在优化用于执行数字图像稳定(DIS)方法的ASIC(专用集成电路)中的MPEG视频编码器。
通过稳定的、固定或移动摄像机产生的视频在捕获的视频中主要包含平滑的运动(平移、旋转)。另一方面,不稳定的摄像机产生贯穿视频图像中具有高频抖动(平移和/或旋转)的视频。
从物理成像设备捕获的数字图像序列常常显示不希望的高频抖动运动。图像序列中呈现的抖动运动的量取决于图像捕获设备相对于捕获序列中的对象的物理性质。景深和成像器的底座的不稳定性(取决于底座的重量、惯量、平衡)组合以产生不希望的抖动全局运动。
数字图像稳定(DIS)系统首先估计不希望的(无意的)运动,然后对图像序列施加校正。稳定视频的视觉效果高度依赖于摄像头轨迹估计的质量。数字图像稳定(DIS)算法使用有效跟踪的特征点来估计两个连续帧之间的抖动运动。数字视频稳定采用硬件和/或软件方法,用于从包含由不稳定摄像机造成的不期望抖动运动的不稳定的视频中产生空间稳定的视频。在传统DIS技术中,通过分析场景中不同的点的运动矢量来检测摄像头运动。但是运动矢量可以由对象运动以及摄像头运动引起。
存在这样的函数,其提供帧的每个像素的数字分数,指示该点作为在时间相邻的帧中能够检测的特征点有多合适。这样的函数的一个示例是哈里斯角点检测器(Harris Corner Detector)。然而,特征点的幅度对于图像的不同部分通常很不同。DIS方法可以采用全局阈值与每个像素的数字分数进行比较,这并不必然导致特征点的最优分布。因此,在低对比度的区域(例如,无云的蓝天导致稀散的或没有特征点)中可能特征点太少,而在具有许多结构的区域中,特征点可能彼此过于接近。特征点的分布不当可能增加计算过于接近的特征点的冗余运动矢量的计算负担,并且可能无法提供准确的运动矢量。
在数字图像稳定(DIS)方法的实施方式中,期望最小化计算开销以便减少电路的功耗和减少执行DIS方法所需的时间。还期望检测和测量摄像头的轨迹并准确地刻画抖动以使得可以从存储/显示的视频中正确地补偿和正确地取消抖动。
在数学中,仿射几何是通过仿射变换(即,非单线性变换和转换)依然不改变的几何性质的研究。已经发展了被称为仿射矩阵的由数字系数定义的数学方程组来刻画在每对连续帧之间或在其各部分(例如,帧中的运动对象)之间检测的运动的横向(上/下)、旋转、和标量(例如,放大或缩小)。
因此,抖动可以通过被称为主变换或全局变换的相对于场景中的任何实际固定对象(例如,岩石、桌子、停驻的汽车、高山、太阳)的第一仿射变换矩阵来刻画,同时帧中的任何运动对象(例如,鸟、人、球、移动的车)可以通过另外的仿射矩阵来刻画。
主变换(主帧间变换)指示可能由用户的手抖动造成的摄像头运动,其可以通过检测与在时间t捕获的每个帧的实际固定对象关联的一个或多个兴趣点(称为“特征点”)、然后在时间相邻帧(t+1)中搜索相同的特征点、并且计算每个特征点的运动矢量来计算。与特定对象关联(一起分组)的多个运动矢量然后被用于计算该对象的仿射变换,其根据仿射公式定义其检测的运动:
x′=sx*x+ry*y+tx
y′=rx*x+sy*y+ty
可以使用在视频压缩领域中采用的各种搜索方法来计算连续帧之间特征点的运动矢量。这样的搜索方法可以在两个时间相邻帧中采用诸如绝对差值和(SAD)、平均绝对差值(MAD)、或平均平方差(MSE)的宏块的数学比较(例如,通过将当前帧中包含特征点的8×8像素宏块与以特征点的位置为中心的参考帧(t+1)中的搜索区域中的多个8×8像素宏块进行比较来搜索参考帧(t+1)中特征点的位置)。在时间相邻帧(t和t+1)之间以特征点为中心的宏块的位移的测量的量和方向被称为特征点的“运动矢量”。在各种选择范围内使用块匹配算法(BMA)的现有技术的运动矢量估计方法在美国专利6,895,361(发明人Yang)和7,680,186(发明人Lee)中描述,其通过引用合并于此。
视频稳定算法可以消除抖动运动,同时保持用户有意的摄像头运动。通常,抖动是由手晃动和平台振动引起的,所述手晃动和平台振动将是更快的(即,更高频)和非线性的,而摄像头运动将是更慢的并且是线性的或单调的。全局运动(摄像头轨迹)矢量被包括在补偿变换P(n)的仿射变换参数中,所述补偿变换P(n)是使用匹配的特定点对在相邻帧之间估计的。
用于补偿照摄像头抖动的补偿变换P(n)可以被特征化为与场景中任何实际固定对象(例如,岩石、桌子、停放的车辆、高山、太阳)相关的第一仿射变换矩阵。在几乎所有情况下,手晃动和平台振动可能导致视频帧的平移、旋转和缩放。为了对这些进行建模,需要六参数仿射变换。
即使正确地产生了补偿变换P(n)以便补偿无意的抖动运动,作为结果的补偿帧仍可能具有相对于捕获的输入视频帧的显著振荡移动,并且可能延伸超出在一些捕获的输入视频帧中可用的图像数据。这导致补偿窗口的过度偏离。
为了移除视频中的抖动运动,补偿单元裁剪掉每个输入视频帧的一些边界区域。移除的边界区域的量可以被量化为裁剪率。大的裁剪率意味着边界处的更多区域被移除。可以将输出视频帧建模为叠加在输入视频帧上的补偿窗口(参见,例如,图1)。补偿窗口可以相对于输入视频帧被旋转、偏移、缩放等。
对于给定裁剪率,补偿窗口的移动的量被称为补偿窗口偏离。补偿窗口超出输入视频帧边界的移动被称为补偿窗口过度偏离。
如果没有抖动(无无意的摄像头轨迹),则预期(基于实际上固定的对象的特征点的)补偿变换P(n)在两个或多个连续帧的每个帧中处于相同位置(例如,UNITY)。如果有高频抖动,则期望产生具有降低程度或降低频率的补偿窗口过度偏离的空间上稳定的视频。
因此,需要自适应地在不足的视频稳定和过度偏离之间进行平衡的滤波方法。
发明内容
本发明构思的一方面提供识别特征点、并导出由于全局移动或摄像头移动而以一致方式移动的特征点的运动矢量、同时准确用于DIS目的的高效率过程。
用于DIS算法的良好特征点是当应用合适的运动估计算法时给出单值的运动矢量的点。为了识别图像中的特征点,应用于视频帧的像素的哈里斯角点检测器估计每个像素有多适合作为特征点。图像的不同区域具有识别的特征点候选者的不同密度。公开的光栅扫描顺序选择和拣选的方法基于视频帧的小区域(称为瓦片(tile))提供最终的特征点分布,其中特征点的最大数量随瓦片的亮度图像数据的方差σ2线性增长。
每个视频帧被划分为较小数量j×k个瓦片。数量j×k个瓦片可以从用于SD视频的4×4到用于HD视频的6×6或更大;在(4..8)×(4..8)的范围内的其他数量也是可能的并且可以是有益的。选择瓦片尺寸以使得独立移动的足够大的对象覆盖至少一个瓦片的大部分,从而可以捕获它们的运动用于DIS目的,同时忽略小对象的运动。
具有更多感兴趣图像数据并且因而需要更多特征点的瓦片预期具有较高的方差σ2。特征点拣选算法找到特征点之间的可编程的最小距离但是需要最少的硬件存储器。
分级运动估计算法可以用来估计从帧到帧的特征点移动,其中关于后一搜索级别的可编程运动范围是有意的小,从而优选大对象或全局移动而非局部移动。因此,最小化所需的操作数量,同时结果足够准确用于数字图像稳定应用。
对于例如通过拣选算法选择的每个特征点,在使用的开始矢量的小范围中通过块匹配确定其运动矢量。开始矢量是包含当前特征点的瓦片和周围瓦片(例如,上、下、左、右)的瓦片运动矢量。瓦片运动估计是导出特征点的运动矢量的过程的第一步。基于覆盖输入图像的中心部分的非重叠瓦片(例如,在特征点拣选算法中使用的相同瓦片)完成瓦片运动估计。对于每个瓦片的瓦片运动估计,在下采样图像上执行全块匹配搜索。
当前帧通过用于标清(SD)视频的四到八或用于高清(HD)视频的八到十六的第二下采样系数fs2进行下采样。在该下采样域中,对每个瓦片完成全搜索块匹配并且存储瓦片矢量以备后用(例如,作为用于导出特征点的运动矢量的开始矢量)。将为每个瓦片估计一个运动矢量,以最低分辨率进行全搜索,通过下采样亮度数据的第二下采样系数fs2进行下采样,并且将产生最低SAD的运动矢量候选者分配到每个瓦片。根据实施例,对于边界瓦片,可以将搜索限制在可用的搜索区域,因此不会产生导致参考块(部分地)在搜索区域外部的运动矢量。相对于使用的分辨率,瓦片运动搜索将产生半像素精度矢量:搜索区域将通过简单双线性插值进行上采样。这仅使用非常少的本地存储器,因此节约VLSI实施方式中的存储器和逻辑区域。
本发明构思的一个方面提供数字图像稳定(DIS)方法,包括特征点运动矢量分组过程,用于基于特征点的运动矢量幅度比和它们的运动矢量之间的角度差来将特征点对分组。提供一种处理视频数据的方法,包括:接收代表第一帧的第一图像数据;识别第一帧中的多个特征点;接收代表第二帧的第二图像数据;导出与每个特征点对应的运动矢量;选择运动矢量中的第一运动矢量作为当前矢量A,并且选择运动矢量中的第二运动矢量作为当前矢量B;以及基于矢量A和矢量B的矢量幅度比和它们的角度差来比较矢量A和矢量B。
该方法还可以包括:设置幅度比阈值和角度差阈值;以及如果矢量A和矢量B的矢量幅度比落入幅度比阈值内且它们的角度差落入角度差阈值内则将矢量A和矢量B分组在一起。根据另一个方面,包括:如果它们的矢量幅度比落入幅度比阈值之外或如果它们的角度差落入角度差阈值之外则不将矢量A和矢量B分组在一起。
根据本发明构思的实施例,提供一种视频处理电路,包括:特征点电路,配置为识别第一帧中的多个特征点并为每个特征点导出第一帧与第二帧之间的运动矢量;配对控制器,配置为选择运动矢量中的一个作为当前矢量A(xa,ya),并且选择运动矢量中的不同的一个作为当前矢量B(xb,yb);幅度比比较器,配置为基于矢量A和矢量B的幅度比来比较矢量A和矢量B;以及矢量角度比较器,配置为基于矢量A和矢量B的角度差来比较矢量A和矢量B。
根据示范性实施例,提供一种处理视频数据的方法,包括:估计视频数据的第一帧中每个特征点的运动矢量;基于矢量幅度比和角度差将运动矢量分组为运动矢量组;以及选择包含代表第一帧的场景内固定对象的移动的运动矢量的组。该方法还可以包括:使用下采样亮度数据估计从第一帧的一部分划分的多个瓦片的每个的运动矢量,并且选择具有最低绝对差值和(SAD)的瓦片运动矢量候选者;以及基于矢量幅度比和角度差将瓦片运动矢量分组为瓦片运动矢量组。
根据本发明构思的实施例,提供一种摄像头,包括:图像捕获电路,配置为捕获图像并且将多个图像转换为图像数据的第一帧和第二帧;以及视频处理电路芯片,包括:特征点电路,配置为识别第一帧中的多个特征点并为每个特征点导出第一帧与第二帧之间的运动矢量;配对控制器,配置为选择特征点的运动矢量当中的每对运动矢量;幅度比比较器,配置为基于它们的矢量幅度比来比较每对运动矢量;以及矢量角度比较器,配置为基于它们的矢量角度差来比较每对运动矢量。
本发明构思的一方面提供一种数字图像稳定方法,包括:基于补偿窗口过度偏离的历史,自适应地滤波代表视频帧的场景中的固定/背景对象的主/补偿变换P(n)。
本发明构思的一方面提供一种使用强补偿(SC)滤波器的高效且可预测的抖动消除方法。该SC滤波器是高频率选择性高阶线性时间不变数字滤波器。使用SC滤波器对非常抖动的输入视频的有效滤波暗示捕获的输入视频帧中补偿窗口的显著移动。对于给定裁剪率,补偿窗口的移动量被称为补偿窗口偏离。补偿窗口超出捕获的输入视频帧边界的移动被称为补偿窗口过度偏离。SC滤波器对于大移动输入视频的严格应用将以大量补偿窗口过度偏离为代价而产生非常稳定的输出视频。另一方面,具有更低频率选择特性的弱补偿(WC)滤波器将以更不稳定的输出视频为代价而产生较少的补偿窗口过度偏离
本发明构思的一方面提供一种自适应补偿(AC)滤波器,其被配置为对于大移动输入视频防止过量过度偏离,同时保持出色的视频稳定特性。
在本发明构思的示范性实施例中,包括WC滤波器的因果线性时间不变滤波器补充SC滤波器,以便产生可预测的特性。可以基于在多个K帧上的补偿窗口偏离历史来控制组合WC/SC滤波器。历史中的小偏离允许SC滤波器对当前帧n的更大影响,而历史中的大偏离准许WC滤波器对于当前帧n的更大影响。历史中的中度偏离分配SC滤波器和WC滤波器的成比例的影响。
本发明的另一方面提供一种数字图像稳定电路,其被适配为执行这里公开的DIS方法。该电路可以被包括在摄像机本身中,并且被激活以在存储捕获的视频帧之前(例如,如果摄像机包括实时MPEG编码器,则在MPEG编码之间或期间)实时地消除抖动。替换地,用于估计连续视频帧之间的摄像头轨迹并从存储的视频帧序列中滤除抖动的DIS电路可以是由采用数字图像稳定(DIS)方法的软件控制的通用微计算机,或者可以是专用硬件,诸如在被优化为执行数字图像稳定(DIS)方法的ASIC(专用集成电路)中实现的MPEG视频编码器。
下面将参考附图更详细地描述本发明构思的示范性实施例。然而,本发明构思可以以不同形式来体现,并且不应被理解为限制于这里提出的实施例。相反,这些实施例被提供来使得本公开将是全面的和完整的,并且将本发明构思的范围完全传达给本领域技术人员。贯穿附图,相似数字指代相似元素。
附图说明
包括附图以提供本发明构思的进一步的理解,并且合并和构成本说明书的一部分。附图说明本发明构思的示范性实施例,并且与说明书一起用来解释本发明的原理。附图中:
图1A到1F是用于说明根据本发明构思的示范性实施例的数字图像稳定方法中的步骤的当前帧和参考帧、以及其选择的特征点和运动矢量的视图;
图2A是依据图1A到1F中说明的DIS方法中的步骤的包含图1A的当前帧Ft、并且划分为边界区域和核心区域中的j×k多个瓦片的图1E的捕获帧的图;
图2B是依据图1A到1F中说明的DIS方法中的步骤的说明选择的、拒绝的、和取消的特征点的图2A的图像帧的核心区域中的一个瓦片的图;
图3是根据本发明构思的实施例的配置为执行DIS过程的电路块的图;
图4A和4B是用于执行图1A到1F中说明的DIS方法中的步骤的识别和选择图1A和2A的图像帧的每个瓦片中的多个特征点的方法的流程图;
图5是用于说明图1A到1F中说明的DIS方法中的运动矢量计算步骤的利用其上添加的瓦片运动矢量下采样的图1A的当前帧Ft的视图;
图6是图5的下采样帧中的瓦片的一部分的视图,其说明使用图5的瓦片运动矢量作为用于块匹配搜索的开始矢量以计算图1A到1F中说明的DIS方法中使用的选择的特征点的运动矢量;
图7是用于执行图1A到1F中说明的DIS方法中的步骤的计算图1A和2A的图像帧中选择的特征点的运动矢量的方法的流程图;
图8A是当摄像头仅具有平移运动而没有旋转分量时在距摄像头相同距离的视频场景中相同的实际固定对象的两个特征点的运动矢量的图;
图8B是当摄像头具有旋转分量时距摄像头相同距离的实际固定对象的两个特征点的运动矢量的图;
图8C是当摄像头仅具有平移运动而没有旋转分量时距摄像头不同距离的相同的实际固定对象的两个特征点的运动矢量的图;
图9A和9B是视频场景中实际固定对象的特征点的两对运动矢量的图,用于说明即使四个运动矢量的方向和幅度全部不同时每个对也可以具有相同的矢量幅度差;
图10示出说明用于图1A到1F中说明的DIS方法中的特征点分组的角度差的间接测量的归一化矢量差的计算的三个矢量图;
图11是用于执行图1A到1F中说明的DIS方法中图1D的矢量分组步骤的使用图10A、10B、10C的归一化矢量差来间接测量图1A和2A的图像帧中选择的特征点的运动矢量之间的角度差的分组算法的流程图;
图12是归一化矢量差(a-b)的幅度|(a-b)|与归一化矢量差(a-b)的幅度比|b|作为角度差θ的函数的曲线图,其说明用于在图11的分组算法的步骤中使用近似的可用性;
图13是包括配置为执行图11的特征点分组算法的分组算法电路1310的特征点分组电路的框图;
图14是依据本发明构思的示范性实施例的执行数字图像稳定(DIS)方法的数字图像稳定(DIS)电路的框图;
图15是图14的DIS电路中被适配为计算瓦片矢量组的仿射变换的检测单元的框图;
图16是图14的DIS电路中被适配为基于为瓦片组变换和特征组变换Ti(n)评分而选择主(稳定/背景)变换P(n)的轨迹单元(TU)的框图;
图17A是被配置为执行图1的DIS电路的DIS方法中的步骤的组变换评分和选择电路的示范性实现的框图;
图17B是历史评分单元的示范性实现的框图;
图18是集合变换评分和选择电路的示范性实现的框图;
图19是图示移动对象排除电路的示范性实施例的框图;
图20是图示根据本发明构思的实施例的处理步骤的流程图;
图21是依据本发明构思的示范性实施例的数字图像稳定(DIS)方法的步骤中的捕获的视频帧、以及在其中计算的补偿窗口的视图;
图22是执行DIS的数字图像稳定(DIS)模块的框图;
图23是依据本发明构思的示范性实施例的自适应补偿滤波器模块方法的框图;以及
图24是依据本发明构思的自适应补偿滤波器模块的示意性框图。
具体实施方式
图1A到1F是用于说明根据本发明构思的示范性实施例的数字图像稳定方法中的步骤的当前帧和参考帧、以及其选择的特征点和运动矢量的视图。
图1A示出场景的两个连续视频帧,当前帧Ft和参考帧Ft+1。场景包括例如山坡(在前景中)、电线杆、高山、和太阳的固定对象、以及例如左上的鸟的运动对象。当前帧Ft和参考帧Ft+1是具有较大面积的各个连续捕获帧的部分(如图1E所示)。较大的捕获帧是在数字图像稳定(DIS)之前通过图像传感器捕获的原始图像。由于由抖动运动造成的摄像头轨迹引起参考帧Ft+1相对于当前帧Ft旋转和平移。捕获帧(见图1E)的尺寸一般通过摄像机的物理图像传感器(未示出)的硬件尺寸预定。当前帧Ft和参考帧Ft+1的尺寸可以动态地选择以避免或最小化由于摄像头的抖动运动引起在捕获帧的边界外发生当前帧Ft的“过度偏离”。
图1B示出与场景中的实际固定对象和运动对象关联的当前帧Ft中的多个选择的特征点(圆形)。将当前帧Ft划分为多个矩形瓦片,每个瓦片包括至少一个选择的特征点。可以通过执行图2A、2B和4A和4B中说明的方法的步骤、和/或通过图3的电路来识别和选择图1B所示的选择的特征点。当前帧和参考帧被存储在图3的电路的存储器350中,同时通过执行图2A、2B和4A和4B说明的方法的步骤来识别和选择图1B所示的选择的特征点。
图1C示出具有运动矢量(箭头)的当前帧Ft的每个选择的特征点。可以通过执行图6和7所示的方法的步骤来计算图1C所示的选择的特征点的运动矢量。
图1D示出场景中的运动矢量已经被分组(例如,组A、组B、组C)。场景中的实际固定对象的运动矢量(组B和组C)是由摄像头移动(例如抖动)造成的。可以通过图10A、10B和10C以及图11所示的方法的步骤来执行图1D所示的选择的特征点的运动矢量的分组,其中基于使用幅度比和归一化矢量差的配对算法将运动矢量配对/分组(包括或排除)。
图1E示出在由图像传感器(未示出)输出的较大的捕获帧的大背景中的参考帧Ft+1。通过使用图1D所示的实际固定对象的组B和组C的运动矢量定义参考帧Ft+1的仿射系数来确定参考帧Ft+1的位置。可以使得在参考帧的边界外的捕获帧的图像数据对执行用于计算组B和组C的运动矢量的图6和7所示的方法的步骤的电路可用。
图1F示出如果没有由图1D所示的实际固定对象的运动矢量指示的抖动摄像头运动则参考帧Ft+1在它本该由图像传感器(未示出)接收的位置。已经通过补偿电路(未示出)应用参考帧Ft+1的仿射系数以旋转和平移参考帧Ft+1来校正摄像头的抖动运动。
特征点识别、拣选和分布
图2A是依据图1A到1F中说明的DIS方法中的步骤的划分为边界区域和核心区域中的j×k多个瓦片的当前帧Ft(见图1E)以便于特征点的识别和拣选的捕获帧的图。边界区域与核心区域之间的边界线可以独立于接收的图像数据的内容由硬件或通过软件预先确定,同时当前帧Ft的边界可以基于由例如接收的图像数据内容指示的抖动摄像头运动的程度而动态地选择,以便防止或减少当前帧的过度偏离。因此,核心区域可以或可以不对应于图1A所示的当前图像帧Ft的尺寸和位置。
每个捕获的视频帧被划分为小数目的非重叠瓦片(例如,用于标清的4×4瓦片和用于高清的6×6或更多瓦片),目的是算法上选择提供适合于数字图像稳定的良好特征点分布的特征点。图像的不同区域可以具有不同密度的合适的特征点。在极端情况下,帧的区域可能不具有任何合适的特征点,例如在无云的蓝天的情况下。在其他区域中,潜在的特征点也许非常稠密。当使用基于全局的阈值来识别和选择全部特征点时,特征点倾向于集中在图像的小区域中,导致差的DIS结果。依然期望在其中有更多结构的图像的区域中具有更多特征点,因为存在潜在上更感兴趣的运动。在这些密集的区域中,另一问题是如何保证并非所有特征点堆积在一起。因此本发明的一方面提供用于确保将用于DIS的特征点之间的最小距离(MIN_DIST)的高效率方法。
为了DIS算法的稳定性,尽可能广泛地分布特征点,同时限制特征点的总数量。特征点的“良好分布”可以表示如下:其具有大的凸包;特征点彼此不太接近(MIN_DIST);在具有较少的合适特征点的瓦片中,如果可能,则选择至少最小数量(min_features)的特征点;以及,在具有更多的合适特征点的瓦片中,选择更多的特征点(max_num_features=min_features+max_plus_features*(tile_varianceσ2/total_variance))。
基于瓦片的亮度方差σ2确定每个瓦片中特征点的最大数量(max_num_features)。
在一个实施例中,每个瓦片中特征点的最大数量(max_num_features)是每个瓦片的特征点的可编程的最小数量(min_features)加上另外的特征点的可编程的最大数量(max_plus_features)乘以特定瓦片的方差σ2与瓦片方差的总和的比率的和。如果瓦片具有不同的尺寸则可以应用校正因子。因此,每个瓦片的最终选择的特征点的最大数量可以替换地为min_features加上与瓦片的方差σ2成比例、通过对应的瓦片权重归一化的var_features的部分。可以给予边界瓦片较高权重,因为它们包括边界区域因此较大。在该替换的情况下,给定瓦片的特征点的最大数量计算如下:
因此,选择的特征点的最大数量(max_num_features)并不在全部瓦片中保持恒定,也不在帧Ft与帧Ft+1之间保持恒定。
在一个实施例中,每个瓦片中特征点的最大数量(max_num_features)是每个瓦片中亮度数据的方差σ2除以总亮度方差的函数,需要预先计算每个瓦片的亮度方差σ2和帧的总方差。本领域普通技术人员不难理解其他函数也是可以的,例如涉及平均亮度值和瓦片方差σ2的函数。
为了识别特征点,可以使用诸如哈里斯角点检测器之类的角点检测器。哈里斯角点检测器评估图像的每个像素作为可能的特征点候选者。优选的特征点候选者是其中特征质量估计函数具有局部最大值的点。公开的特征点选择的方法通过将每个识别的特征点的结果值(估计该像素多么适合作为特征点)与LOCAL(局部)而非GLOBAL(全局)(全帧)阈值进行比较来优化由哈里斯角点检测器识别的特征点的选择。因此,公开的方法考虑每个局部区域处的特征点密度乃至帧的不同部分中的对比度的差别。
获得的特征点分布是基于视频帧的小区域,(例如,非重叠瓦片),其中每个瓦片中的特征点的数量随瓦片的亮度图像数据的方差σ2线性增加。具有更多感兴趣图像数据且因而需要更多特征点的瓦片预期具有较高的方差σ2。
图4A和4B是说明确定每个瓦片中特征点之间的最小距离(MIN_DIST)同时仅需要少量局部状态信息从而减少硬件实施成本的方法的流程图。
图2B是图2A的图像帧的核心区域中的一个瓦片的图,其说明选择的(灰色)、拒绝的(白色)、以及先前选择但是取消的(灰色但是打叉)特征点。图2B中示出为小方块的特征点已经使用哈里斯角点检测器算法识别为特征点候选者,然后依据图4A和4B说明的方法的步骤按光栅扫描顺序被依次选择、拒绝或取消。
对于每个瓦片选择识别的特征点候选者的最大数量(max_num_features)。根据本发明的实施例,每个识别的特征点候选者可以通过如下例如以光栅扫描顺序选择:
i.识别的特征点候选者是其中哈里斯角点估计函数超过可编程阈值且其中该估计具有局部最大值的像素。为了满足局部最大值,探讨的位置处的值必须大于按扫描顺序在该像素之前的全部直接和对角邻居的值,但是仅大于或等于按扫描顺序在该位置之后的直接和对角邻居的值。这被实现以容纳相同值是相当类似的事实。
ii.一旦特征点候选者已经被识别,其将进入数据存储结构(例如,拣选列表,但是其他实施方式也是可能的),其可以为每个瓦片保留预定最大数量的特征点候选者,例如,最大32、48、64、或更多的最终选择的特征点,前提是没有在可编程封锁范围(MIN_DIST)内的具有更大的估计函数值的特征点候选者。为了说明的目的,选择最大值32来描述本实施例。
iii.如果后来识别的特征点候选者已经存储在数据结构中,则将离该点比封锁范围(MIN_DIST)更近的具有更小估计函数值的全部其他特征点从数据存储结构中删除。
为了说明的目的,假定瓦片(5,4)的特征点候选者的预定最大数量是四(即,max_num_features=4)。如图2A所示,瓦片(5,4)包含按光栅扫描顺序的四个最终选择的特征点(灰色)SFP3、SFP4、SFP5和SFP7、以及三个先前选择但是取消的(灰色但是打叉)特征点SFP1、SFP2、和SFP6、加上两个拒绝的(从未选择的)特征点(白色)。取消的先前选择的(灰色但是打叉)的特征点SFP1、SFP2、和SFP6是这样的特征点候选者,它们在图4A和4B说明的方法的过程期间按光栅扫描顺序选择为特征点,但是随后取消作为特征点候选者,原因是它们处于稍后识别和选择为特征点候选者的较大的特征点候选者的排斥区(MIN_DIST)内,或因为选择的特征点的列表已经满了(即,选择的特征点候选者的数量SFP_count=max_num_features)并且较早选择的特征点在选择的特征点候的列表中是最小的并且小于稍后识别和选择的特征点候选者。
取消的先前选择的特征点SFP1是依据图4A和4B说明的方法的步骤按光栅扫描顺序识别和选择的第一特征点。稍后,取消的先前选择的特征点SFP2被识别和选择,但是在选择SFP2之后,选择的特征点SFP3被识别并且大于SFP2。由于SFP2处于较大的、选择的特征点SFP3的排斥区(MIN_DIST)内,当选择SFP3时立即取消SFP2。在选择SFP3之后,在SFP3的排斥区(MIN_DIST)的右下角识别特征点候选者,并且因为该特征点候选者小于SFP3且处于它的排斥区内,其被立即拒绝(即,不选择)。然后,在刚好超出SFP3的排斥区(MIN_DIST)的下方识别特征点候选者,并且它被选择为SFP4(且后来没有被取消)。然后,在SFP3的排斥区(MIN_DIST)的更下方的右边识别特征点候选者,并且它被选择为SFP5(且后来没有被取消,因为它虽接近但是没有处在SFP7的排斥区内)。然后,在SFP5的排斥区(MIN_DIST)的下方的右边识别特征点候选者,并且它被选择为SFP6(且后来被取消,因为它处在较大的稍后选择的特征点SFP7的排斥区内)。当SFP6被选择时,选择的特征点的列表已经“满了(full)”(例如,该瓦片的特征点的最大数量是4),因为在选择的特征点SFP1、SFP3、SFP4和SFP5的列表中SFP1是最小的,且因为SFP6大于SFP1,故取消SFP1。然后,在SFP6的排斥区(MIN_DIST)的下方的内部识别特征点候选者,并且它被选择为SFP7(因为SFP6由于选择的特征点SFP7大于SFP6和/或因为列表已满等而被立即取消)。然后,在SFP7的排斥区(MIN_DIST)的下方的内部识别特征点候选者,并且它被拒绝(未选择),因为最后的特征点小于SFP7。有可能SFP7实际小于取消的SFP2(如果SFP3比SFP7大得多),但是已经获得特征点的良好分布。可编程封锁范围(MIN_DIST)确保最终选择的特征点不过于紧密地簇拥在一起。
可以在每个瓦片被下采样的下缩放(downscaling)过程期间确定每个瓦片的像素亮度方差σ2。每个瓦片中特征点的最大数量被确定为每个瓦片的特征点的可编程的恒定最小数量加上总可变特征点的数量乘以特定瓦片的方差σ2与瓦片方差的总和的比率的和。可以添加校正因子用于边缘和角落瓦片区的区域,因为特征点也可以处于边界区域。对于每个瓦片,对于按光栅扫描顺序识别的每个特征点候选者,使用上述的拣选过程(即,选择、拒绝、取消)收集和存储多至最大数量的特征点候选者。最后,最终选择的每个瓦片的特征点候选者正是具有最高估计函数响应的特征点候选者,其最大数量被预定。可能有这样的实例,其中在给定瓦片中没有可用的足够的特征点候选者,诸如低对比度图像数据的瓦片,该情况下,产生的最终使用的特征点的数量将小于编程的最小数量(例如,小于min_features的数量)。
因此,提供一种以光栅扫描顺序处理特征点候选者的方法,其中即使会在稍后识别和选择更多新特征点候选者也维持包括不过于紧密地簇拥在一起的至多计算的最大数量的选择的特征点的列表。该拣选特征点的光栅扫描顺序方法与从识别的特征点候选者当中区分优先次序并选择的各种其他方法相比具有减少存储器和计算的量的优点。例如,在替换实施例中,可以将瓦片的全部特征点候选者识别和存储在存储器中存储的大列表中,然后仅在瓦片的全部特征点候选者已经被识别之后,可以应用数学拣选算法以找到不在集合任何其他成员的排斥区(MIN_DIST)内的最大特征点候选者的最优集合(具有预定最大尺寸)。然而,这样的拣选算法比图4A和4B的光栅顺序拣选(选择、拒绝、取消)方法(其示范性结果在图2B中示出)需要更多物理存储器(用于存储瓦片的识别的特征点候选者的整个列表)且潜在地需要更多的总的计算。图4A和4B的光栅扫描顺序拣选算法没有必要提供作为全局最优的选择的特征点的集合,因为特征点候选者可以由稍后被选择但是稍后将其取消的特征点候选者从列表中取消,相反它提供可以在具有有限本地存储的硬件中实现的算法。虽然图4A和4B的方法被描述为按照“光栅扫描顺序”(即,从左到右且从上到下)处理识别的特征点候选者,其为哈里斯角点检测器通常进行的像素顺序,该方法可以采用选择特征点候选者的任何序列,诸如非相邻特征点候选者的不连续序列,只要全部特征点被依次识别并最终拣选。
图3是根据本发明构思的实施例的特征点电路的框图。特征点电路3000包括特征点选择器300和已选择特征点(SFP)运动矢量计算器700以及共享的RAM存储器350。特征点选择器300包括下采样器310、特征点候选者识别器330、和特征点候选者拣选器340。
特征点候选者识别器330使用哈里斯角点检测器算法识别特征点候选者并且向特征点候选者拣选器340一次一个瓦片地按光栅扫描顺序输出识别的特征点,例如,以像素位置和哈里斯角点响应(Harris Corner response)。特征点候选者拣选器340配置为执行如图1B和2B中进一步说明的图4A和4B的逐一拣选每个瓦片的识别的特征点的方法。下采样器310包括瓦片-方差σ2计算器320功能块,其根据以下公式计算图像帧的每个瓦片的瓦片-方差σ2:
其中y值是瓦片内的亮度值而N是瓦片中像素的数量。
图3所示的电路可以在半导体芯片中实现,其具有被配置为从具有捕获图像的传感器和用于将捕获的图像转换为图像数据的电路的摄像头接收图像数据的输入/输出管脚。图3的电路处理的数据经由输入/输出管脚输出到摄像头的其他组件。如下面将进一步描述的,存储器350驻留在半导体芯片内并且最小化芯片的尺寸,存储器需要在物理尺寸上很小因此存储容量受限。为了节约计算功率并减少所需操作的数量,特征点选择器300可以仅对亮度数据操作,其将由下采样器310按照为2、4、或8的因子fs1(本实施例中选择为4的因子fs1)来水平和垂直地下采样。经fs1下采样的亮度数据由特征点候选者识别器330用于特征点识别,而且在替换实施例中可以稍后由SFP运动矢量计算器700的分级块匹配搜索单元730用于特征点运动矢量估计。在通过下采样器310计算较小的下采样图像的同时,计算每个瓦片的亮度方差(瓦片-方差)σ2,并且识别3×3哈里斯角点矩阵的较小本征值的全局最大值。作为左上瓦片的左上像素的坐标的瓦片偏移量和瓦片像素尺寸两者优选地是使用的最大下采样因子(fs2)的倍数。而且优选地,图像核心区域在整个图像中居中。因此,左边界区域的宽度与右边界区域的宽度相同且上边界区域的高度与下边界区域的高度相同(见图2A)。
一旦输入帧亮度数据已经被下采样和存储在RAM存储器350中,特征点候选者识别器330将其按瓦片顺序读取,并将识别的特征点候选者依次馈送到特征点候选者拣选器340。对于块330的特征点识别过程,与边界区域相邻的瓦片中的潜在特征点的统计区域扩展到边界区域,因此每个边界区域的像素与相邻瓦片的像素一起处理。像素数据在每个瓦片内按光栅扫描顺序读取:从上到下逐行,在每行内从左到右逐像素。
为了处理每个瓦片,特征点候选者识别器330需要每个内部瓦片边界上的三个另外的像素用于使用哈里斯角点检测器的特征点识别。因此,这些像素将被读取不止一次。识别的特征点候选者是每个瓦片中哈里斯矩阵的较低本征值λ1具有局部最大值处的像素。为了满足局部最大值,探讨的像素的角点响应必须大于左上、上、右上、和左邻居的角点响应并且大于或等于右、左下、下、和右下邻居的角点响应。通过该定义,具有相同的恒定角点响应的较大区域的至少一个点将被识别为潜在的特征点候选者。局部最大值的检测逻辑将需要角点响应的两个行缓冲器。首先将具有局部角点响应最大值的点与可编程角点响应阈值进行比较。如果探讨的点的角点响应小于该阈值,则忽略它。否则,将该特征点的坐标及其角点响应提供给特征点候选者拣选器340。
特征点候选者拣选器340在每个瓦片中掌控最多max_num_features(例如,32)个具有最高角点响应的特征点候选者,同时确保全部特征点彼此间具有最小可编程距离(MIN_DIST)。以上算法中使用的两个点之间的距离如下定义:
通过仅考虑拣选器的选择的特征点的列表和进来的特征点候选者的当前内容并且立刻做出决定的操作来实现图4A和4B的方法的拣选。因此,适配为执行图4A和4B的方法的特征点候选者拣选器340将不会固有地计算全局最优,并且结果将取决于其中进来的特征点候选者被提供的顺序。
特征点候选者拣选器340逐一输出选择的特征点,并且它们被存储在图3的电路的存储器350的部分中的SFP列表中。
图4A和4B是用于执行图1A到1F中说明的DIS方法中的步骤的识别和选择图1A和2A的图像帧的每个瓦片中的多个特征点的方法的流程图。该方法开始于数据输入步骤S400,其中当前帧Ft的亮度数据被接收,随后是下采样步骤S402。初始化步骤S404重置瓦片计数器值current_tile和像素计数器值current_pixel。
接下来,随着current_pixel的增加(步骤S428),按光栅扫描顺序对current_tile的下采样亮度数据的每个像素执行哈里斯角点检测器(步骤S406、SD408和S410)。每当当前像素的角点响应超过局部最大值或阈值时,(即,判决步骤SD408的“是”分支),当前像素被识别为当前FP(特征点)候选者(步骤S410)然后立即经历特征点拣选算法(SD412、SD414、SD416、S417、SD430、S418、S420)。
仅当当前FP候选者大于已存储在选择的特征点的列表中的最小的先前选择的FP候选者时(步骤SD412的是分支),特征点拣选算法选择(S420)当前FP候选者,否则当前FP候选者被拒绝(拒绝步骤S417)而不被选择(判决步骤SD412的否分支)。如果当选择当前FP候选者时选择的特征点的列表已满,例如由选择的特征点计数SFP_count指示的(即,SFP_count=max_num_features=min_features+max_plus_features*(tile_variance/total_variance)),则从列表中取消最小的先前选择的FP候选者(SD430),否则增加SFP_count值(SD430)。
仅当当前FP候选者不在列表中已有的任何较大的(SD416)先前选择的特征点的排斥区(MIN_DIST)内(SD414)时,特征点拣选算法选择(S420)当前FP候选者。因此,如果当前FP候选者在列表中已有的任何较大的(SD416)先前选择的特征点的MIN_DIST内(SD414),则它被拒绝(判决步骤SD416的否分支,以及拒绝步骤S417)而不被选择。另一方面,如果当前FP候选者在列表中已有的任何较小的(SD416)先前选择的特征点的MIN_DIST内(SD414),则全部较小的(SD416)先前选择的特征点被取消(判决步骤SD416的是分支,以及取消步骤S418),而且当前FP候选者被选择(S420),并且相应地更新SFP_count(例如,减少或不变)(S418)。
一旦已经选择(S420)或拒绝(S417)当前FP候选者,哈里斯角点检测器就输出当前瓦片的下一(S428)当前像素(S410)的值(SD422),并且下一识别的FP候选者马上经历特征点拣选算法(SD412、SD414、SD416、S417、SD430、S418、S420)等。如果已经处理当前瓦片的最后像素(SD422),则处理下一瓦片(SD424、S426)。如果已经处理最后瓦片,则完成该过程直到下一图像帧将被处理。
特征点运动矢量计算
在当前帧Ft中的每个瓦片的特征点已经被识别和拣选之后,图1A到1F的DIS方法中的下一步骤是获得每个选择的特征点的运动矢量。
用于计算特征点的运动矢量的块匹配算法(BMA)是众所周知的。在块匹配中,对参考帧的目标区域中的块的全部可能位置计算误差函数(例如,SAD、MAD、MSE)。具有该函数的最低结果的位置被用于计算估计运动矢量。块匹配是计算复杂的。存在几个已知方法来减少计算成本。分级或多分辨率块匹配是这些方法中的一种,其中首先以低分辨率计算全局运动。产生的矢量将用于以较高分辨率搜索较小范围,从而减少需要的算术运算的总数。
对于多数应用,特别对于视频编码,对于帧的全部块需要准确的运动矢量。因此,在后面阶段中的搜索范围常常相对较大。图1A到1F中说明的数字图像稳定(DIS)方法中,仅需要估计特征点(例如,实际固定对象)从一帧到下一帧的相对运动。为了图像稳定的目的,需要代表背景和大对象的运动的准确运动矢量,而较小对象无需具有与其关联的准确运动矢量。在DIS算法的后期阶段中可以过滤任何关于较小对象的不准确矢量。
预期在DIS方法中显著的大的固定对象的特征点将因为全局移动或摄像头移动而按一致方式移动。我们认识到独立移动的充分大的对象覆盖至少一个瓦片的主要部分,使得它们的运动可以被估计为瓦片自身的主导运动,同时小对象的运动对瓦片自身的运动矢量具有很少的影响。因此,可以修改计算运动矢量的过程以减少计算,例如通过使用分级运动估计算法以及通过使用瓦片的运动矢量来优选瓦片运动而非局部运动。因此,第一步骤在于,将当前图像帧划分为j×k多个瓦片(该第一步骤已经执行用于特征点选择的目的,如上参考图1B和2A所述的)。
计算足够准确用于DIS的特征点的运动矢量的第二步骤在于,使用最低分辨率上的块匹配为每个瓦片导出一个运动矢量。该步骤中,计算给定瓦片的SAD(绝对差值的和)。关于给定瓦片的运动矢量是最小化SAD的运动矢量。关于给定运动矢量候选者v=(vx,vy)的SAD(绝对差值的和)被定义为:
通过使用低分辨率下采样的图像,减少了计算并且进一步减少场景中小对象的影响。
在第三步骤中,瓦片的运动矢量将在块匹配算法中被用作每个瓦片中的特征点的运动矢量的局部搜索的开始矢量。因为覆盖至少一个瓦片的主要部分的充分大的对象可以扩展到相邻瓦片,很可能在每个瓦片中有些特征点会更强烈地与相邻瓦片的运动矢量关联而非与它们被发现所处的瓦片的运动矢量关联。因此,有效的将是使用全部相邻瓦片的运动矢量作为任何给定瓦片的特征点的运动矢量的块匹配搜索的多个开始矢量。这里使用的瓦片在具有至少最大支持的运动矢量的尺寸的边界区域的帧中居中,使得可以完成全部瓦片中全部特征点的运动搜索而不用参考帧外的像素。
图5是用于说明图1A到1F中说明的DIS方法中的运动矢量计算步骤的利用其上添加的计算的瓦片运动矢量的下采样的图1A的当前帧Ft的视图。图5中的较小(更少像素,更少数据)图像通过水平和垂直地下采样从原始的当前捕获帧或从先前下采样的图像(图4A和4B的步骤S402)导出。通过下采样因子fs2(例如4)的下采样被用于全局(瓦片)运动估计。4×4下采样刚好平均化16个像素(通过取整),没有在输入侧的任何重叠。然后,执行使用每个完整下采样瓦片的块匹配搜索以确定每个瓦片的运动矢量。
关于给定瓦片的运动矢量是最小化SAD的运动矢量。在瓦片的情况下,采用找到的第一个运动矢量。该运动矢量将用作附近特征点的运动矢量的局部搜索的开始矢量。关于每个开始矢量的运动范围是可编程的。
由于用于瓦片运动估计所需的操作的数量仅是用于局部运动估计所需操作的12%,每个循环计算大约8个绝对差的和就够了。因此,无需脉动阵列。
图6是图5的下采样帧中的瓦片的一部分的视图,其说明使用图5的瓦片运动矢量作为用于块匹配搜索的开始矢量以计算图1A到1F中说明的DIS方法中使用的选择的特征点的运动矢量。
在瓦片中每个特征点的一组开始矢量中的每一个周围的高分辨率域中执行小局部块匹配搜索。该步骤可以以原始的视频分辨率、或以2或4的因子fs3的下采样执行。使用的开始矢量是已经如上确定的瓦片运动矢量。使用的开始矢量是特征点所属瓦片的矢量以及属于四个直接邻居(上瓦片、左瓦片、右瓦片、下瓦片)(假定存在)的矢量。因此,图6中,对应于块匹配搜索区域1的开始矢量是特征点(FP)自己的瓦片的运动矢量;对应于块匹配搜索区域2的开始矢量是在FP的瓦片的下方的块的运动矢量;对应于块匹配搜索区域3的开始矢量是在FP的瓦片的右方的块的运动矢量;对应于块匹配搜索区域4的开始矢量是在FP的瓦片的左方的块的运动矢量;对应于块匹配搜索区域5的开始矢量是在FP的瓦片的上方的块的运动矢量。根据另一实施例,使用四个对角邻居的开始矢量。可以执行用于选择开始矢量的其他步骤(例如,用于减少块匹配计算的数量),尤其是如果第一组瓦片矢量具有暗示一个大对象的彼此类似的幅度和方向(参见关于图8A、8B、9、10A、10B、10C的运动矢量分组的讨论)。替换地,块匹配可以以给定优先级、或仅当两个或多个块匹配搜索区域重叠时、或在彼此接近的块匹配搜索区域之间等执行。
通常,向特征点分配运动矢量将逐个瓦片进行,并且给定瓦片的每个特征点将使用相同的开始矢量(例如,瓦片运动矢量的相同选择)。然而,在各种其他实施例中,在给定瓦片的不同部分中的特征点可以使用开始矢量的不同选择,前提是检测的瓦片运动矢量的分组中与各瓦片相邻的特征点更可能是在该组的每个成员中共同找到的相同对象的可见点。因此,可以首先对靠近每个瓦片的周长的那些特征点执行块匹配搜索,以检测是否它们全部或几乎全部类似于它们自己的瓦片的运动矢量和/或类似于瓦片运动矢量的相邻分组的瓦片运动矢量。例如,如果全部初始选择的特征点(例如,靠近给定瓦片的周长的全部特征点、或离其中点最远的特征点)的运动矢量相同或类似于它们自己的瓦片的运动矢量,则可以减少剩余的特征点的选择的开始矢量的集合。
对使用的每个开始矢量,我们使用非常小的范围用于局部搜索。这里的目的不在于确定用于每个特征点的准确矢量。相反,感兴趣的特征点是属于背景或大对象的那些。对于那些特征点,瓦片运动矢量的一个应该是良好的,或接近于感兴趣的特征点的运动矢量,因此,关于每个选择的瓦片运动矢量的小的局部搜索是足够的。
再参考图3,特征点电路3000的SFP(选择的特征点)运动矢量计算器700包括:第二下采样器710,用于输出比第一下采样器310更进一步下采样的亮度数据用于瓦片矢量计算;瓦片矢量计算器720,用于计算每个瓦片的运动矢量;以及分级块匹配搜索单元730,用于确定和输出从特征点选择器300的特征点候选者拣选器340接收的每个选择的特征点(SFP)的运动矢量。第二下采样器710输出图5所示的深度下采样的当前帧Ft。瓦片矢量计算器720使用由第二下采样器710输出的当前帧Ft的深度下采样的亮度数据来计算每个瓦片的运动矢量。分级块匹配搜索单元730使用两个连续帧的全分辨率亮度数据(或第一下采样器310的输出)、并如上所述使用瓦片矢量作为开始矢量来确定由特征点选择器300的特征点候选者拣选器340输出的每个选择的特征点的运动矢量。
图7是示出用于执行图1A到1F中说明的DIS方法中的步骤的计算图1A和2A的当前帧Ft中选择的特征点(SFP)的运动矢量的方法的流程图。
在初始步骤中,图3所示的分级块匹配搜索单元730接收视频的两个连续帧(当前帧和参考帧)的亮度数据(步骤S700i)以及选择的特征点的像素位置(S700ii)。当前帧Ft被划分为多个下采样瓦片(S710),其可以优选地与图4A和4B的特征点拣选方法中先前使用的瓦片相同。在子步骤S710-A,将当前帧Ft划分为j×k多个瓦片加上边界区域,如图2A所示。在子步骤S710-B,与每个瓦片关联的亮度数据通过因子fs2(例如,fs2=4、8用于SD;fs2=8、16用于HD)被下采样,如图5所示。
接下来,在步骤S720,使用全搜索块匹配利用深度下采样的亮度数据计算每个瓦片的运动矢量,如图5所示,实现相对于下采样分辨率的半像素精度。可以保存与计算的运动矢量对应的计算的最小SAD值以用于DIS的其他特征(例如,用于过滤小对象的特征点)。在步骤S730,基于步骤S720的计算的瓦片运动矢量为当前选择的特征点(SFP)选择开始矢量,如上描述的。在步骤S740,利用全分辨率亮度数据执行分级块匹配算法并且使用基于瓦片矢量的选择的开始矢量确定当前SFP的运动矢量。重复步骤S730和步骤S740直到已经计算每个瓦片的每个SFP的运动矢量(通过循环SD750和S752)。
利用运动矢量幅度和方向的特征点分组
通过计算相邻帧中可识别的“特征点”的运动矢量来检测视频帧之间的运动。然后可以将特征点的运动矢量“分组”以便识别场景内的运动对象,因为区别于摄像头/场景的全局运动。分析摄像头/场景的全局运动以在有意的(例如,摇摄)和无意的(抖动)全局运动之间进行区分。
如果没有摄像头运动(无摄像头轨迹)则实际固定对象(例如,岩石的角,高山的峰)的每个检测的特征点将预期在两个或多个连续帧的每个中的相同位置中找到,并且全部那些检测的特征点的运动矢量将被测量为空。然而,如果有摄像头运动,则任何给定的实际固定对象的许多特征点的矢量会具有不同的幅度和方向。数字图像稳定电路可以用来将(特征点的)多个运动矢量正确地“分组”以使得它们归结为相同的实际固定对象。
通常的摄像头运动是平移和旋转运动的混合,并且从摄像头到场景中对象的距离改变。平移的摄像头运动基于离摄像头的对象距离而贡献运动矢量的幅度差,而旋转的摄像头运动贡献运动矢量的幅度和方向两者。
图8A和8B说明与纯粹的平移矢量运动比较从旋转的摄像头运动产生的不同的矢量。图中,假定相同固定的物理对象的两个选择的特征点SFP4和SFP5物理上处于距摄像头相同距离,并且在纯粹平移的摄像头运动的情况下矢量A是SFP4的运动矢量而B是SFP5的运动矢量,而在包括旋转的摄像头运动的情况下矢量A′是SFP4的运动矢量而B′是SFP5的运动矢量。
对于纯粹平移的摄像头运动,矢量A和B将具有完全相同的运动矢量,但是矢量A′和B′由于旋转的摄像头运动而具有不同的幅度和不同的方向,即使它们处于距摄像头相同距离。
图8C说明在其中相同固定对象的两个特征点距离摄像头不同距离的情况下从纯粹的平移矢量运动产生的不同的矢量。假定相同固定的物理对象的两个选择的特征点SFP4和SFP7物理上处于距摄像头不同距离,并且在纯粹平移的摄像头运动的情况下矢量A仍是SFP4的运动矢量而矢量C″是SFP7的运动矢量。因为SFP7比SFP4更接近于摄像头,同时它们是相同固定对象上的点,所以它们的运动矢量的幅度是不同的(矢量C″小于矢量A)。
因此,在将运动矢量分组时,需要考虑矢量差的余量用于由这些因素引起的矢量幅度和矢量方向(角度)差以使得可以将相同固定对象的全部特征点的运动矢量分组在一起。利用误差余量和使用简单的运动矢量差的检测运动矢量组的通常方法是定义误差阈值。
运动矢量差的幅度ΔM是可以作为分组判决的基础的测量,并且误差余量ThΔM可以定义为:
ΔM=SQRT((xa-xb)^2+(ya-yb)^2)<ThΔM,其中
A=(xa,ya);
B=(xb,yb);且
ThΔM是矢量差的幅度ΔM的误差阈值(正数)。
当摄像头运动是纯粹平移(上下、和/或侧向)时运动矢量差方法的幅度是足够的,因为固定对象的全部特征点的运动矢量将具有相同的方向,因为它们全由相同的平移摄像头运动定义。如比较图8A和8C所示,即使在纯粹的平移的摄像头运动的情况下,不同的固定特征点的运动矢量也可以因为对象距摄像头不同距离而不同。在通常视频场景中相同的固定对象的特征点的运动矢量的幅度差一般相对较小,而且还可以通过允许矢量幅度差(|A|-|B|)的一些余量来容忍该幅度差,并且在该情况下运动矢量差幅度ΔM的方法是合适的。
图9A说明其中运动矢量差的幅度ΔM是用于将两个特征点分组在一起的良好基础的两个运动矢量A和B的情况。
在某些情况下矢量差的幅度ΔM单独可能不是将矢量分组的良好基础。
图9B说明其中矢量差的幅度ΔM′不是用于将两个特征点分组在一起的良好基础的两个运动矢量A′和B′的情况。
图9A和9B中,如所示,矢量对(A,B)和(A′,B′)具有完全相同的矢量差的幅度(ΔM=ΔM′)。每个对(A,B)和(A′,B′)也可以具有在误差余量ThΔM内的其各自的矢量差的幅度ΔM、ΔM′。可以基于它们的矢量差的幅度ΔM将矢量对A和B适当地分组在一起。但是矢量对A′和B′具有太多的角度(方向)差(例如,与对A和B比较)以致于将矢量A′和矢量B′一起分组在相同组中不适当。
矢量差的幅度ΔM方法本身可能在其中两个特征点具有在余量ThΔM内的它们的矢量差的幅度同时它们具有太大的角度(方向)差的实例中不适合用于运动矢量分组。摄像头轨迹的旋转分量可以造成固定对象的一个或多个特征点具有相同或相似的幅度,但是具有不同的方向,这并未被矢量差的幅度方法检测。因此,矢量差的幅度方法会造成不正确的抖动补偿和/或少于最优的视频压缩、和/或过度的计算功率或时间消耗、和/或由于固定或运动对象的不正确视频压缩带来的视频干扰。
由特征点电路3000的分级块匹配搜索单元730输出的选择的特征点(SFP)的运动矢量接下来根据它们的幅度和方向进行分组,以基于连续视频帧之间对象的感知的相对运动将选择的特征点(SFP)的运动矢量与场景中的对象关联。
当摄像头运动具有旋转分量时,诸如围绕与图像传感器/光电二极管阵列的平面正交的轴,一个对象(例如背景)的运动矢量的方向无法相同。背景的不同特征点矢量的幅度和方向均不同,即使它们实际上固定且距摄像头相同距离。
代替仅使用运动矢量差的幅度ΔM和误差余量ThΔM用于分组判决,我们使用运动矢量的幅度比和归一化的矢量差来检测和容忍由旋转摄像头运动造成的运动矢量差的一些量。
其中矢量A=(xa,ya),而矢量B=(xb,yb),
第一分组判决准则是基于幅度比|b|,其中
|b|^2=(|B|/|A|)^2=(|B|^2)/(|A|^2)=(xb^2+yb^2)/(xa^2+ya^2)。
第二分组判决准则是基于归一化矢量差(用于角度差的评估)=|a-b|,其中
|a-b|^2=[{(xa-xb)^2+(ya-yb)^2}/(xa^2+ya^2)]。
因为第一分组判决是基于幅度比(|B|/|A|)而非绝对差(A-B),我们使用幅度比阈值rth代替绝对误差余量ThΔM。对于分组判决,我们分别定义幅度比阈值的下边界和幅度比阈值的上边界为MrLth和MrUth。
MrLth^2<|b|^2<MrUth^2,其中
MrLth≡(1-rth);以及
MrUth≡(1+rth);以及
0<rth<1
例如,如果允许幅度比阈值的30%,则rth将是0.3;MrLth将是0.7;而MrUth将是1.3,产生如下范围:
0.7^2<|b|^2<1.3^2
对于矢量A与矢量B之间的角度差不超过θth度的阈值,第二分组判决准则是
|a-b|^2<Math^2,其中
Math^2=SQRT(1+|b|^2-2*|b|*cosθth);以及
|b|=SQRT{(xb^2+yb^2)/(xa^2+ya^2)}
即使在存在旋转摄像头运动时,使用基于这两个分组判决准则的判决的分组方法也可以执行最优的运动矢量分组。
图10示出说明用于图1A到1F中说明的DIS方法中的特征点分组的角度差的间接测量的归一化矢量差的计算的三个矢量图。参考图10中的图(a),将矢量A与矢量B之间的差矢量(A-B)绘制为标记为(A-B)的水平矢量。为了容易阅读,将图(c)绘制为比图(a)和图(b)大的比例。差矢量(A-B)的绝对幅度ΔM(A-B)将计算如下:
ΔM(A-B)=SQRT((xa-xb)^2+(ya-yb)^2),其中
A=(xa,ya)
B=(xb,yb)
参考图10的图(b),将归一化矢量a定义为矢量A除以矢量的绝对值|A|,因此归一化矢量a具有幅度1(见图10的图(c))。将归一化矢量b定义为矢量B除以矢量的绝对值|A|。通过以下公式定义幅度|A|和|B|:
|A|^2=(xa^2+ya^2)
|B|^2=(xb^2+yb^2)
注意b=B/|A|,因此幅度比是绝对值|b|=|B|/|A|=|(B/|A|)|。因此,|b|是归一化矢量b的幅度,它通过将矢量B除以矢量A的幅度|A|而归一化(即,b=B/|A|)。因此,幅度比|b|=SQRT{(xb^2+yb^2)/(xa^2+ya^2)}。
因为归一化矢量a的幅度是1,幅度|b|也等于归一化矢量a的幅度与归一化矢量b的幅度|b|之间的幅度比。因此,幅度|b|称为幅度比|b|。幅度比|b|不是矢量A和B之间的角度差θ的函数。
作为我们的第一分组判决准则,我们检查|b|(|b|=|A|/|B|)是否在上下幅度比阈值MrLth和MrUth之内。如果|b|^2<MrLth^2或|b|^2>MrUth^2,则我们判定矢量A和矢量B无法在相同组中。但是,如果MrLth^2<|b|^2<MrUth^2则我们基于使用归一化矢量差|a-b|作为准则做出第二比较。
归一化矢量差(a-b)的绝对幅度|a-b|根据如下公式计算:
|a-b|^2=[{(xa-xb)^2+(ya-yb)^2}/(xa^2+ya^2)]
归一化矢量差(a-b)具有如图10的图(c)所示的绝对幅度|a-b|,其中,长度|a|、|b|和|(a-b)|形成具有与边|(a-b)|相对的矢量差角度θ的三角形,这意味着也可以使用作为θ函数的余弦规则计算|(a-b)|。余弦规则定义三角形的未知边的长度与其他边的长度以及与未知边相对的角度之间的数学关系。如果两个矢量之间的角度给定,则归一化矢量差(a-b)的幅度|a-b|可以使用余弦规则公式获得:
|(a-b)|=SQRT(1+|b|^2-2*|b|*cosθ)。
因此,表示为归一化矢量差(a-b)(图10的图(c)中与角度差θ相对的三角形的边)的幅度|a-b|的阈值的角度阈值可以被计算为|b|和角度差θ的函数,如余弦规则指示的那样。因此,我们可以定义幅度|(a-b)|的阈值幅度Math作为角度差阈值θth,其中Math是选择的阈值角度θth的函数。因此,我们可以将计算的归一化矢量差(a-b)的幅度|a-b|的平方与Math的平方进行比较。因此,将|a-b|^2与Math^2进行比较来决定矢量A与矢量B之间的角度差是否足够小以使得应当将它们分组在一起。
我们定义Math^2=(1+|b|^2-2*|b|*cosθth),其中
θth是用于分组判决目的的预定角度阈值(例如30度),并且
|b|=|(B/|A|)|=SQRT{(xb^2+yb^2)/(xa^2+ya^2)}
如果|a-b|^2小于Math^2,则我们判定矢量A和矢量B可以在相同组中。因此,如果|a-b|^2小于Math^2,则合适的最终分组决定是矢量A和矢量B在相同的组中。
因此,如果|a-b|^2小于Math^2而且仅当|b|^2(≡(|B|/|A|)^2)大于MrLth^2且小于MrUth^2,则矢量A和矢量B在相同的组中。Math^2的确切计算需要一次平方根运算(即,用于计算|b|),而平方根运算可以是计算复杂的,或者需要相当的硬件实现。因此,平方根运算的消除可以显著减少计算代价、或硬件。我们已经设想用于Math的近似(即,Math=0.5),其对于|b|等于1加或减30%(即,对于0.7≤|b|≤1.3)和处于矢量误差(矢量差)角度的30度内(即,)提供良好的分组结果。因此,第二分组准则变为|a-b|^2<0.5^2。
如果我们绘制角度差θ、幅度比|b|以及归一化差|a-b|之间的关系,我们可以获得图12的曲线图。
图12是作为角度差θ的各种值(在0度和90度之间)的函数的归一化矢量差(a-b)的幅度|(a-b)|与归一化矢量差(a-b)的幅度比|b|的曲线图,其说明在图11的分组算法的判决步骤dS1140中可使用的近似的可用性。
通过实验,典型视频给出关于幅度比大于1加或减30%和关于角度差θ最大达30度的良好的分组结果,如图12的方形区域的边界所示。如图12的曲线图所示,该经验范围对于0与0.5之间的归一化矢量差的近似有效。
使用近似,可以将SQRT(1+|b|^2-2*|b|*cosθ)近似为0.5而不管|b|,以减少计算的负担。因此,使用该近似,第二分组准则变为|a-b|^2<0.5^2。
图11是说明根据本发明构思的实施例的分组过程的流程图。分组过程1100使用包括关于选择的特征点(见图1A和2A的图像帧)的运动矢量之间的角度差的间接测量的归一化矢量差的两个准则,以执行图1A到1F中说明的DIS方法中图1D的矢量分组步骤。分组算法1100包括幅度比分组判决准则(在判决步骤DS1120)和归一化矢量差分组判决准则(在判决步骤SD1140)。在分组算法1100外部操作的配对算法(步骤S1104、S1106、S1152、dS1150、和S1154)掌控哪些特征点(运动矢量)已经与其他特征点配对,哪些仍未配对,以及哪些将整个从分组算法1100中排除。配对算法提供一对SFP运动矢量A和B作为对分组算法1100的输入(S1104、S1106)。在初始步骤iS1102,从外部电路接收幅度比余量(例如MrLth^2和MrUth^2)、以及角度余量并提供给分组算法1100。
分组算法1100基于接收的矢量A计算|A|^2并基于接收的矢量B计算|B|^2(步骤S1112和S1114),以在至少随后的步骤S1116、dS1120、和dS1140中使用这些计算值进行随后的计算。因此,当将接收的矢量B从与接收的矢量A的分组排除时(判决步骤dS1120的是分支或判决步骤dS1140的否分支),配对算法分配新的矢量B(步骤S1152)且分组算法1100基于新矢量B计算|B|^2的新值(步骤S1114),但是不需要同时更新当前矢量A的计算值|A|^2(步骤S1112),因为将继续比较相同的矢量A,不过是利用新矢量B。因此,适配为执行分组算法1100的硬件或软件可以被配置为分开存储值|B|^2和|A|^2的一个或多个实例,以使得计算高效地使用这些值中的一个进行多次比较,只要在矢量A和B中一次仅一个改变。
分组算法1100接下来使用|A|^2和|B|^2(来自步骤S1112和S1114)计算幅度比(|b|^2)和|a-b|^2(S1116)。在判决步骤dS1120应用第一(幅度比)分组判决准则。在判决步骤dS1120中将幅度比的平方|b|^2与幅度比余量(来自步骤iS1102)进行比较。如果(|A|/|B|)^2<MrUth^2或(|A|/|B|)^2>MrUth^2(判决步骤dS1120的是分支),则不将当前矢量A与当前矢量B分组,并且结束与当前矢量B的比较并选择新的矢量B(步骤S1152)。如果(|A|/|B|)^2在MrLth^2和MrUth^2之间(判决步骤dS1120的否分支),则当前矢量A可以变为与当前矢量B分组,并且应用第二分组判决准则(在判决步骤dS1140)。如果|b|处于预定范围中(例如,基于|b|^2的值)并且如果角度差θ处于预定范围中(判决步骤dS1130的是分支),则归一化差矢量(a-b)的幅度Math被近似(例如,Math^2=0.5^2)。否则,(判决步骤dS1130的否分支),计算归一化差矢量(a-b)的幅度Math(S1132)。
接下来,在判决步骤dS1140中在第二(归一化矢量差)分组判决准则中使用归一化差矢量(a-b)的近似的或计算的幅度Math。在判决步骤dS1140中将Math的平方(Math^2)与(|a-b|)^2和/或与角度余量(来自步骤iS1102)进行比较。如果(|a-b|)^2小于Math^2,(判决步骤dS1140的是分支),则可以将当前矢量A与当前矢量B分组(步骤S1142)。如果(|a-b|)^2不小于Math^2,(判决步骤dS1140的否分支),则不将当前矢量A与当前矢量B分组,并且结束与当前矢量B的比较并选择新的矢量B(步骤S1152)。
一旦当前矢量A已经与全部可用的分组候选者矢量B比较(判决步骤dS1150的是分支),则选择新矢量A并且继续与剩余的(未分组的)分组候选者矢量B比较(S1154、S1112等),或如果已经分组全部矢量,则分组算法1100等待直到新的帧需要处理。
图13是包括配置为执行图11的特征点分组算法的分组算法电路1310的特征点分组电路1300的框图。特征点分组电路1300包括:幅度比(|b|)比较器1320,配置为基于幅度比阈值(MrLth和MrUth)的准则执行第一分组判决(图11的判决步骤dS1120);以及矢量角度比较器1330,配置为基于归一化矢量差的准则(用于角度差的评估)执行第二分组判决(图11的判决步骤dS1140)。本发明构思的该示范性实施例中的矢量角度比较器1330包括归一化差的幅度(Math)计算器/估计器1332和归一化差的幅度(Math)比较器1334。归一化差的幅度(Math)计算器/估计器1332如上关于图11的步骤dS1130、S1132、和S1134描述的进行产生或计算。
特征点分组电路1300与图3的特征点电路3000共享RAM存储器350。存储器350的SFP列表352部分包含由特征点候选者拣选器340输出的选择的特征点的列表。特征点分组电路1300中的配对算法控制器1302通过DMA存取SFP列表352并且选择矢量A和矢量B用于分组算法电路1310中的比较,如上参考图11的步骤S1152、S1154、dS1156、和dS1150所述。当比较产生一组或多组矢量(选择的特征点的组)时,配对算法控制器1302将分组的矢量或其描述列表写入存储器350的FP分组清单354部分。根据一个实施例,特征点分组电路1300和存储器350在单个集成电路芯片中实现,而且从存储器350检索的数据经由I/O管脚输出到芯片外部的电路。根据另一实施例,特征点分组电路1300、RAM存储器350、和特征点电路3000在单个集成电路芯片中实现。根据这样的实施例,本领域的通技术人员不难理解,如果需要额外的存储容量,则可以在集成电路芯片外部添加其他RAM存储器。
特征点分组电路1300还包括|A|^2计算器1312、|B|^2计算器1314、以及|b|^2和|a-b|^2计算器1316,配置为分别执行图11的步骤S1112、S1114、和S1116。
上面公开的主题考虑为说明性的,而非限制性的,并且所附权利要求书意图涵盖落入本发明构思的真实精神和范围的全部这样的修改、增强、和其他实施例。因此,在法律允许的最大范围内,本发明的范围将由所附权利要求书及其等价物的最宽泛允许的解释来确定,而不应限制或约束于前述的详细说明。
根据本发明构思的实施例,为了在算法上选择提供适合用于数字图像稳定的良好特征点分布的特定点的目的,每个捕获的视频帧被划分为少量的非重叠瓦片(典型地,对于标准清晰度为4×4个瓦片,而对于高清晰度为6×6个瓦片)。图像的不同区域可能具有不同密度的合适特征点。在极端情况下,例如在晴朗的蓝天的情况下,帧的一个区域可能没有任何合适特征点。在其它区域中,潜在的特征点可能非常密集。
所获得的特征点分布基于视频帧的小区域(例如,非重叠的瓦片),而每个瓦片中特征点的数量随着该瓦片的亮度图像数据的方差σ2而线性地增加。具有更感兴趣的图像数据并且因此需要更多特征点的瓦片被期望具有更高的方差σ2。参见同时待审查的申请No.8729-357,描述了以下过程:设置每个瓦片中特征点之间的最小距离,而同时仅要求很少的局部状态信息,由此降低硬件实现成本。在这里通过引用并入8729-357的公开内容。
如果场景是在低光照条件下捕获的,将具有相对更多的噪声,并且噪声对特征点的影响大于对瓦片的影响,这是因为特征点的像素的数量远小于瓦片中像素的数量。瓦片中像素的更大数量提供噪声消除效果,并且下采样的基于瓦片的运动矢量在该情况下更为准确。
即使场景不是在低光照条件下捕获的,如果场景过于平坦,则基于瓦片的运动矢量可能更为准确。如果瓦片场景像多云的天空或蓝天那样平坦,则可能有一些特征点,并且平坦瓦片中的这些特征点可能在下一帧的任何位置处找到相似级别的匹配点。但是,基于瓦片的匹配不依赖于小的特征点搜索区域,并且瓦片中的所有图案可以贡献于瓦片匹配过程。作为结果,在场景平坦时,基于瓦片的运动矢量更可靠。
当特征点运动矢量组的最佳分数小于给定阈值时,我们决定使用基于瓦片的运动矢量而不是基于特征点的运动矢量,并且该策略对于高噪声场景或平坦场景工作良好。
根据本发明构思的实施例,我们选择代表背景和大对象的移动的估计运动矢量,而较小对象不需要具有与其相关联的准确运动矢量。可以在DIS算法的较后级处对用于较小对象的任何不准确矢量进行滤波。
期望具有显著性的大固定对象的特征点将由于全局移动或摄像头移动而以一致的方式移动。我们认识到,独立地移动的显著大对象覆盖至少一个瓦片的大部分,使得它们的运动可以被估计为瓦片本身的主导运动,而小对象的运动对瓦片本身的运动矢量具有很少影响。
我们使用最低分辨率的块匹配来导出每个瓦片的一个运动矢量。基于瓦片的运动矢量可以在一些特定情况下(诸如高噪声或平坦场景视频)被用于摄像头轨迹决定。
用于给定瓦片的运动矢量是使绝对差之和(SAD)最小化的运动矢量。而且,通过使用分级运动估计算法并且通过优选瓦片运动而非局部运动,使用瓦片的运动矢量作为起始矢量,可以修改计算每个瓦片的特征点的运动矢量的过程以减少计算。由于足够大以覆盖至少一个瓦片的大部分的对象可能延伸至相邻瓦片中,因此有可能每个瓦片中的一些特征点可能与相邻瓦片的运动矢量更强地相关联、而不是与在其中找到这些特征点的瓦片的运动矢量关联。因此,在对于任何给定瓦片的特征点的运动矢量的块匹配搜索中,使用所有相邻瓦片的运动矢量作为多个起始矢量将是有效的。因此,用来获得选择的特征点的运动矢量的起始矢量是该特征点所属的瓦片的起始矢量、以及属于四个直接相邻块(上瓦片、左瓦片、右瓦片、下瓦片)(假设其存在)的起始矢量。对于所使用的每个起始矢量,我们仅将非常小的范围用于特征点运动矢量的局部搜索。这里的目标不在于确定用于每个特征点的准确矢量(稍后在DIS处理链中将拣除差的运动矢量)。相反,感兴趣的特征点仅仅是属于背景或大对象的特征点。对于那些特征点,瓦片运动矢量之一应当是良好的、或者应接近于感兴趣的特征点的运动矢量,并且因此关于每个选择的瓦片运动矢量的小局部搜索是足够的。对于瓦片中的每个选择的特征点,围绕一组起始矢量中的每个起始矢量,在更高分辨率域(这可能是原始视频分辨率,或者可以由2或4的因子fs3下采样的)中执行小局部块匹配搜索。
图14是依据本发明构思的示范性实施例的执行数字图像稳定(DIS)方法的数字图像稳定(DIS)电路的框图。该DIS电路包括:检测单元(DU),其分析所接收的抖动视频并且输出帧间变换Ti(n);轨迹单元(TU),其输出从帧间变换Ti(n)中选择的选择的主/补偿变换P(n);以及补偿单元(CU),其通过使用选择的主/补偿变换P(n)修改抖动视频而输出稳定的视频。
检测单元(DU)估计接收的视频数据帧中的特征点(FP)的帧间运动矢量、以及非重叠瓦片的帧间运动矢量(瓦片矢量)。检测单元进一步输出FP运动矢量组变换和瓦片组变换Ti(n)。
轨迹单元(TU)选择帧间变换Ti(n)之一(或者在大的移动对象覆盖场景的情况下的单位变换)作为主变换P(n),因此排除小移动对象的帧间变换和大的移动对象(可以移动到整个帧中并且覆盖整个帧)的帧间变换。
图15是图14的DIS电路中被适配为作为图14的DIS电路的DIS方法的步骤计算瓦片矢量组的仿射变换的检测单元2000的框图。检测单元2000包括特征点电路3000、运动矢量(MV)分组电路1300、以及运动矢量(MV)组仿射变换计算器2010。
特征点电路3000接收每个视频数据帧,并且优选地将每个视频帧划分为少量j×k个非重叠瓦片。j×k个瓦片的范围可以从用于SD视频的4×4到用于HD视频的6×6;来自(4..8)×(4..8)范围中的其它数量也是可能的,并且可能是有益的。选择瓦片尺寸使得独立地移动的显著大对象覆盖至少一个瓦片的大部分,从而可以为了DIS目的而捕获它们的运动,同时可以忽略小对象的运动。特征点电路3000识别并选择接收的视频帧中的特征点(SFP),并且输出特征点的运动矢量和瓦片的运动矢量(SFP MV和瓦片MV)。
特征点电路3000包括特征点选择器、和运动矢量计算器、以及共享的RAM存储器350。特征点电路3000还可以包括哈里斯角点特征点候选者识别器、以及特征点候选者拣选器。为了节省计算能力并减少所需运算的数量,特征点电路3000仅对亮度数据进行操作,并且包括一个或多个下采样器和分级块匹配搜索单元。
特征点电路3000为每个瓦片估计运动矢量。在覆盖输入图像的中心的非重叠瓦片(例如,与可能用于特征点拣选算法的瓦片相同的瓦片)的基础上,进行瓦片运动矢量(瓦片MV)估计。对于每个瓦片,对深度下采样的图像执行完全块匹配搜索。对于每个瓦片进行完全块匹配搜索,并且存储(356)瓦片运动矢量(瓦片MV)以供稍后使用,例如用作分级块匹配搜索单元中的起始矢量,用于导出特征点的运动矢量(352处存储的SFP MV),以及用于固定对象检测。
特征点电路3000优选地提供特征点列表352,其具有基于被称为瓦片的视频帧小区域(瓦片)的分布,其中,每瓦片的特征点的最大数量随着该瓦片的亮度图像数据的方差σ2而线性地增加。用于DIS方法的良好特征点是在应用合适的运动估计算法时产生单值的运动矢量的点。为了识别图像中的特征点,对视频帧的像素应用Harris角点检测算法,以便测量该像素有多么适合作为特征点。图像的不同区域(瓦片)可能具有不同密度的识别的特征点候选者。
特征点电路3000优选地包括:运动矢量计算器,其执行用于计算每个瓦片的运动矢量的瓦片矢量计算器的功能;以及分级块匹配搜索单元,其用于确定并输出每个选择的特征点(SFP)的运动矢量。瓦片矢量计算器使用当前帧Ft的深度下采样的亮度数据来计算每个瓦片的运动矢量。分级块匹配搜索单元使用两个连续帧的完全分辨率或下采样的亮度数据来确定每个选择的特征点的运动矢量,并且可以使用瓦片运动矢量作为起始矢量。
所有特征点和与瓦片相关的数据被传递给下一DIS块,具体地为运动矢量分组电路1300。
运动矢量分组电路1300被配置为对FP运动矢量和瓦片运动矢量执行分组算法。运动矢量分组电路1300包括运动矢量比较器1310,其被配置为通过比较配对算法控制器1302选择的每对矢量来执行分组决定。
运动矢量分组电路1300基于连续视频帧之间的对象的被察觉的相对移动将FP运动矢量分组以将选择的特征点(SFP)的运动矢量与场景中的对象相关联。运动矢量分组电路1300还基于连续视频帧之间的对象的察觉的相对移动将瓦片运动矢量分组以将瓦片矢量与场景中的对象相关联。
运动矢量分组电路1300与特征点电路3000共享RAM存储器350。存储器350的SPF MV列表部分352-FP包含选择的特征点(SFP)的位置和运动矢量的列表。存储器350的瓦片MV列表部分352-TMV包含非重叠瓦片的位置和运动矢量的列表。
配对算法控制器1302掌控哪些特征点和瓦片(运动矢量)已经与哪些其它特征点和瓦片配对,哪些保持未配对,以及哪些将完全从分组中排除。配对算法重复地提供运动矢量对(矢量A和矢量B)作为到MV比较器1310的输入。
特征点分组电路1300中的配对算法控制器1302存取SPF MV列表(352-MV)和瓦片MV列表(352-TMV)并选择矢量A和矢量B以在运动矢量比较器1310中进行比较。当一系列矢量A-矢量B比较导致一个或多个矢量组(例如,选择的特征点的组和瓦片的组)时,配对算法控制器1302将分组后的运动矢量或其描述性列表写入到存储器350的FP MV组清单部分354和瓦片MV组清单部分358。
运动矢量(MV)组仿射变换计算器2010计算每组特征点运动矢量的帧间变换,计算每组瓦片运动矢量的帧间变换,并将它们全部输出作为Ti(n)。
图16是图14的DIS电路的轨迹单元(TU)4000的框图,该轨迹单元4000被适配为依据图14的DIS电路的DIS方法的步骤、基于为瓦片组变换和特征组变换Ti(n)评分的方法,来选择主(固定/背景)变换P(n)。
轨迹单元(TU)4000(图16)包括瓦片组变换评分和选择电路4100-1(图17A)、特征组变换评分和选择电路4100-2(图17A)、集合组选择电路4200(图18)、移动对象排除电路4400(图19)、和自适应补偿滤波器。
轨迹单元(TU)4000识别由不稳定摄像头引起的主运动P(n)而同时忽略场景中的移动对象,对选择的主变换P(n)进行滤波,并且输出补偿变换C(n)。轨迹单元(TU)4000采用多个连续的评分函数来从接收的帧间变换Ti(n)当中选择主变换P(n)。
图17A是图14的DIS电路的轨迹单元(TU)4000的组变换评分和选择电路4100的框图,该组变换评分和选择电路4100包括变换分数计算器4150、变换质量计算器4160、和被配置为执行图14的DIS电路的DIS方法中的步骤的组变换和质量选择器4170。组变换评分和选择电路4100被适配为从瓦片组帧间变换TTile,i(n)(4100-1)中输出瓦片组主变换GPTile(n),并且被适配为从FP帧间变换TFP,i(n)(4100-2)中输出特征组主变换GPFP(n)。
图17B是在图4的实现4100-1中示出的图17A的组变换评分和选择电路4100中的历史分数计算单元4110-1的示范性实现的框图。
参见图17A和17B,组变换评分和选择电路4100包括历史分数计算单元4110(例如4110-1)、运动分数计算单元4120、特征分数计算单元4130、和范围分数计算单元4140,加上总变换分数Si(n)计算器4150、变换质量Qi(n)计算器4160、以及组变换和质量选择器4170(例如4170-1)。
图17A的组变换评分和选择电路4100中的组变换和质量选择器4170基于从总变换分数计算器4150接收的(每个帧间变换Ti(n)的)总变换分数Si(n)(通过拒绝小移动对象的帧间变换)而选择帧间变换Ti(n)之一作为组主变换GP(n),并输出组主变换GP(n)及其相关联的质量Q(n)。
设Ti(n)为从检测单元(DU)2000接收的所有接收的变换候选者中的第i个变换,其中n指示帧和时序属性。设GP(n)是在帧时间n选择的组主变换,即,对于选择的i,GP(n)=Ti(n)。
对于每个Ti(n),总变换分数Si(n)计算器4150从历史分数计算单元4110(例如,4110-1)接收历史分数Hi(n),从运动分数计算单元4120接收运动分数Mi(n),从特征分数计算单元4130接收特征分数Fi(n),从范围分数计算单元4140接收范围分数Ei(n),并且基于以下公式计算总变换分数Si(n):
Si(n)=Hi(n)*Mi(n)*Fi(n)*Ei(n)
对于每个Ti(n),变换质量Qi(n)计算器4160从特征分数计算单元4130接收特征分数Fi(n),从范围分数计算单元4140接收范围分数Ei(n),并基于以下公式计算变换质量Qi(n):
Qi(n)=Fi(n)*Ei(n).
具有最大值Si(n)的Ti(n)应当被图17A的组变换评分和选择电路4100的组变换选择器4170选择作为组主变换GP(n)。因此,在该示范性实施例中,具有最高分数Si(n)的帧间变换候选者Ti(n)被选择作为组主变换GP(n),然后被自适应地滤波以产生补偿变换C(n),从而在图14的DIS电路的DIS补偿单元(CU)6000中补偿抖动摄像头运动。
历史分数计算单元4110(例如4110-1)存储组主变换GP(n)的历史,并且在从检测单元(DU)2000接收到每个Ti(n)时,基于存储的预定长度HL的组主变换GP(n)的历史,逐一地为每个Ti(n)计算历史分数Hi(n),其中HL是指示预定数量的先前帧的整数。将进入的Ti(n)与存储的HL个先前选择的组主变换GP(n-1)...GP(n-k)中的每一个数学地进行比较,其中k是整数的帧时间索引,其从1(指示紧接着的前一帧:n-1)变化到HK(在时间上相距更远的帧:n-HK)。Ti(n)当中与存储的HL个先前选择的组主变换GP(n-1)到GP(n-k)具有更高相关性的变换具有更高的历史分数Hi(n)。
Ti(n)与每个GP(n-k)之间的相关性Hi,k(n)是1减去归一化范数(1-|Ti(n)-GP(n-k)|)并且在范围[0,1]中,其中Hi,k(n)值=1指示最高相关性。
每个相关性Hi,k(n)(1-|Ti(n)-GP(n-k)|)的贡献被对应的历史权重HW(k)加权。
历史分数Hi(n)是总相关性,并且是HW(n-k)加权的Hi,k(n)的和,1<k<HL,其中HL是历史的长度(过去帧的数量)。因此,
Hi(n)=∑[1-|Ti(n)-GP(n-k)|*HW(k)],1<k<HL
权重HW(n-HL)到HW(n-1)优选地被选择为使得它们的和等于1,并且使得历史分数Hi(n)输出被非线性归一化并具有连续的范围[0,1]。
图17B中示出的历史分数计算单元4110的示范性硬件实现4110-1包括FIFO(先进先出)存储器缓冲器,其用于存储HL个先前选择的组主变换GP(n-1)到GP(n-k),并且其具有HL个分支(用于n-1到n-HL)以将它们存储的内容输出到比较器4114。比较器4114将当前Ti(n)与HL个存储的先前选择的组主变换GP(n-1)到GP(n-HL)中的每个进行比较,并将由历史权重HW(n-1)到HW(n-HL)加权的每个比较输出到总历史分数计算器4116,其输出总相关性作为在连续范围[0,1]中的总历史分数Hi(n)。
运动分数计算单元4120接收每个Ti(n),并仅基于Ti(n)计算其运动分数Mi(n)。在替换实施例中,为了计算运动分数Mi(n),运动分数计算单元4120可以被配置为从检测单元2000接收存储的信息。具有小运动的变换具有更高的运动分数Mi(n),并且更可能成为组主变换GP(n)。对于Ti(n)中的每个帧间变换,运动分数计算单元4120计算运动分数Mi(n)。
具有大值的Mi(n)对应于小运动,反之亦然。运动Mi(n)可以基于变换的水平的、垂直的、或总的线性位移。运动分数Mi(n)与线性位移Mi(n)逆相关,并且优选地被非线性归一化为具有连续范围[0,1]。
特征分数计算单元4130接收每个Ti(n),并仅基于Ti(n)计算其特征分数Fi(n)。在替换实施例中,为了计算特征分数Fi(n),特征分数计算单元4130可以被配置为从检测单元2000接收存储的信息。对于Ti(n)中的每个帧间变换,特征分数计算单元4130计算特征分数Fi(n)。特征分数Fi(n)与被分组在一起的多个特征点相关,以组成由Ti(n)中的每个帧间变换表示的特征点组。Ti(n)当中每组具有更多特征点的变换具有更高的特征分数Fi(n)。特征分数Fi(n)优选地被非线性归一化为具有连续范围[0,1]。
范围分数计算单元4140接收每个Ti(n),并仅基于Ti(n)计算其范围分数Ei(n)。在替换实施例中,为了计算范围分数Ei(n),范围分数计算单元4140可以被配置为从检测单元2000接收存储的信息。对于Ti(n)中的每个帧间变换,范围分数计算单元4140计算范围分数Ei(n)。Ti(n)中具有覆盖(遍布)更大区域的特征点的变换被更高地评分。具有更大值的范围分数Ei(n)对应于更大的覆盖区域,反之亦然。范围分数Ei(n)与包含变换的组的所有特征点的长方形区域的长度乘以宽度相关。范围分数Ei(n)优选地被非线性归一化以具有连续范围[0,1]。
本发明构思的各个示范性实施例使用场景历史分析,以排除在整个场景上移动的大对象,否则其将在视频稳定中造成不希望的结果。在没有正确的场景历史分析的情况下,主变换选择器更可能选择与大的移动对象对应的变换候选者,特别是当其覆盖整个场景时。我们认识到,当大对象在整个场景上移动并充满整个场景时,变换候选者Ti(n)不包括与不稳定的摄像头对应的主变换P(n)。
图18是图14的DIS电路的轨迹单元(TU)4000的集合变换评分和选择电路4200的示范性实现的框图,其包括:集合决定计算器4250,被配置为计算集合决定CD(n);以及集合变换选择器4260,被配置为作为图14的DIS电路的DIS方法中的步骤而输出集合主变换CP(n)。
图18中的集合决定计算器4250依据从检测单元(DU)2000接收的特征组变换质量QFP(n)、瓦片组变换质量QTile(n)、和特征组变换候选者的数量KFG(n),来计算集合决定CD(n)。
集合决定计算器4250的示范性实现包括依据特征组的数量KFG(n)来计算被非线性归一化的片段度量ΘF(n),从而当KFG(n)小时,ΘF(n)为0,并且当KFG(n)大时,ΘF(n)为1。因此,ΘF(n)值接近1指示视频场景中的所有特征点被分割为许多特征组,反之亦然。
集合决定计算器4250通过将QF(n)与ΘF(n)*QT(n)进行比较来输出集合决定CD(n),并且如果QF(n)>ΘF(n)*QT(n),则集合决定CD(n)被设置为选择特征组。而且,如果QF(n)<=ΘF(n)*QT(n),则集合决定CD(n)被设置为选择瓦片组。在该公式中,如果特征组未被分割,则ΘF(n)接近0,并且特征组更可能被选择。否则,如果特征组被分割,则ΘF(n)接近1,并且瓦片组变换质量QTile(n)与特征组变换质量QFP(n)相比处于相同水平。
集合变换选择器4260在特征组主变换GPFP(n)与瓦片组主变换GPTile(n)之间执行选择。集合变换选择器4260被集合决定CD(n)控制,以使得输出集合主变换CP(n)在CD(n)被设置为特征组时被设置为特征组主变换GPFP(n),否则被设置为瓦片组主变换GPTile(n)。
在该实施例中,集合变换评分和选择电路4200基于特征组变换质量QFP(n)和瓦片组变换质量QTile(n)执行选择。这些组变换质量是由图17A的变换质量计算器4160计算的,所述变换质量计算器4160从特征分数计算单元4130和范围分数计算单元4140接收输入。
特征分数计算单元4130计算基于特征和基于瓦片的变换Ti(n)的特征分数Fi(n)。在该实施例中,为了计算特征分数Fi(n),特征分数计算单元4130被配置为从检测单元2000接收存储的信息。对于Ti(n)中的每个帧间变换,特征分数计算单元4130计算特征分数Fi(n)。组中具有更多特征点或组中具有更多瓦片的变换Ti(n)将具有更高的特征分数Fi(n),并分别导致更高的特征组变换质量QFP(n)或瓦片组变换质量QTile(n)。在一些实施例中,每瓦片中特征点的数量可以支配基于特征的变换Ti(n)的特征分数Fi(n)。在其他实施例中,瓦片的数量可以支配基于瓦片的变换Ti(n)的特征分数Fi(n)。每瓦片中特征点的数量和/或每个瓦片矢量组中瓦片的数量可以从检测单元2000直接获得。
范围分数计算单元4140计算基于特征和基于瓦片的变换Ti(n)的范围分数Ei(n)。该实施例中,为了计算范围分数Ei(n),范围分数计算单元4140被配置为从检测单元2000接收存储的信息。具有覆盖更大区域的特征点或瓦片的变换被更高地评分。特征点的数量和每个瓦片矢量组中瓦片的尺寸可以从检测单元2000直接获得。类似地,每个基于特征的运动矢量组的水平和垂直范围可以从检测单元2000直接获得。覆盖更大范围的特征组或覆盖更大范围的瓦片组将具有更高的范围分数Ei(n),并分别导致更高的特征组变换质量QFP(n)或瓦片组变换质量QTile(n)。该实施例中,为了计算范围分数Ei(n),范围分数计算单元4140被配置为从检测单元2000接收存储的范围信息。
在已经通过集合变换评分和选择电路4200选择集合主变换CP(n)之后,大对象排除硬件决定选择的集合主变换CP(n)是否是移动到并覆盖整个场景的大的移动对象。当实行这样的排除时,创建单位变换(UT)以代替并充当用于DIS系统的补偿电路的选择的主变换P(n),从而稳定视频不会不正确地或不必要地跟随大的移动对象的变换。
根据本发明构思的一个实施例,移动对象排除方法基于两个观察被激活:预先存在的固定背景(由P(n)的历史指示);以及固定背景和大的移动对象共存的时间段。
移动对象排除方法可以高效地处理下面的情形:场景具有几乎固定的背景,并且有或没有移动对象;大的移动对象进入场景,并逐渐覆盖更大区域;大的移动对象覆盖整个场景;大的移动对象开始离开场景,并且背景开始重新出现;大的移动对象最终移开。
移动对象分析器检测排除情形IF:
连续的固定MV组存在指示具有几乎固定的背景的现有场景;
连续的相似速度的MV组的增加计数指示对象正移动到场景中;
趋势继续,并且在时间n连续的相似速度的MV组覆盖整个景象并且固定MV组停止存在,然后检测到排除情形。
排除决定ED(n)被发送到排除变换选择器。排除变换选择器选择集合主变换CP(n),除非ED(n)指示排除情形,在该情况下则将主变换P(n)设置为单位变换。因此,即使大的移动对象覆盖整个场景,稳定视频也不会不正确地跟随大的移动对象。
图19是图14的DIS电路的轨迹单元(TU)4000的移动对象排除电路4400的示范性实现的框图,所述移动对象排除电路4400包括被配置为执行图14的DIS电路的DIS方法中的步骤的移动对象分析器4470和排除变换选择器4480。
移动对象排除电路4400包括多个用于存储场景历史的组历史电路4410、4420、4430、4440、以及移动对象分析器4470。在任何时候,仅存在一个指定的固定组G0,但可以存在零个或多个现有的运动组Gk,其中k>0。还可以存在新的运动组GN,其将在下一帧期间成为k个(例如,k(n+1)=k(n)+1)现有的运动组Gk之一。
固定组G0具有相关联的组历史GH0。k个现有的运动组Gk中的每一个具有相关联的组历史GHk、以及相关联的运动矢量Mk。每个现有的运动组Gk具有运动矢量Mk,其基本上是对于在时间上直至帧n的每个相似速度的Ti(n)的低通滤波|Ti(n)|。
每个新的运动组GN具有相关联的组历史GHN(n),该组历史GHN(n)在其创建的时候被初始化。移动对象分析器4470接收由多个组历史GH0(n),GH1(n),...GHJ(n)和GHK(n)和GHN(n)组成的场景历史,并依据它们计算排除决定ED(n)。
排除变换选择器4480在单位变换(UT)与集合主变换CP(n)之间执行选择。排除变换选择器4480由排除决定ED(n)控制,以使得输出主变换P(n)在ED(n)被激活时被设置为单位变换(UT),否则被设置为集合主变换CP(n)。单位变换(UT)将造成补偿单元在补偿期间什么都不做。因此,当运动对象分析器4470检测到“大的移动对象”情形并激活排除决定ED(n)时,排除大的移动对象的变换作为选择的主变换P(n),否则其可能被选择为主变换P(n)。结果,在检测到大的移动对象时,从图1的补偿单元6000执行的补偿中排除大的移动对象的变换。
图20是图示被配置为执行在图14的DIS电路的DIS方法中的步骤的图19的移动对象排除电路4400的细节的混合框图-流程图。图20图示分别对应于固定组G0、现有的运动组Gk、和新创建的运动组GN+1的代表性的组历史电路4410、4430、和4440的细节。
由图19的移动对象排除电路4400的移动对象分析器4470从组历史电路(例如4410)接收的组历史(例如H0(n))中的每个包括两种历史数据:与每个组组的选择历史(例如SH0(n))和存在历史(例如EH0(n))。
移动对象分析器4470如下地检测排除情形:在固定变换G0(n)的组历史GH0中指示的连续存在和选择指示对于许多帧已经存在具有几乎固定背景的场景;具体运动组GK的组历史GHK中连续存在的逐渐增加的数量指示对象正移动进入场景;如果存在和运动的该趋势继续,并且如果在时间(n)没有固定变换加入G0,而是选择的变换P(n)加入GK,则检测到大的移动对象情形,并且被激活的排除决定ED(n)被发送到主变换选择器4160-2。如果ED(n)指示大对象排除情形,则将主变换P(n)设置为单位变换,否则根据Ti(n)的一些评分函数选择主变换P(n)。
组历史电路4410、4420、4430、4440中的每一个对于与所接收的帧间变换Ti(n)之一相关的每个组的三种历史信息执行存储和处理。三种组历史是选择历史、存在历史、和运动历史。在视频稳定启动时,创建具有空历史的固定组G0。固定组G0的运动历史可以被省略,并且假定为空。在DIS视频处理过程期间创建或删除运动组(G1,...,GK,...,GN)。
参考图20,分别与固定组G0、N个现有运动组Gk、和新创建的运动组GN+1对应的组历史电路4410、4430、和4440提供组历史GH0、GHk和GHN+1。
运动组G0的组历史电路4410包括用于存储选择历史SH0和存在历史EH0的历史0存储器。存在历史EH0对于每个过去帧是一比特的值,其指示在先前的帧中帧间变换Ti(n)是否已经加入到运动组G0。选择历史SH0对于每个过去帧是一比特的值,其指示在先前的帧中加入到运动组G0的帧间变换Ti(n)是否被选择为主变换P(n)。
固定组G0的组历史电路4410省略运动历史M0,因为对于包括选择的主变换P(n)的任何Ti(n)是否加入固定组G0的决定(决定步骤dS4418)取决于将Ti(n)与阈值thd0比较而不是与可变的基于历史的运动矢量M0比较,因为组G0被认为是固定的。在视频稳定启动时,创建具有空历史的固定组G0。
如果在帧n期间,Ti(n)满足|Ti(n)|<thd0(决定步骤dS4418的“是”分支),则:
该Ti(n)加入G0;
更新存在历史EH0以指示在帧n存在固定变换;以及
如果P(n)=该Ti(n),则更新选择历史SH0以指示选择该Ti(n)。
否则(决定步骤dS4418的“否”分支),在帧期间将不满足|Ti(n)|<thd0的那些Ti(n)与现有的运动组G1到GN中的每一个中的组历史进行比较。
运动组Gk的组历史电路4430包括用于存储选择历史SHk、存在历史EHk、和运动历史Mk的历史k存储器。存在历史EHk对于每个过去帧是一比特的值,其指示在先前的帧中帧间变换Ti(n)是否已经加入到运动组Gk。选择历史SHk对于每个过去帧是一比特的值,其指示在先前的帧中加入到运动组Gk的帧间变换Ti(n)是否被选择为主变换P(n)。
运动历史Mk存储指示组Gk的整体运动的矢量Mk的信息。每个Ti(n)还映射到运动矢量M。每个运动组Gk映射到运动矢量Mk。设|Ti(n)|是Ti(n)的运动矢量的大小,|Ti(n)-MK|是Ti(n)从现有的运动组Gk的运动矢量Mk的偏离,1≤K≤N,其中N是当前现有的运动组的数量。N个现有的运动组中具有最小|Ti(n)-MJ|的运动组GJ指示对于Ti(n)的最佳匹配组GJ。可以通过将|Ti(n)-MJ|与预定的阈值thd1进行比较来确定该加入决定。因此,例如,在决定步骤dS4438,如果对于特定的J以及在1和N之间的所有K,|Ti(n)-MJ|≤|Ti(n)-MK|,并且|Ti(n)-MJ|<thd1,(决定步骤dS4438的“是”分支),则该Ti(n)加入现有的运动组GJ。
如果对于所有K,|Ti(n)-MJ|≤|Ti(n)-MK|,并且|Ti(n)-MJ|<thd1,(决定步骤dS4438的“是”分支),则:
Ti(n)加入GJ;
调整运动历史MJ以反映新加入的Ti(n);
更新存在历史EHJ以指示在帧n处存在运动组GJ;
如果P(n)=该Ti(n),则更新选择历史SHJ,以指示选择该Ti(n)=P(n)。
另一方面,如果在对于Ti(n)并且对于所有现有的运动组(G1到GN)重复了决定步骤dS4438之后,没有一个MK满足|Ti(n)-MK|<thd1(决定步骤dS4438的“否”分支),则该Ti(n)加入新创建的运动组GN+1(步骤S4449)。如果该Ti(n)加入新创建的运动组GN+1(步骤S4449),则:
Ti(n)加入新创建的运动组GN+1;
将运动历史MN+1设置为该Ti(n)的运动矢量;
初始化存在历史EHN+1以指示在帧n处存在新的运动组GN+1;和
如果P(n)=该Ti(n),则更新选择历史SHN+1,以指示选择该Ti(n)=P(n)。
在扩展的时间段(帧)内没有任何Ti(n)加入其中的(G0到GJ当中的)任何运动组将被删除。
图21是在时间n捕获的视频帧、以及与从主变换P(n)计算的补偿变换C(n)相对应的补偿窗口的视图,示出要降低的垂直过度偏离。在依据本发明构思的示范性实施例的数字图像稳定(DIS)方法的步骤中,补偿窗口的垂直过度偏离被测量为v1。
如图21所示,与捕获的视频帧的补偿变换C(n)相对应的补偿窗口可以具有垂直过度偏离(v0或v1)、水平过度偏离(u0或u1)、或者垂直过度偏离(v0或v1)和水平过度偏离(u0或u1)两者。潜在的过度偏离(v0、v1、u0、和u1)中的每个可以由补偿变换C(n)的平移分量、由补偿变换C(n)的旋转分量、或者由补偿变换C(n)的平移分量和旋转分量两者引起。
期望通过基于偏离历史自适应地对主变换P(n)进行滤波来输出用于每个捕获的视频帧的滤波的补偿变换C(n)以将(v0v1,u0,和u1)的过度偏离最小化。
图22是依据本发明构思的另一示范性实施例的执行数字图像稳定(DIS)方法的DIS电路的框图。该DIS电路包括:检测单元(DU)2000,其分析接收的抖动视频并且输出帧间变换Ti(n);轨迹单元(TU)4000,包括识别Ti(n)当中的主变换P(n)的主变换选择电路(4100,4200,4400)和将P(n)滤波为补偿变换C(n)自适应补偿滤波器8000;以及补偿单元(CU)6000,其通过使用C(n)修改抖动视频帧而输出稳定的视频。
主变换选择电路(4100,4200,4400)通过识别由不稳定摄像头引起的全局运动的帧间变换Ti(n)且同时忽略场景中移动对象的帧间变换Ti(n)而选择帧间变换Ti(n)之一作为主变换P(n),并且输出其选择作为计算的主变换P(n)。因此,DIS电路的主变换选择电路(4100,4200,4400)选择并输出帧间变换Ti(n)之一作为所计算的主变换P(n)。通过自适应地对主变换P(n)进行滤波而获得补偿变换C(n)。补偿变换C(n)是稳定的视频图像(补偿窗口)相对于对应的输入视频图像的几何关系的描述。该描述可以包含位置、角度、缩放等。一些常用补偿变换是相似变换和仿射变换,然而本发明构思不限于这些变换,我们将使用仿射变换来例示根据本发明构思的示范性方法。
主变换选择电路(4100,4200,4400)依序将连续帧序列的选择的主变换P(n-∞)、...、P(n-1)、P(n)输出到自适应补偿滤波器8000,其中,主变换P(n-∞)指示使用递归(有限冲击响应IIR)滤波器。自适应补偿滤波器8000从由主变换序列P(n-∞)、...、P(n-1)、P(n)表示的抖动运动中估计有意的摄像头轨迹,并且根据估计的摄像头轨迹输出补偿变换C(n)。
稳定的视频的视觉效果高度依赖于自适应补偿滤波器8000的质量。传统的轨迹估计方法包括运动矢量积分和卡尔曼滤波器等。然而,这些以及其它的传统轨迹估计方法不能在宽范围的抖动视频特性中很好地执行。在本发明构思的示范性实施例中,使用自适应补偿滤波器来滤除抖动运动,并且产生稳定的视频。
图23是图22的DIS电路的轨迹单元(TU)4000中被配置为基于补偿窗口偏离历史而自适应地对主变换P(n)进行滤波的自适应补偿滤波器8000的框图。自适应补偿滤波器8000基于连续帧序列的接收的主变换P(n-∞)、...、P(n-1)、P(n),对主变换P(n)进行滤波并输出自适应滤波后的补偿变换C(n)。
自适应补偿滤波器8000包括强补偿滤波器(SC)8700、弱补偿滤波器(WC)8600、用于输出控制信号E(n)的自适应滤波器控制电路8500、以及偏离调制混合器8200。SC滤波器是高频率选择性高阶线性时间不变数字滤波器,对于非常抖动的输入视频而言是有效的。另一方面,弱补偿(WC)滤波器具有更低的频率选择特性,其将以更不稳定的输出视频为代价产生更少的补偿窗口过度偏离。
自适应补偿滤波器8000有效地是SC滤波器和WC滤波器的组合。偏离调制混合器8200基于自适应滤波器控制器8500在补偿窗口偏离历史的基础上产生并输出的控制信号E(n),执行SC滤波器和WC滤波器输出的混合。
图24是图22的DIS电路的轨迹单元(TU)4000的自适应补偿滤波器8000的第一示范性实现8000-1的框图。示范性自适应补偿滤波器8000-1包括强补偿滤波器8700和弱补偿滤波器8600、以及到自适应滤波器控制器8500-1的偏离计算器8510中的反馈环。
参考图24,强补偿滤波器(SC)8700是高阶线性时间不变递归数字滤波器,并且具有高频率选择性输出F(n),所述高阶线性时间不变递归数字滤波器具有处于大约1.0Hz的截止频率以及锐滚降(sharp rolloff)以获得在视觉上被良好稳定的视频。
弱补偿滤波器(WC)8600是高阶或更低阶线性时间不变递归数字滤波器。WC 8600具有更低频率选择的输出G(n),其具有稍稍高于1Hz的截止频率(例如,处于1.2Hz)以及软滚降以减少过度偏离。
自适应补偿滤波器8000-1的偏离调制混合器8200-1执行根据标量控制信号E(n)组合F(n)和G(n)的偏离调制自适应滤波。SC滤波器的输出F(n)和WC滤波器的输出G(n)两者都是中间补偿变换,并且偏离调制混合器8200-1的输出C(n)也是补偿变换。偏离调制混合器8200-1输出C(n)=(1-E(n))*F(n)+E(n)*G(n),其中E(n)是在范围[0,1]中的非线性归一化标量控制信号,“*”是在标量与变换之间的乘法运算,映射到变换;而“+”是两个变换之间的加法运算,映射到变换。因此,该示范性实施例中的自适应补偿滤波器8000-1是SC滤波器和WC滤波器的线性组合。因此,自适应补偿滤波器8000-1有效地是依据线性叠加原理而具备已知的稳定特性的高阶线性时间不变递归数字滤波器。
线性组合的补偿变换C(n)由基于补偿窗口偏离历史的标量控制信号E(n)来控制。历史中的小偏离产生小的E(n)并且由此对于当前帧n增加SC滤波器的影响,而历史中的大偏离产生接近1的E(n)并且由此对于当前帧n增加WC滤波器的影响。存储历史中的中度偏离分配SC滤波器和WC滤波器的成比例的影响。
因此,SC滤波器在小偏离时提供主要贡献,并且在滤除高频抖动时非常有效。由于WC滤波器在更大偏离时贡献更多,因此大大减少过度偏离的出现。自适应补偿滤波器8000-1对于大移动输入视频防止过量过度偏离,同时保持极好的视频稳定特性。
参考图24,自适应滤波器控制器8500-1包括偏离计算器8510、四个偏离历史积分器8520、以及调制因子计算器8530-1。自适应滤波器控制器8500-1是反馈环的一部分。从之前的自适应补偿滤波器输出C(n-∞)、...、C(n-2)、C(n-1)中导出偏离计算器8510的输出E(n),其中n代表其时间序列特征,从而E(n)和C(n)不形成不可实现的无延迟环。因此,示范性实施例适合用于实时视频稳定,并且包括具有可预测特性的因果线性时变滤波器。
偏离计算器8510接收由偏离调制混合器8200-1输出的补偿变换C(n)的反馈。偏离计算器8510包括u0计算器、u1计算器、v0计算器、和v1计算器,用于基于补偿窗口的四个角点的位置(参见图21)分离地计算每帧的左、右、下方、和上方的偏离。
自适应补偿滤波器8500-1通过使用递归滤波器保持偏离历史。偏离计算器8510的每侧偏离计算器的输出然后被偏离历史积分器(其实质上是低通递归滤波器)单独地时间积分。每个低通递归滤波器(Hu0、Hu1、Hv0、Hv1)的输出然后被馈送给调制因子计算器8530-1。调制因子计算器8530-1选择四个时间积分的偏离幅度(Hu0、Hu1、Hv0、Hv1)中的最大值,并且产生具有连续范围[0,1]的非线性归一化标量控制信号E(n)。
调制因子计算器8530-1输出非线性归一化标量控制信号E(n)以便调制F(n)和G(n)的混合。E(n)的小值暗示小偏离历史,E(n)的大值暗示大偏离历史。
因此,在标量控制信号E(n)的控制下F(n)和G(n)的混合产生并输出补偿变换C(n)是基于补偿窗口偏离历史的。该示范性实施例提供没有频率过度偏离的良好的稳定,并且具有已知的频率响应和可预测的稳定特性,适合用于实时视频稳定。
上面公开的主题被考虑为是例示性的而不非限制性的,所附权利要求书预期覆盖所有这种修改、改进、以及落入本发明构思的真正精神和范围内的其它实施例。因此,对于法律所允许的最大程度,本发明构思的范围应由所附权利要求书及其等同物的最广可允许解释来确定,而不应被上面具体描述局限和限制。
相关申请的交叉引用
本发明要求2010年12月23日向美国专利商标局提交的两件美国临时申请:编号61/426,970和编号61/426,975的优先权。两件临时申请的公开内容通过引用合并于此。
Claims (11)
1.一种处理视频数据的方法,包括:
接收代表第一图像帧的第一图像数据;
将第一图像帧的部分划分为多个瓦片;
识别每个瓦片中的特征点;
接收代表第二帧的第二图像数据;
导出与识别的特征点对应的特征点运动矢量;
将运动矢量分组为具有相似的运动特性的运动矢量组;
选择包含代表第一图像帧的场景内的固定对象的移动的运动矢量的组;以及
通过使用包括变换特征数量分数和变换范围分数中的至少一个的评分函数在第一组运动矢量的变换当中进行选择,来识别补偿变换。
2.如权利要求1所述的方法,进一步包括导出与每个瓦片对应的瓦片运动矢量。
3.如权利要求1所述的方法,其中基于矢量幅度比和角度差将运动矢量分组为运动矢量组。
4.如权利要求1所述的方法,进一步包括:基于时间积分的偏离,自适应地对补偿变换进行滤波以防止补偿窗口的过量过度偏离。
5.如权利要求1所述的方法,进一步包括:识别场景中的大移动对象并且排除与该大移动对象对应的补偿变换。
6.一种图像处理电路,包括:
接收器,被配置为接收图像数据的帧;
存储器,被配置为存储具有第一运动特性的第一组运动矢量和具有第二运动特性的第二组运动矢量;
变换选择器,被配置为从第一组运动矢量和第二组运动矢量中识别代表要补偿的摄像头移动的补偿变换;以及
自适应滤波器,被配置为基于非线性归一化的时间积分的偏离来防止补偿窗口的过量过度偏离。
7.一种摄像头,包括:
图像传感器,被配置为捕获图像;
图像数据电路,被配置为将捕获的图像转换为图像数据的帧;
图像处理电路,包括:
接收器,被配置为接收图像数据的帧;
运动矢量检测器,被配置为检测对象的运动并产生运动矢量;
变换选择器,被配置为从运动矢量的变换中识别代表要补偿的摄像头移动的补偿变换;
自适应滤波器,被配置为对补偿窗口的过度偏离进行滤波;以及
补偿电路,被配置为基于补偿变换和自适应滤波器的输出来调整捕获的图像。
8.如权利要求7所述的摄像头,进一步包括分组电路,被配置为将运动矢量分组到包括特征点组和瓦片组的至少两个组中的一个组中,所述瓦片组包括从视频帧划分的非重叠瓦片。
9.如权利要求7所述的摄像头,其中,所述变换选择器被配置为基于从历史、运动、特征、和范围分数中选择的多个评分函数来识别补偿变换。
10.如权利要求7所述的摄像头,其中所述自适应滤波器被配置为基于非线性归一化的时间积分的偏离来防止补偿窗口的过量过度偏离。
11.如权利要求7所述的摄像头,其中,所述自适应滤波器被配置为通过使用递归滤波器来保持偏离历史。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201061426970P | 2010-12-23 | 2010-12-23 | |
US201061426975P | 2010-12-23 | 2010-12-23 | |
US61/426,970 | 2010-12-23 | ||
US61/426,975 | 2010-12-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102572277A true CN102572277A (zh) | 2012-07-11 |
CN102572277B CN102572277B (zh) | 2016-12-14 |
Family
ID=
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103314570A (zh) * | 2010-11-12 | 2013-09-18 | 三星电子株式会社 | 用于通过补偿相机的视向的视频稳定方法和设备 |
CN104077099A (zh) * | 2014-06-18 | 2014-10-01 | 上海德晨电子科技有限公司 | 一种智能终端平台支持更高分辨率的方法 |
CN104349039A (zh) * | 2013-07-31 | 2015-02-11 | 展讯通信(上海)有限公司 | 视频防抖方法和装置 |
CN104718560A (zh) * | 2012-10-09 | 2015-06-17 | Sk电信有限公司 | 用于估计单体的大小的图像监测装置及其方法 |
CN104796580A (zh) * | 2014-01-16 | 2015-07-22 | 北京亿羽舜海科技有限公司 | 一种基于选择集成的实时稳像视频巡检系统 |
CN105323420A (zh) * | 2014-07-29 | 2016-02-10 | 腾讯科技(深圳)有限公司 | 视频图像处理方法及装置 |
CN109327712A (zh) * | 2018-09-18 | 2019-02-12 | 中国科学院自动化研究所 | 固定场景的视频消抖方法 |
CN110493599A (zh) * | 2019-07-05 | 2019-11-22 | 西安万像电子科技有限公司 | 图像识别方法及装置 |
CN110708458A (zh) * | 2018-07-10 | 2020-01-17 | 杭州海康威视数字技术股份有限公司 | 一种图像帧补偿方法、摄像机和热成像摄像机 |
CN110830707A (zh) * | 2018-08-10 | 2020-02-21 | 华为技术有限公司 | 镜头控制方法、装置及终端 |
JP2021524960A (ja) * | 2018-05-31 | 2021-09-16 | アリババ グループ ホウルディング リミテッド | 映像ジッターを除去するための方法及び装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1471691A (zh) * | 2001-06-20 | 2004-01-28 | ���ṫ˾ | 图像处理设备和方法,以及图像捕获设备 |
CN1208970C (zh) * | 1999-09-13 | 2005-06-29 | 索尼公司 | 图像处理装置 |
US20060274834A1 (en) * | 2005-06-03 | 2006-12-07 | Marko Hahn | Method and device for determining motion vectors |
US20080107307A1 (en) * | 2006-06-15 | 2008-05-08 | Jean-Aymeric Altherr | Motion Detection Method, Motion Detection Program, Storage Medium in Which Motion Detection Program is Stored, and Motion Detection Apparatus |
US20080165852A1 (en) * | 2007-01-05 | 2008-07-10 | Sony Corporation | Video coding system |
US20100271494A1 (en) * | 2009-04-23 | 2010-10-28 | Canon Kabushiki Kaisha | Motion vector detection apparatus, motion vector detection method, and image capturing apparatus |
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1208970C (zh) * | 1999-09-13 | 2005-06-29 | 索尼公司 | 图像处理装置 |
CN1471691A (zh) * | 2001-06-20 | 2004-01-28 | ���ṫ˾ | 图像处理设备和方法,以及图像捕获设备 |
US20060274834A1 (en) * | 2005-06-03 | 2006-12-07 | Marko Hahn | Method and device for determining motion vectors |
US20080107307A1 (en) * | 2006-06-15 | 2008-05-08 | Jean-Aymeric Altherr | Motion Detection Method, Motion Detection Program, Storage Medium in Which Motion Detection Program is Stored, and Motion Detection Apparatus |
US20080165852A1 (en) * | 2007-01-05 | 2008-07-10 | Sony Corporation | Video coding system |
US20100271494A1 (en) * | 2009-04-23 | 2010-10-28 | Canon Kabushiki Kaisha | Motion vector detection apparatus, motion vector detection method, and image capturing apparatus |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103314570A (zh) * | 2010-11-12 | 2013-09-18 | 三星电子株式会社 | 用于通过补偿相机的视向的视频稳定方法和设备 |
CN103314570B (zh) * | 2010-11-12 | 2017-04-26 | 三星电子株式会社 | 用于通过补偿相机的视向的视频稳定方法和设备 |
CN104718560A (zh) * | 2012-10-09 | 2015-06-17 | Sk电信有限公司 | 用于估计单体的大小的图像监测装置及其方法 |
CN104718560B (zh) * | 2012-10-09 | 2017-05-17 | Sk电信有限公司 | 用于估计单体的大小的图像监测装置及其方法 |
CN104349039A (zh) * | 2013-07-31 | 2015-02-11 | 展讯通信(上海)有限公司 | 视频防抖方法和装置 |
CN104349039B (zh) * | 2013-07-31 | 2017-10-24 | 展讯通信(上海)有限公司 | 视频防抖方法和装置 |
CN104796580B (zh) * | 2014-01-16 | 2018-07-31 | 北京亿羽舜海科技有限公司 | 一种基于选择集成的实时稳像视频巡检系统 |
CN104796580A (zh) * | 2014-01-16 | 2015-07-22 | 北京亿羽舜海科技有限公司 | 一种基于选择集成的实时稳像视频巡检系统 |
CN104077099A (zh) * | 2014-06-18 | 2014-10-01 | 上海德晨电子科技有限公司 | 一种智能终端平台支持更高分辨率的方法 |
CN104077099B (zh) * | 2014-06-18 | 2017-09-29 | 浙江德景电子科技有限公司 | 一种智能终端平台支持更高分辨率的方法 |
CN105323420A (zh) * | 2014-07-29 | 2016-02-10 | 腾讯科技(深圳)有限公司 | 视频图像处理方法及装置 |
CN105323420B (zh) * | 2014-07-29 | 2019-02-22 | 腾讯科技(深圳)有限公司 | 视频图像处理方法及装置 |
JP2021524960A (ja) * | 2018-05-31 | 2021-09-16 | アリババ グループ ホウルディング リミテッド | 映像ジッターを除去するための方法及び装置 |
CN110708458A (zh) * | 2018-07-10 | 2020-01-17 | 杭州海康威视数字技术股份有限公司 | 一种图像帧补偿方法、摄像机和热成像摄像机 |
CN110708458B (zh) * | 2018-07-10 | 2021-03-23 | 杭州海康微影传感科技有限公司 | 一种图像帧补偿方法、摄像机和热成像摄像机 |
CN110830707A (zh) * | 2018-08-10 | 2020-02-21 | 华为技术有限公司 | 镜头控制方法、装置及终端 |
CN110830707B (zh) * | 2018-08-10 | 2022-01-14 | 华为技术有限公司 | 镜头控制方法、装置及终端 |
US11375097B2 (en) | 2018-08-10 | 2022-06-28 | Huawei Technologies Co., Ltd. | Lens control method and apparatus and terminal |
CN109327712A (zh) * | 2018-09-18 | 2019-02-12 | 中国科学院自动化研究所 | 固定场景的视频消抖方法 |
CN110493599A (zh) * | 2019-07-05 | 2019-11-22 | 西安万像电子科技有限公司 | 图像识别方法及装置 |
CN110493599B (zh) * | 2019-07-05 | 2021-10-26 | 西安万像电子科技有限公司 | 图像识别方法及装置 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102547119A (zh) | 数字图像稳定设备和方法 | |
US10990191B2 (en) | Information processing device and method, program and recording medium for identifying a gesture of a person from captured image data | |
KR101468351B1 (ko) | 대상물 추적 장치, 대상물 추적 방법 및 제어 프로그램 | |
US8270724B2 (en) | Image signature matching device | |
CN113112519B (zh) | 基于感兴趣目标分布的关键帧筛选方法 | |
CN104702852B (zh) | 用于高动态范围成像的使用照相机阵列的差异估计的技术 | |
US8111877B2 (en) | Image processing device and storage medium storing image processing program | |
CN109214403B (zh) | 图像识别方法、装置及设备、可读介质 | |
CN101984463A (zh) | 全景图合成方法及装置 | |
EP2023596A2 (en) | Apparatus and program for producing as panoramic image | |
CN105608667A (zh) | 一种全景拼接的方法及装置 | |
US20170046816A1 (en) | Super resolution image enhancement technique | |
CN112001946B (zh) | 一种目标对象跟踪方法、计算机设备以及装置 | |
US20140126819A1 (en) | Region of Interest Based Image Registration | |
DE112017002156B4 (de) | Beweglicher roboter, system für mehrere bewegliche roboter, und kartenlernverfahren für bewegliche roboter | |
CN110263699A (zh) | 视频图像处理方法、装置、设备及存储介质 | |
JP5429564B2 (ja) | 画像処理装置および方法、並びにプログラム | |
CN104809705B (zh) | 一种基于阈值块匹配的图像去噪的方法和系统 | |
CN106922181A (zh) | 方向感知自动聚焦 | |
CN102572277B (zh) | 图像处理方法和电路及摄像头 | |
WO2010118989A1 (en) | Image region interpolation | |
CN105898151A (zh) | 图像处理方法及装置 | |
CN103366174A (zh) | 图像信息获取的方法及系统 | |
JP6770847B2 (ja) | チャンネル識別システム、装置、方法及びプログラム | |
CN102547118B (zh) | 数字图像稳定设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |