360 video projection

Summary

A 360 video projection is any of many ways to map a spherical field of view to a flat image. It is used to encode and deliver the effect of a spherical, 360-degree image to viewers such as needed for 360-degree videos and for virtual reality. A 360 video projection is a specialized form of a map projection, with characteristics tuned for the efficient representation, transmission, and display of 360° fields of view.

Different projections edit

Equirectangular edit

 
Example of equirectangular projection

An equirectangular projection simply maps the yaw and pitch (longitude and latitude) of a sphere linearly to a rectangular image. It produces a signature curved look. In addition, the distribution of pixel density (which can be visualized with Tissot's indicatrix) is suboptimal, with the usually more important "equator" getting the lowest density.

Cube Map edit

Cube mapping records the environment as the six faces of a cube. The image distortion is markedly reduced, especially when looking at the faces head-on. Still, the edges and corners of faces receive more pixels than the center.

Equi-Angular Cubemap (EAC) edit

The Equi-Angular Cubemap (EAC) projection is a variant of the cubemap that distributes the pixels evenly by angle. This keeps the density of information consistent, regardless of which direction the viewer is looking. It was detailed by Google on March 14, 2017.[1][2] In January 2018 the company started using the spherical projection to stream 360 degree videos on YouTube.[3]

GoPro adopted the EAC format in 2019 when they released the GoPro MAX.[4][5] They noted that EAC enabled then in using 25% less pixels by packing the equivalent of 5376x2688 pixels into an EAC projection of 4032x2688 pixels. This projection was then split horizontally in two streams of 4032x1344 and encoded, which could be decoded by regular UHD decoders.

Mainstream video tools have not yet added support for EAC formats, such as GoPro's .360. A custom fork of FFmpeg[6][7] and a tool called max2sphere[8] however do enable .360 processing.

Pyramid format edit

The Pyramid projection is a variation of the cubemap using a pyramid geometry. The video is rendered in multiple viewports (in Facebook's case 30) where the base of the pyramid contains the full resolution and is right in front of the viewer, while the sides are rendered with a gradually decreasing resolution. It was detailed by Facebook on January 21, 2016, mainly aimed at VR video.[9] The company claims an 80% reduction in bandwidth with this projection, with the disadvantage that many more viewports need to be rendered and stored.

See also edit

References edit

  1. ^ "Bringing pixels front and center in VR video". Google. 2017-03-14. Retrieved 2018-04-02.
  2. ^ "Improving VR videos". YouTube Engineering and Developers Blog. Retrieved 2018-04-02.
  3. ^ "[YouTube] 3D/2D 360° videos - now encoded in a new, proprietary & non-standard format · Issue #15267 · rg3/youtube-dl". GitHub. Retrieved 2018-04-02.
  4. ^ "This is GoPro MAX: Tech, Specs + More". gopro.com. Retrieved 2022-09-08.
  5. ^ "Reverse Engineering GoPro's 360 Video File Format (Part 1)". Trek View. 2021-09-10. Retrieved 2022-09-08.
  6. ^ gmat (2022-08-25), goproMax-ffmpeg-v5, retrieved 2022-09-08
  7. ^ "Using ffmpeg to Process Raw GoPro MAX .360's into Equirectangular Projections". Trek View. 2022-03-18. Retrieved 2022-09-08.
  8. ^ max2sphere, Trek View, 2022-08-06, retrieved 2022-09-08
  9. ^ "Next-generation video encoding techniques for 360 video and VR". Facebook Code. Retrieved 2018-04-02.