一种360度全景视频的平面投射方法及编码方法与流程

文档序号:13219782阅读:216来源:国知局
技术领域本发明涉及一种360度全景视频的平面投射方法,还涉及一种360度全景视频的编码方法。

背景技术:
在360度全景视频应用(比如沉浸式VR)中,拍摄者会利用多个摄像头将水平360度、上下180度的所有角度拍摄出来,然后利用视频合成装置将视频合成为一个全景视频,即一个球面视频。但球面视频数据不容易表达、存储和压缩。目前在视频压缩领域中,各种存在的压缩标准如H.264、H.265等都是针对平面矩形区域进行压缩。为了利用既存的视频压缩标准来压缩和传输视频数据,目前通常的做法是把球面视频投影到一个平面上。目前,在市面上常用的方法有圆柱投影、圆锥投影等。其中最常用的投影方法为Equirectangular,是将每条经线展开成一条直线段,并沿赤道线绕一圈形成一个圆柱体,然后展开为一个矩形。这个方法被广泛地应用于VR全景视频编码过程中,其优点是矩形有利于用既有的视频压缩标准来进行压缩。但这种方法投射至平面后,平面矩形的面积被扩大了π/2倍,这样会导致要保持相同的压缩质量,需要有相应的码率提升来保证,消耗了更多的存储和网络传输带宽。另外还有一个较为常见的cubic投射法,是将球面投射到球的内嵌正方体的六个面上,这样投射出的平面面积比球面小,但其缺点是由于球面上的单位面积投射到平面上的面积,因位置而不同——特别是正方体边沿——造成缩放较为明显,这样会导致原始图像信息损失和最终显示失真。

技术实现要素:
基于此,有必要提供一种可使球面上任意面积投射到平面上面积不变的360度全景视频的平面投射方法,以及提供一种可节省码率、提高传输效率的360度全景视频的编码方法。根据本发明的一方面,提供了一种360度全景视频的平面投射方法,为球面到平面的投射方法,将球面上的每一条纬线投射在平面上形成相应的直线,然后在平面上以赤道线的中点为原点建立直角坐标系,使每条纬线的长度与投射在平面上的相应直线的长度相等,使任一条纬线与赤道线在球面上的纵向弧线距离等于相应直线在直角坐标系中的Y轴距离。在其中一个实施例中,y=arccos(x/(πr)),其中x为任一条纬线的周长的1/2长度,r为球面对应球体的球半径。在其中一个实施例中,上半球面投射到平面形成的平面图形为闭合曲线y=arccos(|x|/(πr))与X轴围成的区域面积,下半球面投射到平面形成的平面图形为闭合曲线-y=arccos(|x|/(πr))与X轴围成的区域面积,其中x的取值范围为[-πr,πr]。根据本发明的另一方面,提供了一种360度全景视频的编码方法,包括如下步骤:选定编码区域为上述的平面投射方法投射成的平面图形的外接矩形,外接矩形的长度为2πr,外接矩形的宽度为πr;将空白区域内的像素设置为单色像素;对空白区域采用跳过宏块模式编码。在其中一个实施例中,编码方法适用于H.261、MPEG-1、MPEG-2、MPEG-4、H.263、H.264、H.265、AVS、AVS+和AVS2中的一种标准。这种360度全景视频的平面投射方法,将球面投射到平面后形成的平面图形的有效区域面积正好与球面面积相等,因此可以保证物体的面积不变,没有被拉伸或者缩放,且相对应的360度全景视频的编码方法,将近40%的空白区域采用跳过宏块模式来处理,只需要编码有限的bit,消耗数据极少,占整帧的比例极小,可认为只有有效区域才消耗编码数据,这样由于少编码了将近40%的图形面积,因此节省了相应的码率。附图说明图1为本发明一实施方式的一种360度全景视频的平面投射方法的原理示意图;图2为本发明一实施方式的一种360度全景视频的平面投射方法的另一原理示意图;图3为本发明一实施方式的一种360度全景视频的平面投射方法的另一原理示意图;图4为本发明一实施方式的一种360度全景视频的平面投射方法的球面到平面的完整投射示意图;图5为本发明一实施方式的一种360度全景视频的编码方法的原理示意图。具体实施方式为了便于理解本发明,下面将用具体实施例对本发明进行更全面的描述。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这实施例的目的是使对本发明的公开内容的理解更加透彻全面。本发明一实施例的一种360度全景视频的平面投射方法,为球面到平面的投射方法,将球面上的每一条纬线投射在平面上形成相应的直线,然后在平面上以赤道线的中点为原点建立直角坐标系,使每条纬线的长度与投射在平面上的相应直线的长度相等,使任一条纬线与赤道线在球面上的纵向弧线距离等于相应直线在直角坐标系中的Y轴距离。具体地,如图1所示,设原球体的半径为r,球心为O,线段AB是一条直径。设过线段AB做一个平面与球面相交得到交线为赤道线ABA(从A点出发,沿着赤道逆时针旋转一圈再回到A点),那么如图2所示,将图1中的ABA按1∶1投射到图2中的直线ABA',长度为2πr,其中AB=BA’=πr。对于图1中球面上的任意一条纬线(即平行于赤道做一个平面与球面的相交线,形成一个圆CDC),假设此圆在球面上与赤道的距离为y(即过C点做垂直于赤道面的垂线,交赤道面于H,然后过H做半径交于赤道线于A,那么CA的弧线的长度即为y),那么本实施例的映射法即是将CDC映射到图2中的直线段CDC’,其中BD=y,CD=DC’=x,且CC'长度等于图1中CDC的周长。设图1中的弧线CA形成的圆心角∠COA为θ,那么根据几何知识可知:θ=y/r,CDC的半径为r’=r·cosθ=rcos(y/r),则CDC的周长为2πr’=2πrcos(y/r),即图2中的CDC’的长度为2πrcos(y/r),CD=DC’=πrcos(y/r)。因此,x=πrcos(y/r),y=arccos(x/(πr))。根据上述原理,将图1中的所有上半球面的纬线都映射完毕后可以得到如图3所示的一个平面图形。在图3中,以B为原点建立直角坐标系,那么该平面图形即为一闭合曲线:y=rarccos(|x|/(πr)),其中x的取值范围为[-πr,πr]。根据数学推导,可验证出该闭合曲线与X轴围成的区域面积与上半球面的面积相等。同理,下半球面可按照上述原理进行投射。整个球面投射到平面上的完整投射图如图4所示。图4中的阴影区域即为投射区域。因此,本实施例所提供的平面投射方法,可以保证物体的面积不变,没有被拉伸或者缩放。本发明一实施例的一种360度全景视频的编码方法,如图4所示,以球面投射在平面上形成的平面图形为基础,外接一矩形区域PQWT。此处将平面图形围成的区域内视为有效区域,将在有效区域外且在外接矩形PQWT区域内的区域视为空白区域。虽然外接矩形PQWT区域的面积比有效区域大,但由上述的平面投射方法可知,空白区域实质上不携带任何有用信息。在编码时可将空白区域填成一个单色,如黑色,然后在编码时对空白区域的编码块用跳过宏块模式来处理,几乎不会占用任何bit,正真占用bit只是集中消耗在有效区域内,即图4中的阴影区域内,这样就可以大大减小编码的bit。具体地,本实施例的编码方法适用于以下标准(但不限于):H.261、MPEG-1、MPEG-2、MPEG-4、H.263、H.264、H.265、AVS、AVS+和AVS2等。事实上,只要是基于分块编码的视频标准,本实施例都可适用,而且目前几乎所有的视频压缩标准——如上述视频压缩标准——都是基于block编码的。具体地,本实施例中的编码方法采用H.264标准。如图5所示,每一个小块即为一个宏块,可以理解这仅是一个示意图,在实际的应用中,一般VR全景编码为了达到较高的视觉,分辨率通常比较大,宏块个数比较多,如对于分辨率为4096×2048的视频,宏块个数为(4096/16)×(2048/16)=256×128=32768。首先,在编码前先把所有处于空白区域的像素统一设置成一个单色像素(如全部为黑色,或者灰色、白色等,在实际应用中最好采用灰色,即亮度为128,Cr、Cb两个分量为128,本实施例以灰色为例)。在每帧编码过程中,只要不是intra帧(intra帧没有skip模式),这些宏块全部采用skip模式(即跳过宏块模式,skip模式是h.264标准规范中定义的一种宏块编码模式,一旦采用skip模式,则编码该宏块不占用任何bit,解码直接采用默认的预测块作为解码块);而对于intra帧,亮度全部用16×16的DC128预测模式,色度块全部采用8×8的DC128模式,这样残差数据全为0。所以本实施例的编码方法只需要编码有限的bit(模式,以及cbp=0),消耗数据极少,占整帧的比例极小,通常小于1%,而且由于通常在整个视频序列中,intra帧所占比例很小(为1/GOP长度,直播流中典型的GOP为50),所以intra帧这些额外的bit影响就更小了,通常小于1/5000,完全可以忽略其影响。因此,可以认为只有有效区域才会消耗编码数据,空白区域不占用编码数据。全部在有效区域内的宏块,以及部分像素处于有效区域内的宏块还是使用现有技术的传统方法编码。这样本实施例的编码方法可以比Equirectangular传统投射法要少编码(2π2r2-4πr2)/(2π2r2)=(π-2)/π、即约40%的面积,从而节省相应的码率。此外,在本实施例中,对于部分像素在有效区域、部分像素在空白区域的宏块,这些宏块在空白区域的像素可以不用单色,而是复制区域边界的像素的值,用水平复制,这样编码该宏块的时候可以减少高频分量数据,可以进一步略微减少一些bit,且防止编码的时候出现边界噪声。综上,这种360度全景视频的平面投射方法,将球面投射到平面后形成的平面图形的有效区域面积正好与球面面积相等,因此可以保证物体的面积不变,没有被拉伸或者缩放,且相对应的360度全景视频的编码方法,将近40%的空白区域采用跳过宏块模式来处理,只需要编码有限的bit,消耗数据极少,占整帧的比例极小,可认为只有有效区域才消耗编码数据,这样由于少编码了将近40%的图形面积,因此节省了相应的码率。以上实施例仅表达了本发明的个别实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1