一种抗单粒子翻转的DVI图像畸变校正装置的制作方法

文档序号:17409875发布日期:2019-04-16 22:27阅读:137来源:国知局
一种抗单粒子翻转的DVI图像畸变校正装置的制作方法

本发明涉及一种抗单粒子翻转的DVI图像畸变校正装置,属于图像畸变校正领域。



背景技术:

航空航天飞行器中广泛应用大视场光学设备,其具有可视范围广、分辨率高等显著优点。但这类设备由于物镜离轴角较大,导致显示画面严重畸变,使成像大小和形状发生特定变化,降低显示质量和显示精度。所以对畸变图像进行校正处理是必须且必要的。

现阶段的畸变校正技术通常使用FPGA完成,由查找表实现校正图像与原始图像之间的几何校正,而后通过双线性插值完成对校正点的灰度重建。而FPGA所选用的一般是静态随机存储器(SRAM型)可编程门阵列。当这种SRAM工艺的FPGA处于高层空间高能带电粒子所构成的辐射环境中,容易受到单粒子效应(SEU)的影响,通常会造成FPGA中存储单元发生位翻转(即内容会由‘0’变成‘1’,或由‘1’变成‘0’),带来的结果可能是计算结果错误、程序执行序列错误等,甚至会导致系统的崩溃。

国内外针对抗SEU技术主要有擦洗、ECC信息冗余检纠错技术以及三模冗余技术。擦洗技术会增加系统设计的复杂度,且其方法本身不能对存储内容是否受到SEU进行验证;ECC信息冗余检纠错技术冗余信息本身不具备自我保护功能,具有局限性;而三模冗余会大大的耗费系统资源。



技术实现要素:

为解决现有技术存在的问题,本发明提出一种抗单粒子翻转的DVI图像畸变校正装置。

本发明的技术方案为:

所述一种抗单粒子翻转的DVI图像畸变校正装置,其特征在于:包括FPGA单元、ARM监控单元、非易失性存储器FLASH和带ECC校验的高速缓存SRAM;

非易失性存储器FLASH中存储校正图像到原始图像之间的像素空间索引坐标以及插值参数的查找表数据;

带ECC校验的高速缓存SRAM通过FPGA单元,对非易失性存储器FLASH中的查找表数据进行高速缓存;

FPGA单元内部DRAM缓存输入图像DVI数据;FPGA单元根据带ECC校验的高速缓存SRAM中查找表数据的像素空间索引坐标,以及DRAM缓存中的图像灰度值,对畸变图像进行几何校正;FPGA单元根据几何校正后的灰度值以及查找表数据的水平和垂直插值参数,对图像进行灰度重建;

FPGA单元对输入的图像DVI数据,在DVI每一数据有效行行同步消隐期的前沿和后沿插入固定的监控序列;ARM监控单元实时计算监控序列经过几何校正和灰度重建后的运算结果,根据运算结果判断是否发生异常,如果发生异常则重新配置FPGA。

进一步的优选方案,所述一种抗单粒子翻转的DVI图像畸变校正装置,其特征在于:采用多元纠错检错码RS码对非易失性存储器FLASH中的查找表数据进行读写。

进一步的优选方案,所述一种抗单粒子翻转的DVI图像畸变校正装置,其特征在于:FPGA单元中的FLASH控制器将查找表数据从FLASH中读出,并按照RS码进行解码;在解码过程中,如果数据错误码元数不大于能够自动纠正的最大错误码元数,则自动纠正错误,如果数据错误码元数大于能够自动纠正的最大错误码元数,则向ARM监控单元发出告警。

进一步的优选方案,所述一种抗单粒子翻转的DVI图像畸变校正装置,其特征在于:FPGA单元从带ECC校验的高速缓存SRAM中读取查找表数据,以及从DRAM缓存中读取图像灰度值时,均经过ECC校验,当发生错误时,向ARM监控单元发出告警。

有益效果

本发明的优点是:本方法是信息检纠错技术与重配置技术的结合,不仅对各个数据传输存储单元使用纠错检错技术保证了数据的使用的正确性,还利用DVI图像VESA时序的特性在行消隐期引入监控序列实现对整个算法处理流程的监控,不会对正常视频流造成额外负担。最后采用ARM对FPGA各个模块运行状态监控,发生异常重新配置FPGA。

采用本发明不仅使数据源和冗余信息都具有自我保护功能,且相对于现有其他技术具有资源利用率高、实时性好、可操作性强等优点。

本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1为本发明实现的硬件原理框图。

图2为校正图像数学映射图。

图3为查找表数据结构图。

图4为RS(n,k)编码原理图。

图5为RS(n,k)解码原理图。

图6为监控序列插入位置示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

本发明提出的抗单粒子翻转的DVI图像畸变校正装置包括FPGA单元、ARM监控单元、非易失性存储器FLASH和带ECC校验的高速缓存SRAM。

FPGA单元完成图像的畸变校正,ARM完成对FPGA中各模块的运行状态进行监控。非易失性存储器FLASH中存储校正图像到原始图像之间的像素空间索引坐标以及插值参数的查找表数据,对FLASH中查找表数据读写采用多元纠错检错码RS码。带ECC校验的高速缓存SRAM通过FPGA单元,对非易失性存储器FLASH中的查找表数据进行高速缓存,保证数据读写频率满足DVI时序要求。

FPGA单元内部DRAM缓存输入图像DVI数据;FPGA单元根据带ECC校验的高速缓存SRAM中查找表数据的像素空间索引坐标,计算得出校正点周围四个点在缓存空间内部的物理地址,同时从DRAM缓存中读取出4个点的灰度值,对畸变图像进行几何校正。FPGA单元根据几何校正后的4个点灰度值以及查找表数据的水平和垂直插值参数,利用双线性插值算法对校正点灰度值进行灰度重建。

FPGA单元对输入的图像DVI数据,在DVI每一数据有效行行同步消隐期的前沿和后沿插入固定的监控序列;ARM监控单元实时计算监控序列经过几何校正和灰度重建后的运算结果,根据运算结果判断是否发生异常,如果发生异常则重新配置FPGA。

基于上述装置,下面描述装置工作过程:

S101、以64位查找表的形式给出校正图像到原始图像之间的像素空间索引坐标以及插值参数。

校正图像与原始图像之间的索引关系如图2所示,其中原始图像中d点和校正图像c点一一对应,而d点的灰度值需要其周围四个整数点(x,y)、(x+1,y)、(x,y+1)、(x+1,y+1)的灰度值插值获得。

对于一个特定的光学系统,所引起的畸变特性也是固定的。可以利用特征控制点,采用多项式模型或MQ(Multiquadric Functions)模型,得到畸变图像到原始图像的索引坐标以及校正参数。

根据所采用灰度校正的双线性插值算法,设计的查找表结构如图3所示,其中:TX(16位):与校正图像像素点对应的原始图像上四个像素点基点(x,y)点的X方向像素点数;TY(16位):与校正图像像素点对应的原始图像上四个像素点基点(x,y)点的Y方向像素点数;dx~dy(16位):牛顿插值的系数。由0≤dx≤1,0≤dy≤1可知,dx、dy均为小数,不便于查找表的存储,可将其扩大256倍并取整,精度可达0.004。

S102、对整幅图像的查找表数据按照每个数据8bit,一组229个数据进行分组。而后对每组数据使用RS(255,229)码进行编码,将编码后的查找表数据固化在应用flash中;

由于单粒子翻转对数据所造成的错误一般为突发错误,故对DVI图像查找表数据使用多元纠错检错码-RS(n,k)码进行编码,其中n=2q-1,k为信息码元。确定q=8,n=255,信息码元k=229。则RS(255,229)码能够自动纠正的最大错误码元数t=(n-k)/2=13个。

如图4所示,RS编码的过程实质上是解决以生成多项式g(x)为模的除法问题。g(x)多项式如下,其中αi∈GF(2m),i=1,2,…,2t。

g(x)=(x-α)(x-α2)…(x-α2t)=αn-kxn-k+αn-k-1xn-k-1+…+α1x+α0

需要说明的是,若查找表数据分组编码后最后一组数据可能不到229个,则对其进行补“0”处理后,再进行编码。编码后的查找表数据固化至FLASH的连续地址中。

S103、装置上电时,FLASH控制器将查找表数据从FLASH中读出,进而按照RS(255,229)码进行解码。在解码过程中,若由单粒子效应引发的数据错误码元数t<=(n-k)/2=13,则自动纠正错误;若由单粒子效应引发的数据错误码元数t>(n-k)/2=13,则向ARM监控单元发出告警。

装置上电后,FLASH控制器将查找表数据从FLASH中读出,进而按照RS(255,229)码进行解码。图5给出了RS译码的一般步骤,译码器基本上分四步实现,首先是计算伴随多项式S(x);其次是求解关键方程σ(x)S(x)≡ω(x)modx2t,求得错误位置多项式σ(x)和错误值多项式ω(x);第三步是错误位置和错误值的计算;最后通过错误图样和接受的码组计算出可能发送的码字。

在解码过程中,若由单粒子效应引发的数据错误码元数t≤(n-k)/2,则可以自动的纠正错误;若数据错误码元数t>(n-k)/2=13,则向ARM监控单元发出告警。

S104、从FLASH中读取的查找表数据在解码后写入带ECC校验的高速缓存SRAM中。

从FLASH中读取的查找表数据在解码后写入高速缓存SRAM中,保证查找表数据读取频率。这里选取的SRAM器件选择带有ECC校验功能。

S105、一帧图像查找表全部缓存完成后,对输入图像DVI数据进行FPGA内部DRAM缓存,缓存区域大小由图像的畸变率决定。

需要缓存的图像行数等于一帧画面有效行数乘以图像的最大畸变率。

下面举例进行说明:对与1280X1024分辨率的图像来说,假设其最大畸变率为10%,那么需要缓存的行数为1024X0.10=124行。

S106、R、G、B通道每个通道8bit DVI灰度数据在写入DRAM缓存时,进行ECC编码,扩展为12bit写入缓存中。

由于DVI数据在DRAM中缓存是按照VESA时序进行,对实时性的要求比较高,故选取复杂度不高,实时性较好的ECC校验,将8bit数据增加4bit校验位后进行存储。能够检出最多2bit由单粒子翻转所造成的错误,自动校正1bit错误。

S107、根据SRAM中查找表数据的像素空间索引坐标计算得出校正点周围四个点在缓存空间内部的物理地址,同时从DRAM缓存中读取出(x,y)、(x+1,y)、(x,y+1)、(x+1,y+1)4个点的灰度值,完成畸变图像的几何校正。由于查找表数据与灰度值数据都是经过ECC编码后进行存储的,因此读出数据时要经过ECC校验,一旦发生错误,则向ARM监控单元发出告警。

S108、由几何校正得出的(x,y)、(x+1,y)、(x,y+1)、(x+1,y+1)4个点的灰度值以及查找表中的水平和垂直插值参数,利用插值算法对校正点灰度值进行灰度重建。

插值算法可以选择双线性插值或牛顿插值。下面的实施例子给出双线性插值算法公式:

f(xd,yd)=(1-dx)·(1-dy)·f(x,y)+(1-dx)·dy·f(x,y+1)+(1-dy)·dx·f(x+1,y)+dx·dy·f(x+1,y+1)

其中,dx,dy为查找表中的水平和垂直插值参数;f(x,y),f(x,y+1),f(x+1,y),f(x+1,y+1)为灰度值。

S109、由于DVI图像畸变校正整个数据流按照VESA时序进行,在每一数据有效行行同步消隐期的前沿和后沿插入固定的监控序列,监控序列也同样经过几何校正和灰度重建的过程,每一行最后会得到固定畸变校正结果(称之为标准解)。

如图6所示,插入的监控序列的位置位于每一数据有效行行同步消隐期的前沿和后沿中,紧邻着数据有效信号DE。随着每一帧的正常图像数据,监控序列也经过同样的几何校正和灰度重建的过程,由于监控序列值是固定的,再选取固定的插值参数,因此最终的畸变校正结果也是固定的。

S110、标准解事先会存储在ARM内部FLASH中,每行都会与FPGA对监控序列的畸变结果进行比对,一旦发生比对不一致的情况,则重新配置FPGA。

S111、ARM接收到权利S103、S107中告警信息后,也会重新对FPGA进行配置。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在不脱离本发明的原理和宗旨的情况下在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1