Multiview Video Coding

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

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 mostly missing

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]

On March 8, 2016, the situation improved. Version 0.68 of the DirectShow Media Splitter and Decoders Collection LAV Filters [13] was released by developer "Nevcairiel" (who also works for Media Player Classic - Home Cinema (MPC-HC)) with support of H.264 MVC 3D demuxing and decoding. With the aid of this release and FRIM [14] written by a programmer named "videohelp3d" [15] it is possible to write an AviSynth script to pre process a H.264 MVC 3D video clip which can then be opened by free 3D video player Bino [16] and then shown as red - cyan anaglyph video for example.

The usage of the FRIM AviSynth plugin (FRIMSource) is described on "videohelp3d" home page. LAV Filters can be used to get audio from H.264 MVC 3D video clip. The developer [17] posted that in a future release of it might be possible that LAV Video renders the video as Side-by-Side directly.

See also


  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.
  13. GitHub repository of LAV Filters project Retrieved 2016-03-30
  14. Videohelp download page Retrieved 2016-03-30
  15. developers page of "videohelp3d" Retrieved 2016-03-30
  16. Home page of Bino - a free 3D video player Retrieved 2016-03-30
  17. developers page of "Nevcairiel" (at bottom of page) Retrieved 2016-03-30
This article is issued from Wikipedia - version of the 11/17/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.