旋转球面投影(Rotated sphere projection,RSP)将球体分为两个相同的部分,然后投影到平面上,宽高比3:2。

360视频:旋转球面投影RSP_360视频

图1 RSP投影

球面上两部分的分割线类似于图2中网球上的分割线。

360视频:旋转球面投影RSP_3d_02

图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度。

360视频:旋转球面投影RSP_分割线_03

图3 虚线为球体上半部分ERP投影后FOV为270x90度的部分

360视频:旋转球面投影RSP_2d_04

图4 虚线为球体旋转后ERP投影后FOV为90x270度的部分

360视频:旋转球面投影RSP_360视频_05

图5 投影后上下两部分拼接

图5是投影后拼接的结果,各个角的部分与其他面重合,所以用灰色显示表示这些像素无效。

判断一个像素(m,n)是否在面f里的步骤如下:

  • 如果f是0或1,则像素(m,n)标记为在面内。
  • 如果f为2,3,4或5
  • 将(m,n)剪切到16x16的网格中表示为(m0,n0),360视频:旋转球面投影RSP_3d_06
  • 给定(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来说,

   360视频:旋转球面投影RSP_360视频_07

对于3D-2D变换,对于上半部分的(m,n)可由下式求出:

   360视频:旋转球面投影RSP_360视频_08

对于下半部分的面1,2,3,2D平面上的(m,n)仍由式(5)(6)求得,只不过经纬度由下式求出,

  360视频:旋转球面投影RSP_2d_09

感兴趣的请关注微信公众号Video Coding