Multiview Video Coding

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Multiview Video Coding (MVC) is an amendment of 2D plus Delta methodology (also known as 2D+Delta) to the H.264 (MPEG-4 AVC) video compression standard developed with joint efforts by MPEG/VCEG that enables efficient encoding of sequences captured simultaneously from multiple cameras using a single video stream.[1]

MVC is intended for encoding stereoscopic (two-view) video, as well as free viewpoint television and multi-view 3D television. The Stereo High profile has been standardized in June 2009; the profile is based on MVC toolset and is used in stereoscopic Blu-ray 3D releases.

MVC stream is backward compatible with H.264/AVC, which allows older video player devices and software decoders to decode MVC video streams while ignoring additional information for the second view, meaning the the stereoscopic image will not be available.

Technical overview[edit]

The basic idea of this feature is quite simple, you are shooting a video with multiple angles, something is bound to be sort of common and you’d like to ensure frame precision, so what about encoding all the simultaneous frames captured in the same elementary stream, share across the different layers as much as you could and then let the decoder output the frames somehow, and even better if the resulting aggregated bitstream is more compact than the sum of the single ones.[2]

Multiview video contains a large amount of inter-view statistical dependencies, since all cameras capture the same scene from different viewpoints. Therefore, combined temporal and inter-view prediction is the key for efficient MVC encoding. A frame from a certain camera can be predicted not only from temporally related frames from the same camera, but also from the frames of neighboring cameras. These interdependencies can be used for efficient prediction.[3]

This methodology is known as 2D plus Delta, and the MVC specification itself is part of the H.264 standard as an amendment in H.264 "Annex H" of the specification.[4]

Open source support missing[edit]

As of September 2014 there is still no free and open source software that supports decoding MVC video compression standard. So today popular open source H.264 decoders such as those used in FFmpeg and Libav simply ignore the additional information for the second view, and does thus not show the second view for stereoscopic image. In most case the reason for this is that MVC was not considered when the initial core H.264 decoder code was written so it was coded in one large chunk, thus adding amendments later will normally first mean a lot of prerequisite work with huge code refactoring, with major work in untangling and reordering some code, and split different functions in exiting decoder code into smaller chunks for simpler handling to make amendments such as MVC easier to add.[5]

Some work have however been done in the past but never made it into official releases.[6][7]

See also[edit]

References[edit]

  1. ^ https://research.nokia.com/page/4988 Mobile 3D Video
  2. ^ https://wiki.libav.org/Blueprint/MultiAVFrame Libav MultiAVFrame Blueprint
  3. ^ MPEG – Technologies – Introduction to Multiview Video Coding
  4. ^ http://www.itu.int/rec/T-REC-H.264 H.264 : Advanced video coding for generic audiovisual services
  5. ^ blogs.gentoo.org/lu_zero/2014/04/04/the-road-to-mvc/ The road to MVC
  6. ^ http://www.nt.uni-saarland.de/fileadmin/file_uploads/theses/master/Optimized_implementation_of_a_MVC_decoder.pdf Jochen Britz - Optimized implementation of an MVC decoder - Master’s Thesis in Computer and Communication Technology
  7. ^ https://github.com/Britz/FFmpeg Britz - In terms of my master thesis, I work on a H.264 MVC implementation in libvacodec based on H.264 Annex H.

External links[edit]