blendr_demo.mp4

Introduction:

After our first rejection at SIGCOMM, we decided to continue our work by reflecting on the reviewers’ comments. The reviewers mostly commented on the missed opportunity of multi-view fusion, which provides 6DoF, a denser set of points, and thus more content. Besides the comments, we knew specific areas that needed corrected: edge detection (post processing to remove flying pixels).

Untitled

Review of BlenDR’s Structure (and their significance)

Sender Side: The sender side’s jobs (depth filling and packing) are important components that provide reasons to why efficient 2.5D/3D streaming is possible with BlenDR. Because we use 2D video codecs (H.26x) it is best to capitalize on smooth/consecutive data that prevents unnecessary motion prediction or compression calculations for noise. Noisy data is usually present as depth holes in depth data, which occurs due to inaccuracies of ToF measurements.

  1. Depth Filling: Responsible for smoothing out data to remove noise that adds unnecessary computations during 2D video codec schemes
  2. Depth Packing (Encoding): Responsible for converting depth data into a universal 2D data structure that can be understood by 2D video codecs

before_cbf.png

main_cbf_final.png

Receiver Side: The receiver side’s responsibility is to unpack the data to recover (or at least recreate) the original depth/color data. The depth unpacking mechanism is the inverse of the depth packing process, and it gives an accurate decoding scheme, retrieving 99% of the original data. This, however, is still the depth-filled result and needs post processing:

  1. Depth Unpacking (Decoding)
  2. Edge Detection

My Contributions to BlenDR (Undergrad Thesis)

  1. Multi-view Fusion (End-to-End)

  2. Flying Pixel Problem — originally dealt with the edge detection algorithm

    Bleeding Effect in effect

    Bleeding Effect in effect

BlenDR

No Post Processing

No Post Processing

Edge Detection Only

Edge Detection Only

Edge Detection + Point Remov.

Edge Detection + Point Remov.

Triangle Method

No Post Processing

No Post Processing

Edge Detection Only

Edge Detection Only

Edge Detection + Point Remov.

Edge Detection + Point Remov.