发明名称 视频系统的运动估计内核装置
摘要 本发明公开了设置于一个FPGA中的视频系统运动估计(ME)内核,包括;数据输入控制器,从图像帧存储器中读取需要进行ME处理的宏块;参考帧缓冲区和当前帧缓冲区,用于存储帧的数据;线扫描/残差计算控制器对多个MV搜索;SAD计算阵列,可同时完成针对16个MV的SAD计算,并从中选出最小的SAD对应的MV;残差计算单元,完成1列中16个点的计算,共16个周期完成1个图像宏块残差的计算。本发明提供了“行列结构”的片内数据缓冲区,构建了并行运算器阵列,从而,从“点式搜索”的方式转换为“线式扫描”,可同时进行数据的输入和输出,为多个运算单元提供需要的数据,提高了工作效率。
申请公布号 CN101146222B 申请公布日期 2012.05.23
申请号 CN200610116071.3 申请日期 2006.09.15
申请人 中国航空无线电电子研究所 发明人 章宇东
分类号 H04N7/26(2006.01)I 主分类号 H04N7/26(2006.01)I
代理机构 上海航天局专利中心 31107 代理人 徐钫
主权项 一种视频系统的运动估计内核装置,其特征在于,该运动估计内核装置设置于一个现场可编程门阵列FPGA芯片中,将FPGA芯片内的小容量存储器块排成行列结构,为多个运算单元同时提供数据缓冲区,进行并行工作,由此加快了运算速度,该运动估计内核装置包括:数据输入控制器,用于从图像帧存储器中读取当前帧需要进行运动估计ME处理的宏块,以及读取在参考帧中与当前帧对应宏块的搜索窗口,根据ME搜索算法,在搜索窗口中选取多至9个宏块去参加像素绝对差和SAD计算,进行块匹配计算,并根据SAD计算的结果确定是否已经找到最佳匹配块,从而得到运动矢量MV;ME处理单元,包括:参考帧缓冲区I‑BUF、当前帧缓冲区P‑BUF、线扫描/残差计算控制器、SAD计算阵列和残差计算单元;ME处理单元由FPGA内的小容量存储器块组成多个运算单元同时提供数据缓冲区并行工作;所述参考帧缓冲区I‑BUF,用于存储参考帧的数据,参考帧缓冲区I‑BUF的设置大于1个搜索窗口,行数设为64行,可容纳4行宏块;列数采用整数块小存储块;当片内存储器资源丰富时,其列数不小于图像的列数;当片内存储器资源紧缺时,其列数等于2n个图像宏块的列数;所述当前帧缓冲区P‑BUF,用于存储当前帧的数据,当前帧缓冲区P‑BUF的设置大于1个宏块,其行数设为16行,列数设为16n列,即可以容纳n个宏块;列数的设置采用整数块小存储块;所述线扫描/残差计算控制器,用于对多个MV的搜索,控制残差计算单元的工作状态; 所述SAD计算阵列,从外部调入以前MV的计算结果,确定计算的起点,并根据参考帧缓冲区I‑BUF、当前帧缓冲区P‑BUF的状态,实现多至9个宏块的SAD计算;计算结果的MV和SAD信号输出到线扫描/残差计算控制器;所述残差计算单元,包括残差运算器及其缓冲器,根据MV指示的P(n,m)的匹配块P*(n,m),残差计算单元计算残差图像P(n,m)‑P*(n,m);并根据参考帧缓冲区I‑BUF、当前帧缓冲区P‑BUF的状态,一次完成1列中16个点的计算,共16个周期完成1个图像宏块残差的计算;数据输出控制器,用于将运动估计计算得到的MV和残差图像存到FPGA外围电路MV存储器及残差图像存储器中对应的单元;CPU核,内嵌于上述FPGA芯片中,用于控制数据输入控制器、数据输出控制器和线扫描/残差计算控制器的工作。
地址 200233 上海市桂平路432号