In order to jointly capture spatial and angular correlations between pixels in the light field, we first consider a local non separable graph per super-ray.
More precisely, if we consider the luminance values in the whole light field and a segmentation map S, the super-ray K can be represented by
a signal defined on an undirected connected graph G = {V,E} which consists of a finite set V of vertices.
A set E of edges are built as follows.
- We first connect each pixel (m,n,x,y) in the set V and its 4-nearest neighbors in the spatial domain (i.e. the top, bottom, left and right neighbors)
- We then find the median disparity value d of the pixels inside the super-ray k in the top-left view. Using this disparity value, we project each pixel in super-ray k in the 4
nearest neighboring views (i.e. the top, bottom, left and right neighboring view). We end up with four projected pixels. If a projected pixel belongs to the set of vertices V, then we connect it to the original pixel.
The laplacian is computed as:
The non separable graph transform is defined as the projection of the graph signal onto the eigenvectors of the laplacian.
However, some high complexity remains. That's why we propose to use instead separable graph transforms where we perform a spatial transform followed by an angular transform.
The spatial laplacian is defined in each view. Using the eigenvectors of the spatial laplacian, we can compute a spatial transform inside each view.
We can then define a band vector out of all observations of a specific band across the views and construct an angular graph to capture inter-view correlations.
Using the eigenvectors of the angular laplacian, we compute the second angular transform.