Surface Light Field Compression using a Point Cloud Codec

05/29/2018 ∙ by Xiang Zhang, et al. ∙ IEEE Peking University University of Washington 0

Light field (LF) representations aim to provide photo-realistic, free-viewpoint viewing experiences. However, the most popular LF representations are images from multiple views. Multi-view image-based representations generally need to restrict the range or degrees of freedom of the viewing experience to what can be interpolated in the image domain, essentially because they lack explicit geometry information. We present a new surface light field (SLF) representation based on explicit geometry, and a method for SLF compression. First, we map the multi-view images of a scene onto a 3D geometric point cloud. The color of each point in the point cloud is a function of viewing direction known as a view map. We represent each view map efficiently in a B-Spline wavelet basis. This representation is capable of modeling diverse surface materials and complex lighting conditions in a highly scalable and adaptive manner. The coefficients of the B-Spline wavelet representation are then compressed spatially. To increase the spatial correlation and thus improve compression efficiency, we introduce a smoothing term to make the coefficients more similar across the 3D space. We compress the coefficients spatially using existing point cloud compression (PCC) methods. On the decoder side, the scene is rendered efficiently from any viewing direction by reconstructing the view map at each point. In contrast to multi-view image-based LF approaches, our method supports photo-realistic rendering of real-world scenes from arbitrary viewpoints, i.e., with an unlimited six degrees of freedom (6DOF). In terms of rate and distortion, experimental results show that our method achieves superior performance with lighter decoder complexity compared with a reference image-plus-geometry compression (IGC) scheme, indicating its potential in practical virtual and augmented reality applications.



There are no comments yet.


page 1

page 4

page 5

page 7

page 10

page 11

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

I Introduction and Related Works

In emerging virtual reality (VR) and augmented reality (AR) applications, it is important to be able to render a scene from arbitrary points of view, allowing free-viewpoint navigation for example. While conventional computer graphics (CG) allow synthesis of CG-modeled scenes from arbitrary points of view, the photorealism of natural scenes using CG models is elusive, at least without extreme computation, especially in the presence of complex material and lighting phenomena such as reflection, refraction, and scattering.

Light field (LF) representations aim to provide photo-realistic renderings of 3D scenes from a range of viewpoints even in the presence of such complex material and lighting phenomena, to enable rich and immersive viewing experiences. An LF is most frequently represented as a 4D function of a light ray in which each ray is parameterized by its intersections with two parallel planes [1]. There are two types of such an LF representation in common use: a multi-view (or sub-aperture) representation and a lenslet representation, as shown in Fig. 1. A multi-view representation is essentially a collection of images captured from different viewpoints, while a lenslet representation is essentially a collection of images (or view maps) of the color each point on a plane as the point appears from different directions.

(a) Multi-view representation
(b) Lenslet representation
Fig. 1: Two-plane light field representations [1], where and indicate the camera plane and the focal plane, respectively. (a) Multi-view (or sub-aperture) representation: an image of the scene is captured from each camera position . (b) Lenslet representation: an image (or view map) of the color of a point as seen from different directions is captured for each point .

An LF may be captured directly into a multi-view representation using a dense array of cameras [2], or it may be captured directly into a lenslet representation using a large aperture lens focused onto a compact micro-lens sensor [3]. Either representation may then be converted to the other. Because an LF records the color of many rays of light through a scene, its representation requires a large amount of information, hindering transmission, storage, and application development. Therefore, LF compression has attracted extensive attention recently, including standardization efforts in JPEG [4] and MPEG [5]. An efficient, robust, and flexible LF compression approach is highly needed.

Recently emerging LF compression methods are based on either the multi-view representation or the lenslet representation. Methods based on the multi-view representation use video coding techniques to remove redundancy among the multi-view images by inter-view prediction, as first proposed by Magnor and Girod [6]. With advances in video coding, multi-view based algorithms have achieved remarkable improvements by advanced inter-image prediction techniques [7, 8, 9, 10, 11] and transform based algorithms [12, 13, 14]. In [15], the authors propose to align multi-view images to multi-layer texture maps according to their 3D mesh representation. LF compression methods that are alternatively based on the lenslet representation use image coding techniques to directly compress the lenslet image, as captured by a micro-lenses camera, by exploiting intra-image similarities [16, 17, 18, 19, 20, 21]. For example, Li et al. [16, 17, 18, 19] propose a macro-pixel prediction mode, which resembles the intra-block copy technique in video compression. Conti et al. [20, 21] present a self-similarity compensated prediction to further exploit spatial correlations among lenslet images.

However, these LF compression methods barely use the geometric information, and as a result have significant limitations. For one, since the images are captured by cameras at a discrete set of positions, high quality view interpolation requires a dense camera array to avoid occlusion artifacts. Even more significantly, extrapolation of views outside a narrow range of view angles close to the original camera positions is generally not feasible. For static scenes, it may be barely feasible to scan the scene from a very large set of camera positions, thereby increasing the range in which views can be synthesized. But for dynamic scenes, such scanning is completely infeasible. This all but eliminates conventional LF approaches for VR and AR applications in which arbitrary viewpoints of dynamic scenes must be generated.

A more efficient and flexible approach is the surface light field (SLF) representation, which was introduced by Miller et al. [22]. The SLF enables synthesis from an arbitrary viewpoint, interactive rendering, and rudimentary editing of the LF. Essentially, the SLF defines the light rays emanating from each point on each surface of the 3D scene. As shown in Fig. 2, the SLF can be regarded as a function , where is the location in 3D of a surface point, and is the direction of a ray emanating from the point. The SLF can be viewed as a generalization of the lenslet representation, if one considers the surface point at as a point on the plane in Fig. 1(b). Since the point is in 3D coordinates, the SLF generalizes the lenslet representation by generalizing the plane to a 2D manifold embedded in 3D. This not only solves occlusion problems but also enables free-viewpoint rendering. Since an SLF is a generalization of an LF, it can represent anything that an LF can represent. Moreover, it has the potential to be a more efficient representation. Indeed, for Lambertian or near-Lambertian objects, the view map at each point is a constant or near-constant image, reducing essentially to a function only of , like a 2D CG texture map. An alternative view of an SLF is as a CG texture map whose value at every point is an image, which can be arbitrarily complex yet is frequently near-constant. Thus an SLF can also be viewed as a generalization of a CG texture map. In a sense, SLFs combine the best of LFs and CG modeling, allowing photo-realistic rendering from arbitrary points of view.

For SLF compression, Miller et al. [22] compress view maps as images by first partitioning each view map into blocks of pixels and then applying the discrete cosine transform (DCT) to each block. Wood et al. [23]

represent each view map as a linear combination of a set of prototypes, which are determined by either vector quantization or principle component analysis (PCA). Chen

et al. [24], in addition to PCA, apply non-negative matrix factorization (NMF) to project the view maps to a subspace with a non-negativity constraint. However, these methods have the following limitations. First, they discretize each view map of SLF into either a grid or octahedral representation to enable discrete transform/projection. However, these schemes inherently introduce errors during discretization, and a coarse granularity may decrease the reconstruction quality significantly. Second, the view maps are compressed independently for each point and the spatial redundancies across the 3D space are not considered.

In this work, we propose a new SLF representation and method for its compression. In a nutshell, we propose to represent and compress the SLF function

as a separable linear transform

, where is an image frequency index and is a spatial frequency index. Specifically, first, for every surface point , we apply a linear transform to transform the view map into a sequence of image transform coefficients , and second, for every image transform coefficient , we use a spatial transform (i.e., a transform across the surface) to transform as a function of into a sequence of spatial transform coefficients . Our contributions include:

  • A new LF representation method based on a SLF representation by mapping multi-view images to a point cloud. We propose to use B-Spline wavelets to represent view maps for each point on the point cloud. This representation is highly efficient, robust, and scalable. It is able to handle complicated surface radiance patterns and different numbers of observations. It supports true free-viewpoint rendering and immersive experiences for virtual reality applications.

  • A new SLF compression framework in which the view map coefficients are spatially transformed and compressed by using a point cloud codec. To improve coding efficiency, a smoothness term is introduced when solving the coefficients of the view maps, to increase their spatial correlation across 3D space.

  • A comparison with an image-plus-geometry compression (IGC) approach, against which the proposed method can significantly relieve the burden of rendering on the decoder side with competitive rate-distortion (RD) performance.

Section II proposes the SLF representation by B-Spline wavelets. Section III presents the SLF compression framework and algorithms in detail. Section IV shows experimental results. Section V concludes.

Ii Surface Light Field Representation
by B-Spline Wavelets

We aim to determine an SLF representation in an efficient, robust, and scalable manner. Efficiency means that the representation is compact and friendly to compression. Robustness means that the representation is capable of approximating views from various directions of various surface materials under various lighting conditions. Scalability means that the representation can approximate simple view maps (as is the case with near-Lambertian surfaces) through arbitrarily complex view maps (as is the case with reflective surfaces) using a bitrate commensurate with its complexity.

To this end, we propose to approximate the view map at each point as a linear combination of basis functions,


where is the basis function, which is a function of the viewing direction ; is the corresponding coefficient at point ; and is the number of basis functions.

Fig. 2: Illustration of capturing an SLF. SLF defines every light ray emanating from a surface point . One can capture an SLF by a number of cameras in different positions. We define a cone area as shown in the figure, within which the camera observations will be regarded as valid.

The number of cameras to capture the SLF is always limited in practice. As shown in Fig. 2, the SLF of the object is captured by several cameras from different viewpoints. For a surface point , we denote its pixel values from different camera directions as a vector , where is the number of the valid observations. We eliminate invalid observations caused by being occluded or out of the camera field of view. The corresponding camera directions are parameterized by spherical coordinates with azimuth and elevation . Further, we re-parameterize as , which ensures that equal areas in the plane are equal areas on the sphere. In turn this ensures that any basis that is orthogonal on the plane is orthogonal on the sphere.

Since we have only a limited number of cameras to measure the SLF, the number of valid observations is usually smaller than the number of basis functions , making the problem under-determined. Thus we regularize the solution. To be precise, let each element in matrix be . Then, given the observation vector at point , we determine as


where is a regularization factor. is significant for two reasons: First, when the problem is under-determined, i.e., , avoids over-fitting and yield compressible coefficients with reasonable range. Second,

makes the solution robust to outliers due to camera noise and other imprecisions.

Since the representation coefficients would then be compressed over the surface by spatial transforms or predictions, increasing their spatial coherence leads to more efficient compression. Therefore, we further introduce a smoothing term into the optimization problem in (2) as follows,


where indicates the averaged coefficients over the nearest surface points to . is the corresponding regularization factor, which is significant in improving the overall compression efficiency, as a larger will increase the spatial similarity and reduce the coding bitrates.

To solve (3), we first obtain a good initialization by (2) as the coefficients of neighboring points are unavailable at the first iteration. Then we iteratively solve (3) until convergence. The detailed algorithm is shown in Algorithm 1.

  • Pixel values from different observation directions for each point :

  • Observation directions for each point :

  • Regularization factors and

  • Maximum iteration number

  • SLF representation coefficients for each point :

for each point  do
       Calculate the basis function: ;
       Calculate the SLF coefficient by (2);
end for
for  to  do
       for each point  do
             Calculate the average SLF coefficient of ’s neighboring points;
             Calculate the SLF coefficient by (3);
       end for
end for
Algorithm 1 Calculating SLF representation coefficients.

The design of basis functions is significant, since a good basis compacts the energy in the coefficients and make them easier to compress. In this work, we use 2D separable B-Spline wavelets for the basis, as they can describe the local variation of view maps more efficiently. The 2D B-Spline wavelets can be formulated as follows,


where is the offset of the periodicized 1D B-Spline wavelet function


and is the basic B-Spline wavelet function with order and scale , which can be defined by the sum of cardinal B-Spline functions,


where is the cardinal B-Spline function. To ensure and have roughly equal resolution, we make the scales of and , i.e., and , satisfy . Therefore , , and ; the total number of basis functions equals .

The first 128 B-Spline wavelet basis functions are shown in Fig. 3. There are 16 basis functions per row ( direction) and 8 basis functions per column ( direction). The top-left basis function is constant, so the corresponding coefficient is termed the DC coefficient as it represents the mean value. From the top-left to the bottom-right corner, the basis functions are able to describe more high-frequency signals.

Fig. 3: Illustration of B-Spline Wavelet basis functions.

To demonstrate the effectiveness and robustness, we show the reconstruction of a 1D B-Spline wavelet fit to image data captured from a synthetic scene (in terms of only, for simplicity). The results are shown in Fig. 4, where the blue dots in each subfigure represent pixel values of a surface point observed from different view angles. The left three subfigures show the case of one light source (one peak in the figures), and the right three subfigures show the case of two light sources (two peaks in the figures). From the top row to bottom row, the density of observations is decreasing. From the results, one can see that the 1D B-Spline wavelet fits the observed data well and obtains a good inference of unobserved data even for sparser observation density, indicating the B-Spline wavelet basis can accurately and robustly represent the SLF.

Fig. 4: 1D B-Spline wavelet fitting, where blue dots indicate the observed luminance of a surface point observed from different discrete angles and the red solid lines indicate continuous functions reconstructed by fitting B-Spline wavelet basis functions to the observations. The left subfigures show the case of one light source (one peak), and the right subfigures show the case of two light sources (two peaks). From top to bottom subfigures, the density of observations is decreasing.

The distribution of the SLF coefficients is shown in Fig. 5. Most coefficients are close to zero, indicating that the SLF representation is highly compressible.

Fig. 5: Coefficient distribution of B-Spline wavelets for representing SLF.

Iii Surface Light Field Compression

Fig. 6: The proposed framework of SLF compression. The input data include the geometry and multi-view images. The output is synthesized images from arbitrary view angles. Green and blue boxes indicate the processes on encoder and decoder sides, respectively.

Fig. 6

illustrates the pipeline of the proposed SLF compression. The input data include a point cloud that represents object geometry and a number of images captured from different points of view. It is worth noting that the obtaining of multi-view images and point cloud are usually dependent on each other in practice. For real scenes, the geometry of 3D scenes can be estimated from multi-view images by structure from motion (SfM) techniques

[25]. For synthetic scenes, usually the multi-views are obtained from CG models. The geometry of the point cloud, i.e., the 3D position of each point , needs to be compressed, since the geometry information will be used at both the encoder and decoder for representing and rendering the LF. The remainder of our pipeline for SLF compression, where our major contribution lies, consists of the following steps: 1) mapping multi-view images to the point cloud, by collecting observations of the view map at each point , 2) representation of the view map at each point by a linear combination of B-Spline wavelet basis functions with coefficients , , 3) independent compression of each wavelet coefficient by utilizing its spatial coherence across , and 4) decompression, reconstruction, and rendering of the SLF from arbitrary points of view. Technical details of each component are discussed in the following subsections.

Iii-a Mapping Multi-view Images to Point Cloud

The purpose of mapping is to find for each surface point a set of valid observations from the captured images. Obviously, a surface point may not be observed by all cameras for several possible reasons. For example, it might be out of the camera’s field of view, occluded, or self-occluded (back-facing).

To determine whether a point is in the field of view of camera , we project to the 2D camera plane as


where and are the intrinsic and extrinsic parameters of camera , respectively. From this, one can easily determine whether is located within the field of view of the camera.

To determine whether a point is occluded, we project all the points to an image plane for each camera. If multiple points are projected to a same image position, the one with minimal depth (whose distance to the camera is nearest) is kept and the others are determined to be occluded. Changing the resolution of the image plane will determine the granularity of the occlusions.

To determine whether a point is back-facing (or nearly back-facing), we define a cone centered around the normal at as a valid observation region, within which the observations are regarded as valid while others are not, ruling out back-facing and extreme angles of view of the surface point. In Fig. 2, the valid observation region is illustrated by a yellow cone. In this case, cameras from directions and are valid because they are located inside the cone. We parameterize the cone by the angle , which is the complement of the maximum angle between the normal direction and a valid camera (or observation) direction. A 2D illustration of is shown in Fig. 7.

Fig. 7: Illustration of in 2D, where indicates a surface point and is the normal vector at the point. is the complement of the maximum valid observation angle between the normal direction and the viewing direction.

After checking the validity of each camera for each point, the pixel value at the 2D point in the valid camera’s image is derived by linear interpolation and it is a potentially valid observation for , where is the direction between point and the center of projection of camera .

Iii-B SLF Coefficient Compression and Reconstruction

Section II explained how to obtain for each point on the surface a compact representation of the view map as an -dimensional vector of coefficients of B-spline wavelets. In this subsection, we describe how to compress efficiently across the surface.

The motivation is based on the fact that the SLF coefficients are strongly correlated across the surface. As an example, Fig. 8 shows the first four SLF coefficients (of the surface of the Can dataset shown in Fig. 10) visualized by projecting them into an image plane, where in this case two neighboring positions in the 2D plane are also neighbors in 3D. One can observe high correlations among the SLF coefficient maps, motivating us to remove the spatial redundancy between neighboring points. Since the B-Spline wavelet functions are orthogonal to each other, each coefficient plane can be compressed independently. By viewing the coefficients as additional attributes of the point cloud, any point cloud attribute coding method can be applied to compress them.

Fig. 8: Visualization of the first four SLF coefficients after projecting them into a 2D image plane. An affine transform is applied to the coefficients in order to constrain their values in the range of [0, 255], with brighter pixels indicating larger coefficients and vice versa.

We use two different methods for point cloud attribute coding. The first is called region adaptive hierarchical transform (RAHT) coding [26], which is at the core of the MPEG Point Cloud Codec (PCC) Test Model Category 1 (TMC1) [27]. Since the distribution of points on a discretized surface, or point cloud, can be rather sparse compared to the whole space, RAHT adaptively applies the 2-point Haar transform to two spatially neighboring points and progressively groups them. After transformation, scalar quantization is applied to each coefficient given a quantization step-size ,


where denotes the coefficients transformed by RAHT and the quantized transformed coefficients. Generally, larger values of yield lower bitrate but also an inferior reconstruction quality. Then, the quantized coefficients are entropy encoded. On the decoder side, the coefficients can be recovered by entropy decoding, inverse quantization, and inverse RAHT.

We also use a more classical method, which we call texture map coding (TMC) in this paper. Texture mapping is done by mapping each point on the 3D surface to a point in 2D, such that the colors on the discretized surface, or point cloud, can be viewed as an image. One example of a texture map is already shown in Fig. 8, where the cylinder surface is unwrapped to a rectangle. By texture mapping, the -dimensional vectors can be mapped onto images. Since the B-Spline wavelet basis functions are orthogonal to each other, we can compress each SLF coefficient independently. Therefore each image can be compressed by any image codec. Before image coding, the coefficients are uniformly rescaled and rounded to integers in the range of [0, 255] for an 8 bit representation. It is worth noting that the mapping from 3D to 2D must also be encoded for the decoder reconstruction. In this work, we use the reference software for the MPEG PCC Test Model Category 2 (version 0.0 TMC2v0) [28], where an adaptive texture mapping is applied and the texture maps along with the geometry are then encoded by High Efficiency Video Coding (HEVC) [29].

Both RAHT and TMC are lossy, in that errors are introduced by quantization. We denote the recovered SLF coefficients on the decoder side as . Given , the view maps can be easily reconstructed at the decoder side as


Accordingly, the radiance of any point from an arbitrary viewpoint can then be obtained as , where indicates the direction from to the viewpoint. Thus, an efficient free viewpoint rendering can be achieved feasibly at the decoder side.

Iv Experimental Results

In this section, the datasets and evaluation methodology are introduced in Subsections IV-A and IV-B. We then evaluate our method from four perspectives. First, we show the robustness and adaptiveness of our method by investigating the impact of super-parameters in Subsections IV-C and IV-D. Second, we analyze the scalability of our method in Subsection IV-E. Third, we demonstrate the subjective quality of our method for free viewpoint rendering in Subsection IV-F. Finally, we compare the RD performance and complexity of our method with an image based method in Subsection IV-G.

Iv-a Datasets

For evaluation, we use two synthetic and two real datasets. The synthetic datasets, Can and Die, are derived from CG objects [30], whose 3D geometries are shown in Fig. 9 on the left. Blender v2.78c [31] is used to render images of the objects from various viewpoints, some of which are shown in Fig. 9 on the right. The Can has a complex texture and specular surface. Four light sources illuminate the Can. One can observe from the right images in Fig. 9 how the surface of the Can reflects light differently from different directions. The Die dataset illustrates specularity as well as transparency. Additional details are given in Table I. For each synthetic object, 550 images are captured from virtual cameras positioned around the object. As illustrated in Fig. 10, the cameras are located in several circles parallel to the - plane. In our experiments, there are 11 circles spaced evenly along the axis and 50 cameras spaced evenly around each circle, for a total of 550 cameras.

Fig. 9: Two synthetic datasets: Can and Die. (left) 3D geometry, (right) Images from various viewpoints.
# Vertices Diffuse Specular Transparent # Lights
Can 91,462 0.8 0.5 0.0 4
Die 59,906 0.8 0.5 0.2 3
TABLE I: Dataset specifications, including the number of vertices, surface material properties, and number of light sources. Material properties include diffuse, specular, and transparent properties range from 0 to 1.

Fig. 10: Illustration of camera distribution. Cameras are located on several circles around the object. They are used for capturing images of the object from different angles, some serving as inputs to the system and others as ground truth for evaluation.

For the real datasets, we use the dataset proposed in [23], containing two objects, Elephant and Fish. They have rich texture, specular surfaces, and complex lighting. Elephant has 316 images captured by calibrated cameras from different viewpoints and Fish has 582 images. The corresponding camera parameters for each image are included in the dataset. The 3D geometries for each object are also provided, where Elephant and Fish have 155,688 and 64,982 vertices on the object surface, respectively.

Iv-B Evaluation Methodology

We evaluate the RD performance of the proposed method. The overall bitrates reported in our experiments include the bits required to represent the geometry, as well as the SLF coefficients. The reconstruction error at a particular point for direction is calculated as the difference between the reconstruction and the ground truth, i.e., , where and indicate the pixel values and directions of valid evaluation cameras, respectively. Here the valid evaluation camera is determined by a parameter , which is similar to as described in Section III-A. specifies the range of valid angles for the evaluation of each surface point. A closer to indicates that the evaluation is performed over a wider viewing range, including glancing surface angles. In the experiments, the reconstruction error is evaluated for different values of in order to assess quality from various angles of view.

For each dataset, we separate the images into two sets, an input set and an evaluation set, where the input set is used for SLF representation and the evaluation set for evaluation. If one calculates the reconstruction errors on the input set, the result reflects how accurate the SLF model fits the input SLF data. If one evaluates on the evaluation set, the result shows the generalization ability of the SLF model and how well it can estimate virtual views from arbitrary directions. We also compare the performances under different input camera densities, from dense to sparse. We evaluate on three test configurations as detailed in Table II. The sparse case may be more practical since the number of input cameras is always limited in real-life applications. Regarding two synthetic objects Can and Die, in the dense case, for example, there are 125 input cameras arranged in five circles of 25 cameras each, while the remaining 425 cameras are used for evaluation. For two real objects Elephant and Fish, the input images are selected proportionally, where 1/2, 1/4, and 1/8 of the images serve as input for dense, intermediate and sparse cases, respectively, and the remaining serves as evaluation.

Can / Die Elephant Fish
Dense 158 (158) 291 (291)
Intermediate 79 (237) 146 (436)
Sparse 40 (276) 73 (509)
TABLE II: Input (and evaluation) camera numbers of three test cases.

Regarding the point cloud codecs for compressing the coefficients spatially, we use RAHT from MPEG PCC Test Model Category 1 to evaluate robustness and scalability in Subsections from IV-C to IV-F and we use texture map coding (TMC) from MPEG PCC Test Model Category 2 to compare RD performance in Subsection IV-G, because RAHT is much more computationally efficient and TMC achieves higher RD performance.

Iv-C Impact of parameters

First, we investigate how impacts RD performance. Fig. 11 shows the RD performance for different input and evaluation angles and . One can see that significantly influences RD performance across all evaluation angles. On the one hand, small includes observations from glancing angles, which may introduce noise and outliers, thus resulting in degraded fitting accuracy. On the other hand, large can suppress noise but may also reduce the ability to render accurately surfaces at glancing angles because of a lack of valid observations there. A good balance is achieved when , since RD performance is always best or close to best for different evaluation angles (determined by ). Therefore, we choose for the remainder of our experiments. One can also see that overall quality improves as increases, indicating viewers may observe better reconstruction quality from frontal views than side views. This makes sense since from extreme angles one can barely observe a surface because of self-occlusion.

Fig. 11: RD performance comparisons of different values of and .

Second, we investigate how the order of the B-Spline wavelet function impacts RD performance. Fig. 12 compares constant, linear, quadratic, and cubic B-Spline wavelet basis functions, for which , respectively. When , the functions degrade to the well-known Haar wavelets. One can observe that the order dramatically influences the overall RD performance and the linear B-Spline wavelet () outperforms the others especially at high bitrate, indicating that piece-wise linear functions fit the SLF well. Thus, we use the linear B-Spline wavelets as the basis functions in the remainder of this work.

(a) Input set
(b) Evaluation set
Fig. 12: RD performance comparisons of different B-Spline wavelet orders , where the PSNR is calculated on (a) input image set and (b) evaluation image set, respectively.

Third, we investigate how the number of basis functions, , impacts RD performance. Fig. 13 shows that on the input set, higher PSNR can be achieved with higher , though at the cost of higher bitrate. On the evaluation set, however, there is evidence of over-fitting, as at high bitrate, the PSNR appears to saturate as increases, while at low bitrates, the PSNR peaks and then deteriorates as increases. Therefore, we set in this work to strike a balance at the bitrates of interest.

(a) Input set
(b) Evaluation set
Fig. 13: RD performance comparisons of different numbers of basis functions , where the PSNR is calculated on (a) input image set and (b) evaluation image set, respectively.

Fourth, we evaluate the impact of on RD performance. Fig. 14 shows that any non-zero value of is far superior to . This is because if the number of capture cameras is lower than the number of basis functions, the problem is under-determined. A small non-zero value of immediately causes a regularized solution to be found. Beyond that, though, Fig. 14(a) shows that a larger slightly decreases the PSNR on the input set, while Fig. 14(b) shows that a larger may slightly increase the PSNR on the evaluation set. This is because a positive makes the view map smoother and reduces the influence of outliers and noise. Since we target rendering images from arbitrary viewpoints, the performance on evaluation set is more important. Therefore, we set .

(a) Input set
(b) Evaluation set
Fig. 14: RD performance comparisons of different values of , where the PSNR is calculated on (a) input image set and (b) evaluation image set, respectively.

Lastly, we evaluate RD performance as a function of in Fig. 15. It can be observed that has a similar impact as . Increasing decreases the reconstruction quality for original viewpoints but can increase the PSNR for virtual viewpoints, or alternatively can decrease the bitrate. Considering the overall RD performance on evaluation set, we choose to be in this work.

(a) Input set
(b) Evaluation set
Fig. 15: RD performance comparisons of different values of , where the PSNR is calculated on (a) input image set and (b) evaluation image set, respectively.

Iv-D Impact of Camera Density

Figs. 16 and 17 show reconstructions of Can and Die as a function of camera density, where the configurations for different densities are described in Table II. Comparing the two figures, one can conclude that the impact of camera density depends on the complexity of the SLF. For simple SLFs, e.g., Can, one can barely tell the differences between a dense and a sparse camera density. For more complex SLFs, e.g., Die, the differences are obvious, where the artifacts for intermediate and sparse cases can be clearly observed especially on the side of the Die with four pips. This makes sense because a complex SLF, such as one due to specularity or transparency, requires more samples to accurately represent its variation. For a simpler SLF, using fewer observations will not degrade the reconstruction quality much. As an extreme case, one observation is sufficient for recovering a Lambertian surface.

(a) Groundtruth
(b) Dense case
(c) Intermediate case
(d) Sparse case
Fig. 16: Reconstruction of Can from a specific viewpoint as a function of camera density, where the number and placement of cameras in dense, intermediate, and sparse cases are specified in Table II. The groundtruth image is shown in (a).
(a) Groundtruth
(b) Dense case
(c) Intermediate case
(d) Sparse case
Fig. 17: Reconstruction of Die from a specific viewpoint as a function of camera density, where the number and placement of cameras in dense, intermediate, and sparse cases are specified in Table II. The groundtruth image is shown in (a).

Iv-E Scalability

Scalable video coding (SVC) [32] is a desirable feature for video streaming in practical applications, since it enables the videos to be encoded, transmitted, and displayed with various spatial or temporal resolutions or qualities under different display device or bandwidth scenarios. The proposed SLF representation method can naturally provide LF compression scalability with two kinds of modalities, namely spatial and fidelity scalability.

Spatial scalability can be achieved by sampling the point cloud in 3D space with different spatial resolution. The point cloud with lower resolutions can then be used to predict the point cloud with higher resolutions by taking advantages of the high correlation across 3D space. We show reconstructions of Can with different point cloud resolutions in Fig. 18. A higher 3D resolution will simultaneously increase the 2D reconstruction resolution with a commensurate bitrate. But both of them can reconstruct the view map well for each point, as one can still observe light reflections in the lowest resolution reconstruction in Fig. 18(d).

(a) Groundtruth
(b) 350K points (2.48 MB)
(c) 91K points (0.75 MB)
(d) 22K points (0.33 MB)
Fig. 18: Reconstruction of Can from a specific viewpoint as a function of point cloud resolution, where the number of surface points decreases from (b) to (d). The groundtruth image is shown in (a). The numbers in brackets are the compressed SLF data size by RAHT.

Fidelity (or quality) scalability can be achieved in two ways, either by encoding different numbers of SLF coefficients, or by encoding with varying quantization step-sizes . The former separates a video stream into several subsets by dividing the SLF coefficients into different levels. As shown in Fig. 19, the Die is reconstructed with different numbers of SLF coefficients. It can be seen that using only one coefficient (DC value) can represent only diffuse surfaces that reflect light equally in all directions. Using more high-frequency coefficients can produce higher reconstruction quality that can represent more complex surface material and lighting phenomena such as reflection and refraction. Alternatively, fidelity scalability can be achieved by varying the quantization step-size when compressing the SLF coefficients. As shown in Fig. 20, quantization of SLF coefficients can introduce blocking artifacts as in traditional image coding.

(a) Groundtruth
(b) (3.90 MB)
(c) (1.71 MB)
(d) (0.30 MB)
Fig. 19: Reconstruction of Die from a specific viewpoint as a function of , i.e., the number of basis functions, where decreases from (b) to (d). The groundtruth image is shown in (a). The numbers in brackets are the compressed SLF data size by RAHT.
(a) Groundtruth
(b) (2.48 MB)
(c) (1.08 MB)
(d) (0.44 MB)
Fig. 20: Reconstruction of Can from a specific viewpoint as a function of , i.e., the quantization step-size, where increases from (b) to (d). The groundtruth image is shown in (a). The numbers in brackets are the compressed SLF data size by RAHT.

Iv-F Reconstruction from Arbitrary Viewpoints

Next we subjectively evaluate the ability of the proposed scheme to reconstruct scenes from arbitrary points of view. This is one of the most significant advantages of our scheme over image-based or image+depth-based LF compression. The latter cannot model global occlusions well, and hence requires images to be captured from camera arrays that are dense and thus compact (lest the camera arrays themselves fill the scene), and hence supports only a relatively narrow range of viewpoints.

Figs. 21 and 22 show reconstructions of two synthetic datasets Can and Die from several viewpoints. Figs. 23 and 24 show reconstructions of two real datasets Elephant and Fish. From the results, it can be seen that the proposed scheme is adaptive and robust to different surface materials and light conditions. Light reflection effects on the object surface such as specularity can be easily observed. The real datasets further demonstrate that the proposed method can better tackle the occlusion issue, such as the Elephant legs and trunk.

Fig. 21: Rendering Can from arbitrary viewpoints.
Fig. 22: Rendering Die from arbitrary viewpoints.
Fig. 23: Rendering Fish from arbitrary viewpoints.
Fig. 24: Rendering Elephant from arbitrary viewpoints.

Iv-G Comparison with Image based LF Compression

A fair, quantitative comparison between our scheme and image based LF compression is not straightforward, since our SLF scheme can reconstruct viewpoints that are far from the original camera positions, while an image based LF cannot. However, we can fairly compare our SLF compression scheme with an alternative reference scheme, which we call image-plus-geometry compression (IGC), as illustrated in Fig. 25. At the encoder side, instead of compressing and transmitting the coefficients of the SLF representation, IGC compresses and transmits the captured source images, using a video codec. Like SLF compression, IGC also compresses and transmits the geometry. At the decoder side, instead of directly decoding the SLF representation and then using the representation to render arbitrary points of view, IGC decodes the source images, constructs the SLF representation from the decoded images, and finally uses the SLF representation to render arbitrary points of view. Thus the major difference between the SLF compression framework and IGC is that in SLF compression, the SLF construction is performed at the encoder and the SLF representation is compressed, while in IGC, the source images are compressed and the SLF construction is performed at the decoder, which significantly increases the complexity of the decoder. The running time of decoder side between the proposed scheme and the IGC is compared in Table III. One can see that the proposed scheme either by RAHT or by TMC is much faster than IGC, and RAHT is much faster than TMC.

Running Time (s) IGC Proposed
Geometry Decompression 0.12 0.12
SLF Coef. Decompression (RAHT / TMC) - 5.19 / 23.90
Images Decompression 1.92 -
SLF representation 35.13 -
Rendering 0.51 0.51
In Total (RAHT / TMC) 37.68 5.82 / 24.53
TABLE III: Decoder running time comparison.

We compare the RD performance of IGC with that of the proposed SLF compression scheme to gain some insight. To compress the input images for IGC, we use reference software HM-16.2 [33] of HEVC [29], which is the state-of-the-art video coding standard, with common test conditions of low delay. Experimental results of the RD performance comparison are shown in Figs. 26 and 27, where the Fish and Elephant are compressed under three different input camera densities, respectively. We can draw several conclusions. First, the proposed SLF compression can achieve superior RD performance than IGC. Second, the bitrates can be significantly decreased but with marginal PSNR losses (even with some gains) for the Elephant dataset. Since the point cloud compression standard is still developing by MPEG, we can expect the performance of SLF compression can be further improved with even lower complexity.

Fig. 25: The framework of IGC for fair comparison with the proposed scheme. Green and blue boxes indicate the processes on encoder and decoder sides, respectively.
(a) Dense case
(b) Intermediate case
(c) Sparse case
Fig. 26: RD performance comparisons between the proposed method (SLF) and IGC under different camera densities for Fish.
(a) Dense case
(b) Intermediate case
(c) Sparse case
Fig. 27: RD performance comparisons between the proposed method (SLF) and IGC under different camera densities for Elephant.

V Conclusions

In this work, we propose a new light field (LF) representation and compression framework based on the surface light field (SLF). Instead of directly processing multi-view images, we map the multi-view images to a point cloud and compress the geometry and view-dependent colors (i.e., view maps) jointly. The advantage of the proposed SLF representation over multi-view image-based LFs is that occlusions are more accurately modeled, thereby reducing the camera density needed for capture, and making the view maps easier to compress. We are able to achieve a compact, robust, and scalable representation by approximating the view maps as a linear combination of B-Spline wavelet functions, and compressing the corresponding coefficients using point cloud codecs to remove the spatial redundancy between neighboring points. The proposed scheme enables efficient free-viewpoint rendering, while recovering complex surface radiances and textures with good quality. Experimental results indicate that the proposed method achieves superior rate-distortion performance with lower decoder complexity compared to an image-plus-geometry compression (IGC) scheme.


  • [1] M. Levoy and P. Hanrahan, “Light field rendering,” in Proceedings of the 23rd annual conference on Computer graphics and interactive techniques.   ACM, 1996, pp. 31–42.
  • [2] B. Wilburn, N. Joshi, V. Vaish, E.-V. Talvala, E. Antunez, A. Barth, A. Adams, M. Horowitz, and M. Levoy, “High performance imaging using large camera arrays,” in ACM Trans. Graphics (TOG), vol. 24, no. 3.   ACM, 2005, pp. 765–776.
  • [3] R. Ng, M. Levoy, M. Brédif, G. Duval, M. Horowitz, and P. Hanrahan, “Light field photography with a hand-held plenoptic camera,” Computer Science Technical Report CSTR, vol. 2, no. 11, pp. 1–11, 2005.
  • [4] T. Ebrahimi, S. Foessel, F. Pereira, and P. Schelkens, “JPEG Pleno: Toward an efficient representation of visual reality,” IEEE MultiMedia, vol. 23, no. 4, pp. 14–20, Oct 2016.
  • [5] M. Domański, O. Stankiewicz, K. Wegner, and T. Grajek, “Immersive visual media MPEG-I: 360 video, virtual navigation and beyond,” in Int. Conf. Systems, Signals and Image Processing (IWSSIP), May 2017, pp. 1–9.
  • [6] M. Magnor and B. Girod, “Data compression for light-field rendering,” IEEE Trans. Circuits Syst. Video Technol., vol. 10, no. 3, pp. 338–343, 2000.
  • [7] D. Liu, L. Wang, L. Li, Z. Xiong, F. Wu, and W. Zeng, “Pseudo-sequence-based light field image compression,” in IEEE Int. Conf. Multimedia & Expo Workshops (ICMEW).   IEEE, 2016, pp. 1–4.
  • [8] L. Li, Z. Li, B. Li, D. Liu, and H. Li, “Pseudo-sequence-based 2-d hierarchical coding structure for light-field image compression,” IEEE Journal of Selected Topics in Signal Processing, vol. 11, no. 7, pp. 1107–1119, 2017.
  • [9] S. Zhao, Z. Chen, K. Yang, and H. Huang, “Light field image coding with hybrid scan order,” in Visual Communications and Image Processing (VCIP).   IEEE, 2016, pp. 1–4.
  • [10] C. Jia, Y. Yang, X. Zhang, S. Wang, S. Wang, and S. Ma, “Light field image compression with sub-apertures reordering and adaptive reconstruction,” in the Pacific-Rim Conference on Multimedia (PCM), 2017.
  • [11] C. Jia, Y. Yang, X. Zhang, S. Wang, X. Zhang, S. Wang, and S. Ma, “Optimized inter-view prediction based light field image compression with adaptive reconstruction,” in IEEE Int. Conf. Image Processing (ICIP), 2017.
  • [12] J. Chen, J. Hou, and L.-P. Chau, “Light field compression with disparity guided sparse coding based on structural key views,” IEEE Trans. Image Process., 2017.
  • [13] X. Jiang, M. Le Pendu, R. A. Farrugia, and C. Guillemot, “Light field compression with homography-based low rank approximation,” IEEE Journal of Selected Topics in Signal Processing, 2017.
  • [14] S. Vagharshakyan, R. Bregovic, and A. Gotchev, “Light field reconstruction using shearlet transform,” IEEE Trans. Pattern Anal. Mach. Intell., 2017.
  • [15] M. Volino, D. Casas, J. P. Collomosse, and A. Hilton, “Optimal representation of multi-view video,” 2014.
  • [16] Y. Li, M. Sjostrom, R. Olsson, and U. Jennehag, “Efficient intra prediction scheme for light field image compression,” in IEEE Int. Conf. Acoustics, Speech and Signal Processing (ICASSP).   IEEE, 2014, pp. 539–543.
  • [17] Y. Li, R. Olsson, and M. Sjostrom, “Compression of unfocused plenoptic images using a displacement intra prediction,” in IEEE Int. Conf. Multimedia & Expo Workshops (ICMEW), 2016, pp. 1–4.
  • [18] Y. Li, M. Sjostrom, R. Olsson, and U. Jennehag, “Coding of focused plenoptic contents by displacement intra prediction,” IEEE Trans. Circuits Syst. Video Technol., vol. 26, no. 7, pp. 1308–1319, 2016.
  • [19] ——, “Scalable coding of plenoptic images by using a sparse set and disparities,” IEEE Trans. Image Process., vol. 25, no. 1, pp. 80–91, 2016.
  • [20] C. Conti, P. Nunes, and L. D. Soares, “HEVC-based light field image coding with bi-predicted self-similarity compensation,” in IEEE Int. Conf. Multimedia & Expo Workshops (ICMEW).   IEEE, 2016, pp. 1–4.
  • [21] R. Monteiro, L. Lucas, C. Conti, P. Nunes, N. Rodrigues, S. Faria, C. Pagliari, E. da Silva, and L. Soares, “Light field HEVC-based image coding using locally linear embedding and self-similarity compensated prediction,” in IEEE Int. Conf. Multimedia & Expo Workshops (ICMEW), 2016, pp. 1–4.
  • [22] G. Miller, S. Rubin, and D. Ponceleon, “Lazy decompression of surface light fields for precomputed global illumination,” in Rendering Techniques.   Springer, 1998, pp. 281–292.
  • [23] D. N. Wood, D. I. Azuma, K. Aldinger, B. Curless, T. Duchamp, D. H. Salesin, and W. Stuetzle, “Surface light fields for 3d photography,” in Proceedings of the 27th annual conference on Computer graphics and interactive techniques.   ACM, 2000, pp. 287–296.
  • [24] W.-C. Chen, J.-Y. Bouguet, M. H. Chu, and R. Grzeszczuk, “Light field mapping: efficient representation and hardware rendering of surface light fields,” ACM Trans. Graphics (TOG), vol. 21, no. 3, pp. 447–456, 2002.
  • [25] R. Szeliski, Computer Vision: Algorithms and Applications, 1st ed.   New York, NY, USA: Springer-Verlag New York, Inc., 2010.
  • [26] R. L. de Queiroz and P. A. Chou, “Compression of 3d point clouds using a region-adaptive hierarchical transform,” IEEE Trans. Image Process., vol. 25, no. 8, pp. 3947–3956, 2016.
  • [27] “Point cloud compression test model category 1 version 0.0 (TMC1v0) [online],”
  • [28] “Point cloud compression test model category 2 version 0.0 (TMC2v0) [online],”
  • [29] G. J. Sullivan, J. Ohm, W.-J. Han, and T. Wiegand, “Overview of the high efficiency video coding (HEVC) standard,” IEEE Trans. Circuits Syst. Video Technol., vol. 22, no. 12, pp. 1649–1668, 2012.
  • [30] “Free 3d blender download [online],”
  • [31] “Blender version 2.78c [online],”
  • [32] P. Helle, H. Lakshman, M. Siekmann, J. Stegemann, T. Hinz, H. Schwarz, D. Marpe, and T. Wiegand, “A scalable video coding extension of HEVC,” in Data Compression Conference, March 2013, pp. 201–210.
  • [33] “Joint video team (JVT) reference software [online],”