数据处理方法及装置与流程

文档序号:13075987阅读:141来源:国知局
数据处理方法及装置与流程

本发明涉及一种数据处理方法及装置。



背景技术:

近年来,vr(虚拟现实)技术正在快速发展,并被广泛应用于医疗、军事、娱乐、教育等领域。vr购物、vr游戏、vr电影也逐渐走入了普通人的日常生活中。vr技术的关键在于给人带来的全方位空间沉浸感,因此,全景视频的采集和制作变得不可或缺。

为了获取全景视频,需要使用多台相机,或者使用由两个或两个以上广角镜头组成的全景相机进行拍摄,获取的全景视频可以在拍摄角度前后左右360°内任意观看动态视频,给人以身临其境的感觉。

现有技术中,由于需要对采集的鱼眼图像进行多个步骤的处理,加上算法的复杂性,无法保证在一帧时间内完成对图像帧的所有处理步骤,即在下一帧数据来临之前,上一帧的数据尚未处理完成,可能造成丢帧的问题,并且难于满足实时性的要求。



技术实现要素:

为了解决上述技术问题,本发明提供了一种数据处理方法及装置,能够避免发生视频流丢帧的问题,满足视频流实时处理的要求。

为了达到本发明目的,本发明提供了一种数据处理方法,包括:

从内存中划分出n(n≥2)个存储区域;

在每个新数据的到达时刻,对一个或多个存储区域设置对应的数据处理操作,所述数据处理操作包含n种逻辑上相关联的操作类型;

按照存储区域各自对应的数据处理操作进行相对应的数据处理。

本申请还提供了一种图像处理方法,包括:

从内存中划分出三个存储区域;

在有图像帧数据组到达时,对一个或多个存储区域设置对应的数据处理操作,所述数据处理操作包含缓存、校正拼接和压缩;

按照存储区域对应的数据处理操作进行相对应的数据处理。

本申请还提供了一种数据处理装置,包括:

一存储区域划分单元,用于从内存中划分出n(n≥2)个存储区域;

一操作设置单元,用于在每个新数据的到达时刻,对一个或多个存储区域设置对应的数据处理操作,所述数据处理操作包含n种逻辑上相关联的操作类型;

一操作执行单元,用于按照存储区域各自对应的数据处理操作进行相对应的数据处理操作。

本申请还提供了一种图像处理装置,包括:

一存储区域划分单元,用于从内存中划分出三个存储区域;

一图像操作设置单元,用于在有图像帧数据组到达时,对一个或多个存储区域设置对应的数据处理操作,所述数据处理操作包含缓存、校正拼接和压缩;

一图像操作执行单元,用于按照存储区域对应的数据处理操作进行相对应的数据处理。

与现有技术相比,本发明包括从内存中划分出n(n≥2)个存储区域;在每个新数据的到达时刻,对一个或多个存储区域设置对应的数据处理操作,所述数据处理操作包含n种逻辑上相关联的操作类型;按照存储区域各自对应的数据处理操作进行相对应的数据处理。本发明通过划分出多个存储区域,在每个数据的到达时刻,对存储区域设置对应的数据处理操作,并对存储区域进行相应的处理操作,能够将对图像帧的处理不限制在一帧的时间内,避免了由于上一帧的数据尚未处理完成,下一帧数据已到达所造成的丢帧问题的发生。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1为本申请一实施例提供的数据处理方法的流程图;

图2为本申请另一实施例提供的图像处理方法的流程图;

图3为本申请又一实施例的对存储区域设置对应的数据处理操作的示意图;

图4为本申请又一实施例提供的数据处理装置的架构图;

图5为本申请又一实施例提供的图像处理装置的架构图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

现有技术中,对于视频流等持续采集的数据,需要在一帧时间内对当前采集的图像帧完成处理,如果无法在一帧时间内完成对图像帧的处理,等到下一帧图像到达时上一帧图像如果还未处理完成,就会造成丢帧问题的发生。对于处理步骤复杂的数据,如鱼眼图像的处理,由于需要对采集的鱼眼图像进行多个步骤的处理,加上算法的复杂性,无法保证在一帧时间内完成对图像帧的所有处理步骤,就会造成丢帧的问题,并且无法满足视频对实时性的要求。

本申请中考虑到,一般而言,对数据的处理步骤通常为多个,假设为n(n≥2)个,n个处理步骤之间具有逻辑上的关联和先后关系。本申请中在进行数据处理之前,从内存中划分出n个存储区域。在有数据到达的时刻,对n个存储区域中的一个多多个设置对应的数据处理操作。例如,在首个数据到达时,从n个存储区域中选择一个存储区域(存储区域1),将存储区域1设置为对应n个数据处理操作中逻辑上的首个数据处理操作,并按照数据处理操作进行相应处理。在下一个数据到达时,将存储区域1设置为当前对应的数据处理操作逻辑在后的下一个数据处理操作,并再选择一个未设置对应的数据处理操作的存储区域(存储区域2),将存储区域2设置为对应n个数据处理操作中逻辑上的首个数据处理操作,并以此类推,从而实现通过n个存储区域对持续不断的数据的处理。

如图1所示,本申请一实施例提供的数据处理方法,包括:

步骤101:从内存中划分出n(n≥2)个存储区域;

步骤102:在每个新数据的到达时刻,对一个或多个存储区域设置对应的数据处理操作,所述数据处理操作包含n种逻辑上相关联的操作类型;

步骤103:按照存储区域各自对应的数据处理操作进行相对应的数据处理。

本申请的数据处理方法可以应用于对任何数据的处理,尤其适合于需要多个处理步骤的数据处理,例如,对视频流、音频流等数据的处理。

为了实现本申请的数据处理方法,需要首先从内存中划分n个存储区域,划分出的存储区域的数量与数据需要经过的处理步骤的数量相同均为n。每个存储区域的大小可以依据每次接收的数据的大小确定,存储区域的大小应大于每次接收到的数据的大小。

其次,在每个新数据的到达时刻,对n个存储区域中的一个或多个设置对应的数据处理操作。数据处理操作包含n种逻辑上相互关联并且具有处理的先后关系的操作类型。在对存储区域设置对应的数据处理操作时,在每一个新数据的到达时刻,使每个存储区域都各自单独对应一个类型的数据处理操作。在下一个新数据到达时,将存储区域对应的数据处理操作设置为当前对应的数据处理操作逻辑上在后的下一个数据处理操作,也就是说,使已经接收到的数据按照数据的接收频率,从第一个数据处理操作开始到最后一个数据处理操作结束,完成整个数据处理流程。

在本申请的一可选实施例中,上述对n个存储区域中的一个或多个设置对应的数据处理操作,包括:

对n个存储区域分别设置对应的数据处理操作,每个存储区域设置为各自单独对应一个类型的数据处理操作;

在有新数据到达时,根据每个存储区域当前对应的数据处理操作,将存储区域对应的数据处理操作设置为相对当前对应的数据处理操作逻辑在后的下一个数据处理操作。

在该实施例中,在首个数据的到达时刻即对每个存储区域分别设置对应的数据处理操作,并保证每个存储区域各自单独对应一个类型的数据处理操作。在下一个新数据到达时,需要将每个存储区域各自对应的数据处理操作设置为当前对应的数据处理操作逻辑在后的下一个数据处理操作,以对存储区域中的数据进行一个步骤的数据处理操作后再进行下一个步骤的数据处理处理。

由于新数据是逐一到达,因此,在接收到的数据未达到n个时,也就是无需全部用到划分出的n存储区域时,可以不对尚未用到的存储区域设置对应的数据处理操作。在有新数据到达时,对于尚未设置对应的数据处理操作的存储区域,也就是尚未使用到的存储区域,从中选取一个存储区域,将该存储区域对应的数据处理操作设置为n种数据处理操作中逻辑上的首个数据处理操作,以将新接收到的数据存储到该选取的存储区域中,从首个数据处理操作开始对新接收到的数据进行处理。

在本申请的另一可选实施例中,上述对一个或多个存储区域设置对应的数据处理操作,也可以包括:

在新数据到达时,对于尚未设置对应的数据处理操作的存储区域,从中选取一个存储区域,将该存储区域对应的数据处理操作设置为n种数据处理操作中逻辑上的首个数据处理操作;对于已设置对应的数据处理操作的存储区域,将存储区域对应的数据处理操作设置为相对当前对应的数据处理操作逻辑在后的下一个数据处理操作。

如上所述,在有新数据到达时,也可以对未使用的存储区域设置对应的数据处理操作,并将新接收到的数据存储到对应首个数据处理操作的存储区域中,从首个数据处理操作开始对新接收到的数据进行处理。对存储区域设置对应的数据处理操作需保证每个存储区域单独对应一个类型的数据处理操作,而不能两个或两个以上的存储区域对应同一个类型的数据处理操作。

在本申请中,优选的,在有新数据到达时,对于已经设置了对应的数据处理操作的存储区域,根据存储区域当前对应的数据处理操作,将存储区域对应的数据处理操作设置为相对当前对应的数据处理操作逻辑在后的下一个数据处理操作;对于尚未设置对应的数据处理操作的存储区域,从中选取一个存储区域,将该存储区域对应的数据处理操作设置为n种数据处理操作中逻辑上的首个数据处理操作。

例如,在首个数据到达时,从n个存储区域中选择一个存储区域(存储区域1),将存储区域1设置为对应n个数据处理操作中逻辑上的首个数据处理操作。在下一个数据到达时,将存储区域1设置为当前对应的数据处理操作逻辑在后的下一个数据处理操作,并再选择一个未设置对应的数据处理操作的存储区域(存储区域2),将存储区域2设置为对应n个数据处理操作中逻辑上的首个数据处理操作,再在下一个数据到达时,将存储区域1和存储区域2对应的数据处理操作分别设置为各自当前对应的数据处理操作的逻辑在后的下一个数据处理操作,并再从n个存储区域中选择一个存储区域(存储区域3),将存储区域3对应的数据处理操作设置为n个数据处理操作中逻辑上的首个数据处理操作,并以此类推。

为了能够利用n个存储区域处理持续不断接收到的数据,针对每个存储区域将对应的数据处理操作在从n种数据处理操作中的首个依次设置到最后一个后,再次从首个数据处理操作开始设置,并以此循环。

下面以采用本申请的数据处理方法处理视频流的图像帧为例,说明本申请的方法。

如图2所示,本申请提供的图像处理方法,包括:

步骤201:从内存中划分出三个存储区域;

步骤202:在有图像帧数据组到达时,对一个或多个存储区域设置对应的数据处理操作,数据处理操作包含缓存、校正拼接和压缩;

步骤203:按照存储区域对应的数据处理操作进行相对应的数据处理。

本实施例的方法可以应用于对任何设备拍摄的图像的处理,包括手机、普通相机和全景相机等,尤其适用于全景相机拍摄的广角图像、鱼眼图像等的处理,但不限于仅适用于广角图像、鱼眼图像的处理。

在应用本申请的图像处理方法在对全景相机拍摄的广角图像/鱼眼图像进行处理的场景中,上述图像帧数据组中包含全景相机上的多个广角镜头/鱼眼图像采集的多幅图像帧,在每个数据处理操作步骤中同时对一个图像帧数据组中的多幅图像帧进行处理。

为了获得全景视频,需要进行图像帧的实时采集和拼接,并将视频编码压缩后进行存储或者输出给后端设备进行显示。

在进行图像处理前,需要通过鱼眼图像采集模块进行鱼眼图像采集,获取多路鱼眼镜头捕捉到的鱼眼图像,多路同时拍摄的鱼眼图像组成图像帧数据组。

在获得图像帧数据组后,通过同步模块进行多路图像帧数据组中的多路图像帧的时间同步,保证各路数据在时间顺序上严格一致。

同步处理后的图像帧需要经过缓存、校正拼接和压缩等图像处理。

由于前端采集到的图像为原始鱼眼图像,畸变严重,且数据量较大,需要进行畸变校正处理和视频压缩处理后才能进行存储或者输出给手机、电脑等外设。因此需要先将鱼眼图像缓存到内存中。

校正拼接分为原始鱼眼图像畸变校正和校正后图像融合拼接两步。由于鱼眼图像存在严重畸变,想要完成图像融合拼接,必须先将圆形鱼眼图校正为方形展开图像。常用的畸变校正方法有球面坐标定位法,多项式坐标变换法等。通过点坐标的变换就可以确定原始鱼眼图像与校正后图像上对应点的位置关系。

在完成鱼眼图像的畸变校正后,需要对多个图像进行融合拼接,合成完整的全景图像。图像融合拼接的关键在于图像匹配,包括区域图像匹配、频域图像匹配以及特征图像匹配。可以采用区域图像匹配法,从某一路图像的重叠区域中选取一个局部区域作为模板,使用模板平移,找到此模板在另一路图像中的最相似区域,以此完成不同图像间重叠区域的匹配对齐。完成匹配对齐后,对两幅图像的重叠区域的像素灰度值进行加权平均,完成图像融合步骤。

在完成图像的校正拼接后,还需要对帧数据进行压缩处理,常用的压缩算法包括无损压缩算法和有损压缩算法。无损压缩算法包括游长编码、赫夫曼编码、算数编码等,有损压缩算法包括小波编码、mpeg-4、h.264等。本申请优选使用h.264编码方案。

由于上述缓存、校正拼接、压缩这三个步骤都需要对整个完整帧数据进行处理,加上算法的复杂性,无法保证在一帧时间内完成上述所有步骤,即在下一帧数据来临之前,上一帧的数据尚未处理完成。采用本申请图像处理方法,通过三个存储区域实现对图像帧数据组的缓存、校正拼接和压缩的数据处理,保证视频流不丢帧,满足实时处理要求。

为了实现对不断接收到的图像帧数据组的缓存、校正拼接和压缩的处理,需要首先从内存中划分出三个存储区域,根据接收到的图像帧数据组的大小合理设置缓存区域的大小。

其次,从同步模块获取同步后的图像帧数据组,对三个存储区域中的一个或多个设置对应的数据处理操作。

可选的,对三个存储区域中的一个或多个设置对应的数据处理操作,包括:

对三个存储区域分别设置对应的数据处理操作,每个存储区域设置为各自单独对应一个类型的数据处理操作;在新数据到达时,将当前对应缓存的存储区域设置为对应校正拼接,将当前对应校正拼接的数据区域设置为对应压缩,将当前对应压缩的存储区域设置为对应缓存;或者,

对于尚未设置对应的数据处理操作的存储区域,选取其中一个存储区域,将选取的存储区域对应的数据处理操作设置为缓存;对于已设置对应的数据处理操作的存储区域,将当前对应缓存的存储区域设置为对应校正拼接,将当前对应校正拼接的数据区域设置为对应压缩,将当前对应压缩的存储区域设置为对应缓存。

最后,按照三个存储区域各自对应的数据处理操作对每个存储区域进行相对应的数据处理操作。

进一步,按照三个存储区域各自对应的数据处理操作对每个存储区域进行相对应的数据处理操作,包括:

对于设置为对应缓存的存储区域,将获取的图像帧数据组缓存到该存储区域中;

对于设置为校正拼接的存储区域,将该存储区域中缓存的图像帧数据组的鱼眼图像进行畸变校正,并将校正后图像进行融合拼接得到全景图像;

对于设置为压缩的存储区域,将该存储区域中的全景图像进行压缩处理。

如图3所示,为对存储区域设置对应的数据处理操作的示意图,在该示例中对图像帧数据组进行计数,从1到3循环计数。

对内存空间进行区域分割,共划分为三个区域,存储区域1、存储区域2、存储区域3。根据当前帧计数器的值分别设置为缓存、校正拼接、压缩的其中之一。

计数值为1时,区域1被设置为缓存区,将同步模块的当前帧数据写入区域1中。区域2被设置为压缩区,将本区域之前存储的校正拼接处理后的帧数据进行压缩处理后传给存储或输出模块。区域3被设置为校正拼接区,将本区域之前存储的帧数据进行校正和拼接处理。

帧计数值为2时,区域1被设置为校正拼接区,将本区域之前存储的帧数据进行校正和拼接处理。区域2被设置为缓存区,将同步模块的当前帧数据写入区域2中。区域3被设置为压缩区,将本区域之前存储的校正拼接处理后的帧数据进行压缩处理后传给存储或输出模块。

帧计数值为3时,区域1被设置为压缩区,将本区域之前存储的校正拼接处理后的帧数据进行压缩处理后传给存储或输出模块。区域2被设置为校正拼接区,将本区域之前存储的帧数据进行校正和拼接处理。区域3被设置为缓存区,将同步模块的当前帧数据写入区域3中。

上述处理方案保证每一帧的视频数据都被完整地写入缓存中,并在两帧的延迟后完成校正、拼接以及压缩处理。可以很好地满足实时性的要求。

在完成上述图像处理后,可选择将编码压缩后的视频保存到存储介质当中,包括但不限于sd卡、硬盘等。

也可选择将编码压缩后的视频通过传输接口输出给手机、电脑等设备。传输接口包括但不限于usb、网口、wifi等。

本发明在相机内部完成了多路鱼眼图像的畸变校正、融合拼接、编码压缩的全套方案,保证实时性的同时降低了全景视频的系统体积和成本,在全景视频录制、全景视频直播等领域具有很强的应用价值。

如图4所示,一种数据处理装置,包括:

一存储区域划分单元,用于从内存中划分出n(n≥2)个存储区域;

一操作设置单元,用于在每个新数据的到达时刻,对一个或多个存储区域设置对应的数据处理操作,所述数据处理操作包含n种逻辑上相关联的操作类型;

一操作执行单元,用于按照存储区域各自对应的数据处理操作进行相对应的数据处理操作。

进一步,操作设置单元对一个或多个存储区域设置对应的数据处理操作,包括:

对n个存储区域分别设置对应的数据处理操作,每个存储区域设置为各自单独对应一个类型的数据处理操作;

在新数据到达时,根据每个存储区域当前对应的数据处理操作,将存储区域对应的数据处理操作设置为相对当前对应的数据处理操作逻辑在后的下一个数据处理操作。

进一步,操作设置单元对一个或多个存储区域设置对应的数据处理操作,包括:

在新数据到达时,对于尚未设置对应的数据处理操作的存储区域,从中选取一个存储区域,将该存储区域对应的数据处理操作设置为n种数据处理操作中逻辑上的首个数据处理操作;对于已设置对应的数据处理操作的存储区域,将存储区域对应的数据处理操作设置为相对当前对应的数据处理操作逻辑在后的下一个数据处理操作。

进一步,一种图像处理装置,包括:

一存储区域划分单元,用于从内存中划分出三个存储区域;

一图像操作设置单元,用于在有图像帧数据组到达时,对一个或多个存储区域设置对应的数据处理操作,所述数据处理操作包含缓存、校正拼接和压缩;

一图像操作执行单元,用于按照存储区域对应的数据处理操作进行相对应的数据处理。

进一步,图像操作设置单元对一个或多个存储区域设置对应的数据处理操作,包括:

对三个存储区域分别设置对应的数据处理操作,每个存储区域设置为各自单独对应一个类型的数据处理操作;在新数据到达时,将当前对应缓存的存储区域设置为对应校正拼接,将当前对应校正拼接的数据区域设置为对应压缩,将当前对应压缩的存储区域设置为对应缓存;或者,

对于尚未设置对应的数据处理操作的存储区域,选取其中一个存储区域,将选取的存储区域对应的数据处理操作设置为缓存;对于已设置对应的数据处理操作的存储区域,将当前对应缓存的存储区域设置为对应校正拼接,将当前对应校正拼接的数据区域设置为对应压缩,将当前对应压缩的存储区域设置为对应缓存。

虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

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