分像素运动估计装置的制作方法

文档序号:7727095阅读:135来源:国知局
专利名称:分像素运动估计装置的制作方法
技术领域
本实用新型涉及数字视频编码中运动估计的实现,尤其是帧间预测中一种分像素 运动估计的方法和装置。
背景技术
在数字化视频编码中,基于运动估计算法的帧间预测可以消减视频数据在时间上 的冗余信息,该方法已广泛应用于MPEG-x和H. 26x等视频编码标准系列中。通常来讲,帧 间预测的运算量会占到整个编码系统负载的60% -80%,因此,以专用ASIC架构实现的运 动估计硬加速模块被广泛应用于编码系统中。目前存在的运动估计架构,大多数都是针对固定的宏块分割模式,常见的固定宏 块分割模式有水平方向和垂直方向上各有8个采样点的8x8结构和各有16个采样点的 16x16结构。对细节丰富的视频源,采用更小的宏块分割模式,可以在帧间预测中获得较小 的预测误差,从而节省编码比特数。在场景未切换时,对于视频源中相邻两帧图像而言,运动物体的采样点坐标变化 很小。当采样点坐标间距小于单位像素点间距时,若采用整像素参考帧搜索的运动估计,以 先前帧图像作为参考帧不一定能够获得较小的预测误差,而采用小(分)像素参考帧搜索 的运动估计,通过对单位像素点插值得到更小精度的分像素点则更接近物体的运动轨迹。针对视频源特性,采用更小的宏块分割模式以及更小精度的分像素点获得参考 帧,使运动估计获得较小的预测误差,从而节省编码比特数。新一代视频压缩标准,如 H. 264,VC-I, AVS都把可变的宏块分割模式和更小精度预测作为标准单元部件。宏块分割 模式如图1所示,包括16x16宏块分割模式、16x8宏块分割模式,8x16宏块分割模式,8x8宏 块分割模式,8x4宏块分割模式,4x8宏块分割模式以及4x4宏块分割模式。在16x8宏块分 割模式下,宏块被分割为上、下两个子块,分别记作16x8_t和16x8_b ;在8x16宏块分割模 式下,宏块被分割为左、右两个子块,分别记作8xl6_l和8xl6_r ;在8x4宏块分割模式下, 8x8块被分割为上、下两个子块,分别记作8x4_t和8x4_b ;在4x8宏块分割模式下,宏块被 分割为左、右两个子块,分别记作4x8_l和4x8_r。然而,采用可变的宏块分割模式和更小精度的分像素点,运动估计在提升编码系 统压缩率的同时,也导致运动估计的运算复杂度大幅增加,延长了整个搜索过程,如果将运 动估计作为一级流水,它将是整个编码系统的瓶颈,而目前能充分利用新特性并保持编码 系统实时性的硬加速模块还很少,特别地,对于多参考帧而言,这种高密度的运算将导致编 码系统性能的下降,无法实现实时编码。为了保证编码实时性,一些方案采用缩小搜索窗的范围,这样虽然能够较大程度 降低运动估计的复杂度,减轻该级流水对系统的制约,然而搜索窗的范围从整像素搜索时 就开始减小,降低了获得最佳匹配的概率,影响编码系统的压缩效率。发明内容本实用新型旨在解决现有技术的不足,提出了适用于宏块分割模式可变、分层级 的分像素运动估计装置,该装置能够降低运动估计的运算复杂度,缩短搜索时间,平衡搜索 范围和搜索精度,保证编码系统的实时性,提高编码系统的压缩效率。本实用新型还提供了分像素运动估计方法。一种分像素运动估计装置,包括待估计宏块存储单元、参考帧存储单元、分像素预 测块产生单元、运算逻辑阵列单元、SAD累加单元、最优匹配判决单元以及模式判决单元所述待估计宏块存储单元存储待估计宏块,并从待估计宏块中持续调出尺寸为 NxN(4x4)的像素子块作为当前块,当前块逐个输入至运算逻辑阵列单元;所述参考帧存储单元存储整像素或分像素的参考帧图像,根据当前块在待估计宏 块的位置,整像素或分像素参考帧图像输出给分像素预测块产生单元;所述分像素预测块产生单元产生搜索点阵,所述搜索点阵由MxM个(3x3)预测块 构成,每个预测块尺寸为NxN(4x4)的整像素或分像素参考帧图像,所述搜索点阵输出至运 算逻辑阵列单元;所述运算逻辑阵列单元分别将当前块与搜索点阵同一行的M个预测块进行SAD计 算,输出一行M个SADl值,直到完成当前块与搜索点阵中M行预测块的SAD计算,共输出M 行,每行M个SADl值;所述SAD累加单元包括数个SAD累加器,所述SAD累加器的个数由宏块的分割模 式决定。对每一个当前块而言有且只有一个SAD累加器被选中,被选中的SAD累加器从运 算逻辑阵列单元逐行接收SADl值,共接收M行,每行M个,被选中的SAD累加器将当前块对 应的MxM个SADl值按对应位置与该SAD累加器原来各位置点的数值累加,直到宏块分割模 式下该SAD累加器所对应的子块处理完毕,输出累加得到的SAD2值,共有M行,每行M个。 同时SAD累加器还可以将运动矢量代价函数与SADl值累加。所述最优匹配判决单元包括数个最优比较器,各SAD累加器的输出连接一个最优 比较器,所述最优比较器从SAD累加器逐行接收SAD2值,共接收M行,每行M个,所述最优 比较器对MxM个SAD2值进行比较,各个最优比较器分别输出最小SAD2值,即为SAD2_MIN, 同时输出SAD2_MIN在搜索点阵中对应的位置。所述模式判决单元,对各种宏块分割模式下的SAD2_MIN值进行同级别比较,若宏 块分割模式的比较级别未达到同一级别,则对各个宏块分割模式的SAD2_MIN值累加到同 一级别,所谓同一级别是指8x8子块级别和16x16宏块级别。若宏块分割模式的比较级别 达到子块级,选出最小SAD值作为子块级别的SAD_MIN值,确定子块级的分割模式。若宏块 分割模式的比较级别达到宏块级,选出最小SAD值作为帧间预测的SAD_MIN值;根据帧间预 测的SAD_MIN值确定最优的宏块分割模式,并将该模式下对应的SAD2_MIN值在搜索点阵中 的位置作为最优匹配点位置,进而根据输入的运动矢量和最优匹配点位置得到分像素运动 矢量。所述模式判决单元将最优匹配点位置反馈给分像素预测块产生单元,分像素预测 块产生单元根据最优匹配点位置为下一分像素级别的运动估计产生预测块数据。所述分像素预测块产生单元将预测块数据反馈给参考帧存储单元或独立的存储 单元。[0020]另一种分像素运动估计装置,包括待估计宏块存储单元、参考帧存储单元、分像 素预测块产生单元、运算逻辑阵列单元、SAD累加单元、模式选择单元以及最优匹配判决单 元所述待估计宏块存储单元存储待估计宏块,并从待估计宏块中持续调出尺寸为 NxN(4x4)的像素子块作为当前块,当前块逐个输入至运算逻辑阵列单元;所述参考帧存储单元存储整像素或分像素的参考帧图像,根据当前块在待估计宏 块的位置,整像素或分像素参考帧图像输出给分像素预测块产生单元;所述分像素预测块产生单元产生搜索点阵,所述搜索点阵由MxM个(3x3)预测块 构成,每个预测块尺寸为NxN(4x4)的整像素或分像素参考帧图像,所述搜索点阵输出至运 算逻辑阵列单元;所述运算逻辑阵列单元分别将当前块与搜索点阵同一行的M个预测块进行SAD计 算,输出一行M个SADl值,直到完成当前块与搜索点阵中M行预测块的SAD计算,共输出M 行,每行M个SADl值;所述SAD累加单元包括数个SAD累加器,所述SAD累加器的个数由宏块的分割模 式决定。对每一个当前块而言有且只有一个SAD累加器被选中,被选中的SAD累加器从运算 逻辑阵列单元逐行接收SADl值,共接收M行,每行M个。被选中的SAD累加器将当前块对 应的MxM个SADl值按对应位置与该SAD累加器原来各位置点的数值累加,直到宏块分割模 式下该SAD累加器所对应的子块处理完毕,输出累加得到的SAD2值,共有M行,每行M个。 同时SAD累加器还可以将运动矢量代价函数与SADl值累加。所述模式选择单元,根据待估计宏块的已知分割模式,选择该分割模式下SAD累 加器的SAD2值,逐行输出给最优匹配判决单元,共输出M行,每行M个SAD2值。所述最优匹配判决单元包括一个最优匹配判决器,对输入的MXM个SAD2值进行 比较,选择最小SAD2值作为SAD_MIN,将SAD_MIN值在搜索点阵中的对应位置作为最优匹配 点位置,根据输入的运动矢量和最优匹配点位置获得分像素运动矢量。所述最优匹配判决单元将最优匹配点位置反馈给分像素预测块产生单元,分像素 预测块产生单元根据最优匹配点位置为下一分像素级别的运动估计产生预测块数据。所述分像素预测块产生单元将预测块数据反馈给参考帧存储单元或独立的存储 单元。一种分像素运动估计方法,包括如下步骤(1)从待估计宏块中持续调出尺寸为NxN(4x4)的像素子块作为当前块,逐个输 出当前块;同时,根据当前块在待估计宏块的位置,从参考帧存储单元调出整像素或分像素 参考帧图像,产生搜索点阵,所述搜索点阵由MxM个(3x3)预测块构成,每个预测块尺寸为 NxN(4x4)的整像素或分像素参考帧图像;继续步骤(2);(2)分别将当前块与搜索点阵同一行的M个预测块进行SAD计算,输出一行M个 SADl值,直到完成当前块与搜索点阵中M行预测块的SAD计算,共输出M行SADl值,每行M 个SADl值。继续步骤(3);(3)对每一个当前块而言,有且仅有一个依据当前待判决的宏块分割模式而确定 的SAD累加器,被选中的SAD累加器从运算逻辑阵列单元逐行接收SADl值,共接收M行,每 行M个,被选中的SAD累加器将当前块对应的MxM个SADl值按对应位置与该SAD累加器原 来各位置点的数值累加,直到在当前待判决的宏块分割模式下该SAD累加器所对应的所有
6子块处理完毕,输出累加得到的SAD2值,共有M行,每行M个;继续步骤(4);在该步中SAD 累加器还可以将运动矢量代价函数与SADl值累加;(4)各SAD累加器的输出连接一个最优比较器,各最优比较器从SAD累加器逐行接 收M个SAD2值,共接收M行,最优比较器对MxM个SAD2值进行比较,输出最小SAD2值,即 为SAD2_MIN,同时输出SAD2_MIN在搜索点阵中对应的位置;继续步骤(5);(5)若当前待选宏块分割模式包含子块级分割,则继续步骤(6),否则转到步骤(8);(6)若宏块分割模式的比较级别未统一到子块级,则转到步骤(1);否则,继续步 骤⑵;(7)对步骤(4)中各种宏块分割模式下的SAD2_MIN值进行同级别比较子块级模 式判决,选出最小SAD值作为该级别的SAD_MIN值,确定子块级的分割模式。继续步骤(8);(8)若待选的宏块分割模式比较级别未统一到宏块级,则转到步骤⑴;否则,继 续步骤(9);(9)对步骤(4)中各种宏块分割模式下的SAD2_MIN值进行同级别比较宏块级模 式判决,选出最小SAD值作为帧间预测的SAD_MIN值,确定最优的宏块分割模式,并将该模 式下对应的SAD2_MIN值在搜索点阵中的位置作为最优匹配点位置,进而根据输入的运动 矢量和最优匹配点位置得到分像素运动矢量。继续步骤(10);(10)判断分像素搜索是否达到最小运动估计精度,如果没有达到则返回步骤 (1);否则,分像素运动估计结束。如上所述的步骤(2)、(3)相对于步骤(1)可以根据实际需要进行适当的延迟。对 多参考帧运动估计而言,上述流程针对每一个参考帧都需要执行一次。另一种分像素运动估计方法,包括如下步骤(1)从待估计宏块中持续调出尺寸为NxN(4x4)的像素子块作为当前块,逐个输出 当前块;同时,根据当前块在待估计宏块中的位置调出整像素或分像素参考帧图像,产生搜 索点阵,所述搜索点阵由MxM个(3x3)预测块构成,每个预测块尺寸为NxN(4x4)的整像素 或分像素参考帧图像;继续步骤(2);(2)分别将当前块与搜索点阵同一行的M个预测块进行SAD计算,输出一行M个 SADl值,直到完成当前块与搜索点阵中M行预测块的SAD计算,共输出M行SADl值,每行M 个SADl值;继续步骤(3);(3)根据已知宏块分割模式,选取该分割模式下的SAD累加器,被选中的SAD累加 器从运算逻辑阵列单元逐行接收SADl值,共接收M行,每行M个,被选中的SAD累加器将当 前块对应的MxM个SADl值按对应位置与该SAD累加器原来各位置点的数值累加,直到宏块 分割模式下该SAD累加器所对应的所有子块处理完毕,输出累加得到的SAD2值,共有M行, 每行M个;继续步骤(4);在该步中SAD累加器还可以将运动矢量代价函数与SADl值累加;(4)最优匹配判决单元对输入的MXM个SAD2值进行比较,选择最小SAD2值作为 SAD_MIN,将SAD_MIN值在搜索点阵中的对应位置作为最优匹配点位置,根据输入的运动矢 量和最优匹配点位置获得分像素运动矢量;继续步骤(5);(5)判断待估计宏块内所有NxN子块是否处理完毕,若已经处理完毕,则继续步骤 (6),否则,跳转到步骤(1);(6)确定已知宏块分割模式下的运动矢量和SAD_MIN值。继续步骤(7);[0048](7)判断分像素搜索是否未达到最小运动估计精度,如果没有达到则返回步骤 (1),否则,分像素运动估计结束。如上所述的步骤(2)、(3)相对于步骤(1)可以根据实际需要进行适当的延迟。对 多参考帧运动估计而言,上述流程针对每一个参考帧都需要执行一次。本实用新型的有益效果是(1)本实用新型将运动估计分级为整像素和分像素,且在分像素运动估计中按照 分像素精度来再次进行运动估计分级,因此平衡了搜索范围和搜索精度,进而降低运动估 计的运算复杂度,缩短搜索时间,保证编码系统的实时性。(2)本实用新型采用全流水结构,整个运动估计运算执行周期小,可以在不损编码 性能的情况下占用更少的资源对编码器的压缩效率影响很小,在编码器性能、功耗、面积之 间进行权衡。(3)由于本实用新型基于块模式编码,因此在多种视频标准实现都可以采用,具有 很强的通用性。根据不同视频编码标准,只需要针对多种该标准中宏块分割大小调整SAD 累加和模式判决模块或模式选择单元即可。(4)无论是对整像素、1/2像素还是1/4像素精度,甚至是更细精度的运动搜索都 可适用本实用新型的分像素运动估计装置,该装置具有较高的复用率。

图1为宏块分割模式示意图图2为宏块分割模式未知的分像素运动估计装置系统结构图图3为图2所示运动估计装置的SAD累加单元、最优匹配判决单元及模式判决单 元图4为宏块分割模式已知的分像素运动估计装置系统结构图图5为图4所示运动估计装置的SAD累加单元、模式选择单元及最优匹配判决单 元结构图图6为宏块分割模式未知的分像素运动估计方法流程图图7为宏块分割模式已知的分像素运动估计方法流程图
具体实施方式
以下结合附图对本实用新型内容进一步说明。一种分像素运动估计装置,如图2所示,包括待估计宏块存储单元(11)、参考帧存 储单元(12)、分像素预测块产生单元(13)、运算逻辑阵列单元(14)、SAD累加单元(15)、最 优匹配判决单元(16)以及模式判决单元(17)所述待估计宏块存储单元(11)存储待估计宏块,并从待估计宏块中持续调出尺 寸为NxN(4x4)的像素子块作为当前块,当前块逐个输入至运算逻辑阵列单元(14);所述参考帧存储单元(12)存储整像素或分像素的参考帧图像,根据当前块在待 估计宏块的位置,整像素或分像素参考帧图像输出给分像素预测块产生单元(13);所述分像素预测块产生单元(13)产生搜索点阵,所述搜索点阵由MxM个(3x3)预 测块构成,每个预测块尺寸为NxN(4x4)的整像素或分像素参考帧图像,所述搜索点阵输出至运算逻辑阵列单元(14);所述运算逻辑阵列单元(14)分别将当前块与搜索点阵同一行的M个预测块进行 SAD计算,输出一行M个SADl值,直到完成当前块与搜索点阵中M行预测块的SAD计算,共 输出M行,每行M个SADl值;所述SAD累加单元(15)包括数个SAD累加器,所述SAD累加器的个数由宏块的分 割模式决定,如图3所示。对每一个当前块而言有且只有一个SAD累加器被选中,被选中的 SAD累加器从运算逻辑阵列单元逐行接收SADl值,共接收M行,每行M个,被选中的SAD累 加器将当前块对应的MxM个SADl值按对应位置与该SAD累加器原来各位置点的数值累加, 直到宏块分割模式下该SAD累加器所对应的子块处理完毕,输出累加得到的SAD2值,共有 M行,每行M个。同时SAD累加器还可以将运动矢量代价函数与SADl值累加。所述最优匹配判决单元(16)包括数个最优比较器,各SAD累加器的输出连接一个 最优比较器,如图3所示,所述最优比较器从SAD累加器逐行接收SAD2值,共接收M行,每 行M个,所述最优比较器对MxM个SAD2值进行比较,各个最优比较器分别输出最小SAD2值, 即为SAD2_MIN,同时输出SAD2_MIN在搜索点阵中对应的位置。如图3所示,所述模式判决单元(17),对各种宏块分割模式下的SAD2_MIN值进行 同级别比较,若宏块分割模式的比较级别未达到同一级别,则对各个宏块分割模式的SAD2_ MIN值累加到同一级别,所谓同一级别是指8x8子块级别和16x16宏块级别。若宏块分割模 式的比较级别达到子块级,选出最小SAD值作为子块级别的SAD_MIN值,确定子块级的分割 模式。若宏块分割模式的比较级别达到宏块级,选出最小SAD值作为帧间预测的SAD_MIN 值;根据帧间预测的SAD_MIN值确定最优的宏块分割模式,并将该模式下对应的SAD2_MIN 值在搜索点阵中的位置作为最优匹配点位置,进而根据输入的运动矢量和最优匹配点位置 得到分像素运动矢量。所述模式判决单元(17)将最优匹配点位置反馈给分像素预测块产生单元,分像 素预测块产生单元根据最优匹配点位置为下一分像素级别的运动估计产生预测块数据,如 图1所示。所述分像素预测块产生单元(13)将预测块数据反馈给参考帧存储单元(12)或独 立的存储单元,如图1所示。另一种分像素运动估计装置,如图4所示,包括待估计宏块存储单元(21)、参考帧 存储单元(22)、分像素预测块产生单元(23)、运算逻辑阵列单元(24)、SAD累加单元(25)、 模式选择单元(26)以及最优匹配判决单元(27)所述待估计宏块存储单元(21)存储待估计宏块,并从待估计宏块中持续调出尺 寸为NxN(4x4)的像素子块作为当前块,当前块逐个输入至运算逻辑阵列单元(24);所述参考帧存储单元(22)存储整像素或分像素的参考帧图像,根据当前块在待 估计宏块的位置,整像素或分像素参考帧图像输出给分像素预测块产生单元(23);所述分像素预测块产生单元(23)产生搜索点阵,所述搜索点阵由MxM个(3x3)预 测块构成,每个预测块尺寸为NxN(4x4)的整像素或分像素参考帧图像,所述搜索点阵输出 至运算逻辑阵列单元(24);所述运算逻辑阵列单元分(24)别将当前块与搜索点阵同一行的M个预测块进行 SAD计算,输出一行M个SADl值,直到完成当前块与搜索点阵中M行预测块的SAD计算,共输出M行,每行M个SADl值;所述SAD累加单元(25)包括数个SAD累加器,所述SAD累加器的个数由宏块的分 割模式决定,如图5所示。对每一个当前块而言有且只有一个SAD累加器被选中,被选中的 SAD累加器从运算逻辑阵列单元逐行接收SADl值,共接收M行,每行M个。被选中的SAD累 加器将当前块对应的MxM个SADl值按对应位置与该SAD累加器原来各位置点的数值累加, 直到宏块分割模式下该SAD累加器所对应的子块处理完毕,输出累加得到的SAD2值,共有 M行,每行M个。同时SAD累加器还可以将运动矢量代价函数与SADl值累加。如图5所示,所述模式选择单元(26),根据待估计宏块的已知分割模式,选择该分 割模式下SAD累加器的SAD2值,逐行输出给最优匹配判决单元(27),共输出M行,每行M个 SAD2 值。如图5所示,所述最优匹配判决单元(27)包括一个最优匹配判决器,对输入的 MXM个SAD2值进行比较,选择最小SAD2值作为SAD_MIN,将SAD_MIN值在搜索点阵中的 对应位置作为最优匹配点位置,根据输入的运动矢量和最优匹配点位置获得分像素运动矢量。所述最优匹配判决单元(27)将最优匹配点位置反馈给分像素预测块产生单元 (23),分像素预测块产生单元(23)根据最优匹配点位置为下一分像素级别的运动估计产 生预测块数据,如图4所示。所述分像素预测块产生单元(23)将预测块数据反馈给参考帧存储单元(22)或独 立的存储单元,,如图4所示。一种分像素运动估计方法,如图6所示,包括如下步骤(1)从待估计宏块中持续调出尺寸为NxN(4x4)的像素子块作为当前块,逐个输 出当前块;同时,根据当前块在待估计宏块的位置,从参考帧存储单元调出整像素或分像素 参考帧图像,产生搜索点阵,所述搜索点阵由MxM个(3x3)预测块构成,每个预测块尺寸为 NxN(4x4)的整像素或分像素参考帧图像;继续步骤(2);(2)分别将当前块与搜索点阵同一行的M个预测块进行SAD计算,输出一行M个 SADl值,直到完成当前块与搜索点阵中M行预测块的SAD计算,共输出M行SADl值,每行M 个SADl值。继续步骤(3);(3)对每一个当前块而言,有且仅有一个依据当前待判决的宏块分割模式而确定 的SAD累加器,被选中的SAD累加器从运算逻辑阵列单元逐行接收SADl值,共接收M行,每 行M个,被选中的SAD累加器将当前块对应的MxM个SADl值按对应位置与该SAD累加器原 来各位置点的数值累加,直到在当前待判决的宏块分割模式下该SAD累加器所对应的所有 子块处理完毕,输出累加得到的SAD2值,共有M行,每行M个;继续步骤(4);在该步中SAD 累加器还可以将运动矢量代价函数与SADl值累加;(4)各SAD累加器的输出连接一个最优比较器,各最优比较器从SAD累加器逐行接 收M个SAD2值,共接收M行,最优比较器对MxM个SAD2值进行比较,输出最小SAD2值,即 为SAD2_MIN,同时输出SAD2_MIN在搜索点阵中对应的位置;继续步骤(5);(5)若当前待选宏块分割模式包含子块级分割,则继续步骤(6),否则转到步骤 ⑶;(6)若宏块分割模式的比较级别未统一到子块级,则转到步骤(1);否则,继续步
10骤⑵;(7)对步骤(4)中各种宏块分割模式下的SAD2_MIN值进行同级别比较子块级模 式判决,选出最小SAD值作为该级别的SAD_MIN值,确定子块级的分割模式。继续步骤(8);(8)若待选的宏块分割模式比较级别未统一到宏块级,则转到步骤(1);否则,继 续步骤(9);(9)对步骤(4)中各种宏块分割模式下的SAD2_MIN值进行同级别比较宏块级模 式判决,选出最小SAD值作为帧间预测的SAD_MIN值,确定最优的宏块分割模式,并将该模 式下对应的SAD2_MIN值在搜索点阵中的位置作为最优匹配点位置,进而根据输入的运动 矢量和最优匹配点位置得到分像素运动矢量。继续步骤(10);(10)判断分像素搜索是否达到最小运动估计精度,如果没有达到则返回步骤 (1);否则,分像素运动估计结束。如上所述的步骤(2)、(3)相对于步骤(1)可以根据实际需要进行适当的延迟。对 多参考帧运动估计而言,上述流程针对每一个参考帧都需要执行一次。另一种分像素运动估计方法,如图7所示,包括如下步骤(1)从待估计宏块中持续调出尺寸为NxN(4x4)的像素子块作为当前块,逐个输出 当前块;同时,根据当前块在待估计宏块中的位置调出整像素或分像素参考帧图像,产生搜 索点阵,所述搜索点阵由MxM个(3x3)预测块构成,每个预测块尺寸为NxN(4x4)的整像素 或分像素参考帧图像;继续步骤(2);(2)分别将当前块与搜索点阵同一行的M个预测块进行SAD计算,输出一行M个 SADl值,直到完成当前块与搜索点阵中M行预测块的SAD计算,共输出M行SADl值,每行M 个SADl值;继续步骤(3);(3)根据已知宏块分割模式,选取该分割模式下的SAD累加器,被选中的SAD累加 器从运算逻辑阵列单元逐行接收SADl值,共接收M行,每行M个,被选中的SAD累加器将当 前块对应的MxM个SADl值按对应位置与该SAD累加器原来各位置点的数值累加,直到宏块 分割模式下该SAD累加器所对应的所有子块处理完毕,输出累加得到的SAD2值,共有M行, 每行M个;继续步骤(4);在该步中SAD累加器还可以将运动矢量代价函数与SADl值累加;(4)最优匹配判决单元对输入的MXM个SAD2值进行比较,选择最小SAD2值作为 SAD_MIN,将SAD_MIN值在搜索点阵中的对应位置作为最优匹配点位置,根据输入的运动矢 量和最优匹配点位置获得分像素运动矢量;继续步骤(5);(5)判断待估计宏块内所有NxN子块是否处理完毕,若已经处理完毕,则继续步骤 (6),否则,跳转到步骤(1);(6)确定已知宏块分割模式下的运动矢量和SAD_MIN值。继续步骤(7);(7)判断分像素搜索是否未达到最小运动估计精度,如果没有达到则返回步骤 (1),否则,分像素运动估计结束。如上所述的步骤(2)、(3)相对于步骤⑴可以根据实际需要进行适当的延迟。对 多参考帧运动估计而言,上述流程针对每一个参考帧都需要执行一次。应该理解到的是,上述实施例只是对本实用新型的说明,而不是对本实用新型的 限制,任何不超出本实用新型实质精神范围内的发明创造,均落入本实用新型保护范围之 内。
权利要求分像素运动估计装置,其特征在于包括待估计宏块存储单元、参考帧存储单元、分像素预测块产生单元、运算逻辑阵列单元、SAD累加单元、最优匹配判决单元以及模式判决单元,所述待估计宏块存储单元连接运算逻辑阵列单元,参考帧存储单元连接分像素预测块产生单元,分像素预测块产生单元连接运算逻辑阵列单元,运算逻辑阵列单元连接SAD累加单元,SAD累加单元连接最优匹配判决单元,最优匹配判决单元连接模式判决单元。
2.如权利要求1所述的分像素运动估计装置,其特征在于所述待估计宏块存储单元存储待估计宏块,并从待估计宏块中持续调出尺寸为 NxN(4x4)的像素子块作为当前块,当前块逐个输入至运算逻辑阵列单元;所述参考帧存储单元存储整像素或分像素的参考帧图像,根据当前块在待估计宏块的 位置,整像素或分像素参考帧图像输出给分像素预测块产生单元;所述分像素预测块产生单元产生搜索点阵,所述搜索点阵由MxM个(3x3)预测块构成, 每个预测块尺寸为NxN(4x4)的整像素或分像素参考帧图像,所述搜索点阵输出至运算逻 辑阵列单元;所述运算逻辑阵列单元分别将当前块与搜索点阵同一行的M个预测块进行SAD计算, 输出一行M个SADl值,直到完成当前块与搜索点阵中M行预测块的SAD计算,共输出M行, 每行M个SADl值;所述SAD累加单元包括数个SAD累加器,所述SAD累加器的个数由宏块的分割模式决 定,对每一个当前块而言有且只有一个SAD累加器被选中,被选中的SAD累加器从运算逻辑 阵列单元逐行接收SADl值,共接收M行,每行M个;被选中的SAD累加器将当前块对应的 MxM个SADl值按对应位置与该SAD累加器原来各位置点的数值累加,直到宏块分割模式下 该SAD累加器所对应的子块处理完毕,输出累加得到的SAD2值,共有M行,每行M个;所述最优匹配判决单元包括数个最优比较器,各SAD累加器的输出连接一个最优比较 器,所述最优比较器从SAD累加器逐行接收SAD2值,共接收M行,每行M个,所述最优比较 器对MxM个SAD2值进行比较,各个最优比较器分别输出最小SAD2值,即为SAD2_MIN,同时 输出SAD2_MIN在搜索点阵中对应的位置;所述模式判决单元,对各种宏块分割模式下的SAD2_MIN值进行同级别比较,若宏块 分割模式的比较级别未达到同一级别,则对各个宏块分割模式的SAD2_MIN值累加到同一 级别,所谓同一级别是指8x8子块级别和16x16宏块级别;若宏块分割模式的比较级别达到 子块级,选出最小SAD值作为子块级别的SAD_MIN值,确定子块级的分割模式;若宏块分割 模式的比较级别达到宏块级,选出最小SAD值作为帧间预测的SAD_MIN值;根据帧间预测 的SAD_MIN值确定最优的宏块分割模式,并将该模式下对应的SAD2_MIN值在搜索点阵中的 位置作为最优匹配点位置,进而根据输入的运动矢量和最优匹配点位置得到分像素运动矢 量。
3.如权利要求2所述分像素运动估计装置,其特征在于所述SAD累加器将运动矢量 代价函数与SADl值累加。
4.如权利要求2所述分像素运动估计装置,其特征在于所述最优匹配判决单元将最 优匹配点位置反馈给分像素预测块产生单元,分像素预测块产生单元根据最优匹配点位置 为下一分像素级别的运动估计产生预测块数据;所述分像素预测块产生单元将预测块数据 反馈给参考帧存储单元或独立的存储单元。
5.分像素运动估计装置,其特征在于包括待估计宏块存储单元、参考帧存储单元、分 像素预测块产生单元、运算逻辑阵列单元、SAD累加单元、模式选择单元以及最优匹配判决 单元,所述待估计宏块存储单元连接运算逻辑阵列单元,参考帧存储单元连接分像素预测 块产生单元,分像素预测块产生单元连接运算逻辑阵列单元,运算逻辑阵列单元连接SAD 累加单元,SAD累加单元连接模式选择单元,模式选择单元连接最优匹配判决单元。
6.如权利要求5所述分像素运动估计装置,其特征在于所述待估计宏块存储单元存储待估计宏块,并从待估计宏块中持续调出尺寸为 NxN(4x4)的像素子块作为当前块,当前块逐个输入至运算逻辑阵列单元;所述参考帧存储单元存储整像素或分像素的参考帧图像,根据当前块在待估计宏块的 位置,整像素或分像素参考帧图像输出给分像素预测块产生单元;所述分像素预测块产生单元产生搜索点阵,所述搜索点阵由MxM个(3x3)预测块构成, 每个预测块尺寸为NxN(4x4)的整像素或分像素参考帧图像,所述搜索点阵输出至运算逻 辑阵列单元;所述运算逻辑阵列单元分别将当前块与搜索点阵同一行的M个预测块进行SAD计算, 输出一行M个SADl值,直到完成当前块与搜索点阵中M行预测块的SAD计算,共输出M行, 每行M个SADl值;所述SAD累加单元包括数个SAD累加器,所述SAD累加器的个数由宏块的分割模式决 定,对每一个当前块而言有且只有一个SAD累加器被选中,被选中的SAD累加器从运算逻辑 阵列单元逐行接收SADl值,共接收M行,每行M个,被选中的SAD累加器将当前块对应的 MxM个SADl值按对应位置与该SAD累加器原来各位置点的数值累加,直到宏块分割模式下 该SAD累加器所对应的子块处理完毕,输出累加得到的SAD2值,共有M行,每行M个;所述模式选择单元,根据待估计宏块的已知分割模式,选择该分割模式下SAD累加器 的SAD2值,逐行输出给最优匹配判决单元,共输出M行,每行M个SAD2值;所述最优匹配判决单元包括一个最优匹配判决器,对输入的MXM个SAD2值进行比较, 选择最小SAD2值作为SAD_MIN,将SAD_MIN值在搜索点阵中的对应位置作为最优匹配点位 置,根据输入的运动矢量和最优匹配点位置获得分像素运动矢量。
7.如权利要求6所述分像素运动估计装置,其特征在于所述SAD累加器将运动矢量 代价函数与SADl值累加。
8.如权利要求6所述分像素运动估计装置,其特征在于所述最优匹配判决单元将最 优匹配点位置反馈给分像素预测块产生单元,分像素预测块产生单元根据最优匹配点位置 为下一分像素级别的运动估计产生预测块数据;所述分像素预测块产生单元将预测块数据 反馈给参考帧存储单元或独立的存储单元。
专利摘要本实用新型提供了分像素运动估计装置,所述装置包括待估计宏块存储单元、参考帧存储单元、分像素预测块产生单元、运算逻辑阵列单元、SAD累加单元、最优匹配判决单元以及模式判决单元,所述装置的另外一种形态包括待估计宏块存储单元、参考帧存储单元、分像素预测块产生单元、运算逻辑阵列单元、SAD累加单元、模式选择单元以及最优匹配判决单元。本实用新型平衡了运动估计的搜索范围和搜索精度,降低运算复杂度,缩短搜索时间,保证编码系统的实时性,整个运动估计运算执行周期小,可以在不损编码性能的情况下占用更少的资源,对编码器的压缩效率影响很小,可在编码器性能、功耗、面积之间进行权衡,同时具有很强的通用性和复用性。
文档编号H04N7/26GK201682589SQ200920124190
公开日2010年12月22日 申请日期2009年7月9日 优先权日2009年7月9日
发明者李鑫锢 申请人:杭州士兰微电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1