Thursday, December 8, 2016

multiple video coding


MVC (Multiview Video Coding)

Multiview Video Coding was standardized as an extension (annex) to the H.264/AVC standard. In MVC, the views from different cameras are encoded into a single bitstream that is backwards compatible with single-view H.264/AVC. One of the views is encoded as "base view". A single-view (e.g. constrained baseline or progressive high profile) H.264/AVC decoder can decode and output the base view of an MVC bitstream. MVC introduces inter-view prediction between views exemplarily as illustrated in figure 8. MVC is able to compress stereoscopic video in a backwards compatible manner and without compromising the view resolutions. If the server is aware of the UE capabilities, it can omit sending the view components of the non-base view to a device that does not support 3D or does not have enough bitrate to deliver both views.

Assume we have 8 view stream S0,S1,...,S7. T0,T1,...,T11 is time, all view in one time is access unit.
we set S0,S2,S4,S6 as base view, because decoding S0,S2,S4,S6 don't need S1,S3,S5,S7. this mean base view is kind of independent view.
T0 and T8 are anchor access unit. just like I frame, Decoding T0 and T8 doesn't need other access unit.
I,B,and P frame are normal. frame b is different,it only can be referred by same access unit picture. can't be referred by picture in same view.
note: one picture can't refer picture in other view and other time.

profile:
profile_idc = 118 multiview more than 2
profile_idc = 128 two views

Encode and decode:


1. view first order

  1. encode anchor access unit
  2. encode first view up to next access unit
  3. encode othes views one by one
 this encode order need many frame buffers.
2. time first

  1. encode anchor access unit
  2. encode all views in next time
 this encode order need less frame buffers: 8*4+2

there are other coding scheme:

No comments:

Post a Comment