专利名称:全景视频柱面图像存储方法及系统的制作方法
技术领域:
本发明涉及图像拼接技术领域,特别是涉及一种全景视频柱面图像存储方法以及一种全景视频柱面图像存储系统。
背景技术:
图像拼接技术被广泛应用于宇宙空间检测、海底勘测、医学、气象、视频的索引和检索、物体的3D重建、数码相机的超分辨率处理等领域。视频拼接是图像拼接的一个重要运用,通过图像拼接可以生成视角更大、分辨率更高的视频,它主要应用于展示展览、视觉娱乐、监控和广告等领域。由于处理视频时涉及到帧速问题,因此要想实现高分辨率视频拼接,FPGA(Field — Programmable Gate Array,现场可编程逻辑阵列)或 ASIC(ApplicationSpecific Integrated Circuit,专用集成电路)是最佳选择。但由于图像拼接算法比较复杂,因此FPGA实现视频拼接的难度较大。在传统的视频拼接系统中,视频图像的柱面变换是个重要环节。因为视频拼接的核心——图像配准和图像融合部分处理的对象都是进行过柱面变换后的图像。使用FPGA实现高分辨率视频图像的柱面变换,图像在DDR2/DDR3内存的读写是个关键问题,如果处理不好,则带宽利用率较低,从而难以处理高分辨率视频图像。
发明内容
基于此,本发明提供一种全景视频柱面图像存储方法及系统,能够在保证数据存储正确的前提下解决带宽利用率低的问题。为实现上述目的,本发明采用如下的技术方案:一种全景视频柱面图像存储方法,包括以下步骤:按行接收帧像素数据,并用FIFO缓存;判断FIFO是否缓存满一行像素数据;若是,则从FIFO中连续读出一行像素数据并进行柱面变换,每个像素进行计算得到新的坐标,并计算各像素的像素地址;将柱面变换后的数据划分为若干个数据段;其中,在所述划分后的数据段中,每个数据段内的像素地址都是连续的,且相邻数据段属于不同的行;根据数据段的像素个数、内存的BURST突发长度、内存的存储单元位数以及数据段里首个像素的像素地址组成BURST ;将所组成的BURST数据存入内存中。一种全景视频柱面图像存储系统,包括:数据接收与缓存模块,用于按行接收帧像素数据,并用FIFO缓存;判断模块,用于判断FIFO是否缓存满一行像素数据;柱面变换模块,用于在所述判断模块的判断结果为是的情况下,从FIFO中连续读出一行像素数据并进行柱面变换,每个像素进行计算得到新的坐标,并计算各像素的像素地址;数据划分模块,用于将柱面变换后的数据划分为若干个数据段;其中,在所述划分后的数据段中,每个数据段内的像素地址都是连续的,且相邻数据段属于不同的行;BURST组成模块,用于根据数据段的像素个数、内存的BURST突发长度、内存的存储单元位数以及数据段里首个像素的像素地址组成BURST ;数据存放模块,用于将所组成的BURST数据存入内存中。由以上方案可以看出,本发明的全景视频柱面图像存储方法及系统,对视频图像做柱面变换的硬件实现时,先变换后存储,原图像一行数据经过柱面变换后被分配到了多个行,把分成多个行的每部分看成是一个数据段,然后根据数据段的像素个数、BURST突发长度、存储单元位数和数据段里首个像素的像素地址来组成BURST。本发明的方法及系统在实现视频图像的柱面变换时,显著提高了带宽利用率,可支持IOSOp的视频数据,同时可节省FPGA内部资源,方便视频拼接系统其他模块读取内存中的柱面图像数据,为视频拼接系统整体打下良好基础。
图1为本发明实施例一种全景视频柱面图像存储方法的流程示意图;图2为原始的第O行图像像素以及原始第O行图像像素经过柱面变换后的示意图;图3为本发明实施例一种全景视频柱面图像存储系统的结示意图。
具体实施例方式下面结合附图以及具体的实施例,对本发明的技术方案作进一步的描述。参见图1所示,一种全景视频柱面图像存储方法,包括以下步骤:步骤S101,按行接收巾贞像素数据,并用FIFO (First Input First Output,先入先出队列)缓存,然后进入步骤S102。步骤S102,判断FIFO是否缓存满一行像素数据;若是则进入步骤S103,若否则返回步骤SlOl继续等待接收。步骤S103,若是(即满一行像素数据),则从FIFO中连续读出一行像素数据并进行柱面变换,在柱面变换中,每个像素进行计算得到新的坐标,并计算各像素的像素地址(设某图像行宽为R,列高为H,其中某像素坐标为(X,y),则该像素的像素地址为x*R+y),然后进入步骤S104。步骤S104,将柱面变换后的数据划分为若干个数据段;其中,在所述划分后的数据段中,每个数据段内的像素地址都是连续的,且相邻数据段属于不同的行。作为一个较好的实施例,上述将柱面变换后的数据划分为若干个数据段的过程具体可以包括如下:根据像素地址连续性将柱面变换后的数据划分为若干个数据段;或者是根据行坐标的差异将柱面变换后的数据划分为若干个数据段。步骤S105,根据数据段的像素个数、内存的BURST突发长度、内存的存储单元位数以及数据段里首个像素的像素地址(即像素首地址)组成BURST,然后进入步骤S106。作为一个较好的实施例,当判断得出数据段的像素总位数小于或等于一个BURST突发长度的位数时,可以根据数据段里首个像素的像素地址组成一个或两个BURST;或当数据段的像素总位数大于一个BURST突发长度的位数时,可以根据数据段里首个像素的像素地址组成至少两个BURST。根据像素首地址来决定BURST长度的方法如下:所述像素首地址既指数据段的像素首地址,也指组成一个BURST的首像素的像素地址。设一个BURST突发长度的位数是一个像素位数的M倍,一个内存单元的位数是一个像素位数的N倍,N是2的η次方。设像素首地址为addr[a-l:0], a为地址的位数。像素首地址与BURST长度、存储地址的关系如下表一所示。BURST数据往内存中存储时,还要根据有效位数来设置有效位信号。表一
权利要求
1.一种全景视频柱面图像存储方法,其特征在于,包括以下步骤: 按行接收帧像素数据,并用FIFO缓存; 判断FIFO是否缓存满一行像素数据; 若是,则从FIFO中连续读出一行像素数据并进行柱面变换,每个像素进行计算得到新的坐标,并计算各像素的像素地址; 将柱面变换后的数据划分为若干个数据段;其中,在所述划分后的数据段中,每个数据段内的像素地址都是连续的,且相邻数据段属于不同的行; 根据数据段的像素个数、内存的BURST突发长度、内存的存储单元位数以及数据段里首个像素的像素地址组成BURST ; 将所组成的BURST数据存入内存中。
2.根据权利要求1所述的全景视频柱面图像存储方法,其特征在于,所述将柱面变换后的数据划分为若干个数据段的过程包括: 根据像素地址连续性将柱面变换后的数据划分为若干个数据段。
3.根据权利要求1所述的全景视频柱面图像存储方法,其特征在于,所述将柱面变换后的数据划分为若干个数据段的过程包括: 根据行坐标的差异将柱面变换后的数据划分为若干个数据段。
4.根据权利要求 2或3所述的全景视频柱面图像存储方法,其特征在于,在所述将组成的BURST数据存入内存之后,还包括步骤: 当一幅图像的所有行都完成了柱面变换且变换后的像素全部存入内存之后,发出可读信号。
5.根据权利要求2或3所述的全景视频柱面图像存储方法,其特征在于,当数据段的像素总位数小于或等于一个BURST突发长度的位数时,根据数据段里首个像素的像素地址组成一个或两个BURST ;或 当数据段的像素总位数大于一个BURST突发长度的位数时,根据数据段里首个像素的像素地址组成至少两个BURST。
6.一种全景视频柱面图像存储系统,其特征在于,包括: 数据接收与缓存模块,用于按行接收帧像素数据,并用FIFO缓存; 判断模块,用于判断FIFO是否缓存满一行像素数据; 柱面变换模块,用于在所述判断模块的判断结果为是的情况下,从FIFO中连续读出一行像素数据并进行柱面变换,每个像素进行计算得到新的坐标,并计算各像素的像素地址; 数据划分模块,用于将柱面变换后的数据划分为若干个数据段;其中,在所述划分后的数据段中,每个数据段内的像素地址都是连续的,且相邻数据段属于不同的行; BURST组成模块,用于根据数据段的像素个数、内存的BURST突发长度、内存的存储单元位数以及数据段里首个像素的像素地址组成BURST ; 数据存放模块,用于将所组成的BURST数据存入内存中。
7.根据权利要求6所述的全景视频柱面图像存储系统,其特征在于,所述数据划分模块根据像素地址连续性将柱面变换后的数据划分为若干个数据段。
8.根据权利要求6所述的全景视频柱面图像存储系统,其特征在于,所述数据划分模块根据行坐标的差异将柱面变换后的数据划分为若干个数据段。
9.根据权利要求7或8所述的全景视频柱面图像存储系统,其特征在于,还包括: 信号发送模块,用于当一幅图像的所有行都完成了柱面变换且变换后的像素全部存入内存之后,发出可读信号。
10.根据权利要求7或8所述的全景视频柱面图像存储系统,其特征在于,所述BURST组成模块包括: 第一组成模块,用于当数据段的像素总位数小于或等于一个BURST突发长度的位数时,根据数据段里首个像素的像 素地址组成一个或两个BURST ; 第二组成模块,用于当数据段的像素总位数大于一个BURST突发长度的位数时,根据数据段里首个像素的像素地址组成至少两个BURST。
全文摘要
本发明提供一种全景视频柱面图像存储方法及系统,所述方法包括以下步骤按行接收帧像素数据,并用FIFO缓存;判断FIFO是否缓存满一行像素数据;若是,则从FIFO中连续读出一行像素数据并进行柱面变换,每个像素进行计算得到新的坐标,并计算各像素的像素地址;将柱面变换后的数据划分为若干个数据段;其中,在所述划分后的数据段中,每个数据段内的像素地址都是连续的,且相邻数据段属于不同的行;根据数据段的像素个数、内存的BURST突发长度、内存的存储单元位数以及数据段里首个像素的像素地址组成BURST;将所组成的BURST数据存入内存中。本发明的方法及系统,在实现视频图像的柱面变换时显著提高了带宽利用率。
文档编号G06T11/00GK103093485SQ201310032988
公开日2013年5月8日 申请日期2013年1月28日 优先权日2013年1月28日
发明者张源源, 赵群英 申请人:广东威创视讯科技股份有限公司