- December, 2018: Web launched.
- February, 2019: Paper available (see Downloads).
- February, 2019: Demo available (see Downloads).
- April, 2019: Source code available (see Downloads).
We present a method for adding parallax and real-time playback of 360° videos in Virtual Reality headsets. In current video players, the playback does not respond to translational head movement, which reduces the feeling of immersion, and causes motion sickness for some viewers. Given a 360° video and its corresponding depth (provided by current stereo 360 stitching algorithms), a naive image-based rendering approach would use the depth to generate a 3D mesh around the viewer, then translate it appropriately as the viewer moves their head. However, this approach breaks at depth discontinuities, showing visible distortions, while cutting the mesh at such discontinuities leads to ragged silhouettes and holes at disocclusions. We address these issues by improving the given initial depth map to yield cleaner, more natural silhouettes. We rely on a three-layer scene representation, made up of a foreground layer and two static background layers, to handle disocclusions by propagating information from multiple frames for the first background layer, and then inpainting for the second one. Our system works with input from many of today's most popular 360 stereo capture devices (e.g., Yi Halo or GoPro Odyssey), and works well even if the original video does not provide depth information. Our user studies confirm that our method provides a more compelling viewing experience, increasing immersion while reducing discomfort and nausea.
- Paper [PDF, 6.73 KB]
- Supp. Material [PDF, 11.42 KB]
- Github repo (including demo, viewer source code, and processing source code)
- Packaged source code:
The code is provided free for non-commercial purposes, and is property of:
- A. Serrano, I. Kim, D. Gutierrez, and B. Masia from Universidad de Zaragoza
- S. DiVerdi, and A. Hertzmann from Adobe Research