金字塔棱台投影(Truncated square pyramid projection format,TSP)投影模型是棱台。TSP的投影平面如图1所示,投影后的六个面组成矩形平面,矩形内的坐标(x,y)范围在(0.0,1.0)内。给定面f的像素坐标(m,n)对应的(x,y)计算如下:

x =0.5*(m + 0.5)/W + 0.5, 0≤ m <W   (1)

y =(n + 0.5)/H, 0 ≤ n < H                    (2)

360视频:金字塔棱台投影TSP_2d

图1 TSP投影

面1是用户的视区的正前方,该区域中的像素以原分辨率进行采样和投影;而棱台侧面为接下来可能被看到的区域(面2、3、4、5),降低分辨率进行采样并投影成梯形;面0为接下来几乎不可能被看到的区域(背面),以最低的分辨率进行投影,在360Lib中采用的是进行1/4的降采样。采取这样灵活的采样率策略是为了能够在保证用户观看时的视频质量没有大的降低的情况下减轻带宽压力。

表1 正向和逆向变换

Forward equations (TSP to cube faces)

Inverse equations (cube faces to TSP)


Right TSPtrapezoid from right cube face:

x′ = (x − 0.5) / 0.1875

y′ = (y − 2.0x + 1.0) / (3.0 − 4.0x)


Right cubeface from right TSP trapezoid:

x = 0.1875x′ + 0.5

y = 0.375x′ − 0.75x′y′ + y′


Left TSP trapezoid from left cube face:

x′ = (x − 0.8125) /0.1875

y′ = (y + 2.0x − 2.0) / (4.0x − 3.0)


Left cube face from left TSP trapezoid:

x = 0.1875x′ + 0.8125

y = 0.25y′ + 0.75x′y′ − 0.375x′ +0.375


Bottom TSP trapezoid from bottom cube face:

x′ = (1.0 − x − 0.5y) /(0.5 − y)

y′ = (0.375 − y) / 0.375


Bottom cube face from bottom TSP trapezoid:

x = 0.1875y′ − 0.375x′y′ − 0.125x′ +0.8125

y =0.375 − 0.375y′



Top TSP trapezoid from top cube face:

x′ = (0.5 − x + 0.5y) /(y − 0.5)

y′ = (1.0 − y) / 0.375


Top cube face from top TSP trapezoid:

x = 1.0 − 0.1875y′ − 0.5x′ + 0.375x′y′

y = 1.0 − 0.375y′


Back TSP face from back cube face:

x′ = (x − 0.6875) /0.125

y′ = (y − 0.375) / 0.25


Back cubeface from back TSP face:

x = 0.125x′ + 0.6875

y = 0.25y′ + 0.375

则2D平面上的坐标(u,v)按公式(3)(4)求得:

u =2x′ − 1.0    (3)

v =2y′ − 1.0    (4)

其中(x',y')由表1求得。

表2 由(f,u,v)计算(X,Y,Z)

f

X

Y

Z

0

1.0

-v

-u

1

-1.0

-v

u

2

u

1.0

v

3

u

-1.0

-v

4

u

-v

1.0

5

-u

-v

-1.0

2D平面上的坐标(u,v)对应的点在3D平面上可以按表2求得。

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