Facebook Develops Custom 360-Degree Video Stabilization Technology

Facebook announced at its @Scale Conference 2016 Wednesday that it developed a custom-designed stabilization technology for 360-degree videos.

Facebook announced at its @Scale Conference 2016 in San Jose, Calif., Wednesday that it developed a custom-designed stabilization technology for 360-degree videos.

Other announcements by the social network at @Scale included the open-sourcing of its Zstandard compression algorithm and the deployment of its MyRocks next-generation MySQL storage engine based on RocksDB.

Facebook said in an email to SocialTimes that current video-stabilization technology is generally designed for videos with narrow frame views, such as those captured via smartphones, and for 2-D motion models, which is inadequate for 360 video, adding of its new technology:

This new approach combines 2-D and 3-D stabilization methods with a new “deformed rotation” motion model to make shaky 360 videos incredibly smooth so that they’re easier to watch with less chance of motion sickness.

It improves efficiency, with a 10 percent to 20 percent reduction in bit rate for the same video quality. And it’s fast—it can stabilize video in less than 22 milliseconds per frame, meaning that you can improve your video stability with no major wait or interruptions when you upload. In fact, videos can be stabilized using this technology in less time than it takes to play the video at normal speed.

Research scientist Johannes Kopf provided a detailed look at the development of Facebook’s news 360-degree video stabilization technology in a blog post, citing its advantages over current 2-D and 3-D models:

  • Accuracy: It’s more accurate than pure 2-D methods because we use a more powerful 3-D analysis to stabilize the key frames.
  • Robustness: It’s more robust than pure 3-D methods because we don’t perform full reconstruction—we use 3-D analysis to estimate relative rotations, which is an easier problem. We also apply the 3-D analysis only sparsely to the key frames, which avoids error accumulation.
  • Regularization: The fixed key frames provide a regularizing backbone for the 2-D optimization of the inner frames. This constrains the deformable-rotation motion model and prevents wobble artifacts.
  • Speed: The mixed architecture performs faster than performing purely 3-D analysis or 2-D optimization. Our algorithm stabilizes a video faster than it would take to play the video at normal speed.

Facebook360DegreeStabilizedVideos from SocialTimes on Vimeo.

Facebook360DegreeVideoStabilizationSideBySide from SocialTimes on Vimeo.

CurrentVideoStabilizationAlgorithmSteps Facebook360DegreeVideoStabilizationAlgorithmSteps 360DegreeVideoStabilizationMotionModel Hybrid3D2DStabilization

Facebook said in an email to SocialTimes that the Zstandard compression algorithm v1 that was open-sourced Wednesday brings 5 percent to 10 percent efficiency to general data compression while simultaneously providing central-processing-unit savings, making data processing two times to three times faster, and adding:

Unlike other compression algorithms, Zstandard doesn’t compromise a smaller file size for speedier compression and decompression; in fact, when compared with zlib, ZStandard shows substantial improvements in both compression and decompression speed, while compressing at the same ratio and without a loss in file quality:

  • At the same compression ratio, it compresses three times to five times faster.
  • At the same compression speed, it is 10 percent to 15 percent smaller.
  • It’s nearly two times faster at decompression, regardless of compression ratio.

The flexibility of this technology helps us scale. With Zstandard, we can make flexible and granular tradeoffs between compression speed and compression ratio, tweaking the algorithm to our needs and making it very good at many diverse use cases.

Data compression expert Yann Collet and software engineer Chip Turner provided a detailed, thorough explanation of Zstandard in a blog post, also offering this glimpse at future plans for the compression algorithm:

While we have hit 1.0 and consider Zstandard ready for every kind of production use, we’re not done. Coming in future versions:

  • Multi-threaded command line compression for even faster throughput on large data sets, similar to the pigz tool for zlib.
  • New compression levels, in both directions, allowing for even faster compression and higher ratios.
  • A community-maintained predefined set of compression dictionaries for common data sets such as JSON, HTML and common network protocols.

ZStandardCompressionSpeed ZstandardLogo