If you use Facebook, then you would have noticed that the company has added video sharing to the social media website, which has been getting very popular. More recently, the company added the ability to share immersive video content filmed in 360 degrees, as well as video shot in VR. Facebook said these new formats of video produce considerably larger file sizes, which is a big problem for a company hosting millions of videos. To fix this problem, Facebook Engineering worked on ways to render immersive content much more efficiently, and today the company is sharing those techniques.
Facebook said it adapted tools that have been used for computer graphics and image processing for years, to bring the same benefits to 360-degree video. The company developed a technique to "remap equirectangular layouts to cube maps," which it said had a dramatic effect reducing file size and eliminating image distortion at the top and bottom of the video. Facebook is calling this method "Transform."
Facebook Engineering explained the process in a video it shared today on Facebook, but in essence, Transform maps spherical video to six flat cube face sections. Each section corresponds to a different part of the view, with one section for the top, one for the bottom, and four to make up the surroundings. Facebook said that by doing this, each cube face has an undistorted view, which is what does away with the warping normally found in 360-degree video.
Facebook Engineering said that these improvements work great for 360-degree content, but streaming VR videos required approaching the problem differently. Rather than use the traditional cube mapping, Facebook Engineering adapted the process with pyramid geometry. The company said that by doing this, rather than having six equal sides that are fully rendered, a pyramid has only one full resolution side.
Facebook said there are 30 viewpoints to render with this process, and it processes each video in five different resolutions, so rather than encoding the video on the fly, Facebook stores pre-generated video files on a server. Clients have only their current view streamed at any given time, rather than have the whole video file buffer in the background. The company said this reduces the streaming file size by as much as 80 percent.
Facebook is holding on to the pyramid maps code for now, but the company released the source code for Transform on GitHub and said it is “eager for people to adopt this tool, and we can't wait to see how developers build on top of it.”