一种实现图像快速线性插值的方法技术

技术编号:20365467 阅读:26 留言:0更新日期:2019-02-16 17:42
本发明专利技术属于图像处理技术领域,公开了一种实现图像快速线性插值的方法,基于可编程器件的多个双口ram实现多像素并行输入,在线性插值计算的读写过程中,从rami的地址n中读出的数据写入ram(i+1)的地址n的同时,将ram(i‑1)的地址n中读出的数据写入rami的地址n,将输入的N字节bayers数据写入ram(i‑1)的地址n,实现M*M线性插值;使得Bayers图像数据输入与RGB图像数据输出并行;本发明专利技术提供的这种方法通过多个双口ram实现多像素并行输入,使得系统处理基于流水线方式,Bayers图像输入与RGB8图像输出同时执行,支持多像素并行输入,并行处理,极大提高了Bayers格式图像转RGB8图像的转换效率,并具有很好的可移植性、可扩展性。

【技术实现步骤摘要】
一种实现图像快速线性插值的方法
本专利技术属于图像处理
,更具体地,涉及一种实现图像快速线性插值的方法。
技术介绍
Bayers格式图像广泛应用于图像传感器(imagesensor)的输出,每个像素对应1个字节数据。实际进行图像处理以及进行图像存储,都需要先将Bayers格式数据经过插值算法转换成RGB8格式的数据。一种比较常见的插值算法譬如3*3线性邻域插值算法。RGB8格式的数据,每个像素对应3个颜色分量:红分量RDm,n,绿分量GDm,n,蓝分量BDm,n,每个颜色分量对应1个字节数据;任意一个Bayers像素转换得到的R,G,B分量均可以用其坐标位置的5个邻域变量之一来表示,转换后实际输出的总数据量是原始Bayers数据量的3倍。传统的线性插值方法是待Bayers格式图像数据全部或者部分输入后,统一进行插值计算;或者每次输入1个Bayers像素值,每次插值输出3个R、G、B像素值,Bayers格式图像转RGB8图像的转换效率不高。
技术实现思路
针对现有技术的以上缺陷或改进需求,本专利技术提供了一种实现图像快速线性插值的方法,其目的在于通过多像素并行输入快速线性插值,提升Bayers格式图像转RGB8图像的转换效率。为实现上述目的,按照本专利技术的一个方面,提供了一种实现图像快速线性插值的方法,基于可编程器件的M个双口ram实现多像素并行输入,在线性插值计算的读写过程中,从rami的地址n中读出的数据写入ram(i+1)的地址n的同时,将ram(i-1)的地址n中读出的数据写入rami的地址n,将输入的N字节bayers数据写入ram(i-1)的地址n,实现M*M线性插值;使得Bayers图像数据输入与RGB图像数据输出并行,支持多像素并行输入,并行处理,其中M不小于3。优选地,上述实现图像快速线性插值的方法,将ram的读地址超前一个时钟周期置为n,即前一个时钟周期读地址为n,写地址为n-1;当前时钟周期读地址为n+1,写地址为n;下一个时钟周期读地址为n+2,写地址为n+1,……;由此实现在当前时钟周期取出ram(i-1)和rami的地址n中的数据,以克服ram的读延迟特性。优选地,上述实现图像快速线性插值的方法,,采用长度为M*M的邻域寄存器组REG[M2-1:0]来存储原始Bayers图像数据,该寄存器组中每个寄存器REG[p]的位宽均为N字节,p=0~(M2-1);当ram读地址为n的时候,下一个时钟周期即输出M行对应地址为n的数据,将它们分别存入寄存器REG[M2-1]、REG[M*(M-1)-1]、……、REG[3M-1]、REG[2M-1]、REG[M-1]中,同时将旧的REG[p]寄存器值传递给寄存器REG[p-1],其中p≠0、M、2M、……、(M-1)*M;由此,上述邻域寄存器组存储原始Bayers图像中的M行,每行M*N个字节的连续Bayers数据,以进行M*M线性插值。优选地,上述实现图像快速线性插值的方法,若Bayers图像有K个像素点,ram的数据位宽为N字节,则ram的读写地址均从0到ceil(K/N)-1变化,其中ceil是指除不尽时向上取整的意思。优选地,上述实现图像快速线性插值的方法,ram的每个地址位宽不小于N字节,以能够存储N字节的数据,其中,N是1个时钟周期所输入的Bayers数据(RGBm,n*N~RGBm,n*(N+1)-1)字节数。优选地,上述实现图像快速线性插值的方法,进行3*3线性插值的计算方法为,计算并输出REG[4]寄存器的N字节数据进行线性插值后得到的N*3字节R、G、B数据;再根据当前字节对应Bayers数据在图像中的行列编号,对R、G、B分别选择对应邻域变量值进行赋值;计算第j个字节对应的self[4][j],rect[4][j],cross[4][j],updown[4][j],lfrt[4][j]5个邻域变量值的方法如下:self[4][j]=reg[4][j],j=0~N-1;rect[4][j]=(reg[1][j-1]+reg[1][j+1]+reg[7][j-1]+reg[7][j+1])/4,j=1~N-2;cross[4][j]=(reg[1][j]+reg[4][j-1]+reg[4][j+1]+reg[7][j])/4,j=1~N-2;updown[4][j]=(reg[1][j]+reg[7][j])/2,,j=0~N-1;lfrt[4][j]=(reg[4][j-1]+reg[4][j+1])/2,j=1~N-2;其中,reg[i][j]是指REG[i]的第j字节数据,i=0~8,j=0~N-1。总体而言,通过本专利技术所构思的以上技术方案与现有技术相比,能够取得下列有益效果:(1)本专利技术提供的实现图像快速线性插值的方法,通过可编程器件譬如CPLD、FPGA的多个双口ram实现多像素并行输入,使得系统处理基于流水线方式,Bayers图像输入与RGB8图像输出同时执行,支持多像素并行输入,并行处理,极大提高了转换的处理速度;(2)本专利技术提供的实现图像快速线性插值的方法的一个优选方案中,通过将ram的读地址超前一个时钟周期置为n,即前一个时钟周期读地址为n,写地址为n-1;当前时钟周期读地址为n+1,写地址为n;下一个时钟周期读地址为n+2,写地址为n+1,……;由此实现在当前时钟周期取出ram的地址n中的旧数据,克服了ram的读延迟特性;(3)本专利技术提供的实现图像快速线性插值的方法的一个优选方案中,使用多个双口ram实现3*3线性插值算法,架构简单,可移植性强,可以在xilinx或altera等各类FPGA芯片或者CPLD等可编程器件上实现;使用M个ram则可实现M*M线性插值,可扩展性强。附图说明图1是本专利技术提供的图像快速线性插值方法的一个实施例的中的写双口ram流程示意图;图2是实施例中的3×3邻域寄存器组数据更新流程示意图;图3是实施例中的Bayers格式图像像素分布的示意图;图4是实施例中经过图像快速线性插值方法转换后的R通道像素分布示意图;图5是实施例中的经过图像快速线性插值方法转换后的G通道像素分布示意图;图6是实施例中的经过图像快速线性插值方法转换后的B通道像素分布示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。此外,下面所描述的本专利技术各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。实施例提供的实现图像快速线性插值的方法,基于FPGA的多个双口ram实现多像素并行输入,在线性插值计算的读写过程中,从rami的地址n中读出的数据写入ram(i+1)的地址n的同时,将ram(i-1)的地址n中读出的数据写入rami的地址n,将输入的N字节bayers数据写入ram(i-1)的地址n,实现M*M线性插值;使得Bayers图像数据输入与RGB图像数据输出并行,支持多像素并行输入,并行处理。Ram包括单口ram和双口ram,单口ram只有一组数据线与地址线,读写不能同时进行;双口ram有两组数据线与地址线,读写可同时进行;双口ram写地址和写数据本文档来自技高网...

【技术保护点】
1.一种实现图像快速线性插值的方法,其特征在于,基于可编程器件的M个双口ram实现多像素并行输入,在线性插值计算的读写过程中,从rami的地址n中读出的数据写入ram(i+1)的地址n的同时,将ram(i‑1)的地址n中读出的数据写入rami的地址n,将输入的N字节bayers数据写入ram(i‑1)的地址n,实现M*M线性插值;使得Bayers图像数据输入与RGB图像数据输出并行;其中M为不小于3的自然数,i在1~M间取值。

【技术特征摘要】
1.一种实现图像快速线性插值的方法,其特征在于,基于可编程器件的M个双口ram实现多像素并行输入,在线性插值计算的读写过程中,从rami的地址n中读出的数据写入ram(i+1)的地址n的同时,将ram(i-1)的地址n中读出的数据写入rami的地址n,将输入的N字节bayers数据写入ram(i-1)的地址n,实现M*M线性插值;使得Bayers图像数据输入与RGB图像数据输出并行;其中M为不小于3的自然数,i在1~M间取值。2.如权利要求1所述的实现图像快速线性插值的方法,其特征在于,将ram的读地址超前一个时钟周期置为n,即前一个时钟周期读地址为n,写地址为n-1;当前时钟周期读地址为n+1,写地址为n;下一个时钟周期读地址为n+2,写地址为n+1,……;实现在当前时钟周期取出ram(i-1)和rami的地址n中的数据,以克服ram的读延迟特性。3.如权利要求1或2所述的实现图像快速线性插值的方法,其特征在于,采用长度为M*M的邻域寄存器组REG[M2-1:0]来存储原始Bayers图像中的M行数据,该寄存器组中每个寄存器REG[p]的位宽均为N字节,p=0~(M2-1);当ram读地址为n,下一个时钟周期输出M行对应地址为n的数据,将它们分别存入寄存器REG[M2-1]、REG[M*(M-1)-1]、……、REG[3M-1]、REG[2M-1]、REG[M-1]中,同时将旧的REG[p]寄存器值传递给寄存器REG[p-1],其中p≠0、M、2M、……、(M-1)*M。4.如权利要求1或2所述的实现图像快速线性插值的方法,其特征在于,若Bayers图像有K个像...

【专利技术属性】
技术研发人员:汪舟欧昌东董文忠
申请(专利权)人:武汉精立电子技术有限公司
类型:发明
国别省市:湖北,42

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

1