We developed a 3D video engine capable of acquiring, processing and rendering three-dimensional video from arbitrary viewpoints.
The real-time system is built on the concept of 3D video fragments based on dynamic point samples. A differential update scheme is used that exploits the spatio-temporal coherence of the video streams of multiple cameras. These updates are issued by operators such as inserts and deletes, which account for changes in the input video images. We also introduce a novel concept for camera control which dynamically selects the set of relevant cameras for reconstruction, and adapts to the processing load and rendering platform.
The 3D video recorder first records 2D video streams from several synchronized digital video cameras and stores pre-processed images to disk. An off-line processing stage converts these images into a time-varying 3D hierarchical point-based data structure and stores this 3D video to disk.
For both systems, a common 3D video renderer displays free-viewpoint videos using an efficient point based splatting scheme and makes use of state-of-the-art vertex and pixel processing hardware for real-time visual processing. For pre-recorded data, we provide interaction features known from video cassette recorders, like variable-speed forward, reverse, and slow motion. 3D video playback can be enhanced with novel 3D video effects such as freeze-and-rotate and arbitrary scaling.