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

上传人:e2 文档编号:4302125 上传时间:2018-09-13 格式:PDF 页数:17 大小:618.98KB
返回 下载 相关 举报
摘要
申请专利号:

CN200980160949.5

申请日:

2009.08.12

公开号:

CN102474568A

公开日:

2012.05.23

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04N 5/14申请日:20090812|||公开

IPC分类号:

H04N5/14

主分类号:

H04N5/14

申请人:

英特尔公司

发明人:

L·徐; Y·邱; Q·黄

地址:

美国加利福尼亚州

优先权:

专利代理机构:

中国专利代理(香港)有限公司 72001

代理人:

姜冰;朱海煜

PDF下载: PDF下载
内容摘要

本文公开了用于执行视频稳定化和检测视频镜头边界的设备、系统和方法。所述方法包括:接收视频的当前帧;减小该当前帧;将该减小的当前帧存储到缓冲器的一部分中;确定减小的参考帧中的块与该减小的当前帧中的目标块之间的绝对差和;确定该减小的当前帧的帧间主要运动参数;以及部分地基于绝对差和以及运动参数的至少一个来执行视频稳定化和镜头边界检测的至少一个。

权利要求书

1: 一种设备, 包括 : 帧间主要运动估计逻辑, 确定当前帧的运动参数和确定所述当前帧中块的绝对差和 ; 镜头边界判定逻辑, 部分地基于所述绝对差和来确定所述当前帧是否是场景改变帧 ; 以及 视频稳定化块, 部分地基于所述运动参数来提供当前帧序列的更稳定化版本。2: 如权利要求 1 所述的设备, 其中所述帧间主要运动估计逻辑在硬件中实现。3: 如权利要求 1 所述的设备, 其中所述帧间主要运动估计逻辑要 : 减小所述当前帧 ; 将所减小的当前帧存储到缓冲器的一部分中 ; 确定当前帧和参考帧中的块之间的绝对差和 ; 确定所减小的帧的帧间主要运动参数 ; 以及 增大所述帧间主要运动参数。4: 如权利要求 3 所述的设备, 其中确定所减小的帧的帧间主要运动参数的逻辑要 : 在搜索窗口中识别在参考帧中相对于目标块带有最小绝对差和的匹配块 ; 确定所述匹配块的本地运动向量 ; 部分地基于所述本地运动向量来确定所述匹配块的坐标 ; 以及 应用相似性运动模型以部分地基于所述匹配块的坐标和所述目标块的坐标来确定所 述主要运动参数。5: 如权利要求 4 所述的设备, 其中确定所减小的帧的帧间主要运动参数的逻辑还要 : 忽视任何异常本地运动向量。6: 如权利要求 1 所述的设备, 其中所述视频稳定化块包括 : 轨迹计算块, 部分地基于所述运动参数来确定所述当前帧的轨迹 ; 轨迹平滑块, 增加所述当前帧的轨迹的平滑度 ; 以及 抖动补偿块, 降低所述当前帧的轨迹中的抖动。7: 如权利要求 6 所述的设备, 其中所述视频稳定化块还要 : 部分地基于所述运动轨迹与所述更平滑的轨迹之间的差别来确定抖动运动参数 ; 以及 用所述抖动运动参数来扭曲所述当前帧。8: 如权利要求 1 所述的设备, 其中所述镜头边界判定逻辑要 : 确定所述当前帧中所有块的绝对差和的平均值 ; 以及 部分地基于其绝对差和大于阈值的块的数量来确定所述当前帧是否是镜头边界帧。9: 一种系统, 包括 : 确定当前帧的运动参数和确定所述当前帧中块的绝对差和的硬件实现的帧间主要运 动估计器 ; 部分地基于所述绝对差和来确定所述当前帧是否是场景改变帧的逻辑 ; 部分地基于所述运动参数来提供所述当前帧的更稳定化版本的逻辑 ; 以及 接收和显示视频的显示器。10: 如权利要求 9 所述的系统, 其中确定的逻辑和提供的逻辑存储在计算机可读媒体 上并且由处理器来运行。11: 如权利要求 9 所述的系统, 其中所述帧间主要运动估计器要 : 2 减小所述当前帧 ; 将所减小的当前帧存储到缓冲器的一部分中 ; 确定当前帧和参考帧中的块之间的绝对差和 ; 确定所减小的帧的帧间主要运动参数 ; 以及 增大所述帧间主要运动参数。12: 如权利要求 9 所述的系统, 其中提供所述当前帧的更稳定化版本的逻辑包括 : 部分地基于所述运动参数来确定所述当前帧的轨迹的逻辑 ; 增加所述当前帧的轨迹的平滑度的逻辑 ; 降低所述当前帧的轨迹中的抖动的逻辑 ; 部分地基于所述轨迹与所述更平滑的轨迹之间的差别来确定抖动运动参数的逻辑 ; 以 及 用所述抖动运动参数来扭曲所述当前帧的逻辑。13: 如权利要求 9 所述的系统, 其中部分地基于所述绝对差和来确定所述当前帧是否 是场景改变帧的逻辑包括 : 确定所述当前帧中块的绝对差和的平均值的逻辑 ; 以及 部分地基于其绝对差和大于阈值的块的数量来确定所述当前帧是否是镜头边界帧的 逻辑。14: 一种计算机实现的方法, 包括 : 接收视频的当前帧 ; 减小所述当前帧 ; 将所减小的当前帧存储到缓冲器的一部分中 ; 确定减小的参考帧中的块与所减小的当前帧中的目标块之间的绝对差和 ; 确定所减小的当前帧的帧间主要运动参数 ; 以及 部分地基于所述绝对差和以及所述运动参数的至少一个来执行视频稳定化和镜头边 界检测的至少一个。15: 如权利要求 14 所述的方法, 还包括 : 增大所述帧间主要运动参数。16: 如权利要求 14 所述的方法, 其中确定所减小的当前帧的帧是主要运动参数包括 : 在搜索窗口中识别在参考帧中相对于所述目标块带有最小绝对差和的匹配块 ; 确定所述匹配块的本地运动向量 ; 忽视任何异常本地运动向量 ; 部分地基于所述本地运动向量来确定所述匹配块的坐标 ; 以及 应用相似性运动模型以部分地基于所述匹配块的坐标和所述目标块的坐标来确定所 述主要运动参数。17: 如权利要求 14 所述的方法, 其中所述执行视频稳定化包括 : 部分地基于所述运动参数来确定所述当前帧的轨迹 ; 增加所述当前帧的轨迹的平滑度 ; 降低所述当前帧的轨迹中的抖动 ; 部分地基于所述轨迹与所述更平滑的运动轨迹之间的差别来确定抖动运动参数 ; 以及 3 用所述抖动运动参数来扭曲所述当前帧。18: 如权利要求 14 所述的方法, 其中所述执行镜头边界检测包括 : 确定所述当前帧中块的绝对差和的平均值 ; 以及 部分地基于其绝对差和大于阈值的块的数量来确定所述当前帧是否是镜头边界帧。19: 如权利要求 14 所述的方法, 其中所述减小, 存储, 确定绝对差和、 以及确定帧间主 要运动参数在硬件中实现。20: 如权利要求 14 所述的方法, 其中所述执行视频稳定化和镜头边界检测的至少一个 被实现为处理器运行的软件指令。

说明书


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

    技术领域 本文中公开的主题一般涉及使用共同处理元件来执行视频稳定化和检测视频镜 头 (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( 从瑞士日内瓦的国际标准化组织可得到的 ISO/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、 16x16 或其它大小。通常, 使用 16x16 块。减小过程还减小块运动向量。在 各种实施例中, 运动向量表示帧之间的像素、 块或图像的垂直和水平位移。 减小帧还减小两 个帧之间的 x 和 y 运动。例如, 如果下采样因子是 4, 并且运动向量是 (20, 20), 则下采样的 运动向量将在减小的帧中大约是 (5, 5)。 结果, 更小图片上的窗口 / 区域受限块运动搜索能 够包括原始帧上更大的运动。相应地, 能够降低用于识别过程块的处理速度和处理资源。
     下采样块 202 要将下采样的帧存储到参考缓冲器 204 中。参考缓冲器 204 可以是 可用于至少在执行视频稳定化和镜头边界检测中使用的存储器中的区域。 该区域可以是缓 冲器或缓冲器的一部分。 例如, 如果该区域是缓冲器的一部分, 则相同缓冲器的其它部分能 够由其它应用或过程同时或在其它时间来使用。在各种实施例中, 为了视频稳定化和镜头 边界检测使用了单个参考帧。因此, 参考缓冲器的大小能够设为存储一个帧。在参考缓冲 器每次更新时, 参考帧能够被替代为另一参考帧。
     块运动搜索块 206 要从下采样块 202 接收下采样的当前帧, 并且还要从参考缓冲 器 204 接收下采样的以前参考帧。块运动搜索块 206 要识别预定义的搜索窗口内选择的块 的本地运动向量。例如, 识别的运动向量能够是与搜索窗口中相对于当前帧中目标块带有 最小绝对差和 (SAD) 的块相关联的运动向量。搜索窗口中的块可以是宏块或小的块, 例如 8x8 个像素, 但其它大小能够被使用。 在一些实施例中, 块大小是 16x16 个像素, 并且搜索窗 口能够设为 48x32 个像素。在各种实施例中, 块运动搜索块 206 不搜索与帧边界上的块相关联的运动向量。
     在一些实施例中, 块运动搜索块 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 搜索窗口在参考帧中被 指定, 并且搜索窗口的位置能够由 (x, y) 来定中心。在通过块运动搜索在搜索窗口中查找 匹配块后, 获得对于目标块的本地运动向量 (mvx, mvy)。匹配块的坐标 (x′, y′ ) 是 x′ = x+mvx, y′= y+mvy。随后, (x, y) 和 (x′, y′ ) 被视为一对。
     再次参照图 2, 迭代最小二乘解答器 208 要基于至少两个识别的本地运动向量来 确定主要运动参数。在一些实施例中, 迭代最小二乘解答器 208 要应用图 2 中所示的相似 性运动模型来近似主要帧间运动参数。相似性运动模型还能够以下面的等式 (1) 的格式来 编写。
     其中 : (x′, y′ ) 表示参考帧中的匹配块坐标, (x, y) 表示当前帧中的块坐标, 以及 (a, b, c, d) 表示主要运动参数, 其中, 参数 a 和 b 涉及旋转, 以及参数 c 和 d 涉及转换。
     例如, 只要一直被使用, 块坐标 (x′, y′ ) 和 (x, y) 能够被定义为左上角、 右下角 或块的块中心。对于其坐标是 (x, y) 并且识别的本地运动向量 ( 来自块 206) 是 (mvx, mvy)的块, 通过 x′= x+mvx 和 y′= y+mvy 而获得其匹配块的坐标 (x′, y′ )。在各种实施例 中, 帧的所有 (x, y) 和 (x′, y′ ) 对在等式 (1) 中被使用。迭代最小二乘解答器块 208 要 通过使用最小二乘 (LS) 技术解等式 (1) 来确定运动参数 (a, b, c, d)。
     如果由迭代最小二乘解答器 208 考虑, 则异常 (outlier) 本地运动向量可不利地 影响主要运动的估计。 如果从包括前景对象或重复的类似图案的区域来选择当前帧中的一 些块, 则可由块运动搜索块 206 来识别异常本地运动向量。在各种实施例中, 迭代最小二乘 解答器 208 通过识别和从考虑中去除异常位置运动向量, 使用迭代最小二乘 (ILS) 解答器 来降低异常本地运动向量的影响。在此类实施例中, 在使用上面的等式 (1) 确定主要运动 参数后, 迭代最小二乘解答器 208 要确定当前帧中每个剩余块位置 (xi, yi) 的二乘估计误差 (SEE)。只要一直被使用, 块位置 (xi, yi) 能够是左上角、 右下角或块中心。 2 2
     SEEi = (axi+byi+c-xi) +(-bxi+ayi+d-yi) (2)
     本地运动向量在其对应二乘估计误差 (SEE) 满足等式 (3) 时被认为是异常。
     其中,
     T 是常数, 其能够根据经验设为 1.4, 但能够使用其它值, 以及
     n 是当前帧中剩余块的数量。
     上面的等式 (1)-(3) 重复进行, 直至未检测到异常本地运动向量, 或者剩余块的 数量小于预定义的阈值数量。例如, 阈值数量能够是 12, 但能够使用其它数量。在等式 (1)-(3) 的每次迭代中, 不考虑检测到的异常运动向量和与异常运动向量相关联的块。相 反, 考虑与剩余块相关联的运动向量。 在从考虑中去除异常本地运动向量后, 迭代最小二乘 块 208 执行等式 (1) 以确定运动参数。
     运动增大块 210 要根据减小块 202 所应用的下采样因子的逆来增大转换运动参数 c 和 d。由于下采样过程不影响两个帧之间的旋转和缩放运动, 因此, 参数 a 和 b 可不被增 大。
     再参照图 1, 轨迹计算块 104 要确定轨迹。例如, 轨迹计算块 104 要使用如在等式 (4) 中定义的累积运动来确定帧 j 的运动轨迹 Tj。
     其中,
     Mj 是帧 j 与 j-1 之间的全局运动矩阵, 并且基于主要运动参数 (a, b, c, d)。主要 运动参数 (a, b, c, d) 在等式 (4) 中用于当前帧 ( 称为帧 j)。
     帧间全局运动向量包括摄像机预期运动和摄像机抖动运动。轨迹平滑块 106 要从 帧间全局运动向量来降低摄像机抖动运动。在各种实施例中, 轨迹平滑块 106 要通过使用 运动轨迹平滑来降低摄像机抖动运动。运动轨迹的低频分量被识别为摄像机预期移动。在 轨迹计算块 104 确定每个帧的运动轨迹后, 轨迹平滑块 106 要使用例如但不限于高斯滤波
     器的低通滤波器来增加运动轨迹的平滑度。高斯滤波器窗口能够设置到 2n+1 帧。滤波过 程带来了 n 帧延迟。实验结果显示, n 能够设为 5, 但能够使用其它值。更平滑的运动轨迹 T′ j 能够使用等式 (5) 来确定。
     其中, g(k) 是高斯滤波器核。高斯滤波器是低通滤波器,在指定其变化值 δ 后, 能够运算滤波器系数。在一些实施例中, 变化值设为 1.5, 但它能够 设为其它值。更大的变化值可产生更平滑的运动轨迹。
     抖动补偿块 108 要补偿未平滑的原始轨迹中的抖动。摄像机抖动运动是轨迹的高 频分量。轨迹的高频分量是原始轨迹与平滑的轨迹之间的差别。抖动补偿块 108 要补偿高 频分量并提供更稳定化的当前帧。例如, 通过借助于抖动运动参数来扭曲 (warp) 当前帧 F(j), 可获得当前帧的更稳定化的帧表示, 帧 F′ (j)。
     在执行第 j 个当前帧 F(j) 的轨迹平滑后, T(j) 与 T′ (j) 之间的运动差别 ( 在等 式 4 和 5 中示出 ) 被认为是抖动运动。抖动运动能够由抖动运动参数 (a′, b′, c′, d′ ) 来表示。下述内容描述从 T(j) 与 T′ (j) 之间的差别来确定 (a′, b′, c′, d′ ) 的方式。 假设 T(j) 的抖动运动参数是 (a1, b1, c1, d1), 并且 T′ (j) 的平滑的抖动运动参数是 (a2, b2, c2, d2)。设置 θ1 = arctan(b1/a1), 以及 θ2 = arctan(b2/a2), 抖动运动参数被确定 如下 :
     a’ = cos(θ1-θ2), b’ = sin(θ1-θ2), c’ = c1-c2, d’ = d1-d2。
     示范扭曲过程如下所述。
     (1) 对于位于更稳定化帧 F′ (j) 中 (x, y) 的任何像素, 像素值表示为 F′ (x, y, j)。
     (2) 当前帧 F(j) 中的对应位置 (x′, y′ ) 被确定为 x′= a′ *x+b′ *y+c′, y′= -b′ *x+a′ *y+d′。
     (3) 如果 x′和 y′是整数, 则设置 F′ (x, y, j) = F(x′, y′, j)。否则, 使用位 置 (x′, y′ ) 周围的 F(j) 中的像素, 通过双线性插值来运算 F′ (x, y, j)。
     (4) 如果 (x′, y′ ) 在当前帧 F(j) 外, 则设置 F′ (x, y, j) 到黑像素。
     图 3 提供根据一实施例的改进视频稳定化的过程的流程图。块 302 包括执行帧大 小减小。例如, 有关下采样块 202 所述的技术可用于执行帧大小减小。
     块 34 包括执行块运动搜索以识别两个或更多本地运动向量。例如, 有关块运动搜 索块 206 所述的技术可用于识别一个或多个本地运动向量。
     块 306 包括确定主要运动参数。例如, 有关迭代最小二乘块 208 所述的技术可用 于确定主要运动参数。
     块 308 包括增大主要运动参数。例如, 有关增大块 210 所述的技术可用于增大主 要运动参数。
     块 310 包括确定轨迹。例如, 有关轨迹计算块 104 所述的技术可用于确定轨迹。
     块 312 包括改进轨迹平滑度。例如, 有关轨迹平滑块 106 所述的技术可用于执行轨迹平滑。
     块 314 包括通过扭曲当前帧以提供当前帧的更稳定版本而执行抖动补偿。例如, 有关抖动补偿块 108 所述的技术可用于降低抖动。
     图 4 示出根据一实施例的镜头边界检测系统的框图。在各种实施例中, 来自视频 稳定化系统 100 使用的帧间主要运动估计块 102 的一些结果也由镜头边界检测系统 400 使 用。例如, 能够在视频稳定化和镜头边界检测之一或两者中使用从下采样块 202、 参考缓冲 器 204 和块运动搜索块 206 的任意之一可得到的相同信息。在一些实施例中, 镜头边界检 测系统 400 检测突然场景转变 ( 即, CUT 场景 )。镜头边界判定块 402 要确定帧是否是场景 改变帧。例如, 镜头边界判定块 402 可使用有关图 5 所述的过程来确定当前帧是否是场景 改变帧。
     图 5 提供根据一实施例的镜头边界判定方案的过程。块 502 和 504 大致类似于相 应块 302 和 304。
     块 506 包括确定对于当前帧的平均绝对差和 (SAD)。注意, 当前帧是减小的帧。例 如, 块 506 可包括从块运动搜索块 206 接收对于当前帧中每个宏块的 SAD, 并且确定当前帧 中所有宏块的 SAD 的平均值。
     块 508 包括确定平均 SAD 是否小于阈值 T0。T0 能够根据经验对 16x16 块设为大 约 1600, 但能够使用其它值。如果平均 SAD 小于阈值, 则帧不是镜头边界帧。如果平均 SAD 不小于阈值, 则块 510 跟随块 508。
     块 510 包括确定 SAD 大于阈值 T1 的块的数量。阈值 T1 能够根据经验设为平均 SAD 的 4 倍, 但能够使用其它值。
     块 512 包括确定 SAD 大于阈值 T1 的块的数量是否小于另一阈值 T2。阈值 T2 能够 根据经验设为帧中目标块的总数的三分之二, 但能够使用 T2 的其它值。如果 SAD 大于阈值 T1 的块的数量小于阈值 T2, 则当前帧不被认为是镜头边界帧。如果块的数量等于或大于阈 值 T2, 则当前帧被认为是镜头边界帧。
     图 6 示出根据一实施例的要执行视频稳定化和镜头边界检测的系统的框图。在各 种实施例中, 帧下采样和块运动搜索操作在硬件中实现。帧下采样和块运动搜索操作由视 频稳定化和镜头边界检测两个应用来共享。在各种实施例中, 对于视频稳定化 (VS), 轨迹 计算、 轨迹平滑、 抖动运动确定及抖动补偿操作在处理器运行的软件中执行。 在各种实施例 中, 镜头边界检测 (SBD) 在处理器运行的软件中执行, 其中镜头边界检测使用来自硬件实 现的帧下采样和块运动搜索操作的结果。 其它视频或图像处理技术能够利用下采样或块运 动搜索所提供的结果。
     处理的图像和视频能够存储到任何类型的存储器中, 例如基于晶体管的存储器或 磁存储器。
     帧缓冲器可以是存储器中的区域。存储器能够实现为易失性存储器装置, 例如但 不限于随机存取存储器 (RAM)、 动态随机存取存储器 (DRAM)、 静态 RAM(SRAM) 或其它类型的 基于半导体的存储器或磁存储器, 例如磁存储装置。
     在设计带有例如视频编码、 解交织、 超分辨率、 帧率转换等等多视频处理特征的媒 体处理器时, 硬件再使用能够是节约成本和降低形状因素 (form factor) 的十分有效的方 式。 各种实施例大大降低了在相同媒体处理器上实现视频稳定化和视频镜头边界检测特征的复杂性, 特别是在媒体处理器已支持块运动估计功能时。
     本文中所述的图形和 / 或视频处理技术可在各种硬件架构中实现。例如, 图形和 / 或视频功能性可集成在芯片组内。备选的是, 可使用离散图形和 / 或视频处理器。作为 仍有的另一实施例, 图形和 / 或视频功能可由包括多核处理器的通用处理器来实现。在又 一实施例中, 功能可在例如带有能够显示静态图像或视频的显示装置的便携式计算机和移 动电话的消费者电子装置中实现。消费者电子装置还可包括能够使用例如以太网 ( 例如, IEEE 802.3) 或无线标准 ( 例如, IEEE 802.11 或 16) 的任何标准而连接到例如因特网的任 何网络的网络接口。
     本发明的实施例可实现为以下任意之一或其组合 : 使用母板互连的一个或多个微 芯片或集成电路、 硬件逻辑、 由存储器装置存储并且由微处理器运行的软件、 固件、 专用集 成电路 (ASIC) 和 / 或现场可编程门阵列 (FPGA)。术语 “逻辑” 可包括 ( 作为示例 ) 软件或 硬件和 / 或软件和硬件的组合。
     本发明的实施例例如可提供为计算机程序产品, 所述计算机程序产品可包括其上 存储有一个或多个机器可运行指令的一个或多个机器可读媒体, 所述指令在由例如计算 机、 计算机的网络或其它电子装置的一个或多个机器运行时, 可促使所述一个或多个机器 实行根据本发明的实施例的操作。机器可读媒体可包括但不限于软盘、 光盘、 CD-ROM( 紧致 盘只读存储器 )、 磁光盘、 ROM( 只读存储器 )、 RAM( 随机存取存储器 )、 EPROM( 可擦除可编 程只读存储器 )、 EEPROM( 电可擦除可编程只读存储器 )、 磁卡或光学卡、 闪速存储器和 / 或 适用于存储机器可运行指令的其它类型的媒体 / 机器可读媒体。
     图和上面的描述给出了本发明的示例。虽然示为多个全异的功能项目, 但本领域 技术人员将领会到, 一个或多个此类要素可很好地组合成单个功能要素。 备选的是, 某些要 素可分割成多个功能要素。来自一个实施例的要素可添加到另一实施例。例如, 本文中所 述过程的顺序可被改变并且不限于本文中所述的方式。另外, 任何流程图的动作无需以所 示顺序来实现 ; 所有动作也不一定要被执行。 此外, 不依赖其它动作的那些动作可与所述其 它动作并行来执行。然而本发明的范围决不受限于这些特定示例。许多变化是可能, 而无 论是否在说明书中明确给出, 例如结构、 维度和材料使用中的差别。 本发明的范围至少与随 附权利要求所给出的一样广。

基于共同处理元件执行视频稳定化和检测视频镜头边界的技术.pdf_第1页
第1页 / 共17页
基于共同处理元件执行视频稳定化和检测视频镜头边界的技术.pdf_第2页
第2页 / 共17页
基于共同处理元件执行视频稳定化和检测视频镜头边界的技术.pdf_第3页
第3页 / 共17页
点击查看更多>>
资源描述

《基于共同处理元件执行视频稳定化和检测视频镜头边界的技术.pdf》由会员分享,可在线阅读,更多相关《基于共同处理元件执行视频稳定化和检测视频镜头边界的技术.pdf(17页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102474568 A (43)申请公布日 2012.05.23 C N 1 0 2 4 7 4 5 6 8 A *CN102474568A* (21)申请号 200980160949.5 (22)申请日 2009.08.12 H04N 5/14(2006.01) (71)申请人英特尔公司 地址美国加利福尼亚州 (72)发明人 L徐 Y邱 Q黄 (74)专利代理机构中国专利代理(香港)有限公 司 72001 代理人姜冰 朱海煜 (54) 发明名称 基于共同处理元件执行视频稳定化和检测视 频镜头边界的技术 (57) 摘要 本文公开了用于执行视频稳定化和检测视频 镜头边界。

2、的设备、系统和方法。所述方法包括:接 收视频的当前帧;减小该当前帧;将该减小的当 前帧存储到缓冲器的一部分中;确定减小的参考 帧中的块与该减小的当前帧中的目标块之间的绝 对差和;确定该减小的当前帧的帧间主要运动参 数;以及部分地基于绝对差和以及运动参数的至 少一个来执行视频稳定化和镜头边界检测的至少 一个。 (85)PCT申请进入国家阶段日 2012.02.10 (86)PCT申请的申请数据 PCT/CN2009/000920 2009.08.12 (87)PCT申请的公布数据 WO2011/017823 EN 2011.02.17 (51)Int.Cl. 权利要求书3页 说明书7页 附图6页。

3、 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 3 页 说明书 7 页 附图 6 页 1/3页 2 1.一种设备,包括: 帧间主要运动估计逻辑,确定当前帧的运动参数和确定所述当前帧中块的绝对差和; 镜头边界判定逻辑,部分地基于所述绝对差和来确定所述当前帧是否是场景改变帧; 以及 视频稳定化块,部分地基于所述运动参数来提供当前帧序列的更稳定化版本。 2.如权利要求1所述的设备,其中所述帧间主要运动估计逻辑在硬件中实现。 3.如权利要求1所述的设备,其中所述帧间主要运动估计逻辑要: 减小所述当前帧; 将所减小的当前帧存储到缓冲器的一部分中; 确定当前帧和参考帧中的块之间的。

4、绝对差和; 确定所减小的帧的帧间主要运动参数;以及 增大所述帧间主要运动参数。 4.如权利要求3所述的设备,其中确定所减小的帧的帧间主要运动参数的逻辑要: 在搜索窗口中识别在参考帧中相对于目标块带有最小绝对差和的匹配块; 确定所述匹配块的本地运动向量; 部分地基于所述本地运动向量来确定所述匹配块的坐标;以及 应用相似性运动模型以部分地基于所述匹配块的坐标和所述目标块的坐标来确定所 述主要运动参数。 5.如权利要求4所述的设备,其中确定所减小的帧的帧间主要运动参数的逻辑还要: 忽视任何异常本地运动向量。 6.如权利要求1所述的设备,其中所述视频稳定化块包括: 轨迹计算块,部分地基于所述运动参数来。

5、确定所述当前帧的轨迹; 轨迹平滑块,增加所述当前帧的轨迹的平滑度;以及 抖动补偿块,降低所述当前帧的轨迹中的抖动。 7.如权利要求6所述的设备,其中所述视频稳定化块还要: 部分地基于所述运动轨迹与所述更平滑的轨迹之间的差别来确定抖动运动参数;以及 用所述抖动运动参数来扭曲所述当前帧。 8.如权利要求1所述的设备,其中所述镜头边界判定逻辑要: 确定所述当前帧中所有块的绝对差和的平均值;以及 部分地基于其绝对差和大于阈值的块的数量来确定所述当前帧是否是镜头边界帧。 9.一种系统,包括: 确定当前帧的运动参数和确定所述当前帧中块的绝对差和的硬件实现的帧间主要运 动估计器; 部分地基于所述绝对差和来确。

6、定所述当前帧是否是场景改变帧的逻辑; 部分地基于所述运动参数来提供所述当前帧的更稳定化版本的逻辑;以及 接收和显示视频的显示器。 10.如权利要求9所述的系统,其中确定的逻辑和提供的逻辑存储在计算机可读媒体 上并且由处理器来运行。 11.如权利要求9所述的系统,其中所述帧间主要运动估计器要: 权 利 要 求 书CN 102474568 A 2/3页 3 减小所述当前帧; 将所减小的当前帧存储到缓冲器的一部分中; 确定当前帧和参考帧中的块之间的绝对差和; 确定所减小的帧的帧间主要运动参数;以及 增大所述帧间主要运动参数。 12.如权利要求9所述的系统,其中提供所述当前帧的更稳定化版本的逻辑包括:。

7、 部分地基于所述运动参数来确定所述当前帧的轨迹的逻辑; 增加所述当前帧的轨迹的平滑度的逻辑; 降低所述当前帧的轨迹中的抖动的逻辑; 部分地基于所述轨迹与所述更平滑的轨迹之间的差别来确定抖动运动参数的逻辑;以 及 用所述抖动运动参数来扭曲所述当前帧的逻辑。 13.如权利要求9所述的系统,其中部分地基于所述绝对差和来确定所述当前帧是否 是场景改变帧的逻辑包括: 确定所述当前帧中块的绝对差和的平均值的逻辑;以及 部分地基于其绝对差和大于阈值的块的数量来确定所述当前帧是否是镜头边界帧的 逻辑。 14.一种计算机实现的方法,包括: 接收视频的当前帧; 减小所述当前帧; 将所减小的当前帧存储到缓冲器的一部。

8、分中; 确定减小的参考帧中的块与所减小的当前帧中的目标块之间的绝对差和; 确定所减小的当前帧的帧间主要运动参数;以及 部分地基于所述绝对差和以及所述运动参数的至少一个来执行视频稳定化和镜头边 界检测的至少一个。 15.如权利要求14所述的方法,还包括: 增大所述帧间主要运动参数。 16.如权利要求14所述的方法,其中确定所减小的当前帧的帧是主要运动参数包括: 在搜索窗口中识别在参考帧中相对于所述目标块带有最小绝对差和的匹配块; 确定所述匹配块的本地运动向量; 忽视任何异常本地运动向量; 部分地基于所述本地运动向量来确定所述匹配块的坐标;以及 应用相似性运动模型以部分地基于所述匹配块的坐标和所述。

9、目标块的坐标来确定所 述主要运动参数。 17.如权利要求14所述的方法,其中所述执行视频稳定化包括: 部分地基于所述运动参数来确定所述当前帧的轨迹; 增加所述当前帧的轨迹的平滑度; 降低所述当前帧的轨迹中的抖动; 部分地基于所述轨迹与所述更平滑的运动轨迹之间的差别来确定抖动运动参数;以及 权 利 要 求 书CN 102474568 A 3/3页 4 用所述抖动运动参数来扭曲所述当前帧。 18.如权利要求14所述的方法,其中所述执行镜头边界检测包括: 确定所述当前帧中块的绝对差和的平均值;以及 部分地基于其绝对差和大于阈值的块的数量来确定所述当前帧是否是镜头边界帧。 19.如权利要求14所述的方。

10、法,其中所述减小,存储,确定绝对差和、以及确定帧间主 要运动参数在硬件中实现。 20.如权利要求14所述的方法,其中所述执行视频稳定化和镜头边界检测的至少一个 被实现为处理器运行的软件指令。 权 利 要 求 书CN 102474568 A 1/7页 5 基于共同处理元件执行视频稳定化和检测视频镜头边界的 技术 技术领域 0001 本文中公开的主题一般涉及使用共同处理元件来执行视频稳定化和检测视频镜 头(shot)边界的技术。 背景技术 0002 视频稳定化旨在改进数字摄影机(video camera)所捕捉的视频序列的视觉质量。 当摄像机(camera)是手持式的或安装在不稳定的平台上时,捕捉。

11、的视频能够由于不想要 的摄像机运动而显得摇晃,这导致降级的观众体验。视频稳定化技术能够用于消除或减少 捕捉的视频帧中不想要的运动。 0003 视频通常由场景组成,并且每个场景包括一个或多个镜头。镜头被定义为在单个 连续动作中由单个摄像机捕捉的帧序列。从一个镜头到另一镜头的变化也称为镜头转变, 包括两种关键类型:突变(abrupt transition,CUT)和渐变(gradual transition,GT)。 视频镜头边界检测旨在检测镜头边界帧。视频镜头边界检测能够在各种应用中被应用,例 如视频编码、视频索引、视频检索及视频编辑中的内部帧识别。 附图说明 0004 在图中,本发明的实施例以。

12、示例方式而不是以限制方式示出,并且图中,相似的引 用标号表示类似的要素。 0005 图1示出根据一实施例的视频稳定化系统的框图格式。 0006 图2示出根据一实施例的帧间主要运动估计模块的框图。 0007 图3提供根据一实施例的为改进视频稳定化而执行的过程的流程图。 0008 图4示出根据一实施例的镜头边界检测系统的框图。 0009 图5提供根据一实施例的镜头边界判定方案的过程。 0010 图6示出根据一实施例的执行视频稳定化和镜头边界检测的系统的框图。 0011 图7示出使用搜索窗口来识别参考帧中匹配块的示例,其中匹配块对应于当前帧 中的目标块。 具体实施方式 0012 遍及此说明书对“一个。

13、实施例”或“一实施例”的引用指连同该实施例描述的特定 特征、结构或特性包括在本发明的至少一个实施例中。因此,遍及此说明书各个位置中出现 的“在一个实施例中”或“一实施例”短语不一定全部指相同实施例。此外,特定的特征、结 构或特性可在一个或多个实施例中被组合。 0013 图形处理系统可需要支持多个视频处理特征及各种视频编码或解码标准。各种实 施例允许图形处理系统支持视频稳定化和视频镜头边界检测特征。具体而言,各种实施例 允许图形处理系统为视频稳定化和镜头边界检测使用某些处理能力。在一些实施例中,图 说 明 书CN 102474568 A 2/7页 6 形处理系统的下采样和块运动搜索特征用于视频稳。

14、定化和视频镜头边界检测。特征的再使 用可降低制造图形处理系统的成本,并且也降低图形处理系统的大小。 0014 各种实施例能够根据多种标准来编码或解码视频或静态图像,所述标准例如但不 限于: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)。另外,实施例可在 多种静态图像或视频压缩系统中被使用,包括但不限于面向对象的视频编码、基于模型的 视频编码。

15、、可伸缩视频编码及MPEG-2(从瑞士日内瓦的国际标准化组织可得到的ISO/IEC 13818-1(2000)、VCI(从SMPTE White Plains,NY 10601可得到的SMPTE421M(2006)及 MPEG-4、MPEG-2和VCl的变型。 0015 图1以框图格式示出根据一实施例的视频稳定化系统100。视频稳定化系统100 包括帧间主要运动估计(DME)块102、轨迹(trajectory)计算块104、轨迹平滑块106及抖 动补偿块108。帧间DME块102要确定视频序列中两个连续帧之间的摄像机震动。帧间DME 块102要识别本地运动向量,并随后基于那些本地运动向量来确。

16、定主要运动参数。轨迹计 算块104要通过那些确定的主要运动参数来运算运动轨迹。轨迹平滑块106要平滑运算出 的运动轨迹以提供更平滑的轨迹。抖动补偿模块108要降低更平滑的轨迹中的抖动。 0016 图2示出根据一实施例的帧间主要运动估计模块200的框图。模块200包括帧 下采样块202、参考缓冲器204、块运动搜索块206、迭代最小二乘解答器块208及运动增大 (up-scaling)块210。 0017 下采样块202要将输入帧减小(down scale)到更小大小。例如,可使用大约4-5 的下采样因子,但能够使用其它值。在一些实施例中,下采样块202提供大约为160x120个 像素的更小大小。

17、的帧。所得到的减小的帧具有更少数量的块。由于共同处理元件的设计, 块可以是8x8、16x16或其它大小。通常,使用16x16块。减小过程还减小块运动向量。在 各种实施例中,运动向量表示帧之间的像素、块或图像的垂直和水平位移。减小帧还减小两 个帧之间的x和y运动。例如,如果下采样因子是4,并且运动向量是(20,20),则下采样的 运动向量将在减小的帧中大约是(5,5)。结果,更小图片上的窗口/区域受限块运动搜索能 够包括原始帧上更大的运动。相应地,能够降低用于识别过程块的处理速度和处理资源。 0018 下采样块202要将下采样的帧存储到参考缓冲器204中。参考缓冲器204可以是 可用于至少在执行。

18、视频稳定化和镜头边界检测中使用的存储器中的区域。该区域可以是缓 冲器或缓冲器的一部分。例如,如果该区域是缓冲器的一部分,则相同缓冲器的其它部分能 够由其它应用或过程同时或在其它时间来使用。在各种实施例中,为了视频稳定化和镜头 边界检测使用了单个参考帧。因此,参考缓冲器的大小能够设为存储一个帧。在参考缓冲 器每次更新时,参考帧能够被替代为另一参考帧。 0019 块运动搜索块206要从下采样块202接收下采样的当前帧,并且还要从参考缓冲 器204接收下采样的以前参考帧。块运动搜索块206要识别预定义的搜索窗口内选择的块 的本地运动向量。例如,识别的运动向量能够是与搜索窗口中相对于当前帧中目标块带有。

19、 最小绝对差和(SAD)的块相关联的运动向量。搜索窗口中的块可以是宏块或小的块,例如 8x8个像素,但其它大小能够被使用。在一些实施例中,块大小是16x16个像素,并且搜索窗 口能够设为48x32个像素。在各种实施例中,块运动搜索块206不搜索与帧边界上的块相 说 明 书CN 102474568 A 3/7页 7 关联的运动向量。 0020 在一些实施例中,块运动搜索块206要确定对于每个帧的宏块的绝对差和(SAD)。 例如,为帧中的每个宏块确定SAD可包括比较参考帧的每个16x16像素宏块和当前帧中的 16x16像素宏块。例如,在一些实施例中,能够比较参考帧的48x32像素搜索窗口内的所有 。

20、宏块和当前帧中的目标16x16像素宏块。能够逐一或以棋盘图案来挑选目标宏块。对于完 全搜索,可比较48x32搜索窗口中的所有宏块和目标宏块。因此,能够比较32x16(512)个 宏块。当在48x32搜索窗口内移动16x16宏块时,能够有32x16个位置来移动。因此,在此 示例中,确定512个SAD。 0021 图7示出使用搜索窗口来识别参考帧中匹配块的示例,其中匹配块对应于当前帧 中的目标块。示范块运动搜索可包括以下步骤。 0022 (1)选择当前帧中的多个目标块。假设目标块的坐标是(x_i,y_i),其中,i是块 索引。能够逐一来选择当前帧中的目标块。但是,能够使用其它选择技术,例如以棋盘方。

21、式 选择它们。 0023 (2)对于当前帧中的目标块i,块运动搜索在搜索窗口中用于识别匹配块和获得 本地运动向量(mvx_i,mvy_i)。在参考帧中对于目标块i查找搜索窗口中的匹配块能够包 括比较参考帧搜索窗口中的所有候选块和目标块,并且带有最小SAD的一个块被认为是匹 配块。 0024 (3)在对于块i的块运动搜索后,运算:x_ix_i+mvx_i和y_iy_i+mvy_ i。随后,(x_i,y_i)和(x_i,y_i)被视为一对。 0025 (4)在为当前帧中所有选择的目标块执行块运动搜索后,获得多个对(x_i,y_i) 和(x_i,y_i)。 0026 如图7中所示,对于当前帧中的一个。

22、目标块(x,y),48x32搜索窗口在参考帧中被 指定,并且搜索窗口的位置能够由(x,y)来定中心。在通过块运动搜索在搜索窗口中查找 匹配块后,获得对于目标块的本地运动向量(mvx,mvy)。匹配块的坐标(x,y)是x x+mvx,yy+mvy。随后,(x,y)和(x,y)被视为一对。 0027 再次参照图2,迭代最小二乘解答器208要基于至少两个识别的本地运动向量来 确定主要运动参数。在一些实施例中,迭代最小二乘解答器208要应用图2中所示的相似 性运动模型来近似主要帧间运动参数。相似性运动模型还能够以下面的等式(1)的格式来 编写。 0028 0029 其中: 0030 (x,y)表示参考。

23、帧中的匹配块坐标, 0031 (x,y)表示当前帧中的块坐标,以及 0032 (a,b,c,d)表示主要运动参数,其中,参数a和b涉及旋转,以及参数c和d涉及 转换。 0033 例如,只要一直被使用,块坐标(x,y)和(x,y)能够被定义为左上角、右下角 或块的块中心。对于其坐标是(x,y)并且识别的本地运动向量(来自块206)是(mvx,mvy) 说 明 书CN 102474568 A 4/7页 8 的块,通过xx+mvx和yy+mvy而获得其匹配块的坐标(x,y)。在各种实施例 中,帧的所有(x,y)和(x,y)对在等式(1)中被使用。迭代最小二乘解答器块208要 通过使用最小二乘(LS)。

24、技术解等式(1)来确定运动参数(a,b,c,d)。 0034 如果由迭代最小二乘解答器208考虑,则异常(outlier)本地运动向量可不利地 影响主要运动的估计。如果从包括前景对象或重复的类似图案的区域来选择当前帧中的一 些块,则可由块运动搜索块206来识别异常本地运动向量。在各种实施例中,迭代最小二乘 解答器208通过识别和从考虑中去除异常位置运动向量,使用迭代最小二乘(ILS)解答器 来降低异常本地运动向量的影响。在此类实施例中,在使用上面的等式(1)确定主要运动 参数后,迭代最小二乘解答器208要确定当前帧中每个剩余块位置(x i ,y i )的二乘估计误差 (SEE)。只要一直被使用。

25、,块位置(x i ,y i )能够是左上角、右下角或块中心。 0035 SEE i (ax i +by i +c-x i ) 2 +(-bx i +ay i +d-y i ) 2 (2) 0036 本地运动向量在其对应二乘估计误差(SEE)满足等式(3)时被认为是异常。 0037 0038 其中, 0039 T是常数,其能够根据经验设为1.4,但能够使用其它值,以及 0040 n是当前帧中剩余块的数量。 0041 上面的等式(1)-(3)重复进行,直至未检测到异常本地运动向量,或者剩余块的 数量小于预定义的阈值数量。例如,阈值数量能够是12,但能够使用其它数量。在等式 (1)-(3)的每次迭代。

26、中,不考虑检测到的异常运动向量和与异常运动向量相关联的块。相 反,考虑与剩余块相关联的运动向量。在从考虑中去除异常本地运动向量后,迭代最小二乘 块208执行等式(1)以确定运动参数。 0042 运动增大块210要根据减小块202所应用的下采样因子的逆来增大转换运动参数 c和d。由于下采样过程不影响两个帧之间的旋转和缩放运动,因此,参数a和b可不被增 大。 0043 再参照图1,轨迹计算块104要确定轨迹。例如,轨迹计算块104要使用如在等式 (4)中定义的累积运动来确定帧j的运动轨迹T j 。 0044 0045 其中, 0046 M j 是帧j与j-1之间的全局运动矩阵,并且基于主要运动参数。

27、(a,b,c,d)。主要 运动参数(a,b,c,d)在等式(4)中用于当前帧(称为帧j)。 0047 帧间全局运动向量包括摄像机预期运动和摄像机抖动运动。轨迹平滑块106要从 帧间全局运动向量来降低摄像机抖动运动。在各种实施例中,轨迹平滑块106要通过使用 运动轨迹平滑来降低摄像机抖动运动。运动轨迹的低频分量被识别为摄像机预期移动。在 轨迹计算块104确定每个帧的运动轨迹后,轨迹平滑块106要使用例如但不限于高斯滤波 说 明 书CN 102474568 A 5/7页 9 器的低通滤波器来增加运动轨迹的平滑度。高斯滤波器窗口能够设置到2n+1帧。滤波过 程带来了n帧延迟。实验结果显示,n能够设为。

28、5,但能够使用其它值。更平滑的运动轨迹 T j 能够使用等式(5)来确定。 0048 0049 其中,g(k)是高斯滤波器核。高斯滤波器是低通滤波器, 在指定其变化值后,能够运算滤波器系数。在一些实施例中,变化值设为1.5,但它能够 设为其它值。更大的变化值可产生更平滑的运动轨迹。 0050 抖动补偿块108要补偿未平滑的原始轨迹中的抖动。摄像机抖动运动是轨迹的高 频分量。轨迹的高频分量是原始轨迹与平滑的轨迹之间的差别。抖动补偿块108要补偿高 频分量并提供更稳定化的当前帧。例如,通过借助于抖动运动参数来扭曲(warp)当前帧 F(j),可获得当前帧的更稳定化的帧表示,帧F(j)。 0051 。

29、在执行第j个当前帧F(j)的轨迹平滑后,T(j)与T(j)之间的运动差别(在等 式4和5中示出)被认为是抖动运动。抖动运动能够由抖动运动参数(a,b,c,d) 来表示。下述内容描述从T(j)与T(j)之间的差别来确定(a,b,c,d)的方式。 假设T(j)的抖动运动参数是(a1,b1,c1,d1),并且T(j)的平滑的抖动运动参数是(a2, b2,c2,d2)。设置1arctan(b1/a1),以及2arctan(b2/a2),抖动运动参数被确定 如下: 0052 acos(1-2),bsin(1-2),cc1-c2,dd1-d2。 0053 示范扭曲过程如下所述。 0054 (1)对于位于更。

30、稳定化帧F(j)中(x,y)的任何像素,像素值表示为F(x,y, j)。 0055 (2)当前帧F(j)中的对应位置(x,y)被确定为xa*x+b*y+c, y-b*x+a*y+d。 0056 (3)如果x和y是整数,则设置F(x,y,j)F(x,y,j)。否则,使用位 置(x,y)周围的F(j)中的像素,通过双线性插值来运算F(x,y,j)。 0057 (4)如果(x,y)在当前帧F(j)外,则设置F(x,y,j)到黑像素。 0058 图3提供根据一实施例的改进视频稳定化的过程的流程图。块302包括执行帧大 小减小。例如,有关下采样块202所述的技术可用于执行帧大小减小。 0059 块34包。

31、括执行块运动搜索以识别两个或更多本地运动向量。例如,有关块运动搜 索块206所述的技术可用于识别一个或多个本地运动向量。 0060 块306包括确定主要运动参数。例如,有关迭代最小二乘块208所述的技术可用 于确定主要运动参数。 0061 块308包括增大主要运动参数。例如,有关增大块210所述的技术可用于增大主 要运动参数。 0062 块310包括确定轨迹。例如,有关轨迹计算块104所述的技术可用于确定轨迹。 0063 块312包括改进轨迹平滑度。例如,有关轨迹平滑块106所述的技术可用于执行 说 明 书CN 102474568 A 6/7页 10 轨迹平滑。 0064 块314包括通过扭曲。

32、当前帧以提供当前帧的更稳定版本而执行抖动补偿。例如, 有关抖动补偿块108所述的技术可用于降低抖动。 0065 图4示出根据一实施例的镜头边界检测系统的框图。在各种实施例中,来自视频 稳定化系统100使用的帧间主要运动估计块102的一些结果也由镜头边界检测系统400使 用。例如,能够在视频稳定化和镜头边界检测之一或两者中使用从下采样块202、参考缓冲 器204和块运动搜索块206的任意之一可得到的相同信息。在一些实施例中,镜头边界检 测系统400检测突然场景转变(即,CUT场景)。镜头边界判定块402要确定帧是否是场景 改变帧。例如,镜头边界判定块402可使用有关图5所述的过程来确定当前帧是否。

33、是场景 改变帧。 0066 图5提供根据一实施例的镜头边界判定方案的过程。块502和504大致类似于相 应块302和304。 0067 块506包括确定对于当前帧的平均绝对差和(SAD)。注意,当前帧是减小的帧。例 如,块506可包括从块运动搜索块206接收对于当前帧中每个宏块的SAD,并且确定当前帧 中所有宏块的SAD的平均值。 0068 块508包括确定平均SAD是否小于阈值T0。T0能够根据经验对16x16块设为大 约1600,但能够使用其它值。如果平均SAD小于阈值,则帧不是镜头边界帧。如果平均SAD 不小于阈值,则块510跟随块508。 0069 块510包括确定SAD大于阈值T1的。

34、块的数量。阈值T1能够根据经验设为平均 SAD的4倍,但能够使用其它值。 0070 块512包括确定SAD大于阈值T1的块的数量是否小于另一阈值T2。阈值T2能够 根据经验设为帧中目标块的总数的三分之二,但能够使用T2的其它值。如果SAD大于阈值 T1的块的数量小于阈值T2,则当前帧不被认为是镜头边界帧。如果块的数量等于或大于阈 值T2,则当前帧被认为是镜头边界帧。 0071 图6示出根据一实施例的要执行视频稳定化和镜头边界检测的系统的框图。在各 种实施例中,帧下采样和块运动搜索操作在硬件中实现。帧下采样和块运动搜索操作由视 频稳定化和镜头边界检测两个应用来共享。在各种实施例中,对于视频稳定化。

35、(VS),轨迹 计算、轨迹平滑、抖动运动确定及抖动补偿操作在处理器运行的软件中执行。在各种实施例 中,镜头边界检测(SBD)在处理器运行的软件中执行,其中镜头边界检测使用来自硬件实 现的帧下采样和块运动搜索操作的结果。其它视频或图像处理技术能够利用下采样或块运 动搜索所提供的结果。 0072 处理的图像和视频能够存储到任何类型的存储器中,例如基于晶体管的存储器或 磁存储器。 0073 帧缓冲器可以是存储器中的区域。存储器能够实现为易失性存储器装置,例如但 不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态RAM(SRAM)或其它类型的 基于半导体的存储器或磁存储器,例如磁存储。

36、装置。 0074 在设计带有例如视频编码、解交织、超分辨率、帧率转换等等多视频处理特征的媒 体处理器时,硬件再使用能够是节约成本和降低形状因素(form factor)的十分有效的方 式。各种实施例大大降低了在相同媒体处理器上实现视频稳定化和视频镜头边界检测特征 说 明 书CN 102474568 A 10 7/7页 11 的复杂性,特别是在媒体处理器已支持块运动估计功能时。 0075 本文中所述的图形和/或视频处理技术可在各种硬件架构中实现。例如,图形和 /或视频功能性可集成在芯片组内。备选的是,可使用离散图形和/或视频处理器。作为 仍有的另一实施例,图形和/或视频功能可由包括多核处理器的通。

37、用处理器来实现。在又 一实施例中,功能可在例如带有能够显示静态图像或视频的显示装置的便携式计算机和移 动电话的消费者电子装置中实现。消费者电子装置还可包括能够使用例如以太网(例如, IEEE 802.3)或无线标准(例如,IEEE 802.11或16)的任何标准而连接到例如因特网的任 何网络的网络接口。 0076 本发明的实施例可实现为以下任意之一或其组合:使用母板互连的一个或多个微 芯片或集成电路、硬件逻辑、由存储器装置存储并且由微处理器运行的软件、固件、专用集 成电路(ASIC)和/或现场可编程门阵列(FPGA)。术语“逻辑”可包括(作为示例)软件或 硬件和/或软件和硬件的组合。 0077。

38、 本发明的实施例例如可提供为计算机程序产品,所述计算机程序产品可包括其上 存储有一个或多个机器可运行指令的一个或多个机器可读媒体,所述指令在由例如计算 机、计算机的网络或其它电子装置的一个或多个机器运行时,可促使所述一个或多个机器 实行根据本发明的实施例的操作。机器可读媒体可包括但不限于软盘、光盘、CD-ROM(紧致 盘只读存储器)、磁光盘、ROM(只读存储器)、RAM(随机存取存储器)、EPROM(可擦除可编 程只读存储器)、EEPROM(电可擦除可编程只读存储器)、磁卡或光学卡、闪速存储器和/或 适用于存储机器可运行指令的其它类型的媒体/机器可读媒体。 0078 图和上面的描述给出了本发明。

39、的示例。虽然示为多个全异的功能项目,但本领域 技术人员将领会到,一个或多个此类要素可很好地组合成单个功能要素。备选的是,某些要 素可分割成多个功能要素。来自一个实施例的要素可添加到另一实施例。例如,本文中所 述过程的顺序可被改变并且不限于本文中所述的方式。另外,任何流程图的动作无需以所 示顺序来实现;所有动作也不一定要被执行。此外,不依赖其它动作的那些动作可与所述其 它动作并行来执行。然而本发明的范围决不受限于这些特定示例。许多变化是可能,而无 论是否在说明书中明确给出,例如结构、维度和材料使用中的差别。本发明的范围至少与随 附权利要求所给出的一样广。 说 明 书CN 102474568 A 11 1/6页 12 图1 说 明 书 附 图CN 102474568 A 12 2/6页 13 图2 图4 说 明 书 附 图CN 102474568 A 13 3/6页 14 图3 说 明 书 附 图CN 102474568 A 14 4/6页 15 图5 说 明 书 附 图CN 102474568 A 15 5/6页 16 图6 说 明 书 附 图CN 102474568 A 16 6/6页 17 图7 说 明 书 附 图CN 102474568 A 17 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1