可变块尺寸运动预测装置的制作方法

文档序号:7727094阅读:364来源:国知局
专利名称:可变块尺寸运动预测装置的制作方法
技术领域
本实用新型涉及信号处理中的图像和视频编码技术领域,特别涉及在编码过程中 可变块尺寸运动预测技术。
背景技术
在视频压缩中,为了更好的去除视频信息的冗余,达到在保持视频质量的同时尽 可能提高压缩比的目的,广泛采用预测编码和变换编码结合的基于块的混合编码方法,通 过变换编码将空域图像映射到频域系数,有效地去除像素间的空间相关性,而基于运动估 计和运动补偿的预测编码则充分利用了相邻帧间的时间相关性,从而获得较好的压缩性 能。由于块匹配具有较低的硬件复杂度,对于实际运动来说被认为是最通用的方法之 一,因此在VLSI中广泛采用,几乎所有的H. 261/H. 263和MPEGl,2/4的编解码电路的物理 组合都把块匹配用于运动估计。为了得到最小的预测误差,在H.264/AVC中进行帧间预测时不再采用固定块尺 寸模式,而是采用可变块尺寸模式对每个划分的子块进行运动估计和运动补偿,以得到最 佳的匹配块,从而提高压缩效率。H.264/AVC的多模式运动估计中,一个16X16的宏块 (Macroblock,MB)可以进一步划分成若干个子块进行补偿。如图1所示宏块分割模式包括 16X16,16X8,8X16,8X8 ;对于8X8子块,可以进一步划分成8X4,4X8,4X4块模式,具 体应用如图2所示,图2的当前宏块在参考帧的搜索区域内搜索出的最优预测模式为左上 方的8 X 8子块最优模式为两个8X4子块,对应得运动矢量为MvO和Mvl,其余三个8 X 8子 块的最优预测模式是8X8块,对应得运动矢量分别是Mv2、Mv3和Mv4。宏块分割模式大大 提高了各宏块之间及宏块内部子块的关联性。H. 264/AVC对编码的宏块进行运动预测时要 遍历所有的预测模式,即对每一种尺寸的子块都要执行一次搜索动作,因此帧间预测就能 针对图像中不同大小物体的各种移动,利用最适合的子块尺寸进行组合,以提高搜索的正 确性,而不会因为用固定尺寸的块去搜索不同大小的物体而导致在移动时产生的误差。确定宏块分割模式(块的尺寸)后,需要对每一个子块编码,计算每一个待编码的 子块对应的运动矢量,然后编码传输每个运动矢量和宏块分割模式。因此当选定一个比较 大的块尺寸时,则需要较少的码字对分块信息和运动矢量进行编码传送,但是难于达到精 确的匹配,也就是说在图像的残差部分可能包含着比较多的信息;而选定一个较小的块尺 寸,可以显著降低残差部分的信息,但是产生比较高的码率来表示运动矢量和对应的分块 策略。因此在不同的条件下需要选择合适块分块策略,块划分策略的好坏直接影响着编码 系统的效率和压缩效果。目前有两种普遍的运动预测的方法,一种方法是对各种宏块分割模式逐一进行固 定块尺寸的运动预测,这种方法由于对每一中宏块分割模式都需要遍历搜索窗区域,所需 的存储器操作带宽巨大,同时所需的计算时间长,无法实现实时处理。另外一种方法基于具 有最小的宏块分割尺寸的子块进行处理,计算出这些最小子块的SAD残差值后,通过若干最小子块的组合得到较大子块的SAD残差值,这种方法需存储较多的中间计算结果,所需 的暂存资源较多。
发明内容本实用新型的目的是为了克服已有技术的不足,提出了一种实时处理H. 264/AVC 中可变块尺寸运动预测方法,该方法可以降低硬件开销,所需存储器操作带宽小,计算时间 短,所需暂存资源少。本实用新型同时提出了 一种可变块尺寸运动预测装置。可变块尺寸运动预测方法,包括如下步骤(1)从外部存储器中持续取出待预测帧中用于预测某一候选运动矢量的当前宏块 像素及其对应的参考宏块像素,分别存储在当前宏块像素存储器和搜索窗像素存储器,直 到遍历搜索窗中的所有候选运动矢量;(2)从当前宏块像素存储器取出一个候选运动矢量的当前宏块像素,并对当前宏 块像素进行降采样和像素截位处理;(3)进行步骤(2)的同时,从搜索窗像素存储器取出一个候选运动矢量的参考宏 块像素,并对取出的参考宏块像素进行降采样和像素截位处理;(4)将步骤⑵和步骤(3)处理后的像素送到SAD计算单元进行运算,计算该候选 运动矢量对应的参考宏块在各种宏块分割模式下的SAD值;(5)各种宏块分割模式下的SAD值与前一个候选运动矢量运算得到的各种宏块分 割模式下的SAD值进行比较,选取各种宏块分割模式下最小SAD值和对应的运动矢量。本实用新型还可以将所述步骤(2)和(3)处理的结果分别缓存在当前宏块像素寄 存器阵列和参考宏块像素寄存器阵列,所述当前宏块像素寄存器阵列,将整个宏块的像素 在同一周期内提供给所述SAD计算单元,所述参考宏块像素寄存器阵列,将整个宏块的像 素在同一周期内提供给所述SAD计算单元。为了便于水平和垂直方向相邻的两个侯选运动矢量之间预测处理的连续性,所述 参考像素寄存器阵列在一个计算周期内在垂直方向向上和向下移动若干行像素,在水平方 向向左移动若干列像素。可变块尺寸运动预测装置,包括当前宏块像素存储器,搜索窗像素存储器,宏块 像素降采样处理单元一、宏块像素降采样处理单元二,像素截位处理单元一、像素截位处理 单元二,当前宏块像素寄存器阵列,参考宏块像素寄存器阵列,SAD计算单元,SAD比较单 元,运动预测流程控制单元,其中所述当前宏块像素存储器从外部存储器中持续取出待预测帧中用于预测某一候 选运动矢量的当前宏块像素;所述搜索窗像素存储器从外部存储器中持续取出当前宏块像素对应的参考宏块 像素。宏块像素降采样处理单元一、宏块像素降采样处理单元二分别独立地从当前宏块 像素存储器和搜索窗像素存储器取出当前宏块像素和参考宏块像素进行降采样处理,其在 不影响所述SAD计算精度的前提下减少当前宏块像素寄存器阵列和参考宏块像素寄存器 阵列的大小,同时降低SAD计算单元的硬件资源消耗;[0021]像素截位处理单元一、像素截位处理单元二分别独立地对所述降采样处理后的当 前宏块像素和参考宏块像素进行像素截位处理,其在不影响所述SAD计算精度的前提下降 低SAD计算单元的硬件资源消耗;当前宏块像素寄存器阵列暂存经所述宏块像素降采样和截位处理后的当前宏块 像素,寄存器阵列将整个宏块的像素在同一周期内提供给所述SAD计算单元;参考宏块像素寄存器阵列暂存经所述宏块像素降采样和像素截位处理后的参考 宏块像素,寄存器阵列将整个宏块的像素在同一周期内提供给所述SAD计算单元;为了便于水平和垂直方向相邻的两个侯选运动矢量之间的预测处理的连续性,参 考像素寄存器阵列在一个计算周期内可在垂直方向向上和向下移位移行像素,在水平方向 向左移动若干列像素的结构;SAD计算单元计算当前宏块像素与候选运动矢量对应的参考像素宏块之间的相似 度,将所述宏块像素降采样和截位处理后的当前宏块像素与参考宏块像素对应位置上的差 值的绝对值的累加;SAD比较单元选取各种宏块分割模式下的最小SAD值所对应的块模式及运动矢量 作为当前宏块位置的预测模式和运动矢量;运动预测流程控制单元控制当前宏块像素存储器、搜索窗像素存储器、两个宏块 像素降采样处理单元、两个像素截位处理单元、当前宏块像素寄存器阵列单元、参考宏块像 素寄存器阵列单元、宏块SAD计算单元、SAD比较单元的启动。本实用新型的有益效果主要体现在一方面本方法采用全流水结构,整个运动估 计运算执行周期短,所需存储器操作带宽小,所需暂存资源少,可以实现在编码器性能、功 耗、面积之间进行权衡,采用降采样和截位处理可以在不损编码性能的情况下占用更少的 硬件资源,对编码器的压缩效率影响很小;另一方面由于本方法基于块模式编码,因此在多 种视频标准实现都可以采用,具有很强的通用性。根据不同视频编码标准,只需要针对多种 该标准中宏块分割大小调整SAD累加和模式判决单元或模式选择单元即可。

图1为运动估计中使用的各种宏块分割模式图2为运动估计中使用的各种宏块分割模式的应用示例图3为搜索窗区域与搜索范围的关系示例图4为本实用新型采用的1/2降采样模板图5为本实用新型8x8宏块分割的SAD计算和组合的过程图6为本实用新型可变块尺寸运动预测方法流程图和可变块尺寸运动预测装置 结构图图7为本实用新型实施例所实现的不同位数像素截位处理结果同JM8. 4参考代码 的比较图图8为本实用新型实施例所实现的H. 264/AVC编码器RD曲线同JM8. 4参考代码 的比较图具体实施方式
以下结合附图对本实用新型内容进一步说明。可变块尺寸运动预测方法,包括如下步骤,如图6所示(1)从外部存储器中持续取出待预测帧中用于预测某一候选运动矢量的当前宏块 像素及其对应的参考宏块像素,分别存储在当前宏块像素存储器和搜索窗像素存储器,直 到遍历搜索窗中的所有候选运动矢量;(2)从当前宏块像素存储器取出一个候选运动矢量的当前宏块像素,并对当前宏 块像素进行降采样和像素截位处理;(3)进行步骤(2)的同时,从搜索窗像素存储器取出一个候选运动矢量的参考宏 块像素,并对取出的参考宏块像素进行降采样和像素截位处理;(4)将步骤⑵和步骤(3)处理后的像素送到SAD计算单元进行运算,计算该候选 运动矢量对应的参考宏块在各种宏块分割模式下的SAD值;(5)各种宏块分割模式下的SAD值与前一个候选运动矢量运算得到的各种宏块分 割模式下的SAD值进行比较,选取各种宏块分割模式下最小SAD值和对应的运动矢量。本实用新型还可以将所述步骤(2)和(3)处理的结果分别缓存在当前宏块像素寄 存器阵列和参考宏块像素寄存器阵列,所述当前宏块像素寄存器阵列,将整个宏块的像素 在同一周期内提供给所述SAD计算单元,所述参考宏块像素寄存器阵列,将整个宏块的像 素在同一周期内提供给所述SAD计算单元。为了便于水平和垂直方向相邻的两个侯选运动矢量之间预测处理的连续性,所述 参考像素寄存器阵列在一个计算周期内在垂直方向向上和向下移动若干行像素,在水平方 向向左移动若干列像素。可变块尺寸运动预测装置,如图6所示,包括当前宏块像素存储器(1),搜索窗像 素存储器(2),宏块像素降采样处理单元一(3)、宏块像素降采样处理单元二(4)、像素截位 处理单元一(5)、像素截位处理单元二(6),当前宏块像素寄存器阵列(7),参考宏块像素寄 存器阵列(8),SAD计算单元(9),SAD比较单元(10),运动预测流程控制单元(11),其中所述当前宏块像素存储器(1)从外部存储器中持续取出待预测帧中预测某一候 选运动矢量的当前宏块像素;所述搜索窗像素存储器(2)从外部存储器中持续取出当前宏块像素对应的参考 宏块像素,搜索窗内所存储的参考像素宏块的个数取决于所采用的搜索范围,例如,对于水 平方向[_16,15],垂直方向[_16,15]的搜索范围,所需装载的参考像素宏块个数为3x3 = 9个;对于水平方向[_32,31],垂直方向[_32,31]的搜索范围,所需装载的参考像素宏块个 数为5x5 = 25个,图3所示为搜索窗中宏块的个数与搜索范围关系;宏块像素降采样处理单元一(3)、宏块像素降采样处理单元二(4)分别独立地从当 前宏块像素存储器和搜索窗像素存储器取出当前宏块像素和参考宏块像素进行降采样处理, 其在不影响所述SAD计算精度的前提下减少当前宏块像素寄存器阵列和参考宏块像素寄存 器阵列的大小,同时降低SAD计算单元的硬件资源消耗,图4所示为一种降采样模式的示例;像素截位处理单元一(5)、像素截位处理单元二(6)分别独立地对所述降采样处 理后的当前宏块像素和参考宏块像素进行像素截位处理,其在不影响所述SAD计算精度的 前提下降低SAD计算单元的硬件资源消耗。[0051]像素截位处理的具体实现是对像素进行右移的处理,保留移位后的高位数据,如 对8位像素进行保留5位的截位处理,只需右移3位即可。如图7所示本实用新型实现的 不同位数像素截位处理的结果比较,比较的基准是JM8. 4参考代码,像素截位处理从高到 低分别取保留7位数据、保留6位数据、保留5位数据和保留4位数据四种情况。结果表明, 像素数据保留5位时,编码器的整体性能有略微的下降,信噪比降低0. ldB左右;而像素数 据保留4位时,编码器的整体性能下降较多,信噪比降低0. 3dB左右。当前宏块像素寄存器阵列(7)暂存经所述宏块像素降采样和截位处理后的当前 宏块像素,寄存器阵列将整个宏块的像素在同一周期内提供给所述SAD计算单元。参考宏块像素寄存器阵列(8)暂存经所述宏块像素降采样和像素截位处理后的 参考宏块像素,寄存器阵列将整个宏块的像素在同一周期内提供给所述SAD计算单元。为了便于水平和垂直方向相邻的两个侯选运动矢量之间的预测处理的连续性,参 考像素寄存器阵列(8)在一个计算周期内可在垂直方向向上和向下移位移行像素,在水平 方向向左移动若干列像素的结构。SAD计算单元(9)计算当前宏块像素与候选运动矢量对应的参考像素宏块之间的 相似度,将所述宏块像素降采样和截位处理后的当前宏块像素与参考宏块像素对应位置上 的差值的绝对值的累加。一种由最小宏块分割的SAD得到较大宏块分割的SAD的计算和组 合的过程如图5所示,该图所示为一个8x8宏块分割的SAD计算和组合的过程,其他宏块分 割的SAD计算与组合过程与此类似。SAD比较单元(10)包括SAD比较单元一和SAD比较单元二,其中,SAD比较单元一,选定某一宏块分割模式,比较不同的候选运动矢量在该宏 块分割下的SAD值,从而选择一个具有最小SAD值的运动矢量。其中,SAD比较单元二,在SAD比较单元一提供的结果中,比较各种宏块分割所对 应的最小的SAD值,选其中最小者所对应的宏块分割模式及运动矢量作为当前宏块位置的 预测模式和运动矢量。SAD比较单元的另外一种实现是包括SAD比较单元三和SAD比较单元四,其中,SAD比较单元三,比较同一候选运动矢量在各种宏块分割下的SAD值,从而 选择一个具有最小SAD值的子块模式。其中,SAD比较单元四,在SAD比较单元三提供的结果中,比较各个候选运动矢量 对应的最小的SAD值,选其中最小者所对应的块模式及运动矢量作为当前宏块位置的预测 模式和运动矢量。运动预测流程控制单元(11)控制当前宏块像素存储器、搜索窗像素存储器、两个 宏块像素降采样处理单元、两个像素截位处理单元、当前宏块像素寄存器阵列单元、参考宏 块像素寄存器阵列单元、宏块SAD计算单元、SAD比较单元的启动。如图8所示为本实用新型实现的H.264/AVC编码器RD曲线比较,比较基准是 JM8. 4参考代码。结果表明,本实用新型所实现的H. 264/AVC编码器在相同的码率下,相比 于JM8. 4参考代码,信噪比降低0. ldB左右。应该理解到的是,上述实施例只是对本实用新型的说明,而不是对本实用新型的 限制,任何不超出本实用新型实质精神范围内的发明创造,均落入本实用新型保护范围之 内。
权利要求可变块尺寸运动预测装置,其特征在于包括当前宏块像素存储器,搜索窗像素存储器,宏块像素降采样处理单元一、宏块像素降采样处理单元二,像素截位处理单元一、像素截位处理单元二,当前宏块像素寄存器阵列,参考宏块像素寄存器阵列,SAD计算单元,SAD比较单元,运动预测流程控制单元,其中所述当前宏块像素存储器从外部存储器中持续取出待预测帧中用于预测某一候选运动矢量的当前宏块像素;所述搜索窗像素存储器从外部存储器中持续取出当前宏块像素对应的参考宏块像素。宏块像素降采样处理单元一、宏块像素降采样处理单元二分别独立地从当前宏块像素存储器和搜索窗像素存储器取出当前宏块像素和参考宏块像素进行降采样处理;像素截位处理单元一、像素截位处理单元二分别独立地对所述降采样处理后的当前宏像素和参考宏块像素进行像素截位处理;当前宏块像素寄存器阵列暂存经所述宏块像素降采样和截位处理后的当前宏块像素,寄存器阵列将整个宏块的像素在同一周期内提供给所述SAD计算单元;参考宏块像素寄存器阵列暂存经所述宏块像素降采样和像素截位处理后的参考宏块像素,寄存器阵列将整个宏块的像素在同一周期内提供给所述SAD计算单元;SAD计算单元计算当前宏块像素与候选运动矢量对应的参考像素宏块之间的相似度,将所述宏块像素降采样和截位处理后的当前宏块像素与参考宏块像素对应位置上的差值的绝对值的累加;SAD比较单元选取各种宏块分割模式下的最小SAD值所对应的块模式及运动矢量作为当前宏块位置的预测模式和运动矢量;运动预测流程控制单元控制当前宏块像素存储器、搜索窗像素存储器、两个宏块像素降采样处理单元、两个像素截位处理单元、当前宏块像素寄存器阵列单元、参考宏块像素寄存器阵列单元、宏块SAD计算单元、SAD比较单元的启动。
2.如权利要求1所述可变块尺寸运动预测装置,其特征在于所述的参考像素寄存器阵 列在一个计算周期内可在垂直方向向上和向下移位一行像素,在水平方向向左移动若干列 像素的结构。
专利摘要可变块尺寸运动预测装置包括存储当前宏块像素的当前宏块像素存储器;存储参考宏块像素的搜索窗像素存储器;当前宏块像素与参考宏块像素分别从经过宏块像素降采样处理单元一、二及像素截位处理单元一、二进行降采样和像素截位后存储在当前宏块像素寄存器阵列和参考宏块像素寄存器阵列,SAD计算单元计算处理后的当前宏块像素与参考宏块像素的SAD值,SAD比较单元选取各种宏块分割模式下最小SAD值对应的块模式及运动矢量作为当前宏块位置的预测模式和运动矢量,运动预测流程控制单元控制各模块的启动。本实用新型采用全流水结构,整个运动估计运算周期短,可以实时处理,实现在编码器性能、功耗、面积之间进行权衡,具有很强的通用性。
文档编号H04N7/50GK201639717SQ20092012418
公开日2010年11月17日 申请日期2009年7月9日 优先权日2009年7月9日
发明者胡红旗, 陈剑军 申请人:杭州士兰微电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1