双斜栅扫描实现对角线匹配运动估计匹配电路结构和方法

文档序号:7898021阅读:216来源:国知局
专利名称:双斜栅扫描实现对角线匹配运动估计匹配电路结构和方法
双斜栅扫描实现对角线匹配运动估计匹配电路结构和方法
技术领域
本发明涉及视频编码技术领域,尤其涉及一种双斜栅扫描实现对角线匹配运动估 计匹配方法和电路结构。背景技术
运动估计的基本思想是将图像序列的每一帧分成许多互不重叠的宏块,并认为宏 块内所有像素的位移量都相同,然后对每个宏块到参考帧某一给定特定搜索范围内根据一 定的匹配准则找出与当前块最相似的块,即匹配块,匹配块与当前块的相对位移即为运动 矢量。视频压缩的时候,只需保存运动矢量和残差数据就可以完全恢复出当前块。
运动估计主要用于消除视频序列之间的时间冗余,是视频编码中的一项关键技 术。运动估计所采用的主要算法通常为块匹配算法,而块匹配算法大致可分为两类全搜索 算法(full search block matching algorithm, FSBMA)和快速搜索算法,而后者又包括 了如三步法(Three Step Search, TSS),菱形搜索法(Diamond Search, DS),四步法(Four Step Search, FSS)等。运动估计在搜索过程中需要找到与当前帧数据最为匹配的参考数 据来,这就存在一个比较准则的选取问题。衡量最佳匹配的准则有很多,如均方差(Mean SquareError, MSE),绝对平均差(Mean Absolute Difference, MAD)和绝对差和(Sumof Absolute Difference, SAD)等。但是,这些匹配准则都有一个明显的缺点,就是计算量太 大,从而使得硬件实现的难度大大增加。在最常用的SAD的计算过程中,都是对参考块和当 前块中所有的像素进行匹配计算。为了减少匹配像素的个数,寻找了几种不用全像素匹配 而所选择的像素最能代表宏块特征的四种匹配方式全匹配如图1A,对角线匹配如图1B, 框架匹配(circular match)如图1C,十字匹配(cross match)如图1D,图中深色点为匹配 计算像素点。为了确定这四种匹配方式的效果,做了以下实验在搜索策略为全搜索且搜 索块大小为8X8时,分别使用全匹配,对角线匹配,十字匹配和框架匹配对视频测试序列 tennis, salesman, garden和susie进行运动估计。与全搜索SAD计算的效果相比,三种匹 配的效果和全搜索都相差不是很大,虽然其中框架匹配准则最好,对角线匹配次之,十字匹 配最差,但是框架匹配和对角线匹配平均只相差0. ^dB,而且匹配块大小为NXN时,对角 线匹配比框架匹配少计算(N-2) X2个像素点,计算量减少42. 86%,所以综合考虑计算量, 性能和硬件实现,对角线匹配是最佳快速匹配准则方案。因此,如果能找到一种能大幅减少 匹配计算量并且同时能保持运动估计的准确性的匹配准则是十分有意义的。
发明内容
本发明要解决的技术问题之一,在于提供一种双斜栅扫描实现对角线匹配运动估 计的匹配方法,克服了背景技术中匹配准则的计算量大,从而使得硬件实现的难度大大增 加的问题。
本发明上述技术问题是这样实现的双斜栅扫描实现对角线匹配运动估计的匹配 方法,包括如下步骤
步骤10、将每个要传输的图像帧作为当前帧,已传输的用于参照的图像帧作为参 考帧,每帧图像划分为自然数NXN的宏块,在时序控制模块的控制下,根据交叉寄存器所 需的双斜栅顺序分别读取所述当前帧的NXN的宏块和所述参考帧中给定对应搜索区域的 所有宏块到当前块存储单元和参考块存储单元中;所述当前块存储单元和参考块存储单元 是交叉寄存器组结构;
步骤20、时序控制模块控制当前块存储单元和参考块存储单元的交叉寄存器组将 各对应宏块所需图像像素送入阵列处理单元进行对角线匹配计算;所述对角线匹配计算即 由阵列处理单元计算当前块存储单元的一宏块和参考块存储单元的一宏块之间的所有图 像像素点的差值并累加出最终的SAD值;
步骤30、当所有当前块存储单元和参考块存储单元对应的各宏块进行对角线匹配 计算得到的对应SAD值后,由编码模块根据其各个宏块的SAD值得出最终的位移矢量。
本发明要解决的技术问题之二,在于提供一种双斜栅扫描实现对角线匹配运动估 计的匹配电路结构。
该技术问题之二是这样实现的双斜栅扫描实现对角线匹配运动估计的匹配电路 结构,包括编码模块,时序控制模块,阵列处理单元、当前块存储单元以及参考块存储单元, 所述时序控制模块连接有阵列处理单元和编码模块;所述当前块存储单元和参考块存储单 元均与所述阵列处理单元连接;所述阵列处理单元与编码模块连接。
其中所述阵列处理单元具体包括PE1阵列单元、PE2阵列单元、用于保存操作数 和运算结果信息的第一寄存器、加法器、累加器;所述PEl阵列单元和PE2阵列单元均与所 述第一寄存器相连,所述第一寄存器依次连接加法器和累加器,所述累加器将其运算结果 传送给所述编码模块;所述PEl阵列单元和PE2阵列单元内部结构相同,具体为用于保存 操作数和运算结果信息的第二寄存器、减法器,所述第二寄存器与减法器相连接。
本发明具有如下优点1.使用对角线匹配算法可以相较于其他常见算法在大量 减少计算量的同时保持运动估计的效果;2.使用可复用资料的交叉寄存器组结构配合一 种双斜栅扫描方式,可以充分复用交叠的数据,高效的实现对角线匹配算法。

图IA为背景技术中当前块和参考块所有的像素进行全匹配的结构示意图。
图IB为背景技术中当前块和参考块所有的像素进行对角线匹配的结构示意图。
图IC为背景技术中当前块和参考块所有的像素进行框架匹配的结构示意图。
图ID为背景技术中当前块和参考块所有的像素进行十字匹配的结构示意图。
图2为本发明实现对角线匹配运动估计的匹配电路结构示意图。
图3为本发明实现对角线匹配运动估计的匹配电路结构中阵列处理单元的具体 结构示意图。
图4为本发明阵列处理单元中PEl阵列单元和PE2阵列单元的具体结构示意图。
图5为本发明双斜栅扫描实现对角线匹配运动估计的匹配方法流程示意图。
图6本发明双斜光栅对搜索区域的各候选块进行扫描原理。
图7本发明交叉寄存器的结构示意图。
具体实施方式
参照图2,双斜栅扫描实现对角线匹配运动估计的匹配电路结构,包括当前块存储 单元10、参考块存储单元20、阵列处理单元30、编码模块40、时序控制模块50,所述时序控 制模块50连接有阵列处理单元30和编码模块40 ;所述当前块存储单元10和参考块存储 单元20均与所述阵列处理单元连接30 ;所述阵列处理单元30与编码模块40连接。
其中如图3所示,所述阵列处理单元具体包括PE1阵列单元31、PE2阵列单元32、 用于保存操作数和运算结果信息的第一寄存器33、加法器34、累加器35 ;所述PEl阵列单 元31和PE2阵列单元32均与所述第一寄存器33相连,所述第一寄存器33依次连接加法 器34和累加器35,所述累加器35将其运算结果传送给所述编码模块40。如图4所示,所 述PEl阵列单元31和PE2阵列单元32具体包括用于保存操作数和运算结果信息的第二 寄存器311、减法器312,所述第二寄存器311与减法器312相连接。
其中当前块存储单元用于读取图像当前帧的NXN的宏块。
参考块存储单元用于读取图像参考帧中给定对应搜索区域的所有宏块。
时序控制模块用于控制当前块存储单元和参考块存储单元的交叉寄存器组将各 对应宏块所需图像像素送入阵列处理单元中。
阵列处理单元用于进行对角线匹配的计算。
编码模块将根据其各个宏块的SAD值得出最终的位移矢量。
加法器是用于将一候选块图像像素点的SAD值相加并输出到累加器。
累加器负责在所有候选块的图像像素点的SAD值计算完毕后累加得出最后的 SAD,该模块由中心控制器来控制,并在计算完每个候选块后复位清零。
见图5所示,双斜栅扫描实现对角线匹配运动估计的匹配方法,包括如下步骤
步骤10、将每个要传输的图像帧作为当前帧,已传输的用于参照的图像帧作为参 考帧,每帧图像划分为自然数NXN的宏块,在时序控制模块的控制下,根据交叉寄存器所 需的双斜栅顺序分别读取所述当前帧的NXN的宏块和所述参考帧中给定对应搜索区域的 所有宏块到当前块存储单元和参考块存储单元中;所述当前块存储单元和参考块存储单元 是交叉寄存器组结构;
步骤20、时序控制模块控制当前块存储单元和参考块存储单元的交叉寄存器组将 各对应宏块所需图像像素送入阵列处理单元进行对角线匹配计算;所述对角线匹配计算即 由阵列处理单元计算当前块存储单元的一宏块和参考块存储单元的一宏块之间的所有图 像像素点的差值并累加出最终的SAD值;
步骤30、当所有当前块存储单元和参考块存储单元对应的各宏块进行对角线匹配 计算得到的对应SAD值后,由编码模块根据其各个宏块的SAD值得出最终的位移矢量。
其中所述根据双斜栅顺序读取所述参考帧中给定对应搜索区域的所有宏块具体 为
对于NXN的宏块,假设搜索区间为[_p,p]时,通过双斜光栅对搜索区域的各候选 块进行扫描搜索,所述各候选块为所述参考帧中给定对应搜索区域的各宏块,虽然有4*p_2 个最边沿的候选块没有扫描,但是由于这些候选块都处于估计成功概率最小的边沿而且数 量小,所以对搜索效果造成影响很小。当采用这种近似全搜索方式,在搜索的过程中,如图 6所示,斜光栅在搜索斜对角线的奇数行时,以从左下向右上的顺序对各候选块进行移动搜索;斜光栅在搜索斜对角线的偶数行时,以从右上向左下的顺序对各候选块进行移动搜索; 当斜光栅每搜索到每行的末尾时,需向右下移动一行像素,接着按相应顺序继续搜索。搜索 过程中,整个搜索区域共有2N个像素。在斜对角行中从第i块移到第i+Ι块、从上一行最 后的第j块到下一行开始的第j+Ι块或者在偶数行中从第k块移到第k+Ι块的过程中,斜 对角行的相邻候选块之间总有N-I个像素相同,因此仅需改变此斜对角行的一个像素和另 一对角行的全部像素。对于运算结构的设计,也充分利用上述的数据交叠,保留重复的数 据。当进行下一候选计算时,仅调入新像素的数据,而重复的数据仅在结构内部作相应的移 位操作即可。这样,不仅可以降低对搜索区域存储器的访问次数而且还可以降低运算阵列 同存储器之间的带宽。
如图7所示,为本发明交叉寄存器的结构示意图。图中Rl R16均代表一个Sbit 寄存器,所有箭头都代表数据流向,圆圈中的A、B、C代表不同的开关;其交叉寄存器组结构 配合所述双斜栅扫描方式来完成当前块存储单元和参考块存储单元对图像数据的读取。
双斜栅扫描时,各候选块的移动有三种左上到右下,右上到左下,左下到右上。在 针对双斜光栅扫描方式的数据流特点,使用以下三种不同状态的交替来完成相应的移位操 作
(1)第一状态开关A通,B和C都断开,实现斜光栅在搜索斜对角线的奇数行时, 从左下向右上的顺序对各候选块进行移动搜索。
(2)第二状态开关B通,A和C都断开,实现斜光栅在搜索斜对角线的偶数行时, 从右上向左下的顺序对各候选块进行移动搜索。
(3)第三状态开关C通,A和B都断开,实现奇数和偶数行之间转换时,从左上到 右下的顺序对各候选块进行移动搜索。
在扫描过程中,上述三种状态需要交替变换,顺序是:A- > C- > B- > C- > A......这样一直循环到扫描结束,从而实现了参考块交叠数据的重用。
如图3所示,所述的阵列处理单元包括PEl阵列单元、PE2阵列单元、用于保存操 作数和运算结果信息的第二寄存器、加法器、累加器;为了充分提高PEl阵列单元、PE2阵列 单元利用率和充分利用输入带宽,PEl阵列单元、PE2阵列单元具体工作流程如下
假设Rx为交叉寄存器,当交叉寄存器组读入第一个候选块(各候选块中的一候选 块)时,读入顺序为从Rl R16 (交叉寄存器组是由Rl R16组成)。当Rl R8写满后, 数据开始写入R9的同时PEl和PE2阵列单元开始计算Rl、R2与对应当前候选块中图像像 素点的SAD值;其中像素点的SAD值的计算公式为
权利要求
1.一种双斜栅扫描实现对角线匹配运动估计的匹配电路结构,其特征在于包括编码 模块、时序控制模块、阵列处理单元、当前块存储单元以及参考块存储单元,所述时序控制 模块连接有阵列处理单元和编码模块;所述当前块存储单元和参考块存储单元均与所述阵 列处理单元连接;所述阵列处理单元与编码模块连接。
2.根据权利要求1所述的双斜栅扫描实现对角线匹配运动估计的匹配电路结构,其特 征在于所述阵列处理单元具体包括PE1阵列单元、PE2阵列单元、用于保存操作数和运算 结果信息的第一寄存器、加法器、累加器;所述PEl阵列单元和PE2阵列单元均与所述第一 寄存器相连,所述第一寄存器依次连接加法器和累加器,所述累加器将其运算结果传送给 所述编码模块。
3.据权利要求2所述的双斜栅扫描实现对角线匹配运动估计的匹配电路结构,其特征 在于所述PEl阵列单元和PE2阵列单元内部结构相同,具体为用于保存操作数和运算结 果信息的第二寄存器、减法器,所述第二寄存器与减法器相连接。
4.一种双斜栅扫描实现对角线匹配运动估计的匹配方法,其特征在于包括如下步骤步骤10、将每个要传输的图像帧作为当前帧,已传输的用于参照的图像帧作为参考帧, 每帧图像划分为自然数NXN的宏块,在时序控制模块的控制下,根据交叉寄存器所需的双 斜栅顺序分别读取所述当前帧的NXN的宏块和所述参考帧中给定对应搜索区域的所有宏 块到当前块存储单元和参考块存储单元中;所述当前块存储单元和参考块存储单元是交叉 寄存器组结构;步骤20、时序控制模块控制当前块存储单元和参考块存储单元的交叉寄存器组将各对 应宏块所需图像像素送入阵列处理单元进行对角线匹配计算;所述对角线匹配计算即由阵 列处理单元计算当前块存储单元的一宏块和参考块存储单元的一宏块之间的所有图像像 素点的差值并累加出最终的SAD值;步骤30、当所有当前块存储单元和参考块存储单元对应的各宏块进行对角线匹配计算 得到的对应SAD值后,由编码模块根据其各个宏块的SAD值得出最终的位移矢量。
5.根据权利要求4所述的双斜栅扫描实现对角线匹配运动估计的匹配方法,其特征在 于所述步骤10中的根据双斜栅顺序读取所述参考帧中给定对应搜索区域的所有宏块具 体为通过双斜光栅对搜索区域的各候选块进行扫描搜索,所述各候选块为所述参考帧中给 定对应搜索区域的各宏块,在搜索的过程中,斜光栅在搜索斜对角线的奇数行时,以从左下 向右上的顺序对各候选块进行移动搜索;斜光栅在搜索斜对角线的偶数行时,以从右上向 左下的顺序对各候选块进行移动搜索;当斜光栅每搜索到每行的末尾时,需向右下移动一 行像素,接着按相应顺序继续搜索。
6.根据权利要求5所述的双斜栅扫描实现对角线匹配运动估计的匹配方法,其特征 在于所述双斜光栅对搜索区域的各候选块进行扫描时,通过所述交叉寄存器阵列结构的 三个开关来完成不同的三种状态的交替,来完成对搜索区域的各候选块进行扫描的位移操 作。
7.根据权利要求6所述的双斜栅扫描实现对角线匹配运动估计的匹配方法,其特征在 于所述三种状态为第一状态所述三个开关中的第一开关导通,第二开关和第三开关都断开,实现斜光栅 在搜索斜对角线的奇数行时,从左下向右上的顺序对各候选块进行移动搜索;第二状态所述三个开关中的第二开关导通,第一开关和第三开关都断开,实现斜光栅 在搜索斜对角线的偶数行时,从右上向左下的顺序对各候选块进行移动搜索;第三状态所述三个开关中的第三开关导通,第一开关和第二开关都断开,实现奇数和 偶数行之间转换时,从左上到右下的顺序对各候选块进行移动搜索。
8.根据权利要求4所述的双斜栅扫描实现对角线匹配运动估计的匹配方法,其特征 在于所述的阵列处理单元包括PEl阵列单元、PE2阵列单元、用于保存操作数和运算结果 信息的第一寄存器、加法器、累加器;所述的阵列处理单元进行对角线匹配计算具体步骤如 下当交叉寄存器组读入所述各候选块中的第一候选块时,读入顺序从第一交叉寄存器到 第十六交叉寄存器;所述的交叉寄存器组由第一交叉寄存器到第十六交叉寄存器组成;当 第一交叉寄存器到第八交叉寄存器写满后,图像数据开始写入第九交叉寄存器的同时,PEl 和PE2阵列单元开始计算第一交叉寄存器、第二交叉寄存器与对应当前候选块中图像像素 点的SAD值;然后当数据开始写入第十交叉寄存器的同时,PEl阵列和PE2阵列单元计算第 三交叉寄存器、第四交叉寄存器与对应当前候选块中图像像素点的SAD值;如此,数据每往 前写一个图像像素点,PEl阵列和PE2阵列单元就往前计算两个图像像素点,当PEl阵列和 PE2阵列单元计算第十五交叉寄存器、第十六交叉寄存器两点的同时,第一候选块的计算结 束,如此循环,一直到所有候选块的SAD值计算完毕。
9.根据权利要求8所述的双斜栅扫描实现对角线匹配运动估计的匹配方法,其特征在 于所述各图像像素点的SAD值的计算公式为
全文摘要
本发明提供一种双斜栅扫描实现对角线匹配运动估计的匹配方法,将要传输的帧作为当前帧,已传输的作为参考的图像帧称为参考帧,将每帧图像划分成N×N的宏块,当前帧的每一个宏块与参考帧中给定对应搜索区域的所有宏块对角线匹配计算,找出最佳匹配宏块,将计算得到的对应各宏块的SAD,由编码模块得出最终的位移矢量。本发明还提供了一种双斜栅扫描实现对角线匹配运动估计的匹配电路结构,使用对角线匹配算法可以相较于其他常见算法大量减少计算量的同时保持运动估计的效果;且使用可复用资料的交叉寄存器组结构配合一种双斜栅扫描方式,可以充分复用交叠的数据,高效的实现对角线匹配算法,实现了对角线匹配运动估计。
文档编号H04N7/26GK102045568SQ201010614629
公开日2011年5月4日 申请日期2010年12月30日 优先权日2010年12月30日
发明者廖裕民 申请人:福州瑞芯微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1