使用FPGA开发视频算法进行图像和实时视频处理_第1页
使用FPGA开发视频算法进行图像和实时视频处理_第2页
使用FPGA开发视频算法进行图像和实时视频处理_第3页
使用FPGA开发视频算法进行图像和实时视频处理_第4页
使用FPGA开发视频算法进行图像和实时视频处理_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

使用FPGA开发视频算法进行图像和实时视频处理人脑是我们所知道的最先进的紧凑型处理单元;但是,由于有了新的处理器、工具、架构和软件,图像处理方面的改进可能会让机器很快超越我们。新技术及其快速采用的速度为工业制造和检查以及医药、消费电子/游戏,当然还有机器人技术带来了巨大的潜力。现在,我们在执行简单的任务(例如装满一罐水)时会执行比例、积分和微分(PID)等高级功能。事实上,我们进行如此复杂的运动控制和平衡,机器人可能很快就会嫉妒我们。然而,我们杰出的能力之一是我们能够在我们的视野中挑选出模式、执行物体识别、深度感知、跟踪运动和测量相对速度甚至加速度,这使我们与大多数机器不同。早期的图像处理专注于澄清静止图像,许多用于边缘增强和呈现细微细节的算法并未在快速帧速率和高分辨率图像上执行。处理器更简单、更慢,而且执行DSP功能的能力更差,因此结果很粗略,获得速度很慢,而且远不及有眼光的人眼和大脑那么可靠。然而,随着我们对机器的进化,我们开始赋予它们我们无法比拟的卓越能力,而图像和实时视频处理是我们未来机器(霸主?)将拥有的这些能力之一。这要归功于我们现在正在制定的处理器、工具、算法和启发式方法,我们能够赋予机器这些能力,这些能力可能很快就会远远超过我们自己的能力。内存和架构很重要视频信息在数字域中处理,因此无论图像来自NTSC、PAL、RGB、YUB、分量还是隔行或非隔行的HD源都无关紧要。前端同步和解码器芯片和硬件阶段可以很好地捕获图像像素并将它们填充到存储器阵列中,通常作为光栅化扫描线。然而,内存架构和拓扑确实很重要,因为它们会影响处理器访问和操作数据的方式。例如,您可以以线性方式将图像数据压缩到内存中,但这可能意味着相邻帧不会在可位寻址的内存边界处对齐。例如,让帧扫​​描线的第一行与二进制计数器的零点对齐会更快更容易。如果不需要复杂的寻址方案来索引并逐帧查看视野的相同部分,则比较连续的帧数据变得更容易访问和获得。另一个可以简化视频处理和信息提取的与内存相关的因素与位平面分离有关,尤其是随着像素分辨率和调色板深度的增加。发生这种情况时,以最高有效位(MSB)到最低有效位(LSB)的方式查看单色图像的能力可以突出边界和边缘(图1)。仅查看MSB渲染的图像时会出现最大的对比。可以通过查看连续不太重要的位渲染图像来提取一些深度和渐变信息。图1:由于最高有效位(MSB)比最低有效位(LSB)显示出更多的对比度,因此位平面分离使边缘更加清晰。这意味着需要抽取并行视频数据并将位大小分离到单独的单色存储平面中。(来源:Digi-Key)这意味着必须将图像数据实时分离为面向位的高效内存块,处理器可以对其进行索引并快速检查。这就是硬件架构发挥作用的地方。并行与流水线可以使用两种主要的架构方法来完成实时视频处理任务。第一种是使用多个处理器,并为每个处理器分配问题的一部分,或者并行、串行或两者兼而有之。例如,一个由24个处理器组成的阵列,每个处理器检查一个位平面分隔的内存块,其识别边缘和边界的速度比必须一次检查每个块的单个处理器快24倍。任务执行处理器将任务委托给每个单独的处理器,并以部分“消化”的形式检查浓缩的结果。这允许下一阶段的决策处理器以响应更快的方式对数据采取行动。这对于立体视觉处理尤其重要,因为在立体视觉处理中深度感知更容易实现。位平面分离的图像可能会显示边缘,但是,每个相机内存块的不同部分中相同边缘的位置将用于通过数字三角算法确定深度。当这些边缘在两个相机的内存块之间逐帧移动时,处理器可以比尝试逐帧使用并行彩色像素来更快地提取距离、速度和方向数据(图2)。监控各个位平面的各个处理器可以适应阴影、光源,甚至可以在被跟踪对象在视野中其他移动或静止对象的前后移动时识别被跟踪对象的部分模糊边缘。图2:立体成像可以通过检查检测到的内存阵列中的位置以及每个相关图像的失真来利用位平面分离带来的对比度。这些可用于确定物体在连续帧中移动时的深度和相对运动。(来源:Digi-Key)同样重要的是要注意可以使用抽取的像素和调色板分辨率。并非需要24位或36位A/D转换的彩色像素的每一位来提取所需的信息。环境光水平和颜色可用作算法的一部分,以确定分辨率的最佳抽取。简单与复杂架构术语处理器在此处可能有所不同。它可以是相当高功率、快速时钟的CISCDSP类型的功能,或者是基于硬件的功能RISC块,或者介于两者之间的任何地方。这是设计工程师可以做出另一种架构选择的地方。我们是使用具有复杂架构和信号处理特性的多处理器或多核处理器,还是使用在离散硬件(如FPGA结构)中实现的专用逻辑块?两者都是有效的方法,并且都具有它们的特性和优点。此外,它们不是相互排斥的:它们可以一起用于为手头的任务创建最佳解决方案。例如,用于质量控制检测应用等应用的视觉系统可以使用类似快照的检测算法来查看特定事物,如焊接连续性、焊盘完整性、电路板迹线一致性和结构缺陷。这可能发生在电路板移动经过静止的视野时,或者当相机通过机器人机构四处移动时。NXPi.MX6DualPlus和i.MX6QuadPlus应用处理器等多核处理器系列专为图形密集型应用而设计。该系列采用1.2GHzARMCortex-A9处理器,具有先进的内存管理和接口,用于64位DDR3或双通道32位LPDDR2内存与内部L2高速缓存RAM集成。这种情况下的一个关键特性是3D图形加速,带有四倍720-MHz着色器,可以使用专用硬件提供高性能图形。特定部件,如四核32位MCIMX6QP5EYM1AA支持-在硬件中-高达1920x1200(HD)分辨率的双显示器,这意味着帧存储器和刷新在本质上支持图像采集和显示(对于调试和测试非常有用出算法),以及图像处理。硬件调整大小和去隔行简化了视频数据的格式化和索引,以允许更多的编码资源用于图像数据处理和覆盖到显示数据上。这种叠加的示例包括调整大小的图像,这些图像可以查看数据帧的特定部分以减少处理时间。另一个例子是使用着色器,它不仅可以使图像在人眼中更加突出,而且还可以带出要处理的图像中的细节。使用NXPMCIMX6QP-SDB开发平台的示例代码和硬件设计也是一个优势,该平台包括完整的硬件设计文件和对Android、Linux和FreeRTOS操作环境的直接支持。为了简化接口,板载HDMI连接和LVDS连接并支持两个1GHzMIPIDSI数据通道,相机MIPICSI端口也是如此(图3)。就其本身而言,这些处理器能够被编码以在单个高分辨率立体快照帧中查看许多焊点的锥形形状,例如,根据PC板质量检测视频处理等应用的需要。此外,可以级联多个处理器以扩展功能。但是,当软件仍然太慢时,单独使用专用硬件或与这些高端类型的处理器结合使用可以将性能提升到最高水平。基于硬件的算法流水线硬件逻辑定序器总是比基于软件的处理器执行得更快。管道可能需要几个周期才能填充,但是一旦填充,每个时钟周期都在传递处理和消化的信息,而不是编码方法可能需要多个时钟周期来实现相同的传递水平。虽然检测机器可能不需要基于硬件加速的超快速度,但许多应用程序需要。与敌方野战炮兵机器人作战的野战炮兵机器人只有在其目标获取、运动控制和准确性都优越的情况下才能获胜。最快、最精简的硬件将继续存在。现代逻辑阵列具有密度、速度和深度,以及存储器和外围接口,以适应非常复杂的任务,包括实时视频。大规模逻辑阵列的多门级架构大部分已被查找表(LUT)逻辑元件取代,这些逻辑元件能够在单个同步时钟周期内输出每个逻辑块的结果。请记住,现代逻辑阵列可以在GHz范围内提供时钟。要使用FPGA开发视频处理算法,您将需要使用一个平台来实现目标部分、处理逻辑代码模式的上传、提供对I/O的访问、具有干净的时钟源,并包含良好的on-用于满足特定需求的芯片硬宏,例如锁相环(PLL)和高速存储器接口。一旦您确定了制造商和零件系列,开发平台就会到位。以NationalInstruments的DigilentNexys视频FPGA板为例,该板采用Xilinx高密度、高性能Artix系列FPGA(图4)。这些范围从1300到16,825个逻辑单元和从45到740个DSP切片功能块。一个关键特性也是高达509MHz的双端口RAM速度,允许通过独立的逻辑阶段进行并发访问和修改。NationalInstruments板使用低功耗1V内核并具有四通道SPI闪存以及DDR3存储器接口,可分别直接访问外部非易失性和易失性存储器池。HDMI和DVI接口也使用最小化传输差分信号(TMDS)标准。虽然开发平台是在相对较快的时间框架内以相对较低的风险进行评估和设计的好方法,但最终,您将希望开发自己的电路板并使用自己的测试和开发平台。幸运的是,XilinxVivado工具套件在免费的Webpack许可下得到支

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论