Recording & Compression


Conceptual Overview

A 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 combines these images and enhances them with 3D information. The new data set is then stored as 3D video to disk. This can either be done using progressive or flat coding schemes. Furthermore, 3D video can be encoded in image-space (i.e., encoding of images) or in object-space (i.e., encoding of 3D point samples). A 3D video player decodes and renders 3D videos from a storage device (i.e., hard-disk or DVD) or from the network in real-time using a point-based rendering framework.

As opposed to a traditional 2D home video recorder comprising only two stages - recording and playback - a 3D video recorder features an additional stage: processing. It is clear that recording and playing need to be carried out in real-time. There are no hard real-time constraints for the off-line processing stage. Spending 60 times more time on off-line processing than on on-line decompression is still acceptable. A 3D replay application in a broadcasting studio has stronger time constraints, since the replay needs to be available for broadcast only 10-20 seconds after the live action. The ultimate goal of a 3D video recorder is to process 3D information within these time limits.

Interaction

For pre-recorded data, the 3D video player provides 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.

We can randomly access and decode individual frames of the 3D video. Furthermore, every frame can be retrieved at different quality levels, reaching from a coarse approximation to a very detailed representation. During regular playback, we read frame after frame and control the quality level such that the player adheres to the frame-rate of the original 2D video sequence. The quality level is thus determined by the decoderís performance and rendering complexity. When the sequence is paused, the decoder can completely decode the current frame at the highest quality level. Fast-forward is implemented by decoding only a coarse representation, by using larger frame increments, or by a combination of both. Fast-reverse is realized in a corresponding way, we just need to decrement the requested frame number instead of incrementing it in between frames. Slow motion can simply be realized by slowed-down playback, i.e., by decoding higher quality levels than the player supports in real-time. High-quality slow motion, however, requires additional point-based shape interpolation between consecutive frames, or, the use of high-speed cameras. The 3D video player implements a virtual trackball and hence arbitrary navigation and scaling is possible and follows the popular interaction metaphors from other graphics renderers.

Special effects, such as freeze-and-rotate, can easily be achieved by playing a sequence, pausing, rotating the viewpoint, and continuing playback again. In case the system is used for editing a 2D video from a 3D video sequence, the virtual camera path and the frame increments can be configured in a script file.

 
  Home Info

Back to top
© SW, 2004
Last Update: 05.01.2004