基于共同处理元件执行视频稳定化和检测视频镜头边界的技术的制作方法

文档序号:7739187阅读:190来源:国知局
专利名称:基于共同处理元件执行视频稳定化和检测视频镜头边界的技术的制作方法
技术领域
本文中公开的主题一般涉及使用共同处理元件来执行视频稳定化和检测视频镜头(shot)边界的技术。
背景技术
视频稳定化旨在改进数字摄影机(video camera)所捕捉的视频序列的视觉质量。 当摄像机(camera)是手持式的或安装在不稳定的平台上时,捕捉的视频能够由于不想要的摄像机运动而显得摇晃,这导致降级的观众体验。视频稳定化技术能够用于消除或减少捕捉的视频帧中不想要的运动。视频通常由场景组成,并且每个场景包括一个或多个镜头。镜头被定义为在单个连续动作中由单个摄像机捕捉的帧序列。从一个镜头到另一镜头的变化也称为镜头转变, 包括两种关键类型突变(abrupt transition, CUT)和渐变(gradual transition, GT)。 视频镜头边界检测旨在检测镜头边界帧。视频镜头边界检测能够在各种应用中被应用,例如视频编码、视频索引、视频检索及视频编辑中的内部帧识别。


在图中,本发明的实施例以示例方式而不是以限制方式示出,并且图中,相似的引用标号表示类似的要素。图1示出根据一实施例的视频稳定化系统的框图格式。图2示出根据一实施例的帧间主要运动估计模块的框图。图3提供根据一实施例的为改进视频稳定化而执行的过程的流程图。图4示出根据一实施例的镜头边界检测系统的框图。图5提供根据一实施例的镜头边界判定方案的过程。图6示出根据一实施例的执行视频稳定化和镜头边界检测的系统的框图。图7示出使用搜索窗口来识别参考帧中匹配块的示例,其中匹配块对应于当前帧中的目标块。
具体实施例方式遍及此说明书对“一个实施例”或“一实施例”的引用指连同该实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,遍及此说明书各个位置中出现的“在一个实施例中”或“一实施例”短语不一定全部指相同实施例。此外,特定的特征、结构或特性可在一个或多个实施例中被组合。图形处理系统可需要支持多个视频处理特征及各种视频编码或解码标准。各种实施例允许图形处理系统支持视频稳定化和视频镜头边界检测特征。具体而言,各种实施例允许图形处理系统为视频稳定化和镜头边界检测使用某些处理能力。在一些实施例中,图形处理系统的下采样和块运动搜索特征用于视频稳定化和视频镜头边界检测。特征的再使用可降低制造图形处理系统的成本,并且也降低图形处理系统的大小。各种实施例能够根据多种标准来编码或解码视频或静态图像,所述标准例如但不限于MPEG-4第10部分高级视频编解码器(AVC)/H. 264。H. 264标准已由联合视频小组 (Joint Video Team, JVT)来制定,它包括也称为VCEG (视频编码专家组)的ITU-T SG16 Q. 6和称为MPEG (运动图片专家组)的ISO-IEC JTC1/SC29/WG11 (2003)。另外,实施例可在多种静态图像或视频压缩系统中被使用,包括但不限于面向对象的视频编码、基于模型的视频编码、可伸缩视频编码及MPEG-2 (从瑞士日内瓦的国际标准化组织可得到的IS0/IEC 13818-1(2000))、VCI (从 SMPTE White Plains, NY 10601 可得到的 SMPTE421M(2006))及 MPEG-4,MPEG-2 和 VCl 的变型。图1以框图格式示出根据一实施例的视频稳定化系统100。视频稳定化系统100 包括帧间主要运动估计(DME)块102、轨迹(trajectory)计算块104、轨迹平滑块106及抖动补偿块108。帧间DME块102要确定视频序列中两个连续帧之间的摄像机震动。帧间DME 块102要识别本地运动向量,并随后基于那些本地运动向量来确定主要运动参数。轨迹计算块104要通过那些确定的主要运动参数来运算运动轨迹。轨迹平滑块106要平滑运算出的运动轨迹以提供更平滑的轨迹。抖动补偿模块108要降低更平滑的轨迹中的抖动。图2示出根据一实施例的帧间主要运动估计模块200的框图。模块200包括帧下采样块202、参考缓冲器204、块运动搜索块206、迭代最小二乘解答器块208及运动增大 (up-scaling)块 210。下采样块202要将输入帧减小(down scale)到更小大小。例如,可使用大约4_5 的下采样因子,但能够使用其它值。在一些实施例中,下采样块202提供大约为160x120个像素的更小大小的帧。所得到的减小的帧具有更少数量的块。由于共同处理元件的设计, 块可以是8x8、16xl6或其它大小。通常,使用16x16块。减小过程还减小块运动向量。在各种实施例中,运动向量表示帧之间的像素、块或图像的垂直和水平位移。减小帧还减小两个帧之间的χ和y运动。例如,如果下采样因子是4,并且运动向量是(20,20),则下采样的运动向量将在减小的帧中大约是(5,5)。结果,更小图片上的窗口 /区域受限块运动搜索能够包括原始帧上更大的运动。相应地,能够降低用于识别过程块的处理速度和处理资源。下采样块202要将下采样的帧存储到参考缓冲器204中。参考缓冲器204可以是可用于至少在执行视频稳定化和镜头边界检测中使用的存储器中的区域。该区域可以是缓冲器或缓冲器的一部分。例如,如果该区域是缓冲器的一部分,则相同缓冲器的其它部分能够由其它应用或过程同时或在其它时间来使用。在各种实施例中,为了视频稳定化和镜头边界检测使用了单个参考帧。因此,参考缓冲器的大小能够设为存储一个帧。在参考缓冲器每次更新时,参考帧能够被替代为另一参考帧。块运动搜索块206要从下采样块202接收下采样的当前帧,并且还要从参考缓冲器204接收下采样的以前参考帧。块运动搜索块206要识别预定义的搜索窗口内选择的块的本地运动向量。例如,识别的运动向量能够是与搜索窗口中相对于当前帧中目标块带有最小绝对差和(SAD)的块相关联的运动向量。搜索窗口中的块可以是宏块或小的块,例如 8x8个像素,但其它大小能够被使用。在一些实施例中,块大小是16x16个像素,并且搜索窗口能够设为48x32个像素。在各种实施例中,块运动搜索块206不搜索与帧边界上的块相
6关联的运动向量。在一些实施例中,块运动搜索块206要确定对于每个帧的宏块的绝对差和(SAD)。 例如,为帧中的每个宏块确定SAD可包括比较参考帧的每个16x16像素宏块和当前帧中的 16x16像素宏块。例如,在一些实施例中,能够比较参考帧的48x32像素搜索窗口内的所有宏块和当前帧中的目标16x16像素宏块。能够逐一或以棋盘图案来挑选目标宏块。对于完全搜索,可比较48x32搜索窗口中的所有宏块和目标宏块。因此,能够比较32x16(512)个宏块。当在48x32搜索窗口内移动16x16宏块时,能够有32x16个位置来移动。因此,在此示例中,确定512个SAD。图7示出使用搜索窗口来识别参考帧中匹配块的示例,其中匹配块对应于当前帧中的目标块。示范块运动搜索可包括以下步骤。(1)选择当前帧中的多个目标块。假设目标块的坐标是(X_i,y_i),其中,i是块索引。能够逐一来选择当前帧中的目标块。但是,能够使用其它选择技术,例如以棋盘方式选择它们。(2)对于当前帧中的目标块i,块运动搜索在搜索窗口中用于识别匹配块和获得本地运动向量(mvx_i,mvy_i)。在参考帧中对于目标块i查找搜索窗口中的匹配块能够包括比较参考帧搜索窗口中的所有候选块和目标块,并且带有最小SAD的一个块被认为是匹配块。(3)在对于块i的块运动搜索后,运算x' _i = x_i+mvx_i和y ‘ _i = y_i+mvy_ i。随后,(x_i,y_i)和(x' _i,y' _i)被视为一对。(4)在为当前帧中所有选择的目标块执行块运动搜索后,获得多个对(x_i,y_i) 和(x' _i,y' _i)。如图7中所示,对于当前帧中的一个目标块(X,y),48x32搜索窗口在参考帧中被指定,并且搜索窗口的位置能够由(χ,y)来定中心。在通过块运动搜索在搜索窗口中查找匹配块后,获得对于目标块的本地运动向量(mvx,mvy)。匹配块的坐标(χ',y')是χ' =x+mvx, y' = y+mvy。随后,(x,y)禾Π (χ',y')被视为一对。再次参照图2,迭代最小二乘解答器208要基于至少两个识别的本地运动向量来确定主要运动参数。在一些实施例中,迭代最小二乘解答器208要应用图2中所示的相似性运动模型来近似主要帧间运动参数。相似性运动模型还能够以下面的等式(1)的格式来编与。
权利要求
1.一种设备,包括帧间主要运动估计逻辑,确定当前帧的运动参数和确定所述当前帧中块的绝对差和; 镜头边界判定逻辑,部分地基于所述绝对差和来确定所述当前帧是否是场景改变帧;以及视频稳定化块,部分地基于所述运动参数来提供当前帧序列的更稳定化版本。
2.如权利要求1所述的设备,其中所述帧间主要运动估计逻辑在硬件中实现。
3.如权利要求1所述的设备,其中所述帧间主要运动估计逻辑要 减小所述当前帧;将所减小的当前帧存储到缓冲器的一部分中; 确定当前帧和参考帧中的块之间的绝对差和; 确定所减小的帧的帧间主要运动参数;以及增大所述帧间主要运动参数。
4.如权利要求3所述的设备,其中确定所减小的帧的帧间主要运动参数的逻辑要 在搜索窗口中识别在参考帧中相对于目标块带有最小绝对差和的匹配块;确定所述匹配块的本地运动向量;部分地基于所述本地运动向量来确定所述匹配块的坐标;以及应用相似性运动模型以部分地基于所述匹配块的坐标和所述目标块的坐标来确定所述主要运动参数。
5.如权利要求4所述的设备,其中确定所减小的帧的帧间主要运动参数的逻辑还要 忽视任何异常本地运动向量。
6.如权利要求1所述的设备,其中所述视频稳定化块包括 轨迹计算块,部分地基于所述运动参数来确定所述当前帧的轨迹; 轨迹平滑块,增加所述当前帧的轨迹的平滑度;以及抖动补偿块,降低所述当前帧的轨迹中的抖动。
7.如权利要求6所述的设备,其中所述视频稳定化块还要部分地基于所述运动轨迹与所述更平滑的轨迹之间的差别来确定抖动运动参数;以及用所述抖动运动参数来扭曲所述当前帧。
8.如权利要求1所述的设备,其中所述镜头边界判定逻辑要 确定所述当前帧中所有块的绝对差和的平均值;以及部分地基于其绝对差和大于阈值的块的数量来确定所述当前帧是否是镜头边界帧。
9.一种系统,包括确定当前帧的运动参数和确定所述当前帧中块的绝对差和的硬件实现的帧间主要运动估计器;部分地基于所述绝对差和来确定所述当前帧是否是场景改变帧的逻辑; 部分地基于所述运动参数来提供所述当前帧的更稳定化版本的逻辑;以及接收和显示视频的显示器。
10.如权利要求9所述的系统,其中确定的逻辑和提供的逻辑存储在计算机可读媒体上并且由处理器来运行。
11.如权利要求9所述的系统,其中所述帧间主要运动估计器要减小所述当前帧;将所减小的当前帧存储到缓冲器的一部分中; 确定当前帧和参考帧中的块之间的绝对差和; 确定所减小的帧的帧间主要运动参数;以及增大所述帧间主要运动参数。
12.如权利要求9所述的系统,其中提供所述当前帧的更稳定化版本的逻辑包括 部分地基于所述运动参数来确定所述当前帧的轨迹的逻辑;增加所述当前帧的轨迹的平滑度的逻辑; 降低所述当前帧的轨迹中的抖动的逻辑;部分地基于所述轨迹与所述更平滑的轨迹之间的差别来确定抖动运动参数的逻辑;以及用所述抖动运动参数来扭曲所述当前帧的逻辑。
13.如权利要求9所述的系统,其中部分地基于所述绝对差和来确定所述当前帧是否是场景改变帧的逻辑包括确定所述当前帧中块的绝对差和的平均值的逻辑;以及部分地基于其绝对差和大于阈值的块的数量来确定所述当前帧是否是镜头边界帧的逻辑。
14.一种计算机实现的方法,包括 接收视频的当前帧;减小所述当前帧;将所减小的当前帧存储到缓冲器的一部分中;确定减小的参考帧中的块与所减小的当前帧中的目标块之间的绝对差和; 确定所减小的当前帧的帧间主要运动参数;以及部分地基于所述绝对差和以及所述运动参数的至少一个来执行视频稳定化和镜头边界检测的至少一个。
15.如权利要求14所述的方法,还包括 增大所述帧间主要运动参数。
16.如权利要求14所述的方法,其中确定所减小的当前帧的帧是主要运动参数包括 在搜索窗口中识别在参考帧中相对于所述目标块带有最小绝对差和的匹配块; 确定所述匹配块的本地运动向量;忽视任何异常本地运动向量;部分地基于所述本地运动向量来确定所述匹配块的坐标;以及应用相似性运动模型以部分地基于所述匹配块的坐标和所述目标块的坐标来确定所述主要运动参数。
17.如权利要求14所述的方法,其中所述执行视频稳定化包括 部分地基于所述运动参数来确定所述当前帧的轨迹;增加所述当前帧的轨迹的平滑度; 降低所述当前帧的轨迹中的抖动;部分地基于所述轨迹与所述更平滑的运动轨迹之间的差别来确定抖动运动参数;以及用所述抖动运动参数来扭曲所述当前帧。
18.如权利要求14所述的方法,其中所述执行镜头边界检测包括 确定所述当前帧中块的绝对差和的平均值;以及部分地基于其绝对差和大于阈值的块的数量来确定所述当前帧是否是镜头边界帧。
19.如权利要求14所述的方法,其中所述减小,存储,确定绝对差和、以及确定帧间主要运动参数在硬件中实现。
20.如权利要求14所述的方法,其中所述执行视频稳定化和镜头边界检测的至少一个被实现为处理器运行的软件指令。
全文摘要
本文公开了用于执行视频稳定化和检测视频镜头边界的设备、系统和方法。所述方法包括接收视频的当前帧;减小该当前帧;将该减小的当前帧存储到缓冲器的一部分中;确定减小的参考帧中的块与该减小的当前帧中的目标块之间的绝对差和;确定该减小的当前帧的帧间主要运动参数;以及部分地基于绝对差和以及运动参数的至少一个来执行视频稳定化和镜头边界检测的至少一个。
文档编号H04N5/14GK102474568SQ200980160949
公开日2012年5月23日 申请日期2009年8月12日 优先权日2009年8月12日
发明者L·徐, Q·黄, Y·邱 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1