一种基于fpga的图像矫正方法和装置的制造方法

文档序号:10535812阅读:392来源:国知局
一种基于fpga的图像矫正方法和装置的制造方法
【专利摘要】本发明公开了一种基于FPGA的图像矫正方法和装置。该方法包括:获取来自于输入设备的图像数据并进行分离,以得到不同颜色的数据,将所述不同颜色的数据写入FPGA外部存储器的不同的块区域;利用FPGA针对所得到的不同颜色的数据及矫正参数依次分别读回FPGA进行矫正处理,以得到矫正后的数据,并将矫正后的数据按照不同颜色写入FPGA外部存储器中的不同的块区域,其中,所述矫正参数预先存储在FPGA的外部存储器中;以及将所述矫正后的数据按不同颜色分别读回FPGA进行数据组合并输出至显示设备。本发明提出的技术方案利用FPGA通过对不同颜色的图像依次分别进行矫正处理,可以有效的节约FPGA的资源,降低对不同颜色图像矫正参数不同导致的处理的计算复杂度。
【专利说明】
_种基于FPGA的图像矫正方法和装置
技术领域
[0001 ]本发明涉及一种FPGA的处理技术,更具体地,涉及一种基于FPGA的图像矫正方法和装置。
【背景技术】
[0002]近年来,随着科技的进步,虚拟现实技术逐步成熟,各种虚拟现实的头戴设备的应用也日益广泛。头戴设备的光学系统必然会引入光学畸变和色差效应。
[0003]光学畸变的原因是由于透镜的放大率会随光束和透镜主轴间所成角度改变而非恒定值。根据光学系统透镜的不同,可能产生桶形或者枕形畸变,并且越靠近边缘畸变就越大。其中,虚拟现实头戴设备的光学系统一般产生的是枕形畸变。色差效应是由于不同色光的波长和折射率不同而导致的。可见光中红色波长较长,折射率小,蓝色波长较短,折射率大。色差会导致两种结果:一是物点不能很好的聚焦成一个完美的像点,造成成像模糊:二是成像画面边缘部分会有彩虹现象,尤其是明暗交界处。
[0004]虽然,利用高级的消畸消色差透镜可以一定程度上进行矫正补偿,但无法100%消除畸变与色差,因此,还需要通过图像处理技术来进一步进行矫正处理。
[0005]在现有技术中,一般将图像帧的数据分为红色、绿色和蓝色(即RGB)数据,由于数据存储通常为按像素存储,同一个像素的不同颜色数据在存储器中地址具有连续性,为了提高外部存储器的带宽使用效率,如果需要对图像进行畸变处理或色差补偿,通常是对三种颜色的数据同时进行处理。然而,三种颜色的矫正参数一般不尽相同,当采用FPGA进行矫正补偿时,由于FPGA内部存储空间和运算能力的限制以及传输带宽的限制,这种同时并行处理大量的数据会导致FPGA的资源使用率高,不能合理利用FPGA资源等问题。

【发明内容】

[0006]鉴于上述问题,本发明提供一种基于FPGA的图像矫正的新技术方案。
[0007]根据本发明的第一方面,提供了一种基于FPGA的图像矫正方法,该方法包括:获取来自于输入设备的图像数据并进行分离,以得到不同颜色的数据,将所述不同颜色的数据写入FPGA外部存储器的不同的块区域;利用FPGA针对所得到的不同颜色的数据及矫正参数依次分别读回FPGA进行矫正处理,以得到矫正后的数据,并将矫正后的数据按照不同颜色写入FPGA外部存储器中的不同的块区域,其中,所述矫正参数预先存储在FPGA的外部存储器中;以及将所述矫正后的数据按不同颜色分别读回FPGA进行数据组合并输出至显示设备。
[0008]优选地,所述图像矫正参数包括图像畸变参数和/或图像色差参数。
[0009]优选地,按照预先计算的格式将所述矫正参数预先存储在FPGA的外部存储器。
[0010]优选地,所述矫正参数反映所述图像数据矫正处理前后像素点的映射关系。
[0011]根据本发明的第二方面,提供了一种基于FPGA的图像矫正的装置,该装置包括:图像数据接收单元,用于获取来自于输入设备的图像数据并进行分离,得到不同颜色的数据,将所述不同颜色的数据写入到FPGA外部存储器的不同的块区域;图像数据矫正单元,利用FPGA针对所得到的不同颜色的数据及矫正参数依次从外部存储器读回FPGA分别进行矫正处理,以得到矫正后的数据,并将校正后的数据按不同颜色写入FPGA外部存储器的不同的块区域,其中,所述矫正参数预先存储在FPGA的外部存储器中;以及图像数据输出单元,用于将所述矫正后的数据按不同颜色分别读回FPGA进行数据组合并输出至显示设备。
[0012]优选地,在所述装置中,所述图像矫正参数包括图像畸变参数和/或图像色差参数。
[0013]优选地,在该装置中,按照预先计算的格式将所述矫正参数预先存储在FPGA的外部存储器。
[0014]优选地,在该装置中,所述矫正参数反映所述图像数据矫正处理前后像素点的映射关系。
[0015]本发明的发明人发现,在现有技术中,一般是在FPGA中同时处理对R、G、B数据以进行图像矫正。然而,在本发明中,是依次对R、G、B的数据进行处理,处理一组数据之后在继续第二组数据的处理。因此,本发明所要实现的技术任务或者所要解决的技术问题是本领域技术人员从未想到的或者没有预期到的,故本发明是一种新的技术方案。
[0016]通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
【附图说明】
[0017]被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
[0018]图1是根据本发明一个实施例的基于FPGA的图像矫正方法的流程图。
[0019]图2是根据本发明的一个实施例的基于FPGA的图像矫正装置的示意性框图。
[0020]图3A和图3B分别为畸变处理前后图像数据帧的示意图。
【具体实施方式】
[0021]现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
[0022]以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
[0023]对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
[0024]在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
[0025]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0026]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施例作进一步地详细描述。
[0027]在本发明中,针对现有技术中的图像畸变处理,通过现场可编程们阵列,依次分别对不同颜色的数据进行矫正处理。大大降低了FPGA进行图像矫正处理过程中,避免了在FPGA中存储大量的数据,提高了 FPGA的资源利用率。
[0028]图1示出了根据本发明的一个实施例的基于FPGA的图像矫正方法的流程图。
[0029]如图1所示,在步骤S110,获取来自于输入设备的图像数据并进行分离,得到不同颜色的数据,并将数据按照不同颜色写入FPGA外部存储器的不同的块区域。
[0030]在此步骤中,从外部图像源设备接收图像数据,实现对图像数据的缓存和时序的检测。
[0031]在步骤S120,利用FPGA针对所得到的不同颜色的数据及矫正参数依次分别读回FPGA进行矫正处理,以得到矫正后的数据,并将矫正后的数据按照不同颜色写入FPGA外部存储器中的不同的块区域。其中,处理前和处理后的不同颜色的图像所存储的块区域不同。
[0032]在一个例子中,所述图像矫正参数包括图像畸变参数和/或图像色差参数。由于图像在输出过程中可能发生畸变或色差效应,导致原始数据中像素点在畸变前后位置不同。这种通过查找矫正参数来确定输出像素的方式可以提高图像的显示质量,改善人眼的视觉效果。
[0033]所述的矫正参数可以预先存储在FPGA的内嵌内存中,也可以存储在FPGA的外部存储器中,例如,存储在FPGA的外部DDR中。在一个例子中,将矫正参数预先存储在FPGA的外部存储器,所述矫正参数可以按照预先计算好的格式存储,其中,矫正参数的格式与所应用的虚拟现实设备的透镜位置以及透镜组的光学特性等有关。例如,在畸变矫正的情况下,所述矫正参数可以反映畸变处理前后各个像素点的映射关系。在色差补偿矫正的情况下,所述矫正参数可以反映各个颜色的像素点在色差补偿前后的映射关系。
[0034]在这个例子中,首先,将矫正参数存储在FPGA的外部存储器中。当进行图像矫正处理时,FPGA实时从外部存储器读取矫正参数。通过这种方式,可以节约FPGA的存储资源利用率。
[0035]在另一个例子中,所述图像矫正步骤进一步包括:FPGA从外部存储器获取图像数据;FPGA从外部存储器获取预先存储的矫正参数;FPGA将所矫正后的图像数据写入到外部存储器。其中,所述的外部存储器可以采用常见的存储器类型,诸如,随机存取存储器(RAM)、静态随机存取存储器(SRAM),同步动态随机存储器(SDRAM)等。在一个例子中,采用双倍速率同步动态随机存储器用于FPGA的读取和回写操作,以实现高速的数据处理过程。
[0036]在步骤S120中,所述的针对所获取的不同颜色的图像数据依次进行矫正处理的过程,例如,首先,FPGA将接收到的图像数据分开为红色、蓝色、绿色(S卩R、B、G)三部分,并将RBG分别写入到外部内存的不同空间;在进行矫正处理时,FPGA依次读取不同颜色的数据以及对应的矫正参数,并将它们缓存在FPGA的内嵌存储器中,然后FPGA基于矫正参数分别处理不同颜色的数据;FPGA将矫正后的数据再写入外部存储器。
[0037]在这个例子中,首先读取红色数据和相应的矫正参数并进行矫正处理;然后,读取绿色数据和相应的矫正参数并进行矫正处理;最后,读取蓝色数据和相应的矫正参数并进行矫正处理。可见,相对于同时读取RGB数据并同时处理的过程,这种对不同颜色的数据依次处理的方式,可以减轻FPGA存储大量数据的负担。此外,在外部存储的图像数据像素不满足2的倍数的关系的情况下,解决了FPGA计算存储地址困难的问题。因此,在本实施例中,可以有效的提高FPGA的资源利用率。
[0038]在步骤S130,所述矫正后的数据按不同颜色分别读回FPGA进行数据组合并输出至显示设备。。
[0039]由于FPGA是一种半定制的电路,FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的。存储在存储单元中的值决定了逻辑单元的逻辑功能以及各模块之间或I/o间的连接方式,并最终决定了 FPGA所能实现的功能,FPGA允许无限次的编程,因此,FPGA内部资源的有限。可见,通过采用如图1所示的图像矫正方法,可以有效的提高FPGA的资源利用率,尤其在涉及到大数据量的存储时,效果尤为明显。
[0040]图2示出了根据本发明的一个实施例的基于FPGA的图像矫正装置的示意性框图。
[0041]如图2所示,该矫正装置200包括:图像数据接收单元221、图像数据矫正单元222以及图像数据输出单元223。
[0042]图像数据接收单元221、图像数据矫正单元222以及图像数据输出单元223位于FPGA 220中,所述图像数据接收单元221,用于获取来自于输入设备的图像数据并进行分离,得到不同颜色的数据,将所述不同颜色的数据写入到FPGA外部存储器的不同的块区域;图像数据矫正单元222,利用FPGA针对所得到的不同颜色的数据及矫正参数依次从外部存储器读回FPGA分别进行矫正处理,以得到矫正后的数据,并将校正后的数据按不同颜色写入FPGA外部存储器的不同的块区域,其中,所述矫正参数预先存储的FPGA的外部存储器中;图像数据输出单元223,用于将所述矫正后的数据按不同颜色分别读回FPGA进行数据组合并输出至显示设备。
[0043]可选地,所述图像矫正参数包括图像畸变参数和/或图像色差参数。
[0044]可选地,按照预先计算的格式将所述矫正参数预先存储在FPGA的外部存储器。
[0045]可选地,所述矫正参数反映所述图像数据矫正处理前后像素点的映射关系。
[0046]进一步地,该装置还包括FPGA外部存储器210,用于:存储从输入设备获取的图像数据;预先存储矫正参数;存储来自于FPGA的矫正后的图像数据。
[0047]图3A示出了根据本发明的一个实施例的畸变处理前的图像示意图,图3B示出了根据本发明的一个实施例的畸变处理后的示意图。由图3A和图3B可以看出,畸变处理之前的图像帧的图形是矩形的,畸变处理之后的图像帧是桶形的。为了减少图像矫正的数据处理量,将RBG数据分开依次进行矫正处理。这样做可以避免在矫正处理过程中,FPGA中内部存储空间的限制,提高了 FPGA的资源使用率。
[0048]虽然已经通过例子对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上例子仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。
【主权项】
1.一种基于FPGA的图像矫正方法,包括: 获取来自于输入设备的图像数据并进行分离,以得到不同颜色的数据,将所述不同颜色的数据写入FPGA外部存储器的不同的块区域; 利用FPGA针对所得到的不同颜色的数据及矫正参数依次分别读回FPGA进行矫正处理,以得到矫正后的数据,并将矫正后的数据按照不同颜色写入FPGA外部存储器中的不同的块区域,其中,所述矫正参数预先存储在FPGA的外部存储器中;;以及 将所述矫正后的数据按不同颜色分别读回FPGA进行数据组合并输出至显示设备。2.根据权利要求1所述的基于FPGA的图像矫正方法,其特征在于,所述图像矫正参数包括图像畸变参数和/或图像色差参数。3.根据权利要求1所述的基于FPGA的图像矫正方法,其特征在于,按照预先计算的格式将所述矫正参数预先存储在FPGA的外部存储器中。4.根据权利要求3所述的基于FPGA的图像矫正方法,其特征在于,所述矫正参数包含所述图像数据矫正处理前后像素点的映射关系。5.一种基于FPGA的图像矫正装置,包括: 图像数据接收单元,用于获取来自于输入设备的图像数据并进行分离,得到不同颜色的数据,将所述不同颜色的数据写入到FPGA外部存储器的不同的块区域; 图像数据矫正单元,利用FPGA针对所得到的不同颜色的数据及矫正参数依次从外部存储器读回FPGA分别进行矫正处理,以得到矫正后的数据,并将校正后的数据按不同颜色写入FPGA外部存储器的不同的块区域,其中,所述矫正参数预先存储在FPGA的外部存储器中; 图像数据输出单元,用于将所述矫正后的数据按不同颜色分别读回FPGA进行数据组合并输出至显示设备。6.根据权利要求5所述的基于FPGA的图像矫正装置,其特征在于,所述图像矫正参数包括图像畸变参数和/或图像色差参数。7.根据权利要求5所述的基于FPGA的图像矫正装置,其特征在于,按照预先计算的格式将所述矫正参数预先存储在FPGA的外部存储器。8.根据权利要求7所述的基于FPGA的图像矫正装置,其特征在于,所述矫正参数包含所述图像数据矫正处理前后像素点的映射关系。
【文档编号】G06F3/14GK105894473SQ201610248373
【公开日】2016年8月24日
【申请日】2016年4月20日
【发明人】毕祥坤
【申请人】北京小鸟看看科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1