This application claims priority from European Patent Application No. 17305833.0, entitled “METHOD FOR ENCODING AT LEAST ONE MATRIX OF IMAGE VIEWS OBTAINED FROM DATA ACQUIRED BY A PLENOPTIC CAMERA, AND CORRESPONDING ELECTRONIC DEVICES”, filed on Jun. 30, 2017, the contents of which are hereby incorporated by reference in its entirety.
The disclosure relates to the encoding and decoding of 4D raw light field data being acquired by a plenoptic camera.
This section is intended to introduce the reader to various aspects of art, which may be related to various aspects of the present invention that are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present invention. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.
Plenoptic cameras comprises in addition to features of conventional cameras a micro-lens array set positioned just in front of the sensor as illustrated in
Therefore, obtaining an efficient encoding technique for encoding data being a set of sub-aperture images (also named a matrix of sub-aperture images) is a hectic research issue due to the fact it can reduce the storage (or transmission) of such encoded data.
A solution for encoding data being a set of sub-aperture images consists in using the technique described in the article entitled “Light Field Compression with Homography-based Low Rank Approximation” by Xiaoran Jiang et al. that proposes to align the different sub-aperture images by using one or multiple homographies in order to obtain a light field low rank representation, and then encode such light field low rank representation using classical HEVC encoding technique.
Another solution for encoding data being a set of sub-aperture images consists in using classical encoding techniques such as HEVC (“High Efficiency Video Coding”) or MV-HEVC (“Multi-view High Efficiency Video Coding”) as mentioned in document US 2015/0319456 where a reference image is selected in the set of sub-aperture images. In addition, in document US 2015/0319456, the encoding of the sub-aperture images can be done according to compression parameters (e.g. motion search windows, maximum coding unit size, etc.) and camera parameters (focal length, main lens aperture, etc.). Hence, in some cases, each sub-aperture image can be encoded independently from the others sub-aperture images by using intra-encoding techniques as proposed by the HEVC encoding scheme. In a variant, one or more reference images are selected among the set of sub-aperture images (see for example paragraph [0086] of document US 2015/0319456) for performing the encoding based on spatial predictions. The document US 2016/0241855 details the encoding of a sequence of plenoptic images that can be viewed as a sequence of matrixes of sub-aperture images.
However, none of the cited documents tackles the issue of flux variation in the sub-aperture images induced by the configuration of a plenoptic camera, in which all the micro-images comprise the same number of pixels (for example 4), but the repartition of these pixels behind a micro-lens is not centered with the micro-lens images (i.e. a pixel can only partially acquire light from a micro-lens).
Hence, there is a need to provide an efficient way of processing the encoding and decoding of sub-aperture images which takes into account the flux variation issue within a plenoptic camera.
References in the specification to “one embodiment”, “an embodiment”, “an example embodiment”, indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
The present disclosure is directed a method for encoding at least one matrix of image views obtained from data acquired by a plenoptic camera, wherein image views of said matrix of image views are partitioned into blocks. The method is remarkable in that it comprises, for a given image view of said at least one matrix of views:
obtaining at least one block to be encoded and a matching block, wherein a difference between said at least one block to be encoded and said matching block fulfills a block matching criterion;
determining a residual block regarding said at least one block to be encoded and said matching block, said determining comprising using modified pixels of said least one block to be encoded and modified pixels of said matching block according to flux variation parameters associated with a pixel sensor of said plenoptic camera; and
encoding said residual block.
It should be noted that due to the fact that the matrix of image views (also named a matrix of sub-aperture images) is obtained from a plenoptic camera, the sub-aperture images have some light flux variation between themselves. Indeed, such light flux variation between the sub-aperture images that can be an issue for video encoding. The light flux variation is induced by the design of a plenoptic camera. Indeed, it may come from the sampling of the micro-images and the vignetting of the main-lens within the plenoptic camera. Hence, it is a purpose of the proposed technique to reduce the effect of the light flux variation when a device encodes a matrix of image views obtained/derived from a plenoptic camera.
The flux variation parameters are linked to the change of the center of the micro-lens compared to the center of the group of pixels below the micro-lens.
In a preferred embodiment, the flux variation parameters are defined according to an estimation of decentering of micro-images centers compared to pixels alignments associated with micro-images.
In a preferred embodiment, the method for encoding is remarkable in that said matching block is comprised in said given image view.
In a preferred embodiment, the method for encoding is remarkable in that said matching block is comprised in a reference image view comprised in said at least one matrix of image views, or in another matrix of image views.
In a preferred embodiment, the method for encoding is remarkable in that said at least one block to be encoded and said matching block are prediction blocks according to HEVC standard.
In a preferred embodiment, the method for encoding is remarkable in that said at least one block to be encoded and said matching block are blocks according to H.264 standard.
In a preferred embodiment, the method for encoding is remarkable in that said block matching criterion is defined by a threshold value.
In another embodiment of the disclosure, it is proposed a method for decoding at least one matrix of encoded image views obtained from data acquired by a plenoptic camera, wherein the encoded image views of said at least one matrix of image views comprise encoded blocks.
The method is remarkable in that it comprises, for a given encoded image view of said at least one matrix:
obtaining a predictor block and a residual block;
obtaining pixels of a block to be decoded according to said residual block, said predictor block and flux variation parameters associated with a pixel sensor of said plenoptic camera.
In a preferred embodiment, the method for decoding is remarkable in that said flux variation parameters are defined according to an estimation of decentering of micro-images centers compared to pixels alignments associated with micro-images.
In a preferred embodiment, the method for decoding is remarkable in that said predictor block corresponds to block M1(u1, v1, α1, β1), noted M1[α1, β1], which is comprised in an image view at coordinates (u1, v1) and related to pixel at coordinates (α1, β1), and said block to be decoded corresponds to block M2(u2, v2, α2, β2), noted M2[α2, β2] which is comprised in an image view at coordinates (u2, v2) and related to pixel at coordinates (α2, β2), and wherein said obtaining pixels comprises obtaining value of pixel at coordinates (l, m) within said block M2(u2, v2, α2, β2), via the following equation:
where the ratios Ru
In a preferred embodiment, the method for decoding is remarkable in that it comprises determining said ratiosRu
According to an exemplary implementation, the different steps of the method are implemented by a computer software program or programs, this software program comprising software instructions designed to be executed by a data processor of a relay module according to the disclosure and being designed to control the execution of the different steps of this method.
Consequently, an aspect of the disclosure also concerns a program liable to be executed by a computer or by a data processor, this program comprising instructions to command the execution of the steps of a method as mentioned here above.
This program can use any programming language whatsoever and be in the form of a source code, object code or code that is intermediate between source code and object code, such as in a partially compiled form or in any other desirable form.
The disclosure also concerns an information medium readable by a data processor and comprising instructions of a program as mentioned here above.
The information medium can be any entity or device capable of storing the program. For example, the medium can comprise a storage means such as a ROM (which stands for “Read Only Memory”), for example a CD-ROM (which stands for “Compact Disc-Read Only Memory”) or a microelectronic circuit ROM or again a magnetic recording means, for example a floppy disk or a hard disk drive.
Furthermore, the information medium may be a transmissible carrier such as an electrical or optical signal that can be conveyed through an electrical or optical cable, by radio or by other means. The program can be especially downloaded into an Internet-type network.
Alternately, the information medium can be an integrated circuit into which the program is incorporated, the circuit being adapted to executing or being used in the execution of the method in question.
According to one embodiment, an embodiment of the disclosure is implemented by means of software and/or hardware components. From this viewpoint, the term “module” can correspond in this document both to a software component and to a hardware component or to a set of hardware and software components.
A software component corresponds to one or more computer programs, one or more sub-programs of a program, or more generally to any element of a program or a software program capable of implementing a function or a set of functions according to what is described here below for the module concerned. One such software component is executed by a data processor of a physical entity (terminal, server, etc.) and is capable of accessing the hardware resources of this physical entity (memories, recording media, communications buses, input/output electronic boards, user interfaces, etc.).
Similarly, a hardware component corresponds to any element of a hardware unit capable of implementing a function or a set of functions according to what is described here below for the module concerned. It may be a programmable hardware component or a component with an integrated circuit for the execution of software, for example an integrated circuit, a smart card, a memory card, an electronic board for executing firmware etc. In a variant, the hardware component comprises a processor that is an integrated circuit such as a central processing unit, and/or a microprocessor, and/or an Application-specific integrated circuit (ASIC), and/or an Application-specific instruction-set processor (ASIP), and/or a graphics processing unit (GPU), and/or a physics processing unit (PPU), and/or a digital signal processor (DSP), and/or an image processor, and/or a coprocessor, and/or a floating-point unit, and/or a network processor, and/or an audio processor, and/or a multi-core processor. Moreover, the hardware component can also comprise a baseband processor (comprising for example memory units, and a firmware) and/or radio electronic circuits (that can comprise antennas) which receive or transmit radio signals. In one embodiment, the hardware component is compliant with one or more standards such as ISO/IEC 18092/ECMA-340, ISO/IEC 21481/ECMA-352, GSMA, StoLPaN, ETSI/SCP (Smart Card Platform), GlobalPlatform (i.e. a secure element). In a variant, the hardware component is a Radio-frequency identification (RFID) tag. In one embodiment, a hardware component comprises circuits that enable Bluetooth communications, and/or Wi-fi communications, and/or Zigbee communications, and/or USB communications and/or Firewire communications and/or NFC (for Near Field) communications.
It should also be noted that a step of obtaining an element/value in the present document can be viewed either as a step of reading such element/value in a memory unit of an electronic device or a step of receiving such element/value from another electronic device via communication means.
In one embodiment of the disclosure, it is proposed an electronic device for encoding at least one matrix of image views obtained from data acquired by a plenoptic camera, wherein image views of said matrix of image views are partitioned into blocks. The electronic device comprises a processor and at least one memory unit coupled to said processor, and for a given image view of said at least one matrix of views, the processor is configured to:
obtain at least one block to be encoded and a matching block, wherein a difference between said at least one block to be encoded and said matching block fulfills a block matching criterion;
determine a residual block regarding said at least one block to be encoded and said matching block, that comprises a use of modified pixels of said least one block to be encoded and modified pixels of said matching block according to flux variation parameters associated with a pixel sensor of said plenoptic camera; and
encode said residual block.
In a preferred embodiment, the electronic device for encoding is remarkable in that said flux variation parameters are defined according to an estimation of decentering of micro-images centers compared to pixels alignments associated with micro-images.
In another embodiment of the disclosure, it is proposed an electronic device for decoding at least one matrix of encoded image views obtained from data acquired by a plenoptic camera, wherein the encoded image views of said at least one matrix of image views comprise encoded blocks. The electronic device comprises a processor and at least one memory unit coupled to said processor, and, for a given encoded image view of said at least one matrix, the processor is configured to:
obtain a predictor block and a residual block;
obtain pixels of a block to be decoded according to said residual block, said predictor block and flux variation parameters associated with a pixel sensor of said plenoptic camera.
In a preferred embodiment, the electronic device for decoding is remarkable in that said predictor block corresponds to block M1(u1, v1, α1, β1), noted M1[α1, β1] which is comprised in an image view at coordinates (u1, v1) and related to pixel at coordinates (α1, β1), and said block to be decoded corresponds to block M2(u2, v2, α2, β2), noted M2[α2, β2] which is comprised in an image view at coordinate (u2, v2) and related to pixel at coordinates (α2, β2), and wherein said obtaining pixels comprises obtaining value of pixel at coordinates (l, m) within said block M2(u2, v2, α2, β2), via the following equation:
where the ratios Ru
The above and other aspects of the invention will become more apparent by the following detailed description of exemplary embodiments thereof with reference to the attached drawings in which:
In the following, a picture or image (i.e. an image view or a sub-aperture image) contains one or several arrays of samples (pixel values) in a specific picture/video format which specifies all information relative to the pixel values of a picture (or a video) and all information which may be used by a display and/or any other device to visualize and/or decode a picture (or video) for example. A picture comprises at least one component, in the shape of a first array of samples, usually a luma (or luminance) component, and, possibly, at least one other component, in the shape of at least one other array of samples, usually a color component. Or, equivalently, the same information may also be represented by a set of arrays of color samples, such as the traditional tri-chromatic RGB representation.
A pixel value is represented by a vector of C values, where C is the number of components. Each value of a vector is represented with a number of bits which defines a maximal dynamic range of the pixel values.
A block of a picture (or block image or block) means a set of pixels which belong to this picture and the pixel values of a block means the values of the pixels which belong to this block.
Usually, a plenoptic camera comprises a micro-lens array which is positioned between a main lens and an image sensor. The sensor of a plenoptic camera records an image which is made of a collection of 2D small images arranged within a 2D image. The 2D small images are called micro-lens images, and they are generated by the lenses from the micro-lens array. Usually, the lenses and the corresponding micro-lens images can be identified within a 2D coordinate system (such as a Cartesian coordinate system, where a lens is identified by a couple of integer (i,j)). Hence, a pixel of the image sensor (which can also be identified within a 2D coordinate system) can be associated with 4 coordinates (x, y, i, j). Therefore, a pixel of the image sensor can record L(x,y,i, j) which is a 4D light-field.
The main lens is an ideal thin lens with a focal distance F and a diameter Φ. The F-number of the main lens is 0=F/Φ.
The micro lens array is made of micro-lenses having a focal distance f. The pitch of the micro-lenses is 101 . The F-number of the micro-lens is o=f/Φ (assuming that the diameter of the micro-lens is equal to the micro-lens pitch). The micro-lens array is located at the fix distance D from the main lens. The micro-lenses might have any shape like circular or squared. The diameter of the shape is lower or equal to Φ. One can consider the peculiar case where the micro-lenses are pinholes. In this context, the following equation remains valid with f=d.
The sensor is made of a square lattice of pixels having a physical size of δ.67 is in unit of meter per pixel. The sensor is located at the fix distance d from the micro-lens array.
The object (not visible in
Each micro-lens produces a micro-image represented by a circle (the shape of the small image depends on the shape of the micro-lenses which is typically circular). Pixel coordinates are labelled (x, y). p is the distance between the centers of two consecutive micro-images, p is not necessary an integer value. Usually, micro-lenses are chosen such that p is larger than a pixel size δ. Micro-lens images are referenced by their coordinate (i,j). Each micro-lens image samples the pupil of the main-lens with a (u, v) coordinate system. Some pixels might not receive any photons from any micro-lens; those pixels are discarded. Indeed, the inter micro-lens space is masked out to prevent photons to pass outside from a micro-lens (if the micro-lenses have a square shape, no masking is needed). The center of a micro-lens image (i,j) is located on the sensor at the coordinate (xi,j, yi,j). θ is the angle between the square lattice of pixel and the square lattice of micro-lenses, in
r is the number of consecutive micro-lens images in one dimension. An object is visible in r2 micro-lens images. Depending on the shape of the micro-lens image, some of the r2 views of the object might be invisible.
The distances p and w introduced in the previous sub-section are given in unit of pixel. They are converted into physical unit distance (meters) respectively P and W by multiplying them by the pixel size δ: W=δw and P=δp. These distances depend on the plenoptic camera characteristics.
In the plenoptic camera of
A similar design consists in fixing f=d, one speaks about the so-called type I plenoptic camera (see
The replication distance W varies with the z the distance of the object. To establish the relation between W and z, one relies on the thin lens equation:
And the Thales law:
Mixing the 2 previous equations on deduces:
The relation between W and z does not assume that the micro-lens images are in focus. Micro-lens images are strictly in focus according to the thin lens equation:
Also from the Thales law one derives P
The ratio e defines the enlargement between the micro-lens pitch and the micro-lens images pitch. This ratio is very close to 1 since D»d.
The micro-images can be re-organized into the so-called sub-aperture images (also named image views). A sub-aperture image collects all 4D light-field pixels having the same (u, v) coordinates (i.e. the pixels that are associated with the same part of a decomposition of the pupil). Let I×J being the number of micro-lenses covering the sensor, and Nx×Ny the number of pixels of the sensor. The number of sub-aperture images is equal to p×p. Each sub-aperture image has a size of (I,J)=(Nx/p, Ny/p) pixels.
The relations between (x, y, i,j) and (α, β, u, v) are defined as follow:
Where [.] denotes the floor function, and mod denotes the modulo function.
If p is not exactly an integer but close to an integer, then the sub-aperture images can be computed easily considering the distance between the micro-lens image equal to [p] the integer just smaller than p. This case occurs especially when the micro-lens diameter ϕ is equal to an integer number of pixels. In the case, p=ϕe being slightly larger than ϕ since e=(D+d)/d is slightly greater than 1. The advantage of considering [p] is that the sub-aperture images are computed without interpolation since one pixel L(x, y, i,j) corresponds to an integer coordinate sub-aperture pixel S(α, β, u, v). The drawback is that the portion of a pupil from which photons are recorded is not constant within a given sub-aperture image S(u, v). To be precise, S(u, v) sub-aperture image is not exactly sampling the (u, v) pupil coordinate. Nevertheless, even though the sub-apertures images are sampling a (u, v) coordinate which varies slightly with the pixel coordinate (α, β) the proposed technique is effective. If p is not an integer, or if the micro-lens array is rotated versus the pixel array, then the sub-aperture images need to be determined or computed using interpolation since the centers (xi,j, ui,j) of the micro-lenses are not integer.
In the following, we consider that the sub-aperture images are computed considering [p] the integral part of micro-image pitch. The advantage is that the sub-aperture images are extracted without any loss in signal, and the raw image can be recovered also without any signal degradation. In addition, by abuse of notation, we consider that [p] and p are equivalent.
Within the light-field image L(x,y,i, j) an object is made visible on several micro-images with a replication distance w. On the sub-aperture images, an object is also visible several times. From one sub-aperture image to the next horizontal one, an object coordinate (α, β) appears shifted by the disparity ρ. The relation between ρ and w is defined by:
Also it is possible to establish a relation between the disparity ρ and the distance z of the object by mixing equations (5) and (9):
Image refocusing consists in projecting the light-field pixels L(x, y, i, j) recorded by the sensor into a 2D refocused image of coordinate (X, Y). The projection is performed by shifted the micro-images (i,j):
Where wfocus is the selected replication distance corresponding to zfocus the distance of the objects that appear in focus in the computed refocused image. s is a zoom factor which controls the size of the refocused image. The value of the light-field pixel L(x,y,i,j) is added on the refocused image at coordinate (X, Y). If the projected coordinate is non-integer, the pixel is added using interpolation. To record the number of pixels projected into the refocus image, a weight-map image having the same size than the refocus image is created. This image is preliminary set to 0. For each light-field pixel projected on the refocused image, the value of 1.0 is added to the weight-map at the coordinate (X, Y). If interpolation is used, the same interpolation kernel is used for both the refocused and the weight-map images. After, all the light-field pixels are projected, the refocused image is divided pixel per pixel by the weight-map image. This normalization step, ensures brightness consistency of the normalized refocused image.
Equivalently, the refocused images can be computed by summing-up the sub-aperture images S(α, β) taking into consideration the disparity ρfocus for which objects at distance zfocus are in focus.
The sub-aperture pixels are projected on the refocused image, and a weight-map records the contribution of this pixel, following the same procedure described above.
Usually, the sub-aperture images are showing flux variation between themselves. The flux variation between the sub-aperture induced by either the sampling of the micro-images and/or the vignetting of the main-lens, can be an issue when an encoding (i.e. a compression) of the sub-aperture images has to be performed.
When building a light-field sensor, it is common to stick a micro-lens array where the micro-lens diameter ϕ is strictly equal ϕ=k67 where δ is the physical size of a pixel, and k an integer.
To illustrate this effect, a synthetic plenoptic image captured with an ideal plenoptic camera has been simulated using a PBRT (Physically Based Rendering software) extended to simulate plenoptic camera. One considers the following features for such plenoptic cameras:
24 mm
It should be noted that the main-lens is considered as an ideal perfect thin lens. The synthetic image is made of a test chart uniformly illuminated.
It is worth noting that the sum of the 4 sub-aperture images is almost constant. More precisely, the image resulting from the sum is not strictly constant since the micro-images have a size of 2e0/o×2e0/o pixels (where e=D+d/D) and are not exactly centered in the middle of 2×2 pixels. Thus some photons belonging to the micro-lenses observed at the border of the sensor are lost. Nevertheless, the variation of light flux of the sum of the 4 images is almost negligible, and could be null if the aperture of the main-lens decreases (Φ being smaller).
Summing the p×p sub-aperture images into a single image is equivalent to having a 2D camera with the main-lens and pixel array having a pixel size p times larger than the light-field sensor. Thus, the sum of the sub-aperture images is showing common images as captured by 2D cameras.
To correct the flux variation between the sub-apertures, the diameter ϕ of the micro-lenses must be decreased a little such that P=2δ. According to equation (7) one deduces that: ϕ=PD/D+d=11.99114 μm. This result could be generalized for a main-lens with a complex optical design. In this case, the distance D is equal to the exit pupil distance of the main-lens.
In such a design, the step ϕ of the micro-lens array is slightly smaller the distance between 2 pixels. The micro-lens array is positioned such that the micro-lens at the center of the micro-lens array, is exactly aligned with 2×2 pixels at the middle of the sensor.
In most cases, the distance p between 2 micro-lens images is slightly larger than an integer number of pixels.
However, by design, the distance between the micro-images can be adapted to be equal to an integer number of pixels, but this design is valid only for a fixed distance D between the main-lens and the micro-lens array (or the exit pupil distance considering a real main-lens). If the main-lens is moved to focus on nearby objects, the distance D varies and the sub-aperture images will receive un-homogeneous flux. Also, if the main-lens can be replaced by other main-lenses (like for interchangeable lens cameras), the distance D will vary (except the ideal case where all the main-lenses share the same exit pupil distance). Therefore, it is common that the flux of the sub-aperture images is not homogeneous through the full field of view.
Fraction of the Micro-Image Captured by a Pixel
The case where p (the distance between two consecutive micro-images in pixel coordinate) is strictly an integer is uncommon. In practice, the sub-aperture images are extracted considering an integer distance between the micro-images [p+0.5]. The extracted sub-aperture images are therefore computed without interpolations, but the sub-aperture images are showing flux variation (as illustrated in
In order to estimate the fraction of a micro-image captured by a pixel, it is necessary to perform some analysis as detailed in
Indeed,
The ratio of flux received by a pixel can be modelled assuming that a pixel is equi-sensitive to any photons which hit its surface (δ2). To compute the ratio R1,1(i,j,b) of the micro-image captured by the pixel 1200, one needs to compute the surface St of the hashed triangle, and the surface Sc of the gray circular segment. To measure these 2 surfaces, one needs to characterize the various distances and angles following circular segment mathematics.
The previous table summarizes the ratio of micro-image received by the pixel (1,1) also named pixel 1200. The ratio Ru,v(i, j) of the 3 other pixels is computed by mirror of the decentering Δ(i,j):
R
0,0(i, j,b)=R1,1(−i,−j,b)
R
0,1(i,j,b)=R1,1(−i,j,b)
R
1,0(i,j)=R1,1(i,−j,b)
In summary, the flux received by a pixel within a sub-aperture image (i,j) relative to the complete sub-aperture image depends on 3 parameters:
Simpler model Fraction of the micro-image captured by a pixel
The literal formulation of the ratios is quite complex. A simpler model is proposed to approximate the ratio with a shorter formula:
The
The
The error between R1,1(i, j, b) and {tilde over (R)}1,1(i,j, b) is bellow 3% for shifts within the disk:
It should be noted that the previous embodiment is described with a plenoptic camera for which each micro-image is made up of 4 pixels as depicted in
Encoding Plenoptic Images
To encode plenoptic images it is convenient to convert them into the sub-aperture images. Then the MVC standard can be used to encode the sub-aperture images. This way of encoding is optimum if the sub-aperture images are extracted with [p] such that no interpolation is required (sub-aperture images and raw image are equivalent as illustrated in
In addition, the encoding of sub-apertures images is also a preference choice especially for plenoptic sampling with small micro-images (p<6 pixel for instance). Indeed, with small micro-images it is hard to encode a micro-image versus another micro-image according to a motion vector. The blocks being used require to be smaller than the size of a micro-image.
Multiview Video Coding
For reminder, the Multiview Video Coding (MVC) standard is dedicated to several images of the same scene as typically taken by a matrix of cameras. It should be noted that, in the following, by abuse of notation, when a reference to the MVC standard is done, such reference should apply to all the standards in which encoding of Multiview images is envisioned (as for example MPEG/H.264-MV, or MV-HEVC, etc.).
In order to exploit inter-camera redundancy, the MVC standard defines inter-view prediction. This feature is needed since the various view of the scene are redundant even though the parallax from different views is varying. Hence, inter-view prediction is a key-element of MVC which permit to decrease a video coding by an average of 25% compared to the independent coding of the views.
MVC defines one reference view to be coded according to conventional 2D video codec, and the other view can benefit from the reference view to produce to inter-view coding.
MVC and Flux Variation Between Sub-Apertures
Using MVC on the sub-aperture images allows prediction between block images spread on various sub-aperture images. But the flux variation within each sub-aperture images and among the sub-aperture images, makes residual blocks between blocks of pictures artificially strong as illustrated in
In one embodiment of the disclosure, it is proposed to use ratios to normalize the flux of the block of pictures when they are compared with another one to extract a residual. Hence, at least one goal of the present disclosure is to propose a technique for obtaining residuals having a null average which is likely to be more compressed.
Encoding a Raw Plenoptic Image According to one Embodiment of the Disclosure
In a step referenced 101, an electronic device extracts the sub-aperture images from the raw plenoptic image. The sub-aperture images are extracted by pixel de-interleaving as illustrated in
Then, in a step referenced 102, the electronic device can select one of the sub-aperture image as the reference view for an MVC encoder.
In a step referenced 103, the electronic device performs the encoding of the other image views as follows (the other sub-aperture images are defined as views for the MVC encoder):
A block image M1(u1, v1, α1, β1) is extracted from the sub-aperture image (u1, v1) at coordinate (α1, β1). A second block image M2(u2, v2, α2, β2) is extracted from the sub-aperture image (u2, v2) at coordinates (α2, β2). It should be noted that the block images M1 and M2 might be extracted from the same sub-aperture image (intra coding within the same view), or from 2 distinct sub-aperture images (intra coding within the same multi-view image), or within sub-aperture images from consecutive temporal images. It should be noted that when we discuss of a block image Mk from the sub-aperture image (u′, v′) at coordinates (α′, β′) with a given size (for example 2N×2N with N=2, 3,4 or 5), such block image Mk can either have for center the pixel at coordinates (α′, β′) as depicted in
In the case the two block images M1 and M2 fulfill a block matching criterion (i.e. a residual is below a given threshold) then, instead of encoding straightforwardly the residual, it is proposed, according to one embodiment of the disclosure, to determine a modified residual by determining the pixel values of the residual block between block images M1 and M2 with the values of modified pixels of the block image M1 and M2 : the pixels of the block images M1 and M2 are first normalized (or divided) by the ratio Ru
In one embodiment of the disclosure, for each multi-view which is encoded, the two parameters b=δϕd/D and e′=d/D are also sent as metadata. These parameters are deduced by knowing the physical properties of the plenoptic camera.
In a step referenced 201, an electronic device decodes the reference view of the MVC encoded sequence is decoded.
Then, in a step referenced 202, the electronic device obtains some special metadata (as for example the values b and e′ which can be extracted from the metadata associated with the encoded multi-image).
In addition, the electronic device performs, in a step referenced 203, the decoding of other image views as follows (the other sub-aperture images associated to the views of the MVC are decoded):
In case of a residual Res1,2 is extracted from the encoded sequence and corresponds to the comparison between the already decoded block M1(u1, v1, α1, β1) and the unknown block M2(u2, v2, α2, β2), the pixel (l, m) values of M2[l, m] are computed as follows:
The Ratios Ru
In another embodiment of the disclosure, the parameters b and e′ are estimated on the sub-aperture images without prior knowledge on the optical characteristics of the plenoptic cameras (expect [p] the number of pixels per micro-lens images). The estimation is performed by the encoder which associates several couple of blocks (M1, M2) and compute the parameters b and e′ using least square estimator according the model of the Ratios.
In another embodiment, even though the plenoptic sensor is built such that the micro-lens image diameter is strictly equal to an integer number of pixels, the sub-aperture images might show some flux variation from corners to corners. Indeed, the optical aberrations of the main-lens such that the geometrical distortion makes photons passing through a quarter of the main-lens pupil to be recorded by a sub-aperture image which is associated to another quarter pupil. Thus, some optical aberrations produce flux variation between sub-aperture images independently to the sub-aperture flux variation caused by the micro-image sizes. These variations do not follow necessarily the model previously presented. One skilled in the art can determine a set of parameters for achieving the expected goal. This set of parameters can be deduced by the encoder and transmitted to the decoder.
Such device referenced 1600 comprises a computing unit (for example a CPU, for “Central Processing Unit”), referenced 1601, and one or more memory units (for example a RAM (for “Random Access Memory”) block in which intermediate results can be stored temporarily during the execution of instructions a computer program, or a ROM block in which, among other things, computer programs are stored, or an EEPROM (“Electrically-Erasable Programmable Read-Only Memory”) block, or a flash block) referenced 1602. Computer programs are made of instructions that can be executed by the computing unit. Such device 1600 can also comprise a dedicated unit, referenced 1603, constituting an input-output interface to allow the device 1600 to communicate with other devices. In particular, this dedicated unit 1603 can be connected with an antenna (in order to perform communication without contacts), or with serial ports (to carry communications “contact”). It should be noted that the arrows in
In an alternative embodiment, some or all of the steps of the method previously described, can be implemented in hardware in a programmable FPGA (“Field Programmable Gate Array”) component or ASIC (“Application-Specific Integrated Circuit”) component.
In an alternative embodiment, some or all of the steps of the method previously described, can be executed on an electronic device comprising memory units and processing units as the one disclosed in the
Number | Date | Country | Kind |
---|---|---|---|
17305833.0 | Jun 2017 | EP | regional |