一种全景视频数据处理方法、装置及系统与流程

文档序号:14197500阅读:243来源:国知局
一种全景视频数据处理方法、装置及系统与流程
本申请属于视频数据处理
技术领域
,尤其涉及一种全景视频数据处理方法、装置及系统。
背景技术
:随着信息技术的迅速发展,vr(virtualreality,虚拟现实)已成为目前讨论的热点话题。而vr全景视频的数据处理技术目前已经成为了研究的重点。一般的,全景视频处理过程中,常常需要将全景视频转码为其他视频数据格式。视频转码的过程通常可以包括:a、将全景视频采集设备拍摄得到的不同场景角度的视频进行拼接,组合成完整的全景视频;b、将这个完整的全景视频中的全景图像进行重新映射,以得到更小面积的平面2d视频图像;c、对所述平面2d视频图像再进行视频编码,得到转码后的2d视频。在上述步骤b中,对全景图像进行重新投影的处理过程中,本领域技术人员可以了解到存在多种全景图像的投影实现方式,例如,equirectangular投影模型、圆柱投影模型、直线投影模型、墨卡托投影,但由于这些全景图像投影展开面积较大,转码时需要处理的数据量大,所以一些公司业内提出了多种新的方案来减少全景图像投影的数据量。例如,一种方式是将全景图像投影模型进行重新映射为不同的平面2d视频图像格式,以得到更小面积的平面2d视频图像,比如将equirectangular投影模型格式的全景图像重新映射为cubemap模型或者pyramid模型的2d视频图像格式。但是,本方案注意到,目前的业内常用的是将全景图像投影模型进行重新映射为不同的平面2d视频图像格式的方法中数据处理一般都是通过cpu(centralprocessingunit,中央处理器)来计算实现的,如通过cpu来计算像素点映射和插值法。但,由于全景视频的清晰度和分辨率越来越高,尤其是对于4k视频甚至以后更高的这类高分辨率视频,像素点过多,现有的这种投影方式处理的数据量非常大。这样的cpu计算极大了耗费了计算资源,且效率不高。例如,在此以cubemap模型映射为例展开解释该问题。从equirectangular模型的展开变换到cubemap模型的展开,需要对每个像素点进行映射操作,这种映射操作是通过找到cubemap模型上每个点对应的equirectangular模型上相应的点来实现的。由于考虑为了输出比较平滑(较少锯齿和毛刺)的cubemap映射图像,做一对一像素点的cubemap到equirectangular模型的映射是不够的,通常还需要对cubemap输出像素点位置周围的一些分像素位置进行映射,并且最终将所得到的所有的映射位置加权平均来求得cubemap上一个比较平滑的输出像素。例如为了得到在cubemap上的一个像素点a,需要将这个像素映射到equirectangular上面的某一个像素上,我们假设这个像素位置是b0(x1,y1),然后为了cubemap上的这个像素点更加平滑,需要将这个像素点a附近的若干个分像素通过同样的映射方式找到equirectangular全景视频上的一对一的映射点。例如选择了n个分像素,会在equirectangular全景视频上得到n个映射的点,b1,b2,......bn,每个映射的点对应一个权重weight,这里权重指的是equirectangular上的每一个位置被映射到的次数。一个cubemap上的点a,通过以上操作,就会得到若干映射的位置和各相应的权重值,这些信息可以存储于cubemap点a的链表中,示例如下:链表------>position1,weight1------>position2,weight2-------->position3,weight3..........然后通过对像素点a的链表中像素值和权重进行加权平均,从而得到最终的cubemap上点a的像素值。加权平均操作的过程如下:(像素值1*权重1+像素值2*权重2+…+像素值n*权重n)/(权重1+权重2+…+权重n)。业内一般使用cpu计算此加权平均过程。但cpu作为通用功能处理器,其体系结构被设计为具有很强的通用性来处理各种不同的数据类型,并完成大量逻辑判断、分支跳转和中断处理。当使用cpu来处理大量简单重复数据操作(例如,加权、求和)时,效率并不十分明显。尤其是对于4k及以上的高分辨率vr全景视频,具有海量的数据,且实时性要求较高,使用cpu来完成加权平均操作仍然是一个耗费时间的过程。并且,一般在投影后所做的视频转码也需要消耗大量的cpu资源,同样会导致全景视频数据的处理效率大大降低。技术实现要素:本申请目的在于提供一种全景视频数据处理方法、装置及系统,可以利用gpu(graphicsprocessingunit,图像处理器)强大的运算能力来加速gpu处理独特设计的映射算法,而且可以不占用后面视频编码的cpu资源,从而同时达到了两方面的速度提升,大大提高全景视频数据的转码处理效率,实现整个处理系统的加速。本申请提供的一种全景视频数据处理方法、装置及系统是这样实现的:一种全景视频数据处理方法,所述方法包括:确定目标视频像素在原全景视频帧上的映射像素;在所述原全景视频帧上,获取预设规则窗口中预定形状和数量的像素,所述预设规则窗口与所述映射像素相关联;计算所述映射像素以及所述预定形状和数量的像素所对应的权重值,生成窗口权重表;将所述映射像素和预定形状和数量的像素、以及所述窗口权重表载入图像处理器,以使用所述图像处理器并行计算得到所述目标视频像素的像素值。一种全景视频数据处理装置,所述装置包括:映射像素确定模块,用于确定目标视频像素在原全景视频帧上的映射像素;像素获取模块,用于在所述原全景视频帧上,获取预设规则窗口中预定形状和数量的像素,所述预设规则窗口与所述映射像素相关联;权重表计算模块,用于计算所述映射像素以及所述预定形状和数量的像素所对应的权重值,生成窗口权重表;加载模块,用于将所述映射像素和预定形状和数量的像素、以及所述窗口权重表载入图像处理器,以使用所述图像处理器并行计算得到所述目标视频像素的像素值。一种全景视频数据处理系统的,所述系统包括:i/o接口,用于获取待处理的全景视频数据和输出处理后的数据;中央处理器,用于确定目标视频像素在原全景视频帧上的映射像素;还用于在所述原全景视频帧上,获取预设规则窗口中预定形状和数量的像素,所述预设规则窗口与所述映射像素相关联;还用于计算所述映射像素以及所述预定形状和数量的像素所对应的权重值,生成窗口权重表;还用于将所述映射像素和预定形状和数量的像素、以及所述窗口权重表载入图像处理器;图像处理器,用于并行计算所述目标视频像素的像素值;进一步的,所述中央处理还用于对所述图像处理器并行计算后的目标视频像素进行视频编码。本申请提供的一种全景视频数据处理方法、装置及系统,采用获取对应于输出全景视频cubemap映射展开上的每一个像素的映射点周围固定窗口范围内的像素,这样可以使每次映射所需的像素数据的范围进行规则化,固定选取映射点周围的预定形状和数量的像素,使获取的映射处理像素个数保持相同。并且可以为固定窗口内的像素设计一个固定大小的窗口权重表,窗口权重表中的每一个权重都对应了一个像素。这样,利用所述的固定窗口范围内的像素,和相应的固定大小的窗口权重表,可以解决需要gpu加速所必须的数据规则化的问题。对于每一个映射输出的点,在gpu中载入像素范围规则化的像素值,并且根据规则化大小的窗口权重表进行加权平均,最终得到输出的像素。利用本申请实施方案,通过改变单纯cpu的全景视频映射转码架构,引入gpu来加速全景视频映射部分,实现gpu来加速全景视频图像数据处理,另一方面将不占用视频编码的cpu的资源,从而实现整个处理系统的加速,大大提高全景视频数据的转码处理效率。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本申请提供的一种全景视频数据处理方法一种实施例的方法流程图;图2是本申请提供的确定预定形状和数量的像素的一种实施例示意图;图3是本申请提供的确定预定形状和数量的像素的另一种实施例示意图;图4是本申请提供的确定预定形状和数量的像素的另一种实施例示意图;图5是本申请中以所述映射像素为中心确定预定形状和数量的像素的一种实施场景示意图;图6是本申请提供的采用一种实施例的预设规则窗口获取预定形状和数量的像素的示意图;图7是本申请提供的采用一种实施例的预设规则窗口获取预定形状和数量的像素的示意图;图8是本申请所述一种全景视频数据处理方法另一种实施例的方法流程示意图;图9是本申请提供的一种全景视频数据处理装置一种实施例的模块结构示意图;图10是本申请提供的一种全景视频数据处理装置另一种实施例的模块结构示意图;图11是本申请提供的一种全景视频数据处理系统一种实施例的构架示意图。具体实施方式为了使本
技术领域
的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。图1是本申请所述一种全景视频数据处理方法一种实施例的方法流程图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者部分合并后更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本申请实施例或附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境、甚至包括分布式处理的实施环境)。目前业内提出的模型之间转换实现全景图像投影的实施方案通常被执行在cpu上。但如前所述,cpu处理这样的海量重复数据并不存在优势。本方案发现,与通用处理器(cpu)擅长逻辑控制串行的运算、通用类型数据运算不同,图形处理器(gpu)更为擅长于大规模并发计算,gpu中设置有大量的简单的计算单元(alu)用于完成大量的简单计算任务。因此,能够比cpu更快地并行化处理更多的像素值,可见,gpu目前可以实现高效处理规则数据的并行计算,但本方案发现,gpu对于格式不规则的数据的效率不高。而现有的模型之间转换实现全景图像投影的实施方案中一般采用的映射方式是选择不规则的数据点,如上述示例中equirectangular全景视频至cubemap的映射,对于cubemap上的一个像素点对应的链表,是和它周围的若干分像素一对一映射到equirectangular全景视频上的映射位置和每个位置被映射到次数的集合。链表中的每一项,都去拿到equirectangular全景视频上的位置和相应的权重。由于要求出每个输出点的像素值需要在原始的输入equirectangular全景视频帧上找到多个映射位置,而这些映射位置都是根据实际的中心映射方式进行的,所以对于输出的不同位置的cubemap像素,这些在equirectangular全景视频上的映射像素点的位置都是不固定的,也是不规则的。由于采用了链表方式来存储映射到的位置,因而链表的长度也是不固定的(和像素的实际映射位置有关),所以每一个像素所对应的链表长度都是不统一的。gpu不擅长处理类似于上述的每个像素都可能不同长度的链表、并且每个链表中的位置和权重都不是固定的不规则数据。因此,使用gpu来处理全景图像至2d图像的转换仍然存在一定的技术障碍。本方案创新性地将gpu处理的数据进行规则化处理,解决了该技术障碍,最大程度的利用gpu的性能,实现gpu加速处理全景视频映射,有效提高系统视频转码处理效率。以下为了清楚起见,以全景视频采集设备在拼接完以后展开为equirectangular模型(包含equirectangular全景视频帧),然后展开变换到cubemap模型中的2d视频映射图像为应用场景进行说明。但是,本领域技术人员能够理解到,可以将本方案的实质精神应用到其他模型转换的场景下。即,通过对映射数据的规则化选取,可以使用gpu来完成其他展开模型(例如,圆柱投影模型、直线投影模型)到转码前图像(例如,pyramid模型)的映射处理,充分利用了gpu的处理特性。以下将不做替换性描述,对于其他模型的适用性将不在此累述。具体的一种实施例如图1所示,本申请提供的一种全景视频数据处理方法的一种实施例中,所述方法可以包括:s1:确定目标视频像素在原全景视频帧上的映射像素。此时,所述的equirectangular全景视频帧可以为本实施例场景中所述的原全景视频帧,所述的cubemap模型中的2d视频映射图像上的像素点为所述目标视频图像。具体的实施过程可以包括,对于输出原全景视频cubemap映射展开后的每一个目标视频像素a,可以按照中心映射方式映射到原始的equirectangular全景视频帧上对应的一个映射像素b0,然后可以记录下这个目标视频像素a在equirectangular全景视频帧上的位置b0(x0,y0)。此时对于目标视频像素点a来说,在equirectangular全景视频帧上有唯一个与目标视频像素点a对应的映射像素,即本实施例应用场景中的b0(x0,y0)。当然,在一些应用场景中,目标视频像素点a不一定正好映射到equirectangular全景视频帧上的像素位置,可能会在equirectangular全景视频帧上像素点之间的位置。如像素之间点距离单位为1,则映射equirectangular全景视频帧上的坐标可能为(37.25,50.75),此时可以确定以像素b0(37,51)作为目标视频像素点a的映射像素。在本实施例应用场景中,可以按照中心映射的方式确定cubemap映射展开的视频图像上的目标视频像素在原始的equirectangular全景视频帧上的映射像素的位置,然后可以记录下这个映射像素的位置信息或者以及其他的像素信息。s2:在所述原全景视频帧上,获取预设规则窗口中预定形状和数量的像素,所述预设规则窗口与所述映射像素相关联。本申请提供的实施方案,不再像类似现有的equirectangular模型那样将这个目标视频像素的周围的分像素位置再映射到原始的equirectangular全景视频帧上,因为这通常会造成上面所述的数据映射点位置的不规则和位置和权重链表的数据结构不规则。本申请提供的一种实施方案中,可以采用设计一个固定大小的预设规则窗口。所述预设规则窗口可以设置为全局恒定,例如在处理同一段全景视频的数据时,确定好预设规则窗口后,这个预设规则窗口在这一段全景视频的数据处理的整个周期内,形状和大小固定不变。在每次求取目标视频图像上的一个输出像素时,均可以基于所述预设规则窗口来获取映射像素周围预定形状和数量的像素预定形状和数量的像素。因此,本申请具体的一种实施例中,所述预设规则窗口被设置成在全景视频数据处理的过程中为全局恒定。这样,可以有效保障每个目标视频像素在映射时所需处理的像素个数保持相同,以保障gpu处理的像素数据范围规则化,便于后续gpu进行数据处理。在一定程度上与现有的例如上述数据结构不规则、长度会随着映射位置的改变可能发生变化的链表方式相比,采用本申请获取所述映射像素在预设规则窗口中的预定形状和数量的像素可以保障全局每次映射处理的数据结构都是规则化的,相当于每次处理的链表可以都是固定长度的。这样的数据结构非常适用于gpu上的数据处理,可以实现利用gpu来加速图像数据处理。一般的,本申请中采用所述预设规则窗口获取所述预定形状和数量的像素时,所述映射像素通常是可以被包含在所述预设规则窗口中。所述的预设规则窗口可以根据不同的映射方式、转码处理需求或不同的全景视频处理场景等进行设定、调整等。所述的预规则窗口可以是规则形状,如矩形,也可以是非矩形形状,如十字形、圆形、h形等。所述的预设规则窗口与所述映射像素相关联可以是指根据所述映射像素确定在原全景视频上所述预设规则窗口的位置。如可以设置以确定出的映射像素作为预设规则窗口的中心位置来进一步确定所述预设规则窗口的位置,当然,其他的实施方式中也可以设置以所述映射像素作为预设规则窗口预设方向上的边界像素,如以映射像素作为预设规则窗口左边界中点像素来确定原全景视频上预设规则窗口的位置。图2是本申请提供的预设规则窗口确定预定形状和数量的像素的一种实施例示意图,图3是本申请提供的预设规则窗口确定预定形状和数量的像素的另一种实施例示意图。如图2或图3所示的示例中,可以设置分别取映射像素周围两个像素点作为预定形状和数量的像素,即以原全景视频帧中所述映射像素所在位置的上、下、左、右、左上、左下、右上、右下位置的八个像素作为所述映射像素的预定形状和数量的像素。当然,也可以只选择原全景视频帧中映射像素所在位置的上、下、左、右四个位置的像素作为预定形状和数量的像素(十字形的预设规则窗口),或者所述映射像素所在位置的上、下、左、右、左下、右下六个位置的像素作为预定形状和数量的像素。图4是本申请根据预设规则窗口确定预定形状和数量的像素的一种实施例示意图。如图4所示,在所述原全景视频帧上获取预设规则窗口获取预定形状和数量的像素时,并不限定所述映射图像一定是要处于所述预设规则窗口的中心位置。本申请的一种实施例中所述映射图像可以处于所述预设规则窗口的左半边或者右半边、上半边等,甚至可以是处于所述预设规则窗口的边界像素。本申请提供的所述方法的一种实施例中,所述预设规则窗口与所述映射像素相关联可以包括:s201:以所述映射像素作为所述预设规则窗口的中心位置。本实施例中可以以所述映射像素为所述预设规则窗口的像素选取中心。一种实施方式中,可以将预设规则窗口内除所述映射像素之外的像素作为所述预定形状和数量的像素。图5是本申请中以所述映射像素为中心确定预定形状和数量的像素的一种实施场景示意图。获取的以所述映射像素为中心紧邻的周边预定形状和数量的像素,这样周边位置的预定形状和数量的像素与映射像素通常具有较高的相关性,在后续目标视频像素计算处理时使得处理得到的映射图像更为平滑,有效减少锯齿和毛刺现象,提高图像处理质量。本申请提供的一种全景视频数据处理方法的另一种实施例中,可以采用规则形状的预设规则窗口,如矩形窗口。具体的一种实施例中,s202:所述预设规则窗口被设置成,长为m个像素、宽为n个像素的固定矩形窗口,m≥1,n≥1。图6是本申请提供的采用一种实施例的预设规则窗口获取预定形状和数量的像素的示意图。本实施例由于采用了规则化的m像素*n像素的固定矩形窗口来选取预定形状和数量的像素,这些矩形窗口内的预定形状和数量的像素与映射像素通常具有较高的相关性,并且矩形窗口使得选取的预定形状和数量的像素的位置分布较为均匀,预定形状和数量的像素位置连续性较强,像素的选取和处理更加快捷、变量,更加符合全景视频转码场景的数据处理需求。进一步的,另一种实施方案中,可以采用正方形作为预设规则窗口来确定映射像素的预定形状和数量的像素。具体的,本申请提供的一种全景视频数据处理方法的另一种实施例中,s2011:所述固定矩形窗口被设置成正方形的像素选取窗口。图7是本申请提供的采用一种实施例的预设规则窗口获取预定形状和数量的像素的示意图。如图7所示,在采用规则的矩形框作为预设规则窗口时,可以优选的采用正方形的矩形框作为所述预设规则窗口,例如可以设置图7所示的n像素*n像素的预设规则窗口。本实施例提供的采用n像素*n像素的预设规则窗口,获取的映射像素的预定形状和数量的像素为在以所述映射像素为中心的紧邻的周边像素,可以使后续目标视频像素计算处理时得到更加平滑的像素映射输出,进一步减少锯齿和毛刺现象,提高图像处理质量。本申请实施例中,可以在所述原全景视频帧上,获取所述映射像素在预设规则窗口中的预定形状和数量的像素。s3:计算所述映射像素以及所述预定形状和数量的像素所对应的权重值,生成窗口权重表。确定所述原全景视频帧上目标视频像素的映射像素和所述预定形状和数量的像素后,可以计算所述预设规则窗口中的像素的权重值,生成所述目标视频像素的窗口权重表。如上所述,一般的,本申请中采用所述预设规则窗口获取预定形状和数量的像素时,所述映射像素通常是被包含在所述预设规则窗口中的。一般的,所述预定形状和数量的像素和所述映射像素在所述窗口权重表中均有一个对应的权重。在本实施例中,由于采用了固定大小的预设规则窗口来获取预定形状和数量的像素,所以获取得到的预定形状和数量的像素的个数是固定的,那么,计算得到的预定像素和数量的像素对应的权重的个数也可以是固定的。即使在某些特定环境下不使用预设规则窗口中的某个像素,也可以将这个像素在所述窗口权重表中相应位置的权重值设置为0,这样仍然可以保障存储像素权重的窗口权重表大小(链表中表现为长度)不变,以适用gpu的数据处理格式。当然,其他的一些实施场景中,也可以通过权重设置为0来自适应的调整窗口形状和大小,例如一个正方形的预设规则窗口,可以只要把上下像素权重调整为0,就变成了h形的预设规则窗口。具体的一种实施例中可以采用根据数据处理需求将权重表预定位置的权重设置为0,如上述将与映射像素相邻的上下两个像素的权重设置为0后,由于权重表中每一个的权重对应一个像素,则预设规则窗口由3*3的矩形编程h形。在实际处理预设规则窗口调整后的像素数据时,可以将窗口权重表中指定位置的权重值设置为0(不是计算结果为0)的像素仍然载入图像处理器中进行计算。本申请中的一些实施例中,所述的窗口权重表的大小可以设置小于所述预设规则窗口。如当所述预设规则窗口设置为m个像素*n个像素,则一种实施例中可以设置所述预设规则窗口为l个像素*w个像素,l小于m或者w小于n。当然,优选的实施例中,所述窗口权重表可以设置与所述预设规则窗口大小相同,这样当使用与映射所需的像素范围相同的窗口权重表,可以有效提高数据处理速度。因此,本申请所述的一种全景视频数据处理方法的另一种实施例中,所述窗口权重表可以采用下述中的任意一种设置方式:s301:窗口权重表的大小被设置成与所述预设规则窗口相同;s302:窗口权重表预定位置的权重值设置为0。本申请实施例所述的窗口权重表中各个像素的权重的计算方式可以采用例如基于equirectangular全景视频帧上的像素点的位置被映射到的次数来确定该像素点权重。如equirectangular全景视频帧上的像素的初始权重可以设置为1,当再次作为cubemap映射展开上的一个目标视频像素的映射像素时,则权重变为2。以此类推,这个像素被映射的次数越多,则相应的权重值就会越大。当然,本申请中,本领域技术人员可以根据具体的业务或设计需求选取其他权重的计算方式,如,以映射像素为中心选取上、下、左、右四个像素计算权重时可以采用双线性计算方式。或者对于较大的预设规则窗口(如短边大于3个像素的矩形窗口),也可以采用高斯滤波模板等计算权重。为了gpu能够充分的加速处理,本申请中所述窗口权重表的生成方式最好在像素之间保持一致。本申请提供的具体的一种窗口权重表生成方式可用包括如下:假设cubemap上一个点a映射到equirectangular上的一个映射像素,位置(37.25,50.75,那么可以取出equirectangular的以下四个像素(37,50)、(38,50)、37,51)、(38,51)作为预定形状和数量的像素。根据映射到的预定形状和数量的像素位置,可以根据双线性插值原理计算权重值,如下表所示:表1:利用双线差值计算出的权重示意表像素位置:(37,50)(38,50)(37,51)(38,51)权重:3193当然,本申请中所述的窗口权重表中像素的窗口权重值计算方式并不限定于上述实施方式,一些实施例中也可以采用其他的权重计算方式,或者自定义设计的权重计算方式,本申请对此不作限制。s4:将所述映射像素和预定形状和数量的像素、以及所述窗口权重表载入图像处理器,以使用所述图像处理器并行计算得到所述目标视频像素的像素值。在采用上述方式将全景视频转码时映射所需要的像素的范围和相应权重的存储规则化后(固定大小的像素数据范围和固定大小的权重表),可以将这些映射像素和预定形状和数量的像素、以及所述窗口权重表的处理数据载入到图像处理器(gpu)中,由gpu进一步的进行映射计算处理,得到所述目标视频像素的输出像素值。如可以根据载入的n*n的像素数据和对应的n*n的窗口权重表数据进行加权平均,得到目标视频像素在cubemap上对应映射图像位置的像素值。本申请实施例由于采用了在原全景视频帧中,根据固定大小的预设规则窗口来确定原目标视频的预定形状和数量的像素,使得映射所需的像素数据范围大小固定(处理的像素数据块大小固定),同时相应的权重表也进行了规则化,权重表的大小也不会像现有技术中随着映射位置的变化而变动。本申请实施方案,可以认为对映射是像素数据和对应的权重存储方式进行规则化处理的规则化处理后的像素和对应的窗口权重表,这样可以充分利用gpu的数据运算特点来加速映射计算,从而提高全景视频数据处理效率。利用本申请实施方案,通过改变单纯cpu的全景视频映射转码架构,引入gpu来加速全景视频映射部分,实现gpu来加速全景视频图像数据处理。另一方面本申请可以改变vr全景视频映射转码的架构,由gpu采用上述实施例所述的方法实现各种映射算法,然后由cpu进一步的进行视频编码。这样gpu来处理本申请实施方案提供的独特设计的映射算法那,腾出cpu全景视频数据处理资源,不占用视频编码的cpu的资源。进而再由cpu对gpu输出的数据进行视频编码,从而实现整个处理系统的加速,大大提高全景视频数据的转码处理效率。因此,本申请所述方法的另一种实施例中,所述方法还可以包括:s501:使用图像处理器并行计算所述目标视频像素的像素值;以及,s502:使用中央处理器对所述图像处理器并行计算后的目标视频像素进行视频编码。图8是本申请所述一种全景视频数据处理方法另一种实施例的方法流程示意图。具体的如上述实施例应用场景中,通过改变vr全景视频映射转码的架构,设计了适合于这套处理架构的算法,来达到vr全景视频映射转码的加速和实时处理效果。如本实施例提供的处理架构如下:可以看到,本申请提供的处理架构将映射算法的部分放到gpu上去做,这种处理一方面可以利用gpu强大的运算能力来加速本申请为gpu处理独特设计的映射算法,另一方面也可以不占用后面视频编码的cpu资源,从而同时达到了两方面的速度提升。本申请实施例提供的一种全景视频数据处理方法,采用获取对应于输出全景视频cubemap映射展开上的每一个像素的映射点周围固定窗口范围内的像素,这样可以使每次映射所需的像素数据的范围进行规则化,固定选取映射点周围预定形状和数量的像素,使获取的映射处理像素个数保持相同。并且可以为固定窗口内的像素设计一个固定大小的窗口权重表,窗口权重表中的每一个权重都对应了一个像素。这样,利用所述的固定窗口范围内的像素,和相应的固定大小的窗口权重表,可以解决需要gpu加速所必须的数据规则化的问题。对于每一个映射输出的点,在gpu中载入像素范围规则化的像素值,并且根据规则化大小的窗口权重表进行加权平均,最终得到输出的像素。利用本申请实施方案,通过改变现有技术中单纯cpu的全景视频映射转码架构,引入gpu来加速全景视频映射部分,实现gpu来加速全景视频图像数据处理,另一方面将不占用视频编码的cpu的资源,从而实现整个处理系统的加速,大大提高全景视频数据的转码处理效率。基本上述实施例所述的全景视频数据处理方法,本申请提供一种全景视频数据处理装置。图9是本申请提供的一种全景视频数据处理装置一种实施例的模块结构示意图,如图9所示,所述装置可以包括:映射像素确定模块101,可以用于确定目标视频像素在原全景视频帧上的映射像素;像素获取模块102,可以用于在所述原全景视频帧上,获取预设规则窗口中预定形状和数量的像素,所述预设规则窗口与所述映射像素相关联;权重表计算模块103,可以用于计算所述映射像素以及所述预定形状和数量的像素所对应的权重值,生成窗口权重表;加载模块104,可以用于将所述映射像素和预定形状和数量的像素、以及所述窗口权重表载入图像处理器,以使用所述图像处理器并行计算得到所述目标视频像素的像素值。本申请提供的一种全景视频数据处理装置,采用获取对应于输出全景视频cubemap映射展开上的每一个像素的映射点周围固定窗口范围内的像素,这样可以使每次映射所需的像素数据的范围进行规则化,固定选取映射点周围的预定形状和数量的像素,使获取的映射处理像素个数保持相同。并且可以为固定窗口内的像素设计一个固定大小的窗口权重表,窗口权重表中的每一个权重都对应了一个像素。这样,利用所述的固定窗口范围内的像素,和相应的固定大小的窗口权重表,可以解决需要gpu加速所必须的数据规则化的问题。对于每一个映射输出的点,在gpu中载入像素范围规则化的像素值,并且根据规则化大小的窗口权重表进行加权平均,最终得到输出的像素。利用本申请实施方案,引入gpu来加速全景视频映射部分,实现gpu来加速全景视频图像数据处理,从而实现整个处理系统的加速,大大提高全景视频数据的转码处理效率。一般的,所述预设规则窗口被设置成在全景视频数据处理的过程中为全局恒定。这样,可以有效保障每个目标视频像素在映射时所需处理的像素个数保持相同,以保障gpu处理的像素数据范围规则化,便于后续gpu进行数据处理。所述的预设规则窗口可以根据不同的映射方式、转码处理需求或不同的全景视频处理场景等进行设定、调整等。所述的预规则窗口可以是规则形状,如矩形,也可以是非矩形形状,如十字形、圆形、h形等。本申请提供的一种全景视频数据处理方法的另一种实施例中,可以采用规则形状的预设规则窗口,如矩形窗口,因此,另一种实施例中,所述预设规则窗口可以被设置成,长为m个像素、宽为n个像素的固定矩形窗口,m≥1,n≥1。本申请提供一种全景视频数据处理装置的另一种实施例,所述预设规则窗口可以被设置成,所述固定矩形窗口被设置成,形状为正方形的像素选取窗口。在采用规则的矩形框作为预设规则窗口时,可以优选的采用正方形的矩形框作为所述预设规则窗口,例如可以设置图7所示的n像素*n像素的预设规则窗口。本实施例提供的采用n像素*n像素的预设规则窗口,获取在以所述映射像素为中心的映射像素周围预定像素和数量的周边像素,可以使后续目标视频像素计算处理时得到更加平滑的像素映射输出,进一步减少锯齿和毛刺现象,提高图像处理质量。本申请提供一种全景视频数据处理装置的另一种实施例,所述预设规则窗口与所述映射像素相关联包括:以所述映射像素作为所述预设规则窗口的中心位置。如前述方法所述,一种实施方式中可以以所述映射像素为所述预设规则窗口的像素选取中心,将预设规则窗口内除所述映射像素之外的像素作为所述预定形状和数量的像素。获取的以所述映射像素为中心的紧邻的周边像素,这样周边位置的预定形状和数量的像素与映射像素通常具有较高的相关性,在后续目标视频像素计算处理时使得处理得到的例如cubemap映射图像更为平滑,有效减少锯齿和毛刺现象,提高图像处理质量。本申请中的一些实施例中,所述的窗口权重表的大小可以设置小于所述预设规则窗口。如当所述预设规则窗口设置为m个像素*n个像素,则一种实施例中可以设置所述预设规则窗口为l个像素*w个像素,l小于m或者w小于n。当然,优选的实施例中,所述窗口权重表可以设置与所述预设规则窗口大小相同,这样当使用与映射所需的像素范围相同的窗口权重表,可以有效提高数据处理速度。因此,本申请提供一种全景视频数据处理装置的另一种实施例,所述窗口权重表采用下述中的任意一种设置方式:窗口权重表的大小被设置成与所述预设规则窗口相同;窗口权重表预定位置的权重值设置为0。利用本申请实施方案,通过改变单纯cpu的全景视频映射转码架构,引入gpu来加速全景视频映射部分,实现gpu来加速全景视频图像数据处理。另一方面本申请可以改变vr全景视频映射转码的架构,由gpu采用上述实施例所述的方法实现各种映射算法,然后由cpu进一步的进行视频编码。这样gpu来处理本申请实施方案提供的独特设计的映射算法那,腾出cpu全景视频数据处理资源,不占用视频编码的cpu的资源。进而再由cpu对gpu输出的数据进行视频编码,从而实现整个处理系统的加速,大大提高全景视频数据的转码处理效率。图10是本申请提供的一种全景视频数据处理装置另一种实施例的模块结构示意图。如图10所示,本申请提供一种全景视频数据处理装置的另一种实施例,所述装置还可以包括:像素计算模块105,可以用于使用图像处理器并行计算所述目标视频像素的像素值;视频编码模块106,可以用于使用中央处理器对所述图像处理器并行计算后的目标视频像素进行视频编码。本申请实施例所述的全景视频数据处理方法或装置,可以用于多种全景视频处理的业务系统,如在线vr视频点播/直播平台、vr转码处理系统等,可以有效大幅度的提高全景视频数据的转码处理效率,实现整个处理系统的加速。具体的,本申请提供的一种全景视频数据处理系统的一种实施例中,所述系统可以包括:i/o接口,可以用于获取待处理的全景视频数据和输出处理后的数据;中央处理器,可以用于确定目标视频像素在原全景视频帧上的映射像素;还用于在所述原全景视频帧上,获取预设规则窗口中预定形状和数量的像素,所述预设规则窗口与所述映射像素相关联;还用于计算所述映射像素以及所述预定形状和数量的像素所对应的权重值,生成窗口权重表;还用于将所述映射像素和预定形状和数量的像素、以及所述窗口权重表载入图像处理器;图像处理器,可以用于并行计算所述目标视频像素的像素值;进一步的,所述中央处理还可以用于对所述图像处理器并行计算后的目标视频像素进行视频编码。图11是本申请提供的一种全景视频数据处理系统一种实施例的构架示意图。本申请提供的一种全景视频数据处理系统,采用获取对应于输出全景视频如cubemap映射展开上的每一个像素的映射点周围固定窗口范围内预定形状和数量的像素,这样可以使每次映射所需的像素数据的范围进行规则化,固定选取映射点周围的像素,使获取的映射处理像素个数保持相同。并且可以为固定窗口内的像素设计一个固定大小的窗口权重表,窗口权重表中的每一个权重都对应了一个像素。这样,利用所述的固定窗口范围内的像素,和相应的固定大小的窗口权重表,可以解决需要gpu加速所必须的数据规则化的问题。对于每一个映射输出的点,在gpu中载入像素范围规则化的像素值,并且根据规则化大小的窗口权重表进行加权平均,最终得到输出的像素。利用本申请实施方案,通过改变单纯cpu的全景视频映射转码架构,引入gpu来加速全景视频映射部分,实现gpu来加速全景视频图像数据处理,另一方面将不占用视频编码的cpu的资源,从而实现整个处理系统的加速,大大提高全景视频数据的转码处理效率。尽管本申请内容中提到采用中央映射的方式获取映射像素、预设规则窗口和窗口权重表的形状及大小设置方式、窗口权重表中权的计算方法、加权平均计算输出像素值、gpu将数据输出给cpu进行视频编码处理等之类的信息获取、交互方式、计算、判断等描述,但是,本申请并不局限于必须是符合行业通信标准、标准数据结构、通用图像数据处理方法或本申请实施例所描述的情况。某些行业标准或者使用自定义方式或实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。应用这些修改或变形后的数据获取、存储、判断、处理方式等获取的实施例,仍然可以属于本申请的可选实施方案范围之内。虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的系统、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1