一种用于球面与平面间映射的方法和装置制造方法及图纸

技术编号:19938571 阅读:37 留言:0更新日期:2018-12-29 06:43
本发明专利技术涉及视频编码技术领域,提供了一种用于球面与平面间映射的方法和装置。对应于各变换条形区域存储有相应的变换条形区域的边界参数,所述方法还包括:以所述变换条形区域中拆分出的多个直角三角形作为球面上三角纹理图形获取相应像素数组的源;根据变换条形区域的边界参数,逐一的将各变换条形区域上的像素点按照三角纹理图形为处理单位转换为构成球面视频帧的纹素。本发明专利技术考虑了精简化的变换处理,对于解码后重新生成球面视频帧可能带来的问题,避免了因为映射过程中采集到无效数据区域,造成因为数据丢失引发的球面上的出现黑边的问题。

【技术实现步骤摘要】
一种用于球面与平面间映射的方法和装置
本专利技术涉及视频编码
,特别是涉及一种用于球面与平面间映射的方法和装置。
技术介绍
在360度全景视频应用(比如沉浸式VR)中,拍摄者会利用多个摄像头将水平360度、上下180度的所有角度拍摄出来,然后利用视频合成装置将视频合成为一个全景视频,即一个球面视频。但球面视频数据不容易表达、存储和压缩。目前在视频压缩领域中,各种存在的压缩标准如H.264、H.265等都是针对平面矩形区域进行压缩。为了利用既存的视频压缩标准来压缩和传输视频数据,目前通常的做法是把球面视频投影到一个平面上。目前,在市面上常用的方法有圆柱投影、圆锥投影等。其中最常用的投影方法为Equirectangular,是将每条经线展开成一条直线段,并沿赤道线绕一圈形成一个圆柱体,然后展开为一个矩形。这个方法被广泛地应用于VR全景视频编码过程中,其优点是矩形有利于用既有的视频压缩标准来进行压缩。但这种方法投射至平面后,平面矩形的面积被扩大了π/2倍,这样会导致要保持相同的压缩质量,需要有相应的码率提升来保证,消耗了更多的存储和网络传输带宽。Equirectangular方法实现过程中具体的是,建立一个球体模型,球体模式建立方式为,设置将球面认为设南北极,并按纬度分成N分,经度分成M份,设球心的位置为原点O(0,0,0),球的半径为r,计算出球面上的纬度和经度交叉点的位置,如图1所示,ψ=π/2-i*π/N(0<=i<=N),θ=j*2π/M(0<=j<=M)。球面的位置为顶点,使用连接三角形方式连接顶点,建立3D的球体模型。如图2所示,使用计算机显示球体,是使用近似的方法模拟球体,球面上的点是离散的,每个点在球面上,相邻的点之间构成线,线构成了面。所以球面是使用很小的3角形来近似表示。如果球面上的点越多就越接近球。所述Equirectangular的处理结果与现有的技术中Direct3D和OpenGL的API之间兼容性较高,且技术较为成熟,然而,现有的Equirectangular算法带来的计算冗余度较高,造成API处理效率的降低。另外还有一个较为常见的cubic投射法,是将球面投射到球的内嵌正方体的六个面上,这样投射出的平面面积比球面小,但其缺点是由于球面上的单位面积投射到平面上的面积,因位置而不同——特别是正方体边沿——造成缩放较为明显,这样会导致原始图像信息损失和最终显示失真。另外,现已公开的专利文件中,申请号CN201610246821.2,专利技术名称为一种360度全景视频的平面投射方法及编码方法,同样公开了一种映射思路:将球面上的每一条纬线投射在平面上形成相应的直线,然后在平面上以赤道线的中点为原点建立直角坐标系,使每条纬线的长度与投射在平面上的相应直线的长度相等,使任一条纬线与赤道线在球面上的纵向弧线距离等于相应直线在所述直角坐标系中的Y轴值。然而,现实环境中摄像头将水平360度、上下180度的所有角度拍摄出来加工成全景视频,通常都不是标准的球面数据,更多时候是先转成平面视屏数据以满足各种视频传输编码,然后由平面视频数据转换为全景视频使用。因此,申请号CN201610246821.2所提出的技术方案是一种偏理想化的处理方法,实际情况下除非是采用特制的球体采集摄像头一次性采集生成该方案中所描述的球体像素集,但是,从目前的技术实现来说并没有相应功能的摄像头,而都是采用多摄像头完成球面视频数据采集的。所以申请号CN201610246821.2缺乏实际可操作性和实用性。另外,现已公开的专利文件中,申请号CN201710116888.9,专利技术名称为全景图像映射方法,该方式将现有的球面数据进行了画区,并将各画区得到的子块曲面内容映射到对应矩形平面中,相比较上一篇现有专利CN201610246821.2,申请号CN201710116888.9的方案更切合实际,即与现实环境中所使用的摄像头采集环境更匹配,然而,该方式存在映射双方区域大小不匹配的问题,尤其是靠近两极区域的曲面和相应矩形平面的映射关系,因此,申请号CN201710116888.9的方案在矩形单位大小不足够小时,仍然会产生影响视觉效果的像素丢失问题。相应的,若矩形单位大小过小也会造成映射运算和编码前的顺序编排复杂度的提高,影响计算效率。
技术实现思路
本专利技术要解决的技术问题是Equirectangular算法中存在的投射至平面后,平面矩形的面积被扩大了π/2倍,这样会导致要保持相同的压缩质量,需要有相应的码率提升来保证,消耗了更多的存储和网络传输带宽的问题。本专利技术采用如下技术方案:第一方面,本专利技术提供了一种用于球面与平面间映射的方法,采集的球面视频帧数据通过预设的方法转换为原始平面视频帧数据,其中,所述原始平面视频帧数据为矩形格式的视频帧,每一原始平面视频帧数据在进行视频编码前,还包括:将原始平面视频帧按照预设纵向间隔划分为n个等长度的条形区域,其中,n为自然数;根据所述纵向间隔的大小与球面中的纬度间隔大小相匹配的对应关系,将球面视频帧南北极之间的区域划分为n个均以南北极为中心轴的环形区域;计算各环形区域下边界与赤道之间相对于球心的夹角αi,其中i∈[0,n-1];根据所述夹角αi计算得到各条形区域所各自对应的变换条形区域;在完成各变换条形区域的计算后,将其赋值到根据原始平面视频帧尺寸生成的变换后矩形视频帧,统一赋值变换后矩形视频帧中除各变换条形区域以外的像素点为低像素值,得到像素内容赋值完整的变换后矩形视频帧。优选的,所述根据所述夹角αi计算得到各条形区域所各自对应的变换条形区域,具体包括:根据所述夹角αi计算第i条的条形区域的变换条形区域的起始坐标;根据所述夹角αi计算第i条的条形区域的各像素点坐标相对于所述起始坐标的偏移值,从而得到条形区域中各像素点坐标的映射坐标;在映射过程中,映射坐标为浮点数时,以四舍五入法则取整;并且,对于取整后归为同一坐标位置的多个像素值,以取均值作为相应坐标位置的赋值像素值、点采样作为相应坐标位置的赋值像素值、线性滤波结果作为相应坐标位置的赋值像素值或者以排序后的中间值作为该坐标位置的赋值像素值。优选的,所述根据所述夹角αi计算第i条的条形区域的变换条形区域的起始坐标,具体为:根据公式0.5*W*(1-cos(αi)),计算第i条的条形区域的变换条形区域的起始坐标;其中,在i<N/2时,αi=(float)(π/2-π*((i+1)/N));在i>=N/2时,αi=(float)(π/2-π*(i/N));所述N为球面划分出的条形区域的总数。优选的,所述根据所述夹角αi计算第i条的条形区域的各像素点坐标相对于所述起始坐标的映射值,具体为:根据公式cos(αi)*x0_i计算第i条的条形区域的各像素点坐标相对于所述起始坐标的偏移值;其中,(x0_i,y0_i)为原始平面视频帧中第i条的条形区域中的一像素点坐标,(x1_i,y1_i)为第i个变换条形区域在同一坐标系中对应于所述(x0_i,y0_i)的映射坐标时,则x1_i=0.5*W*(1-cos(αi))+cos(αi)*x0_i;y1_i=y0_i。优选的,本文档来自技高网
...

【技术保护点】
1.一种用于球面与平面间映射的方法,其特征在于,采集的球面视频帧数据通过预设的方法转换为原始平面视频帧数据,其中,所述原始平面视频帧数据为矩形格式的视频帧,每一原始平面视频帧数据在进行视频编码前,方法还包括:将原始平面视频帧按照预设纵向间隔划分为n个等长度的条形区域,其中,n为自然数;根据所述纵向间隔的大小与球面中的纬度间隔大小相匹配的对应关系,将球面视频帧南北极之间的区域划分为n个均以南北极为中心轴的环形区域;计算各环形区域下边界与赤道之间相对于球心的夹角αi,其中i∈[0,n‑1];根据所述夹角αi计算得到各条形区域所各自对应的变换条形区域;在完成各变换条形区域的计算后,将其赋值到根据原始平面视频帧尺寸生成的变换后矩形视频帧;统一赋值变换后矩形视频帧中除各变换条形区域以外的像素点为低像素值,得到像素内容赋值完整的变换后矩形视频帧。

【技术特征摘要】
1.一种用于球面与平面间映射的方法,其特征在于,采集的球面视频帧数据通过预设的方法转换为原始平面视频帧数据,其中,所述原始平面视频帧数据为矩形格式的视频帧,每一原始平面视频帧数据在进行视频编码前,方法还包括:将原始平面视频帧按照预设纵向间隔划分为n个等长度的条形区域,其中,n为自然数;根据所述纵向间隔的大小与球面中的纬度间隔大小相匹配的对应关系,将球面视频帧南北极之间的区域划分为n个均以南北极为中心轴的环形区域;计算各环形区域下边界与赤道之间相对于球心的夹角αi,其中i∈[0,n-1];根据所述夹角αi计算得到各条形区域所各自对应的变换条形区域;在完成各变换条形区域的计算后,将其赋值到根据原始平面视频帧尺寸生成的变换后矩形视频帧;统一赋值变换后矩形视频帧中除各变换条形区域以外的像素点为低像素值,得到像素内容赋值完整的变换后矩形视频帧。2.根据权利要求1所述的用于球面与平面间映射的方法,其特征在于,所述根据所述夹角αi计算得到各条形区域所各自对应的变换条形区域,具体包括:根据所述夹角αi计算第i条的条形区域的变换条形区域的起始坐标;根据所述夹角αi计算第i条的条形区域的各像素点坐标相对于所述起始坐标的偏移值,从而得到条形区域中各像素点坐标的映射坐标;在映射过程中,映射坐标为浮点数时,以四舍五入法则取整;并且,对于取整后归为同一坐标位置的多个像素值,以取均值作为相应坐标位置的赋值像素值、点采样作为相应坐标位置的赋值像素值、线性滤波结果作为相应坐标位置的赋值像素值或者以排序后的中间值作为该坐标位置的赋值像素值。3.根据权利要求2所述的用于球面与平面间映射的方法,其特征在于,所述根据所述夹角αi计算第i条的条形区域的变换条形区域的起始坐标,具体为:根据公式0.5*W*(1-cos(αi)),计算第i条的条形区域的变换条形区域的起始坐标;其中,在i<N/2时,αi=(float)(π/2-π*((i+1)/N));在i>=N/2时,αi=(float)(π/2-π*(i/N));所述N为球面划分出的条形区域的总数。4.根据权利要求3所述的用于球面与平面间映射的方法,其特征在于,所述根据所述夹角αi计算第i条的条形区域的各像素点坐标相对于所述起始坐标的映射值,具体为:根据公式cos(αi)*x0_i计算第i条的条形区域的各像素点坐标相对于所述起始坐标的偏移值;其中,(x0_i,y0_i)为原始平面视频帧中第i条的条形区域中的一像素点坐标,(x1_i,y1_i)为第i个变换条形区域在同一坐标系中对应于所述(x0_i,y0_i)的映射坐标时,则x1_i=0.5*W*(1-cos(αi))+cos(αi)*x0_i;y1_i=y0_i。5.根据权利要求1-4任一所述的用于球面与平面间映射的方法,其特征在于,所述预设的方法具体为Equirectangular变换处理算法。6.一种基于平面视频帧生成球面视频帧的方法,其特征在于,使用如权利要求1-5任一所...

【专利技术属性】
技术研发人员:田志泽李亚鹏简培云
申请(专利权)人:深圳超多维科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1