Multiview Video Coding

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

Multiview Video Coding (MVC, also known as MVC 3D) is an Stereoscopic Video Coding standard for video compression that allows for the efficient encoding of video sequences captured simultaneously from multiple camera angles in a single video stream.[1] It uses the 2D plus Delta method and is an amendment to the H.264 (MPEG-4 AVC) video compression standard, developed jointly by MPEG and VCEG.[2]

MVC formatting is intended for encoding stereoscopic (two-view) 3D 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 the MVC toolset and is used in stereoscopic Blu-ray 3D releases.[3]

MVC streams are 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 that the stereoscopic image will not be available.

Technical overview[edit]

MVC is based on the idea that video recordings of the same scene from multiple angles share many common elements. It is possible to encode all simultaneous frames captured in the same elementary stream and to share as much information as possible across the different layers. This can reduce size of the encoded video.[4][5]

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 important 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.[6][7][8]

The method for this used in Multiview Video Coding for Blu-ray 3D movies is known as the 2D plus Delta algorithm, and the MVC specification itself is part of the H.264 standard as an amendment in H.264 "Annex H" of the specification.[9]

Open source support missing[edit]

As of April 2015 there is still no free and open source software that supports software decoding of the MVC video compression standard. So popular open source H.264 and HEVC (H.265) decoders such as those used in the FFmpeg and Libav libraries simply ignore the additional information for the second view and thus do not show the second view for stereoscopic views. In most cases the reason for this support not being added is that MVC was not considered when the initial core H.264 and HEVC decoders code was written so it was coded in one large chunk, and later amendment would as such often mean a lot of prerequisite code refactoring work and large changes its current architecture, with major work in untangling and reordering some code, and splitting different functions in exiting decoder code into smaller chunks for simpler handling to in turn then make amendments such as MVC easier to add.[10]

Some proof-of-concept work has however been done downstream in the past but never made it upstream into official releases of FFmpeg or Libav.[11][12]

See also[edit]


  1. ^ Mobile 3D Video
  3. ^ Blu-ray Disc Association Has Announced the Final 3D Specifications
  4. ^ Libav MultiAVFrame Blueprint
  5. ^ Chapter 12. Human Factors of 3D Displays
  6. ^ MPEG – Technologies – Introduction to Multiview Video Coding
  7. ^ Learning Two-View Stereo Matching
  8. ^ Lecture 6: Multi-view Stereo & Structure from Motion
  9. ^ H.264 : Advanced video coding for generic audiovisual services
  10. ^ The road to MVC
  11. ^ Jochen Britz – Optimized implementation of an MVC decoder – Master’s Thesis in Computer and Communication Technology
  12. ^ 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]