360视频:旋转球面投影RSP
Posted Dillon2015
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了360视频:旋转球面投影RSP相关的知识,希望对你有一定的参考价值。
旋转球面投影(Rotated sphere projection,RSP)将球体分为两个相同的部分,然后投影到平面上,宽高比3:2。
图1 RSP投影
球面上两部分的分割线类似于图2中网球上的分割线。
图2 网球分割示意图
Frame Packing
如图1所示,进行RSP投影后在2D平面有6个面,面4、0、5由球体的上半部分进行ERP投影后得到,如图3,面3、1、2由球体的下半部分沿Y轴和X轴旋转后再按ERP投影后得到,如图4。面4、0、5的FOV(Field of view)为270x90度,面3、1、2的FOV为90x270度。
图3 虚线为球体上半部分ERP投影后FOV为270x90度的部分
图4 虚线为球体旋转后ERP投影后FOV为90x270度的部分
图5 投影后上下两部分拼接
图5是投影后拼接的结果,各个角的部分与其他面重合,所以用灰色显示表示这些像素无效。
判断一个像素(m,n)是否在面f里的步骤如下:
-
如果f是0或1,则像素(m,n)标记为在面内。
-
如果f为2,3,4或5
-
将(m,n)剪切到16x16的网格中表示为(m0,n0),
-
给定(m0,n0)和f,进行2D-3D变换和3D-2D变换得到 (m',n')和f',其中2D和3D间的变换后文描述。
-
如果f'=f,则(m,n)在面f内,否则(m,n)不在面f内。
-
投影变换
对面0,4,5来说,2D-3D和3D-2D变换和ERP相同,对于面1,2,3则需要在变换前进行旋转:
-
沿Y轴180度旋转(将后面转到前面)
-
沿X轴90度旋转(将两极转到赤道)
假设球体上的(X,Y,Z)旋转后坐标为(X',Y',Z'),
X'=-X
Y'=-Z
Z'=-Y
假设2D展开后上下两个部分都是WxH,对于面0,4,5来说,
对于3D-2D变换,对于上半部分的(m,n)可由下式求出:
对于下半部分的面1,2,3,2D平面上的(m,n)仍由式(5)(6)求得,只不过经纬度由下式求出,
感兴趣的请关注微信公众号Video Coding
以上是关于360视频:旋转球面投影RSP的主要内容,如果未能解决你的问题,请参考以下文章