一种全搜索块匹配算法的实现及其应用
- 格式:pdf
- 大小:364.76 KB
- 文档页数:4
N-1 N-1
∑∑ MAD
=
1 N2
x =0
j=0
Ck ( x, y) - Rk - 1 ( x + u, y + v)
图 2为 AS2结构图 , 图 3为 AB2结构图. AS2 结构与 AB2 结构相比 , 结构复杂 , 硬件资源使用 多. 所以 AB2结构更适合于硬件资源有限的 FPGA 使用. 在 AB2结构中 , 当前帧参考块的数据在 PEs 的 AD ( absolute difference) 内保持不变 , 而搜索区
第 2期
田志东 , 等 : 一种全搜索块匹配算法的 FPGA实现及其应用
135
内的数据顺序输入到 PEs的 AD , 这样就可依次计 算每个候选块的 MAD. 最后通过比较器得到最小 的 MAD 值 , 同时得出运动矢量.
置了 3个可配置参数 ———搜索区长度 、高度和最大 运动距离 P . 通过设置长宽两个参数可完成任意长 宽的搜索区域. 该体系的实现是在 Xilinx ISE613集 成软件包和 XST综合软件下完成的. 对于 PEs中使 用量最大的 AD 单元进行优化 , 优化后结构见图 5.
图 2 AS2结构图 ( N = 3, P = 2) F ig12 Systolic arch itecture AS2 w ith N = 3 and P = 2
© 1994-2007 China Academic Journal Electronic Publishing House. All rights reserved.
图 4 基于 AB2结构的 FSBM A体系结构 F ig14 System arch itecture of FSBM A ba sed
on AB2 arch itecture
为降低 PEs对帧图像存储器的数据访问 , 可在 FSBMA 处理器中 , 加入当前帧参考块的随机存储 器和搜索区域随机存储器. 控制单元产生对基于 AB2的处理阵列和地址发生器的控制信号 , 达到同 步工作的目的. 地址发生器将产生访问两个随机存 储器地址信号. 总线按照 IBM coreconnect总线标准 设置.
块化和结构整齐的特点 , 因此该结构易于实现. 全搜索块匹配算法可设计出符合其特点的 SA
结构. 在这方面 Thomas Komarek和 Peter Pirsch[ 5 ]提 出 4种用于全搜索块匹配算法的 SA 结构 , 如表 1.
表 1 四种 SA结构的比较 [ 5] Table 1 Com pare of four SA arch itectures
1 全搜索块匹配算法
FSBMA是 M E中最常用的实现算法. 如图 1可 说明基于块匹配的运动预测算法.
图 1 块匹配算法简图 F ig11 Block ma tch ing a lgor ithm
对当前帧图像 , 可将它划分成 N ×N 的非重叠 块. M E的目的是根据一定的匹配准则 , 在参考帧 中找到一个 N ×N的最匹配块. 设当前帧在视频序列 中的时间为 k , 对于参考帧 , 若它在视频序列中的 时间为 k - n , 则称其为前向运动预测 ; 若它在视 频序列中的时间为 k +m , 则称其为后向运动预测. 其中 , n和 m 是任意时间单元 , 通常不超过 3. 当前
关键词 : 全搜索块匹配 ; 现场可编程逻辑门电路 ; 实时压缩 中图分类号 : TP 391 文献标识码 : A
原始 数 字 视 频 因 数 据 量 大 造 成 存 储 和 传 输 困 难. 如分辨率为 352 ×288 像素 、25帧 / s时 , 公用 中分辨率格式 ( common intermediate form at, C IF ) 视频序列的码率大于 30 M bits/ s. 于是有必要对原 始数字视频进行压缩 , 以便于传输和存储. 目前视 频压 缩 算 法 常 采 用 运 动 预 测 ( motion estim ation, M E) [ 1 ]降低视频的帧间时间冗余. M E 利用视频序 列中相邻帧间图像的变化比较小 , 用一个运动矢量 和相邻帧间图像的差值代替原始图像进行传送.
E2m a il:
tzd1978 @ 1631com
© 1994-2007 China Academic Journal Electronic Publishing House. All rights reserved.
134
深圳大学学报理工版
第 23卷
帧中的块通常用块左上角坐标 ( x, y) 表示. 对于参 考帧的搜索空间 , 若定义最大位移为 P , 并按一定 的匹配准则找到最匹配块 ( x + u, y + v) , 把由矢量 ( x, y) 到矢量 ( x + u, y + v) 的矢量称为当前帧 ( x, y) 块的运动矢量 , 该矢量可表示为 ( u, v) .
- P ≤ u, v ≤ P;
(1)
N-1 N-1
∑∑ M SE
=
1 N2
x =0
j =0
Ck ( x, y) - Rk - 1 ( x + u, y + v) 2
- P ≤ u, v ≤ P.
(2)
其中 , Ck ( x, y) 表示当前帧中块的像素 ; Rk - 1 ( x + u, y + v) 表示参考帧中块的元素. 由这两个准则获得 的运动估计与预测效果相当接近. 由于 MAD 准则 不需要乘法运算 , 所以 MAD 准则更适合在 FPGA 和 VLSI ( very large scale integration) 上实现. 本研 究实现的 FSBMA 算法采用 MAD 准则.
为实现 FSBMA 的参数化控制 , 在控制单元设
优化后 AD 单元包括 AD1 和 AD2 两类 , 其中 AD1只完成减法运算和取绝对值运算 , AD2完成减 法 、取绝对值和加法运算. 这样可减少 AD s中的加 法器数目 , 达到优化目的.
图 4的 FSBMA 结构在 Xilinx V irtex2Ⅱ Pro系列 ( xc2vp40) 的 FPGA 上实现 , FSBMA 参数为 N = 16, P值仅影响 RAM 的大小 , 对 PEs使用的面积无 影响. FPGA 的速度等级为 5. 本实验实现的 P 值 最大为 31. 实现过程中对系统占用面积和最高工作 频率进行优化 , 实验最终实现的使用面积 (通常以 使用的 CLB 数量来衡量 ) 为 2 060, 最高工作频率 为 1591872 MHz, 使用率为 42%.
SA 结构 PE数量
SA 需要的计算次数
单个 PE AB1 A S1 AB2 A S2
1 N 2P + 1 N2 (2P + 1) N
N2 (2P + 1) 2 N (2P + 1) 2 N2 (2P + 1) (2P + 1) (2P + 1) N (2P + 1)
由表 1 可见 , PE ( p rocess element) 运算可完 成减法 、取绝对值和加法运算各一次.
2 SA 结构
FSBMA 的运算量非常大 , 例如 ,ห้องสมุดไป่ตู้计算一个块 的运动矢量需要 ( 2 ×N2 ) ( 2P + 1) 2 次运算 (包括加 法 、减法和求绝对值 ) 和 ( 2P + 1) 2 - 1次比较运算. 为实现实时编码应用 , 必须采用大量的硬件资源和 合理的体系结构完成这些运算.
SA 结构是一种采用并行处理单元和流水线技 术的计算网络 , 该网络能够实现快速大量的运算. 所以在全搜索块匹配运动预测中常被采用. SA 内 的处理单元采用同步时钟和同步控制 , 并且具有模
田志东 , 朱明程
(深圳大学信息工程学院 , 深圳 518060)
摘 要 : 研究一种全搜索块匹配的脉动阵列结构 , 将该结构的全搜索块匹配算法在赛林思 V irtex - Ⅱ Pro系列现场可编程逻辑门电路 (简称 FPGA ) 上综合并实现 , 给出在 FPGA 上实现该算法的面积使用和最 高工作频率等结果. 该结构可用于低码率的实时压缩应用 , 如 MPEG22. 其最大特点在于可以在运动距离的 最大值范围内任意设定运动距离 P值 , 同时搜索区域可以是长宽任意值的区域.
第 23卷 , 第 2期 2006年 4月
深圳大学学报理工版 JOURNAL OF SHENZHEN UN IVERSITY SC IENCE AND ENGINEER ING
Vol123, No12 Ap r1 2006
文章编号 : 100022618 (2006) 0220133204
一种全搜索块匹配算法的 FPGA实现及其应用
图 3 AB2 结构图 ( N = 3, P = 2) F ig13 Systolic arch itecture AB2 w ith N = 3 and P = 2
3 FSBMA 在 FPGA 上的实现
图 4给出基于 AB2 结构的 FSBMA 在 FPGA 上 实现的体系结构图.
图 5 优化后的 AD 单元结构 F ig15 O ptim ized arch itecture of AD elem en t
运动预测块匹配可有多种实现算法 , 最直接的 方法是计算搜索窗口内每一个候选块的 MAD 值 , 找出 MAD 值最小的块 , 并计算出运动矢量 , 这就 是全搜索算法 [ 324 ] .
运动预测块匹配还有一些快速搜索算法 , 如三 步搜索法和钻石形搜索法. 但快速搜索算法经常会 收敛于一个局部极小点 , 而不是全局最小点. 因此 快速算法会有一定的性能损失. 而全搜索能得到最 佳预测.