允许分数视频运动估计和双向视频运动估计的选择性使用的制作方法

文档序号:7710615阅读:86来源:国知局
专利名称:允许分数视频运动估计和双向视频运动估计的选择性使用的制作方法
技术领域
一4殳来说,本发明涉及^L频编码和解码,尤其涉及运动估计。#见 频编码和解码允许i见频的压缩以便它能更有效地进行传输。
背景技术
存在各种视频编码标准,包括运动图像专家组标准。这些标准包 括使用B帧的可能性。B帧是根据前一和后一图片进行双向预测的图 片类型。
宏块是像素块。 一般来说,宏块是16x16的像素块。
在一些情况下,双向视频运动估计会提高视频压缩的精确度。但 是,双向运动估计(BME)还会增大压缩开销,或增加完成运动估计阶 段所需的时间量。
类似地,考虑分数像素效果的分数运动估计(FME)可以提高运动 估计的质量。完成分数运动估计可能会增大完成估计所需的时间。
一般来说,双向运动估计和分数运动估计用于创建当前帧中的宏 块与前一或后一参考帧中的宏块之间的更好匹配。虽然双向运动估计 和分数运动估计可以引起编码效率的提高,但它们也会消耗执行周期 并需要时间,即使在它们没有大大提高编码效率的时候。

发明内容
本发明的笫一方面在于一种方法,包括分析是否应对B帧的给 定像素单元完成双向运动估计或分数运动估计中的至少一个。
本发明的笫二方面在于一种^L频编码器,包括运动补偿单元; 以及耦合到所述运动补偿单元的运动估计单元,所述运动估计单元分析是否应对B帧的给定像素单元完成双向运动估计或分数运动估计中 的至少一个。


图1是根据一个实施例的视频编码器的示意说明; 图2是根据一个实施例的运动估计的流程图; 图3、 4、 5以图形方式说明根据一些实施例的双向运动估计和分 数运动估计的选择性去除(pruning)的情形;以及
图6是根据本发明的一个实施例的基于处理器的系统的示意说明。
具体实施例方式
根据一些实施例,可作出在B帧编码期间是否使用双向运动估计 和分数运动估计的决定。B帧是运动图像专家组视频编码中根据前一 图片和随后图片进行双向预测的图片类型。关于对特定宏块分区进4亍 双向运动估计还是分数运动估计的决定取决于最佳失真以及通过前向 运动估计搜索和后向运动估计搜索达到的成本。宏块分区可以是例如 16x16、 16x8、 8x16、 8x8、 8><4、 4x8或4x4 4象素P车歹寸。
根据一些实施例,免除双向运动估计和分数运动估计的决定可能 会查看任何宏块分区大小的前向绝对差别总和(SAD)成本值和后向绝 对差别总和成本值。"绝对差别总和"是用于对比两个宏块分区的相 似度的量度。釆用原始宏块分区中的每个像素和正在使用的宏块分区 中的相应像素之间的差别绝对值用于对比。然后累加这些绝对差别以 获得绝对差别总和。
术语"前向,,和"后向"指定从哪些帧获得用于对比的两个宏块 分区。前向绝对差别总和表示前一帧(n-l)中的宏块分区与当前帧(n)中 的宏块分区对比。这称作"前向绝对差别总和",因为它在时间上向 前看以便了解过去预测当前的效果。"后向绝对差别总和,,表示后一帧(n+l)中的宏块分区与当前帧(n)中的宏块分区对比。这称作"后向绝 对差别总和",因为它在时间上向后看以便了解从将来预测当前的效果。
成本可通过各种方式来计算。 一般来说,成本是预测记录已编码 位流中的宏块沖莫式决定(macroblock mode decision)所需的位数的 一种 方式。宏块模式决定包括类似描述例如宏块是分割为四个8x8分区还 是两个16x8分区的宏块分区模式之类的内容。宏块模式决定还包括用
于每个宏块分区的 一个或多个运动矢量并且包括运动矢量的分数精确 度(fractional accuracy)。分数精确度确定运动矢量是指向图像中的整数 像素位置还是它们指向分数位置,如两个像素之间距离的一半或四分 之一》
这样,可使用绝对差别总和加成本(sum of absolute differences plus cost),因为模式决定可导致极小的绝对差别值总和(这是有利的),但带 有成本,因为模式决定需要大量的描述(这是不利的)。要描述的成本 由记录已编码位流中的宏块模式决定所需的位数确定。这样,如果相 对于编码益处,编码成本相对4交高,只需免除编码即可。
该上下文中使用的"方向"指定时间上的前向还是后向。较大绝 对差别总和加成本的方向表示我们对比前向绝对差别总和加成本与后 向绝对差别总和加成本以了解哪个方向产生最大的绝对差别总和加成 本。
根据一些实施例,该机制可防止不参加(skip)最可能对已编码视频 序列的率失真特征具有最大影响的双向运动估计结果和分数运动估计 结果。
参照图1,例如,符合H.264标准(国际电信联盟,瑞士日内瓦, H-264 (11/07),通用音视频服务的高级视频编码)的视频编码器10如 12中所示获取视频并且在20处才丸行运动估计、在22处执行帧内预测 以及在24处执行运动补偿。帧内插值可在26处完成。在框28中的延 迟之后,环内解块滤波可在30处完成。然后,帧补偿结果和帧内插值结果可选择性地反馈到求和点13。
环内解块滤波器30从所选的运动补偿或帧内插值接收反馈,并且 从来自框14的变换和量化的流4妄收反量化(inverse quantization)和反变 换的结果。变换和量化的流14随后在16处进行熵编码并且在18处进 行信道输出。根据本发明的一些实施例,运动估计框20能够分析是否 包括双向运动估计和分数运动估计,或代之以只进行基本的运动估计。
参照图2,可在固件、硬件或软件中实现序列。软件实现可储存 在计算机可读媒体上,包括半导体存储器、光存储器或磁存储器。B 帧内的宏块(MB)分区被提供给框60。在框60处,完成前向和后向的 单向整数运动估计。随后作出关于是否实施双向运动估计和分数运动 估计的决定。为此,在60处计算前向绝对差别总和与后向绝对差别总 和。61处的链接显示前向总和与后向总和的计算值为框60的输出及 菱形62的输入。在图2中,前向SAD和后向SAD是指总和加成本。
菱形62处的检查确定前向绝对差别总和加成本和后向绝对差别 总和加成本的和是否小于常数c。常数c可依经验确定。在本发明的一 些实施例中,根据保守方法的常数c可以是150。 c的激进方法可能使 c等于O,中间方法可能使c等于O。但是,也可为c选择其它值。如 果在菱形62中SAD值总和小于确定的常数c,则应该完成所有双向运 动4古i十和分数运动4古i十,^才匡64戶斤示。
否则,框66处的检查确定前向绝对差别总和加成本和后向绝对差 别总和加成本的最小值是否小于或等于常数a乘以前向绝对差别总和 加成本或后向绝对差别总和加成本的最大值,该数量减去a乘以常数 b。常数a和b也可以依经验选择。保守方法可使用等于0.07的常数a 和等于.5的常数b。激进方法可使用等于0.9的常数a和等于0的常数 b。中间方法可使用等于0.8的常数a和等于5的常数b。也可以选择 其它常数。
如果前向绝对差别总和加成本和后向绝对差别总和加成本的和的 最小值小于或等于菱形66中的计算值,则可以不参加或去除用于所有方向的双向运动估计以及用于具有较大的绝对差别总和加成本的方向
的分数运动估计,如框68所示。
否则,如果达不到该条件,则完成双向运动估计和分数运动估计, 如框70所示。然后,如72处所示检查下一个宏块分区并且流程重复。
在一些实施例中,前向绝对差别总和加成本和后向绝对差别总和 加成本可通过测试的分区中的4x4像素块的数量来标准化。
常数a是小于或等于1且大于或等于0的控制参数。
较大的a值导致双向运动估计和分数运动估计计算结果减小和率 失真性能降低。常数b是保护参数,feO。在其它常数固定的情况下, 專支大的b值导致双向运动估计和分数运动估计计算结果增大和率失真 性能提高。常数c也是大于或等于0的修正参数。在其它常数固定的 情况下,较大的c值导致双向运动估计和分数运动估计计算结果增大 和率失真性能提高。常数a、 b和c可在编码期间实时修改。
菱形62处的检查可用于防止对于小的绝对差别值总和放弃(drop) 双向运动估计和分数运动估计。备选实施例可4吏用两个单向绝对差别 值总和加成本的最大值,例如,如果前向绝对差别总和加成本或后向 绝对差别总和加成本的最大值小于c,并且随后执行双向运动估计和 分数运动估计。
在一些实施例中,通过对所选的宏块分区选择性地取消双向运动 估计和分数运动估计,可在率失真和复杂度之间进行折衷。
参照图3,后向绝对差别总和加成本对比前向绝对差别总和加成
本的图形显示斜率等于a的线L1、线L1之上斜率等于丄的线L2以及
a
斜率等于-l的第三条线L3(前向总和加成本和后向总和加成本等于c 的点的集合)。斜率为a的线Ll的Y截距为-axb。如果c^), O^a^l且 b20,并且如果前向绝对差别总和加成本和后向绝对差别总和加成本的 和小于c,则执行双向运动估计。这样,在线L3左侧的区域,在BME3 区域中,才丸行双向运动估计和分数运动估计。否则,在线L3右侧的区域中,如果前向绝对差别总和加成本和后 向绝对差别总和加成本的最小值小于或等于a乘以前向绝对差别总和 加成本和后向绝对差别总和加成本的最大值减去axb,则不参加双向 运动估计。 一般来说,此情况对应于线L2上方的区域BME2和线Ll 下方的区域BME]。
在线L3右侧、线L2下方和线L1上方的区域,最好是不参加双 向运动估计和分数运动估计。
接下来参照图4, c等于0,图3的线L3不再受关注。在b为0 的情况下,则对应于图3的线L2和L1的线L4和L5相交于0, X轴 和Y轴的0点。
在b等于0的情况下,双向运动估计和分数运动估计在线L5下方 和线L4上方始终进行并且在线L4和L5之间从不进行。
参照图5,同样c等于O且a等于1,对应于图3的线L2和L1的 线L6和L7是平行的。双向运动估计和分数运动估计在线L6和L7之 间的区域中不进行,但在线L6上方和线L7下方的区域进行。
图1中显示的计算机系统130可包^^硬驱动器134和可移动々某体 136,通过总线104耦合到芯片组核心逻辑110。在一个实施例中,核 心逻辑可耦合到图形处理器112(经由总线105)和主处理器或主机处理 器(host processor)100。图形处理器112还可通过总线106耦合到帧緩 冲器114。帧緩冲器114可通过总线107耦合到显示屏118,而显示屏 118又通过总线108耦合到传统部件,如4走盘或鼠标120。
在软件实现的情况下,有关代码可储存在任何适当的半导体、磁 或光存储器中,包括主存储器132。这冲羊,在一个实施例中,代码139 可储存在机器可读+某体(如主存储器132)中,以便由处理器(如处理器 IOO或图形处理器112)执行。
在一个实施例中,编码器10是图形处理器112的组成部分。在一 个实施例中,图2中显示的序列32可以是储存在主存储器132中的软 件,如139处所示。当然,此类软件可驻留在图形处理器112上或任何其它存储装置^h。
本文中所述的图形处理技术可在各种硬件架构中实现。例如,图 形功能可集成到芯片组中。或者,可使用分离的图形处理器。作为又 一实施例,图形功能可由通用处理器实现,包括多核处理器。
虽然结合有限数量的实施例对本发明进行了描述,但本领域的技 术人员将从其中知道大量修改和变更。所附权利要求书意在涵盖符合 本发明真实精神和范围内的所有此类修改和变更。
权利要求
1.一种方法,包括分析是否应对B帧的给定像素单元完成双向运动估计或分数运动估计中的至少一个。
2. 如权利要求1所述的方法,包括确定是否应完成双向运动估计 和分数运动估计。
3. 如权利要求l所述的方法,其中所述分析包括评估所述双向运 动估计或分数运动估计的成本。
4. 如权利要求3所述的方法,其中所述分析包括在降^^々失真方 面确定双向运动估计或分数运动估计的益处。
5. 如权利要求l所述的方法,包括确定所述单元的绝对差别值总 和并且使用所述绝对差别值总和确定是否实现分数运动估计或双向运 动估计之一。
6. 如权利要求5所述的方法,包括确定前向绝对差别值总和与后 向绝对差别值总和。
7. 如权利要求6所述的方法,包括确定宏块分区大小的所述前向 绝对差别值总和与后向绝对差别值总和。
8. 如权利要求7所述的方法,包括将前向绝对差别值总和与反向 绝对差别值总和相加来得出相加值以确定是否执行双向运动估计或分 数运动估计o
9. 如权利要求8所述的方法,包括确定所述相加值是否小于第一 常数。
10. 如权利要求9所述的方法,包括,如果所述相加值不小于所 述笫一常数,则确定前向绝对差别总和加成本与后向绝对差别总和加 成本的最小值是否小于或等于第一常数的第一数值乘以前向绝对差别 总和加成本和后向绝对差别总和加成本的最大值减去第一常数乘以笫二常数。
11. 如权利要求IO所述的方法,包括不参加双向运动估计和具有 较大绝对差别总和加成本的方向上的分数运动估计。
12. 如权利要求11所述的方法,包括如果所述最小值不小于或等于第 一数值则才丸行双向运动估计。
13. 如权利要求10所述的方法,包括使用小于或等于1且大于或 等于0的第一常数和大于或等于0的第二常数。
14. 如权利要求13所述的方法,还使用大于或等于0的第三常数。
15. —种视频编码器,包括 运动补偿单元;以及耦合到所述运动补偿单元的运动估计单元,所述运动估计单元分 析是否应对B帧的给定像素单元完成双向运动估计或分数运动估计中 的至少一个。
16. 如权利要求15所述的编码器,其中所述运动估计单元确定是 否应完成双向运动估计和分数运动估计。
17. 如权利要求15所述的编码器,所述运动估计单元确定所述纟会 定单元的绝对差别值总和并且使用所述绝对差别值总和确定是否实现 分数运动估计或双向运动估计之一。
18. 如权利要求15所述的编码器,所述运动估计单元确定前向绝 对差别值总和与后向绝对差别值总和。
19. 如权利要求18所述的编码器,所述运动估计单元确定宏块分 区大小的所述前向绝对差别值总和与后向绝对差别值总和。
20. 如权利要求19所述的编码器,所述运动估计单元将前向绝对 差别值总和与后向绝对差別值总和相加得出相加值以确定是否执行双 向运动估计或分数运动估计。
21. 如权利要求20所述的编码器,所述运动估计单元确定所述相 加值是否小于第一常数。
22. 如权利要求21所述的编码器,如果所述相加值不小于所述第一常数,所述运动估计单元确定前向绝对差别总和与后向绝对差别总和的最小值是否小于或等于第一常数的第一数值乘以前向绝对差别值 总和与后向绝对差别值总和的最大值减去第一常数乘以第二常数。
23. 如权利要求22所述的编码器,所述运动估计单元不参加双向 运动估计和具有较大绝对差别总和加成本的方向上的分数运动估计。
24. 如权利要求23所述的编码器,如果所述最小值不小于或等于 第一数值,则所述运动估计单元执行双向运动估计。
25. 如权利要求23所述的编码器,所述运动估计单元使用小于或 等于1且大于或等于0的笫一常数和大于或等于0的第二常数。
全文摘要
本发明的名称为允许分数视频运动估计和双向视频运动估计的选择性使用,在一些实施例中,根据进行运动估计所需的位方面的成本对比在失真方面分析的益处,视频编码器可分析是否进行双向运动估计或分数运动估计。
文档编号H04N7/26GK101621696SQ200910159429
公开日2010年1月6日 申请日期2009年6月30日 优先权日2008年6月30日
发明者H·姜, N·马斯特罗纳德 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1