一种基于FPGA的图像分割并同步显示的方法技术

技术编号:21915313 阅读:49 留言:0更新日期:2019-08-21 12:50
本发明专利技术涉及一种基于FPGA的图像分割并同步显示的方法,其特征在于:具体包括以下步骤:(1)FPGA对DDR进行初始化;(2)将切割的小图像分组;(3)FPGA内部例化一个逻辑单元;(4)将大图的每一个像素的值写入DDR;(5)将每组数据依次读出并存入一级缓存;(6)将第一级缓存内的数据取出并计数;(7)每组内图像按在此行中占据的序号来分开并存到第二级缓存内;(8)各通道图像的显示接口取图像数据并显示。使用本发明专利技术对从外部存储器返回的数据包里数据进行计数,可以精确地得到分割后的各个小图像;并降低了FPGA对外部存储器访问的频率;还利于FPGA对于高频时钟域的时序收敛。

A Method of Image Segmentation and Synchronization Display Based on FPGA

【技术实现步骤摘要】
一种基于FPGA的图像分割并同步显示的方法
本专利技术涉及图像分割领域,具体一种基于FPGA的图像分割并同步显示的方法。
技术介绍
在图像处理过程中,经常会遇到图像切割的问题,即将一幅较大的图像分割若干幅小图像,然后同时显示出来。现有技术已有使用FPGA将大图切割的方法,但是由于FPGA自带的存储器容量有限,往往会将图像数据存储在外挂的DDRSDRAM当中,它的读写是突发式的,每次处理一个数据包,不能精确到针对每一个字节的读取。如果这时候去同时读取切割的每一幅小图像,那么会有以下问题:(1)每一幅小图像两两之间的界限很有可能会落在DDR的一个读时序的数据包里,因此会很大概率将不是自己图片的内容误读取进来;(2)DDR与正常逻辑交换数据时,会使用FPGA自带的存储器作为数据缓冲,因此理论上读写通道越少越好,而如果切割成4幅时,就需要5个通道,切割成9幅则需要10个通道,这显然比较浪费资源;(3)DDR接口的时钟一般是高频时钟,如果与它相连的逻辑量太大的话,则意味着FPGA内会有很大一块区域属于高频时钟域,这会对后续的时序收敛带来很大的挑战。
技术实现思路
本专利技术所要解决的技术问题是提供一种基于FPGA的图像分割并同步显示的方法。为解决以上技术问题,本专利技术的技术方案为提供一种基于FPGA的图像分割并同步显示的方法,其创新点在于:具体包括以下步骤:(1)FPGA对外接动态随机存储器进行初始化,并使外接动态随机存储器能正常读取数据;(2)将需要切割的小图像分组,同一行的算一组,大图被切割为n行,即分为n组;(3)FPGA内部例化一个可以时分复用去读写外接动态随机存储器的逻辑单元用于大图和小图的图像传输;(4)将大图通过一个写通道将每一个像素的值按顺序写入外接动态随机存储器;(5)第一组图像的数据从第一个读通道读出;第二组图像的数据从第二个读通道读出……第n组图像的数据从第n个读通道读出,读出后,将各自的数据存入存储每个通道的第一级缓存;(6)将第一级缓存内的数据取出,同时对取出的数据进行计数,计数周期为大图像的一行像素点的总和,当计满一行时,将计数器清0,重新计数;(7)针对每组图像,每一行中的组内图像按在此行中占据的序号来分开,并存到各通道图像所属的第二级缓存内;(8)各通道图像的显示接口从对应的各通道缓存里面取图像数据并显示出来。进一步的,所述步骤(1)中的FPGA通过控制器MIG对外接动态随机存储器进行初始化,所述外接动态随机存储器包括但不限于DDR、DDR2、DDR3和DDR4。进一步的,所述步骤(3)中的逻辑单元为AXICONNECT。进一步的,所述步骤(4)中像素包括但不限于RGB、YCBCR和灰度。进一步的,所述步骤(5)的第一级缓存和步骤(7)中第二级缓存均包括但不限于FIFO、RAM或者寄存器组合。本专利技术和现有技术相比,产生的有益效果为:(1)本专利技术通过对从外部存储器返回的数据包里数据进行计数,可以精确地得到分割后的各个小图像;(2)本专利技术通过对小图像按行来分组,每组小图像共用一个外部存储器的读接口,降低了FPGA对外部存储器访问的频率;(3)本专利技术通过分组来减少读接口的同时,也削减了FPGA用于与外部存储器的逻辑量,这有利于FPGA对于高频时钟域的时序收敛。附图说明为了更清晰地说明本专利技术实施例中的技术方案,下面将对实施例中所需要使用的附图简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术的方法步骤示意图。图2为将大图像切割成4幅小图像示意图。图3为将大图像切割成4幅小图像步骤流程图。具体实施方式下面将通过具体实施方式对本专利技术的技术方案进行清楚、完整地描述。本专利技术的一种基于FPGA的图像分割并同步显示的方法,具体步骤如图1所示,包括以下步骤:(1)FPGA对外接动态随机存储器进行初始化,并使外接动态随机存储器能正常读取数据,外接动态随机存储器包括但不限于DDR、DDR2、DDR3和DDR4。(2)将需要切割的小图像分组,同一行的算一组,大图被切割为n行,即分为n组。(3)FPGA内部例化一个可以时分复用去读写外接动态随机存储器的逻辑单元用于大图和小图的图像传输,本专利技术的逻辑单元为AXICONNECT,也可以是其他形式。(4)将大图通过一个写通道(图中的CHANNEL0)将每一个像素的值按顺序写入外接动态随机存储器,本专利技术的像素包括但不限于RGB、YCBCR和灰度。(5)第一组图像的数据从第一个读通道(CHANNEL1)读出;第二组图像的数据从第二个读通道(CHANNEL2)读出……第n组图像的数据从第n个读通道读出,读出后,将各自的数据存入存储每个通道的第一级缓存,本专利技术的第一级缓存包括但不限于FIFO、RAM或者寄存器组合。(6)将第一级缓存内的数据取出,同时对取出的数据进行计数,计数周期为大图像的一行像素点的总和,当计满一行时,将计数器清0,重新计数;(7)针对每组图像,每一行中的组内图像按在此行中占据的序号来分开,并存到各通道图像所属的第二级缓存内,本专利技术的第二级缓存也是包括但不限于FIFO、RAM或者寄存器组合。(8)各通道图像的显示接口从对应的各通道缓存里面取图像数据并显示出来。本专利技术针对一种基于FPGA的图像分割并同步显示的方法步骤举例如图2所示将图像分割为4个小图,具体步骤如图3所示:(1)FPGA要能对外接动态随机存储器DDRSDRAM进行初始化,并能正常读取数据,本专利技术主要通过图中的DDR控制器MIG去实现;(2)FPGA内部例化一个可以时分复用去读写DDRSDRAM的逻辑单元AXICONNECT,用于大图和小图的图像传输;(3)将大图通过CHANNEL0将每一个像素的值按顺序写入DDRSDRAM;(4)图像1和2的数据从CHANNEL1读出,起始地址为0;图像3和4的数据从CHANNEL2读出,起始地址为图像大小的一半(具体根据图像3和4在列方向上占据的位置有关)。读出后,将各自的数据存入自己的第一级缓存FIFO;(5)将第一级FIFO的数据取出,同时对取出的数据进行计数,计数周期为大图像的一行像素点的总和,当计满一行时,将计数器清0,重新计数;(6)针对每组图像,按每一行中组内图像在此行占据的序号来分开,并存到各路图像所属的第二级缓存FIFO内;以图像1和图像2为例,如果两幅图像一样大,那么每行计数器的前一半像素肯定属于图像1,后一半像素属于图像2;(7)各路图像的显示接口从自己对应的FIFO里面取图像数据并显示出来。上面所述的实施例仅仅是本专利技术的优选实施方式进行描述,并非对本专利技术的构思和范围进行限定,在不脱离本专利技术设计构思的前提下,本领域中普通工程技术人员对本专利技术的技术方案作出的各种变型和改进均应落入本专利技术的保护范围,本专利技术的请求保护的
技术实现思路
,已经全部记载在技术要求书中。本文档来自技高网
...

【技术保护点】
1.一种基于FPGA的图像分割并同步显示的方法,其特征在于:具体包括以下步骤:(1)FPGA对外接动态随机存储器进行初始化,并使外接动态随机存储器能正常读取数据;(2)将需要切割的小图像分组,同一行的算一组,大图被切割为n行,即分为n组;(3)FPGA内部例化一个可以时分复用去读写外接动态随机存储器的逻辑单元用于大图和小图的图像传输;(4)将大图通过一个写通道将每一个像素的值按顺序写入外接动态随机存储器;(5)第一组图像的数据从第一个读通道读出;第二组图像的数据从第二个读通道读出……第n组图像的数据从第n个读通道读出,读出后,将各自的数据存入存储每个通道的第一级缓存;(6)将第一级缓存内的数据取出,同时对取出的数据进行计数,计数周期为大图像的一行像素点的总和,当计满一行时,将计数器清0,重新计数;(7)针对每组图像,每一行中的组内图像按在此行中占据的序号来分开,并存到各通道图像所属的第二级缓存内;(8)各通道图像的显示接口从对应的各通道缓存里面取图像数据并显示出来。

【技术特征摘要】
2019.04.02 CN 20191026112331.一种基于FPGA的图像分割并同步显示的方法,其特征在于:具体包括以下步骤:(1)FPGA对外接动态随机存储器进行初始化,并使外接动态随机存储器能正常读取数据;(2)将需要切割的小图像分组,同一行的算一组,大图被切割为n行,即分为n组;(3)FPGA内部例化一个可以时分复用去读写外接动态随机存储器的逻辑单元用于大图和小图的图像传输;(4)将大图通过一个写通道将每一个像素的值按顺序写入外接动态随机存储器;(5)第一组图像的数据从第一个读通道读出;第二组图像的数据从第二个读通道读出……第n组图像的数据从第n个读通道读出,读出后,将各自的数据存入存储每个通道的第一级缓存;(6)将第一级缓存内的数据取出,同时对取出的数据进行计数,计数周期为大图像的一行像素点的总和,当计满一行时,将计数器清0,重新计数;(...

【专利技术属性】
技术研发人员:顾善昉汪彦刚黄新俊刘源宋振声
申请(专利权)人:南京图格医疗科技有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1