Jump to content

Multiview Video Coding

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 62.119.218.66 (talk) at 10:37, 26 May 2015. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Multiview Video Coding (MVC) 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 methodology 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 methodology 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

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

References

  1. ^ https://research.nokia.com/page/4988 Mobile 3D Video
  2. ^ http://enpub.fulton.asu.edu/resp/vpqm/vpqm10/Proceedings_VPQM2010/vpqm_p33.pdf 3DTV AT HOME: STATUS, CHALLENGES AND SOLUTIONS FOR DELIVERING A HIGH QUALITY EXPERIENCE
  3. ^ http://3dvision-blog.com/tag/mpeg4-mvc/ Blu-ray Disc Association Has Announced the Final 3D Specifications
  4. ^ https://wiki.libav.org/Blueprint/MultiAVFrame Libav MultiAVFrame Blueprint
  5. ^ http://onlinelibrary.wiley.com/doi/10.1002/0470022736.ch12/summary Chapter 12. Human Factors of 3D Displays
  6. ^ MPEG – Technologies – Introduction to Multiview Video Coding
  7. ^ http://vision.princeton.edu/projects/2008/ECCV_stereo/paper_low-res.pdf Learning Two-View Stereo Matching
  8. ^ http://cs.nyu.edu/~fergus/teaching/vision_2012/6_Multiview_SfM.pdf Lecture 6: Multi-view Stereo & Structure from Motion
  9. ^ http://www.itu.int/rec/T-REC-H.264 H.264 : Advanced video coding for generic audiovisual services
  10. ^ blogs.gentoo.org/lu_zero/2014/04/04/the-road-to-mvc/ The road to MVC
  11. ^ 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
  12. ^ 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.