一种基于fpga的电子稳像系统的制作方法
【专利摘要】本发明一种基于FPGA的电子稳像系统,包括由FPGA和外部帧存储器构建的底层数据流水架构和稳像处理子系统两部分组成;底层数据流水架构,用于对视频数据进行解码提取有效的图像数据并缓存,采用乒乓操作控制整个系统的图像数据流,并向稳像处理子系统提供所缓存的图像数据,利用稳像处理子系统处理得到的参数构造运动补偿帧输出;稳像处理子系统,计算输入图像数据的当前帧的运动补偿参数,并将其传输给底层数据流水架构。基于本发明设计,可以利用FPGA实现基于特征匹配的电子稳像,达到实时性要求。
【专利说明】
-种基于FPGA的电子稳像系统
技术领域
[0001] 本发明属于图像处理技术领域,具体设及一种基于FPGA的电子稳像系统。
【背景技术】
[0002] 电子稳像技术作为一种重要的视频增强技术,可W有效地从视频序列中去除因摄 像平台不稳定而引入的图像扰动,从而提高视频的稳定性和清晰度,已经被广泛应用到军 事领域和民用设备中。
[0003] 常用的电子稳像方法按照运动估计方法的不同可W分为基于图像特征的电子稳 像方法和基于灰度信息的电子稳像方法。其中,基于图像特征的稳像方法通过提取帖内特 征点,并对相邻帖的特征点进行匹配来估计摄像机的运动参数,进而对图像进行运动补偿。 该方法精度较高,可W有效去除视频中的平移和旋转抖动,进而被广泛采用,但由于计算过 程相对复杂,难W硬件实时实现。
[0004] 利用FPGA进行视频图像处理,可W充分发挥并行和流水线计算的优势,解决复杂 的计算密集型运算,为实时视频处理提供一种有效的解决方案。
【发明内容】
阳0化]本发明是为了解决现有基于特征匹配的稳像算法难W硬件实时实现的问题,而提 出一种基于FPGA的电子稳像系统。
[0006] 实现本发明的技术方案如下:
[0007] 一种基于FPGA的电子稳像系统,包括由FPGA和外部帖存储器构建的底层数据流 水架构和稳像处理子系统两部分组成;
[0008] 底层数据流水架构,用于对视频数据进行解码提取有效的图像数据并缓存,采用 兵鸟操作控制整个系统的图像数据流,并向稳像处理子系统提供所缓存的图像数据,利用 稳像处理子系统处理得到的参数构造运动补偿帖输出;
[0009] 稳像处理子系统,计算输入图像数据的当前帖的运动补偿参数,并将其传输给底 层数据流水架构。
[0010] 本发明具有如下有益效果:
[0011] 1)基于本发明设计,可W利用FPGA实现基于特征匹配的电子稳像,达到实时性要 求。 阳〇1引。利用FPGA及少量外围器件,可W完成构建低功耗的小型化实时稳像系统,应用 前景广泛。
[0013] 3)特征提取,特征匹配和运动参数估计Ξ个模块W流水线模式运行,充分发挥 FPGA并行处理的优势,保证处理的实时性。
【附图说明】
[0014] 图1为基于FPGA的电子稳像系统的示意图;
[0015] 图2为底层数据流水架构框图;
[0016] 图3为特征提取模块框图;
[0017] 图4为特征匹配模块框图;
[0018] 图5为运动参数估计模块框图;
[0019] 图6为运动参数累积及滤波模块框图。
【具体实施方式】
[0020] 下面结合附图和具体实例对本发明进行详细说明。
[OOW 如图1所示,本发明一种基于FPGA的电子稳像系统,包括由FPGA和外部帖存储器 构建的底层数据流水架构和稳像处理子系统。
[0022] 底层数据流水架构,用于对视频数据进行解码提取有效的图像数据并缓存,采用 兵鸟操作控制整个系统的图像数据流,并向稳像处理子系统提供所缓存的图像数据,利用 稳像处理子系统处理得到的参数构造运动补偿帖输出。
[0023] 稳像处理子系统,计算输入图像数据的当前帖的运动补偿参数,并将其传输给底 层数据流水架构。
[0024] 如图2所示,本发明所述底层数据流水架构主要由视频解码子模块、输入视频写 入子模块、输入帖读出子模块、当前帖写入子模块、地址产生子模块、补偿帖读出子模块、输 出帖写入子模块、输出视频读出子模块、视频编码子模块、外部存储控制器、外部存储总线 仲裁子模块、输入缓存、输出缓存、参考帖缓存及当前帖缓存组成;输入缓存、输出缓存、参 考帖缓存及当前帖缓存由外部帖存储器实现;其利用外部帖存储器进行图像存储,采用兵 鸟操作进行输入输出缓存,并向稳像处理模块提供有效的图像数据进行处理,然后利用处 理结果构造运动补偿帖输出。具体为:
[0025] 视频解码子模块,对输入的视频数据进行解码,提取有效的图像数据作为输入帖 通过输入视频写入子模块写入到输入缓存中。
[00%]输入帖读出子模块,从输入缓存中读取缓存好的输入帖,并将其传输给稳像处理 子系统,同时,通过当前帖写入子模块将参考帖图像写入参考帖缓存中,通过当前帖写入子 模块将其余帖图像写入当前帖缓存中;其中参考帖为从输入帖中选定的其中一帖。
[0027] 地址产生子模块,根据稳像处理子系统输出的运动补偿参数构造运动补偿帖,并 计算运动补偿帖内各点的数据存储地址,产生一个地址队列。
[0028] 补偿帖读出子模块,根据所述地址队列读出运动补偿帖的各点数据作为输出帖, 并通过输出帖写入子模块写入到输出缓存中。
[0029] 输出视频读出子模块,将缓存好的输出帖送到视频编码子模块进行视频编码输 出。
[0030] 外部存储总线仲裁子模块,利用各子模块的存取优先级进行外部帖存储器的总线 分配,生成读写指令。
[0031] 外部存储控制器,根据外部总线仲裁子模块的读写指令,按照外部帖存储器的时 序要求产生读写信号,进行数据存取。
[0032] 本发明所述稳像处理子系统由FPGA实现,包括特征提取模块、特征匹配模块、运 动参数估计模块和运动参数累积及滤波模块;特征提取,特征匹配,运动参数估计模块W流 水线模式运行,充分发挥FPGA的并行处理优势,保证处理的实时性。具体为:
[0033] 特征提取模块,用于提取当前帖图像的特征点,并针对提取的特征点生成相应的 特征向量传输给特征匹配模块。
[0034] 特征匹配模块,用于对当前帖的特征向量和前一帖的进行匹配,获取匹配点对并 传输给运动参数估计模块。
[0035] 运动参数估计模块,用于根据匹配点对,生成多个变换模型,选取内点数最多的变 换模型的参数作为帖间运动参数,然后将其传输给运动参数累积及滤波模块。
[0036] 运动参数累积及滤波模块,用于对帖间运动参数进行累积,并滤除所述累积运动 变换参数中的高频分量,计算当前帖的运动补偿参数,然后将所述运动补偿参数传输给底 层数据流水架构。
[0037] (1)特征提取模块
[0038] 如图3所示,本发明所述特征提取模块主要由数据分配子模块,特征点检测子模 块,特征点描述子模块及合成子模块组成;负责从当前帖提取特征点并生成特征向量。
[0039] 数据分配子模块,对输入图像数据进行区域缓存,并将当前点的邻域数据信息并 行分配给特征点检测子模块和特征点描述子模块;计算当前点的坐标将其传输给合成子模 块。
[0040] 特征点检测子模块,根据当前点的邻域数据信息判断当前点是否为特征点,根据 判断的结果生成特征点标志传输给特征匹配模块。
[0041] 特征点描述子模块,根据当前点的邻域数据信息生成相应的特征描述,并传输给 合成子模块。
[0042] 合成子模块,根据接收的特征描述和坐标合成当前点的特征向量传输给特征匹配 模块。
[0043] (2)特征匹配模块
[0044] 如图4所示,本发明所述特征匹配模块主要由特征向量存储子模块,匹配控制器 和匹配器组成;负责将当前帖的特征向量与前一帖的进行匹配,生成匹配点对坐标。
[0045] 特征向量存储子模块由参考特征向量存储和当前帖特征向量存储构成,用于接收 特征提取模块传输过来的特征向量和特征点标志,根据所述特征点标志判断是否对特征向 量进行存储,并存储前一帖的特征向量集合。
[0046] 匹配控制器,用于将特征向量存储子模块中存储的、当前帖尚未进行匹配的特征 向量读出,将所读出的特征向量送到匹配器。
[0047] 匹配器主要由特征向量距离计算子模块和匹配判别子模块组成;负责为输入的待 匹配特征向量在前一帖的特征向量集合中找出最佳匹配。
[0048] 特征向量距离计算子模块,存储输入的待匹配的特征向量,从特征向量存储子模 块依次读取前一帖的所有特征向量,并计算待匹配的特征向量与前一帖的所有特征向量之 间的距离,记录距离的最小和次小值及最小距离所对应的匹配点对的空间信息。
[0049] 匹配判别子模块,根据所述距离的最小和次小值W及最小距离所对应的匹配点对 的空间信息,判断最小距离所对应的匹配点对是否为正确匹配点对,生成匹配标志和匹配 点对坐标给运动参数估计模块。
[0050] 本实施例中匹配判别子模块的判断为:将最小与次小距离的比值与预设阔值进行 比较,判断所述比值是否小于预设阔值。 阳05U 同时,针对空间信息中包含的空间坐标化Y)和皮,Y'),方向角R和R',设立W下 两种判别条件: 阳05引第一:
[0053] 第二:I R-R' I < Τ'虹eshold2
[0054] 其中,T虹esholdl表示坐标阔值,T虹eshold2表示角度阔值; 阳化5] 若W上条件均满足,则认为最小距离所对应的匹配点对为正确匹配,生成表示匹 配成功的匹配标志位。
[0056] (3)运动参数估计模块
[0057] 如图5所示,本发明所述运动参数估计模块主要由匹配点对存储子模块,变换模 型生成子模块和最佳变换模型选取模块组成;负责从匹配点对集合中逐次估计变换模型并 进行内点数统计,选取内点最多的变换模型参数作为帖间运动参数的最佳估计。
[0058] 匹配点对存储子模块,用于接收特征匹配模块传输过来的匹配点对坐标和匹配标 志,并根据所述匹配标志对匹配点对坐标进行存储。
[0059] 变换模型生成子模块,用于从存储于匹配点对存储子模块中的匹配点对坐标集合 中进行η次随机选取匹配点对,利用η次选取的匹配点对坐标生成η个变换模型并进行存 储。
[0060] 最佳变换模型选取模块主要由η+1个变换模型寄存子模块、η+1个内点判别和统 计子模块及最佳变换模型选取子模块组成;其中η+1个内点判别和统计子模块分别与η+1 个变换模型寄存子模块一一对应。
[0061] 变换模型寄存子模块,用于从变换模型生成子模块中读取生成的η个变换模型并 存储到η个变换模型寄存子模块中,与第η+1个变换模型寄存子模块中存储的上一次估计 的最佳变换模型一起组成本次估计的η+1个候选变换模型。
[0062] 内点判别和统计子模块,判断匹配点对存储子模块中的每一个匹配点对是否为与 其对应的候选变换模型的内点,统计出每一候选变换模型的内点数量。
[0063] 最佳变换模型选取子模块,选出内点最多的候选变换模型作为本次估计的最佳变 换模型;在当前帖匹配过程结束,将当前获得的最佳变换模型的参数作为最佳运动参数估 计并传输给运动参数累积及滤波模块。
[0064] (4)运动参数累积及滤波模块
[0065] 如图6所示,本发明运动参数累积及滤波模块主要由运动参数累积子模块和滤波 子模块组成。
[0066] 运动参数累积子模块,对接收的最佳运动参数进行累积,计算当前帖相对于参考 帖的累积变换参数。
[0067] 滤波子模块,用于滤除累积变换参数中的高频分量,计算当前帖的运动补偿参数 并输出。
[0068] 综上所述,利用本发明的一种基于FPGA的电子稳像系统,可W实时实现基于特征 匹配的电子稳像,基于FPGA和少量外围器件,可W完成构建低功耗的小型化实时稳像系 统,应用范围广泛。
【主权项】
1. 一种基于FPGA的电子稳像系统,其特征在于,包括由FPGA和外部帧存储器构建的底 层数据流水架构和稳像处理子系统两部分组成; 底层数据流水架构,用于对视频数据进行解码提取有效的图像数据并缓存,采用乒乓 操作控制整个系统的图像数据流,并向稳像处理子系统提供所缓存的图像数据,利用稳像 处理子系统处理得到的参数构造运动补偿帧输出; 稳像处理子系统,计算输入图像数据的当前帧的运动补偿参数,并将其传输给底层数 据流水架构。2. 根据权利要求1所述一种基于FPGA的电子稳像系统,其特征在于,所述稳像处理子 系统由FPGA实现,包括特征提取模块、特征匹配模块、运动参数估计模块和运动参数累积 及滤波模块; 特征提取模块,用于提取当前帧图像的特征点,并针对提取的特征点生成相应的特征 向量传输给特征匹配模块; 特征匹配模块,用于对当前帧的特征向量和前一帧的进行匹配,获取匹配点对并传输 给运动参数估计模块; 运动参数估计模块,用于根据匹配点对,生成多个变换模型,选取内点数最多的变换模 型的参数作为帧间运动参数,然后将其传输给运动参数累积及滤波模块; 运动参数累积及滤波模块,用于对帧间运动参数进行累积,并滤除所述累积运动变换 参数中的高频分量,计算当前帧的运动补偿参数,然后将所述运动补偿参数传输给底层数 据流水架构。3. 根据权利要求1所述一种基于FPGA的电子稳像系统,其特征在于,所述底层数据流 水架构主要由视频解码子模块、输入视频写入子模块、输入帧读出子模块、当前帧写入子模 块、地址产生子模块、补偿帧读出子模块、输出帧写入子模块、输出视频读出子模块、视频编 码子模块、外部存储控制器、外部存储总线仲裁子模块、输入缓存、输出缓存、参考帧缓存及 当前帧缓存组成;输入缓存、输出缓存、参考帧缓存及当前帧缓存由外部帧存储器实现; 视频解码子模块,对输入的视频数据进行解码,提取有效的图像数据作为输入帧通过 输入视频写入子模块写入到输入缓存中; 输入帧读出子模块,从输入缓存中读取缓存好的输入帧,并将其传输给稳像处理子系 统,通过当前帧写入子模块将参考帧图像写入参考帧缓存中,通过当前帧写入子模块将其 余帧图像写入当前帧缓存中; 地址产生子模块,根据稳像处理子系统输出的运动补偿参数构造运动补偿帧,并计算 运动补偿帧内各点的数据存储地址,产生一个地址队列; 补偿帧读出子模块,根据所述地址队列读出运动补偿帧的各点数据作为输出帧,并通 过输出帧写入子模块写入到输出缓存中; 输出视频读出子模块,将缓存好的输出帧送到视频编码子模块进行视频编码输出; 外部存储总线仲裁子模块,利用各子模块的存取优先级进行外部帧存储器的总线分 配,生成读写指令; 外部存储控制器,根据外部总线仲裁子模块的读写指令,按照外部帧存储器的时序要 求产生读写信号,进行数据存取。4. 根据权利要求2所述一种基于FPGA的电子稳像系统,其特征在于,所述特征提取模 块主要由数据分配子模块,特征点检测子模块,特征点描述子模块及合成子模块组成; 数据分配子模块,用于对输入图像数据进行区域缓存,并将当前点的邻域数据信息并 行分配给特征点检测子模块和特征点描述子模块;计算当前点的坐标将其传输给合成子模 块; 特征点检测子模块,根据当前点的邻域数据信息判断当前点是否为特征点,根据判断 的结果生成特征点标志传输给特征匹配模块; 特征点描述子模块,根据当前点的邻域数据信息生成相应的特征描述,并传输给合成 子模块; 合成子模块,根据接收的特征描述和坐标合成当前点的特征向量传输给特征匹配模 块。5. 根据权利要求2所述一种基于FPGA的电子稳像系统,其特征在于,所述特征匹配模 块主要由特征向量存储子模块,匹配控制器和匹配器组成; 特征向量存储子模块,用于接收特征提取模块传输过来的特征向量和特征点标志,根 据所述特征点标志判断是否对特征向量进行存储,并存储前一帧的特征向量集合; 匹配控制器,用于将特征向量存储子模块中存储的、当前帧尚未进行匹配的特征向量 读出,将所读出的特征向量送到匹配器; 匹配器主要由特征向量距离计算子模块和匹配判别子模块组成; 特征向量距离计算子模块,存储输入的待匹配的特征向量,从特征向量存储子模块依 次读取前一帧的所有特征向量,并计算待匹配的特征向量与前一帧的所有特征向量之间的 距离,记录距离的最小和次小值及最小距离所对应的匹配点对的空间信息; 匹配判别子模块,根据所述距离的最小和次小值以及最小距离所对应的匹配点对的空 间信息,判断最小距离所对应的匹配点对是否为正确匹配点对,生成匹配标志和匹配点对 坐标给运动参数估计模块。6. 根据权利要求2所述一种基于FPGA的电子稳像系统,其特征在于,所述运动参数估 计模块主要由匹配点对存储子模块,变换模型生成子模块和最佳变换模型选取模块组成; 匹配点对存储子模块,用于接收特征匹配模块传输过来的匹配点对坐标和匹配标志, 并根据所述匹配标志对匹配点对坐标进行存储; 变换模型生成子模块,用于从存储的匹配点对坐标集合中进行η次随机选取匹配点 对,利用η次选取的匹配点对坐标生成η个变换模型并进行存储; 最佳变换模型选取模块主要由η+1个变换模型寄存子模块、η+1个内点判别和统计子 模块及最佳变换模型选取子模块组成;其中η+1个内点判别和统计子模块分别与η+1个变 换模型寄存子模块 对应; 变换模型寄存子模块,用于读取η个变换模型并存储到η个变换模型寄存子模块中,与 第η+1个变换模型寄存子模块中存储的上一次估计的最佳变换模型一起组成本次估计的 η+1个候选变换模型; 内点判别和统计子模块,判断匹配点对存储子模块中的每一个匹配点对是否为与其对 应的候选变换模型的内点,统计出每一候选变换模型的内点数量; 最佳变换模型选取子模块,选出内点最多的候选变换模型作为本次估计的最佳变换模 型;在当前帧匹配过程结束,将当前获得的最佳变换模型的参数作为最佳运动参数估计并 传输给运动参数累积及滤波模块。7.根据权利要求2所述一种基于FPGA的电子稳像系统,其特征在于,所述运动参数累 积及滤波模块主要由运动参数累积子模块和滤波子模块组成; 运动参数累积子模块,对接收的最佳运动参数进行累积,计算当前帧相对于参考帧的 累积变换参数并输出; 滤波子模块,用于滤除累积变换参数中的高频分量,计算当前帧的运动补偿参数并输 出。
【文档编号】H04N5/232GK105872346SQ201510028849
【公开日】2016年8月17日
【申请日】2015年1月20日
【发明人】李佳男, 许廷发
【申请人】北京理工大学