CODING AND DECODING OF AN OMNIDIRECTIONAL VIDEO
20230239503 · 2023-07-27
Inventors
Cpc classification
H04N13/161
ELECTRICITY
H04N13/111
ELECTRICITY
H04N19/132
ELECTRICITY
H04N19/167
ELECTRICITY
H04N19/85
ELECTRICITY
H04N19/59
ELECTRICITY
H04N19/597
ELECTRICITY
International classification
H04N19/597
ELECTRICITY
H04N19/132
ELECTRICITY
H04N19/167
ELECTRICITY
Abstract
A process for coding an image of a view from among a plurality of views, including the following steps: selecting a first or a second coding method to code image data from the image; generating a data signal containing information indicating whether it is the first or the second coding method that has been selected, and, if it is the first coding method, coding the original image data so as to provide coded original data, and, if it is the second coding method, coding processed image data from the image obtained by image processing of the original image data so as to provide coded processed data; and coding information describing the image processing which has been applied.
Claims
1. A method for coding an image of a view forming part of a plurality of views, the plurality of views simultaneously representing a 3D scene from different viewing angles or positions, implemented by a coding device, the method comprising: selecting, from among first and second coding methods available for coding a current image of said view, one of said first and second coding methods for coding said current image of said view, said first coding method being used to code original data of said current image of said view and said second coding method being used to code processed original data of said current image of said view, generating a data signal containing information indicating whether the first coding method or the second coding method is selected, if the first coding method is selected, coding the original data of the current image of said view, said first coding method providing coded original data, if the second coding method is selected: coding processed original data of the current image of said view, said processed original data corresponding to at least one remaining region of the current image of said view, said remaining region having been obtained by a cropping applied to the original data of the current image of said view, said coding providing at least one coded remaining region, coding description information of said cropping, said coding description information being information on a location, in the image of said view, of said remaining region, said generated data signal further containing: said coded original data of the current image of said view, if the first coding method has been selected, said coded remaining region of the current image of said view, and said coded description information of said cropping, if the second coding method has been selected.
2. The method as claimed in claim 1, wherein: the remaining region of the current image of said view corresponds to pixels of the image of said view which have not been deleted following application of said cropping to the image of said view.
3. The method as claimed in claim 1, wherein: the description information of said cropping comprises some coordinates of a pixel located at the top, the furthest to the left, in said remaining region of the image of said view, and some coordinates of another pixel located at the bottom, the furthest to the right, in the remaining region of the image of said view.
4. The method as claimed in claim 1, wherein: the description information of said cropping contains a number of rows and/or columns of pixels deleted in the image of said view, and a position of said rows and/or columns in the image of said view.
5. The method as claimed in claim 1, wherein: said cropping is configured to delete a fixed amount of pixels of the current image of said view.
6. A method for decoding a data signal representative of an image of a view forming part of a plurality of views, the plurality of views simultaneously representing a 3D scene from different viewing angles or positions, implemented by a decoding device, comprising the following: reading, in the data signal, an item of information indicating whether a current image of said view is to be decoded according to a first or a second decoding method, the first and second decoding methods being available for decoding said current image of said view, said first decoding method being used to decode coded original data associated with said current image of said view and said second decoding method being used to decode coded processed original data associated with said current image of said view, if the item of information indicates the first decoding method: reading, in the data signal, coded data associated with the current image of said view, said coded data corresponding to the coded original data of the image of said view, reconstructing the current image of said view on the basis of said coded original data, if the item of information indicates the second decoding method: reading, in the data signal: coded data associated with the current image of said view, said coded data corresponding to at least one remaining region of the image of said view which has been coded, said remaining region having been obtained by a cropping applied to the original data of the current image of said view, description information of said cropping, said coding description information being information on a location, in the image of said view, of said remaining region, reconstructing the current image of said view on the basis of said coded remaining region and description information of said cropping.
7. The method as claimed in claim 6, wherein: the remaining region of the current image of said view corresponds to pixels of the image of said view which have not been deleted following application of said cropping to the image of said view.
8. The method as claimed in claim 6, wherein: the description information of said cropping comprises some coordinates of a pixel located at the top, the furthest to the left, in said remaining region of the image of said view, and some coordinates of another pixel located at the bottom, the furthest to the right, in the remaining region of the image of said view.
9. The method as claimed in claim 6, wherein: the description information of said cropping contains a number of rows and/or columns of pixels deleted in the image of said view, and a position of said rows and/or columns in the image of said view.
10. A device for coding an image of a view forming part of a plurality of views, the plurality of views simultaneously representing a 3D scene from different viewing angles or positions, said coding device comprising: a processor which is configured to implement: selecting from among first and second coding methods available for coding the data of a current image of said view, one of said first and second coding methods for coding said current image of said view, said first coding method being used to code original data of said current image of said view and said second coding method being used to code processed original data of said current image of said view, generating a data signal containing information indicating whether the first coding method or the second coding method is selected, if the first coding method is selected, coding the original data of the current image of said view, said first coding method providing coded original data, if the second coding method is selected: coding processed original data of the current image of said view, said processed original data corresponding to at least one remaining region of the current image of said view, said remaining region having been obtained by a cropping applied to the original data of the current image of said view, said coding providing at least one coded remaining region, coding description information of said cropping, said coding description information being information on a location, in the image of said view, of said remaining region, said generated data signal further containing: said coded original data of the current image of said view, if the first coding method has been selected, said coded remaining region of the current image of said view, and said coded description information of said cropping, if the second coding method has been selected.
11. A device for decoding a data signal representative of an image of a view forming part of a plurality of views, the plurality of views simultaneously representing a 3D scene from different viewing angles or positions, said decoding device comprising: a processor which is configured to implement: reading, in the data signal, an item of information indicating whether a current image of said view is to be decoded according to a first or a second decoding method, the first and second decoding methods being available for decoding said current image of said view, said first decoding method being used to decode coded original data associated with said current image of said view and said second decoding method being used to decode coded processed original data associated with said current image of said view, if the item of information indicates the first decoding method: reading, in the data signal, coded data associated with the current image of said view, said coded data corresponding to the coded original data of the image of said view, reconstructing the current image of said view on the basis of said coded original data, if the item of information indicates the second decoding method: reading, in the data signal: coded data associated with the current image of said view, said coded data corresponding to at least one remaining region of the image of said view which has been coded, said remaining region having been obtained by a cropping applied to the original data of the current image of said view, description information of said cropping, said coding description information being information on a location, in the image of said view, of said remaining region, reconstructing the current image of the view on the basis of said coded remaining region and description information of said cropping.
12. A non-transitory computer-readable medium comprising a computer program stored thereon comprising program code instructions for executing a method for coding an image of a view forming part of a plurality of views, when the instructions are executed on a processor of a coding device, the plurality of views simultaneously representing a 3D scene from different viewing angles or positions, wherein the instructions configure the coding device to: select from among first and second coding methods available for coding a current image of said view, one of said first and second coding methods for coding said image of said current view, said first coding method being used to code original data of said current image of said view and said second coding method being used to code processed original data of said current image of said view, generate a data signal containing information indicating whether the first coding method or the second coding method is selected, if the first coding method is selected, code the original data of the current image of said view, said first coding method providing coded original data, if the second coding method is selected: code processed original data of the current image of said view, said processed original data corresponding to at least one remaining region of the current image of said view, said remaining region having been obtained by said image processing applied to the original data of the current image of said view, said coding providing at least one coded remaining region, code description information of said cropping, said coding description information being information on a location, in the image of said view, of said remaining region, said generated data signal further containing: said coded original data of the current image of said view, if the first coding method has been selected, said coded remaining region of the current image of said view, and said coded description information of said cropping, if the second coding method has been selected.
13. A non-transitory computer-readable medium comprising a computer program stored thereon comprising program code instructions for executing a method for decoding a data signal representative of an image of a view forming part of a plurality of views, when the instructions are executed on a processor of a decoding device, the plurality of views simultaneously representing a 3D scene from different viewing angles or positions, wherein the instructions configure the decoding device to: read, in the data signal, an item of information indicating whether a current image of said view is to be decoded according to a first or a second decoding method, the first and second decoding methods being available for decoding said current image of said view, said first decoding method being used to decode coded original data associated with said current image of said view and said second decoding method being used to decode coded processed original data associated with said current image of said view, if the item of information indicates the first decoding method: read, in the data signal, coded data associated with the current image of said view, said coded data corresponding to the coded original data of the image of said view, reconstruct the current image of said view on the basis of said coded original data, if the item of information indicates the second decoding method: read, in the data signal: coded data associated with the current image of said view, said coded data corresponding to at least one remaining region of the image of said view which has been coded, said remaining region having been obtained by a cropping applied to the original data of the current image of said view, description information of said cropping, said coding description information being information on a location, in the image of said view, of said remaining region, reconstruct the current image of the view on the basis of said coded remaining region and description information of said cropping.
Description
5. BRIEF DESCRIPTION OF THE DRAWINGS
[0093] Other features and advantages will become more clearly apparent from reading several preferred embodiments, given purely by way of illustrative and non-limiting examples, and described below with reference to the appended drawings, in which:
[0094]
[0095]
[0096]
[0097]
[0098]
[0099]
[0100]
[0101]
[0102]
[0103]
[0104]
[0105]
[0106]
[0107]
[0108]
[0109]
[0110]
[0111]
[0112]
[0113]
[0114]
[0115]
6. DESCRIPTION OF THE GENERAL PRINCIPLE OF THE INVENTION
[0116] The invention mainly proposes a scheme for coding a plurality of current images of, respectively, a plurality of views, the plurality of views representing, at the current time, a 3D scene according to a given position or a given viewing angle, in which two coding techniques are available: [0117] a first coding technique, according to which at least one current image of a view is coded using a conventional coding mode, such as for example HEVC, MV-HEVC, 3D-HEVC, [0118] a second, innovative coding technique, according to which the processing data of at least one current image of a view, which result from the application of a processing of the original data of this image, using a particular image processing, are coded using a conventional coding mode of the aforementioned type and/or any other suitable coding mode, so as to significantly decrease the signaling cost of the coded data of this image, resulting from the processing implemented before the coding step.
[0119] Correspondingly, the invention proposes a decoding scheme which makes it possible to combine two decoding techniques: [0120] a first decoding technique, according to which at least one current image of a coded view is reconstructed using a conventional decoding mode, such as for example HEVC, MV-HEVC, 3D-HEVC, and corresponding to a conventional coding mode used in the coding and having been signaled to the decoder, so as to obtain at least one reconstructed image of a view which is of very good quality, [0121] a second, innovative decoding technique according to which the coded processing data of at least one image of a view are decoded using a decoding mode corresponding to the coding mode signaled to the decoder, namely either the conventional coding mode and/or the other suitable coding mode, so as to obtain processed image data and description information of the image processing from which the obtained processed data originate. The processed data obtained on decoding for this image therefore do not correspond to the original data thereof, unlike the image data decoded according to the first decoding technique.
[0122] The image of the view which will be subsequently reconstructed on the basis of such decoded processed image data and the image processing description information will be different from the original image of the view, i.e. before processing, then coding of its original data. However, such a reconstructed image of the view will constitute the image of a view which, used with images of other views reconstructed according to the first conventional decoding technique, will make it possible to synthesize images of intermediate views, in a particularly efficient and effective manner.
6.1 Exemplary Coding Scheme Implementations
[0123] A method for coding 360°, 180° or other omnidirectional videos is described below, which may use any type of multiview video coder, for example conforming to the 3D-HEVC or MV-HEVC standard, or the like.
[0124] With reference to
[0125] According to a common example, in the case where three omnidirectional cameras are used to generate a video, for example a 360° video: [0126] a first omnidirectional camera may for example be placed in the center of the 3D scene, with a 360°×180° viewing angle, [0127] a second omnidirectional camera may for example be placed on the left in the 3D scene, with a 360°×180° viewing angle, [0128] a third omnidirectional camera may for example be placed on the right in the 3D scene, with a 360°×180° viewing angle.
[0129] According to another more atypical example, in the case where three omnidirectional cameras are used to generate an α° video, with 0°<α≤360°: [0130] a first omnidirectional camera may for example be placed in the center of the 3D scene, with a 360°×180° viewing angle, [0131] a second omnidirectional camera may for example be placed on the left in the 3D scene, with a 270°×135° viewing angle, [0132] a third omnidirectional camera may for example be placed on the right in the 3D scene, with a 180°×90° viewing angle.
[0133] Other configurations are of course possible.
[0134] At least two views of said plurality of views may represent the 3D scene from the same viewing angle, or not.
[0135] The coding method according to the invention consists in coding, at a current time: —an image IV.sub.1 of a view V.sub.1, [0136] an image IV.sub.2 of a view V.sub.2, [0137] etc., [0138] an image IV.sub.k of a view V.sub.k, [0139] . . . , [0140] an image IV.sub.N of a view V.sub.N,
[0141] An image of a view in question may equally be a texture image or a depth image. The image of a view in question, for example the image IV.sub.k, contains an amount Q (Q≥1) of original data (d1.sub.k, . . . , dQ.sub.k), such as for example Q pixels.
[0142] The coding method then comprises the following, for at least one image IV.sub.k of a view V.sub.k, to be coded:
[0143] In C1, a first coding method MC1 or a second coding method MC2 for the image IV.sub.k is selected.
[0144] If the first coding method MC1 is selected, in C10, information flag_proc is coded, for example on a bit set to 0, to indicate that the coding method MC1 has been selected.
[0145] In C11a, the Q original data (pixels) d1 k, . . . , dQ.sub.k of the image IV.sub.k are coded using a conventional coder, such as for example conforming to the HEVC, MV-HEVC, 3D-HEVC, etc. standard. On completion of the coding C11a, a coded image IVC.sub.k of the view V.sub.k is obtained. The coded image IVC.sub.k then contains Q coded original data dc1.sub.k, dc2.sub.k, . . . , dcQ.sub.k.
[0146] In C12a, a data signal F1.sub.k is generated. As shown in
[0147] If the second coding method MC2 is selected, in C10, information flag_proc is coded, for example on a bit set to 1, to indicate that the coding method MC2 has been selected.
[0148] In C11b, the coding method MC2 is applied to data DT.sub.k resulting from a processing of the image IV.sub.k, carried out before the coding step.
[0149] Such data DT.sub.k comprise: [0150] data of image type (pixels) corresponding to all or some of the original data of the image IV.sub.k which have been processed using a particular image processing, before the coding step, various detailed examples of which will be described further on in the description, [0151] description information of the image processing that has been applied to the image IV.sub.k, before the coding step C11b, such description information being for example of text and/or image type.
[0152] On completion of the coding C11b, coded processed data DTC.sub.k are obtained. They are representative of a coded processed image IVTC.sub.k.
[0153] Thus, the processed data DT.sub.k do not correspond to the original data of the image IV.sub.k.
[0154] For example, these processed data DT.sub.k correspond to an image of which the resolution is higher or lower than that of the image IV.sub.k before processing. Thus, the processed image IV.sub.k could for example be larger, since it is obtained on the basis of images of other views, or conversely be smaller, since it results from the deletion of one or more original pixels from the image IV.sub.k.
[0155] According to another example, these processed data DT.sub.k correspond to an image of which the format of representation (YUV, RGB, etc.) of the processed image IV.sub.k is different from the original format of the image IV.sub.k before processing, as well as the number of bits for representing a pixel (16 bits, 10 bits, 8 bits, etc.).
[0156] According to yet another example, these processed data DT.sub.k correspond to a color or texture component which is degraded with respect to the original texture or color component of the image IV.sub.k before processing.
[0157] According to yet another example, these processed data DT.sub.k correspond to a particular representation of the original content of the image IV.sub.k before processing, for example a representation of the filtered original content of the image IV.sub.k.
[0158] In the case where the processed data DT.sub.k are only image data, that is to say are for example in the form of a grid of pixels, the coding method MC2 may be implemented by a coder which is similar to the coder implementing the first coding method MC1. It could be a lossy or lossless coder. In the case where the processed data DT.sub.k are different from the image data, such as for example data of text type, or else comprise both image data and data of a type other than image data, the coding method MC2 may be implemented: [0159] by a lossless coder in order to code specifically the data of text type, [0160] by a lossy or lossless coder in order to code specifically the image data, such a coder possibly being identical to the coder implementing the first coding method MC1 or else different.
[0161] In C12b, a data signal F2.sub.k is generated. As shown in
[0162] As an alternative, in C12c, in the case where the coded processed data DTC.sub.k comprise both image data and data of text type, two signals F3.sub.k and F′3.sub.k are generated.
[0163] As shown in
[0166] The coding method which has just been described above may then be implemented for each image IV.sub.1, IV.sub.2, . . . , IV.sub.N of the N views to be coded that are available, for some of them only or else may be limited to the image IV.sub.k, with for example k=1.
[0167] According to two exemplary embodiments shown in
[0170] If n=0, all of the images IV.sub.1, . . . , IV.sub.N of all of the views are processed. If n=N−1, the image of a single view among N is processed, for example the image of the first view.
[0171] On completion of the processing of the N-n other images IV.sub.n+1, . . . , IV.sub.N, M-n processed data are obtained. If M=N, there are as many processed data as there are views to be processed. If M<N, at least one of the N-n views has been deleted during the processing. In this case, on completion of the coding C11b according to the second coding method MC2, processed data relating to this image of the deleted view are coded, using a lossless coder, which comprise only information indicating the absence of this image and of this view. No pixel will then be coded, using the second coding method MC2, using a coder of HEVC, MVC-HEVC, 3D-HEVC, etc. type, for this image deleted by the processing.
[0172] In the example of
[0173] As represented by the dashed arrows, the images IV.sub.1, . . . , IV.sub.n may be used during the processing of the N-n other images IV.sub.n+1, . . . , IV.sub.N.
[0174] Still with reference to
[0177] In C13c, the data signals F3.sub.n+1, . . . , F3.sub.N and F′3.sub.n+1, . . . , F′3.sub.N are concatenated, generating a data signal F3.
[0178] In C14, either the signals F1 and F2 are concatenated, or the signals F1 and F3 are concatenated, providing a data signal F capable of being decoded by a decoding method which will be described further on in the description.
[0179] In the example of
[0180] As represented by the dashed arrows, the first images IV.sub.1, . . . , IV.sub.n may be used during the processing of the N-n other images IV.sub.n+1, . . . , IV.sub.N.
[0181] Still with reference to
[0184] In C14, either the signals F1 and F2 are concatenated, or the signals F1, F3 and F′3 are concatenated, providing a data signal F capable of being decoded by a decoding method which will be described further on in the description.
[0185] Of course, other combinations of coding methods are possible.
[0186] According to one possible variant of
[0187] According to one possible variant of
[0188] A description will now be given, with reference to
[0189] In the example shown in these figures, the processing applied to the original data of the image IV.sub.k is a cropping of one or more regions of this image, in a horizontal or vertical direction or else in both directions at the same time.
[0190] In the example of
[0191] In the example of
[0192] In the example of
[0193] In the example of
[0194] In the example of
[0195] The processed data DT.sub.k to be coded then comprise: [0196] the pixels of the remaining region Z.sub.R of the image IV.sub.k which have not been deleted following the cropping (
[0198] In the case for example of
[0201] In the case for example of
[0206] The original data (pixels) of the rectangular region defined by the coordinates of the pixel located at the top, the furthest to the left in the remaining region Z.sub.R (resp. Z1.sub.R and Z2.sub.R) and the coordinates of the pixel located at the bottom, the furthest to the right, in the remaining region Z.sub.R (resp. Z1.sub.R and Z2.sub.R) are then coded in C11b (
[0207] As a variant, the information describing the cropping applied contains the number of rows and/or columns of pixels to be deleted, and the position of these rows and/or columns in the image IV.sub.k.
[0208] According to one embodiment, the amount of data to be deleted by cropping is fixed. It may for example be decided to systematically delete X rows and/or Y columns from the image of a view in question. In this case, the description information contains only the information on the cropping or not for each view.
[0209] According to another embodiment, the amount of data to be deleted by cropping is variable between the image IV.sub.k of the view V.sub.k and an image of another view that is available.
[0210] The amount of data to be deleted by cropping may also depend for example on the position in the 3D scene of the camera which has captured the image IV.sub.k. Thus, for example, if the image of another view among said N views has been captured by a camera having a position/orientation in the 3D scene that is different from that of the camera which has captured the image IV.sub.k, an amount of data to be deleted that is different from the amount of data deleted for the image IV.sub.k will for example be used.
[0211] The application of a cropping may further depend on the time at which the image IV.sub.k is coded. At the current time, it may for example be decided to apply a cropping to the image IV.sub.k, while at the times preceding or following the current time, it may be decided not to apply such a cropping, or any processing for that matter, to the image IV.sub.k.
[0212] Finally, the cropping may be applied to the images of one or more views at the current time. The cropped region in the image IV.sub.k of the view V.sub.k may or may not be the same as the cropped region of an image of another view to be coded at the current time.
[0213] A description will now be given, with reference to
[0214] In the example shown in these figures, the processing applied to the original data of the image IV.sub.k is a downsampling of one or more regions of this image, in a horizontal or vertical direction.
[0215] In the example of
[0216] In the example of
[0217] In the example of
[0218] In the example of
[0219] The processed data DT.sub.k to be coded then comprise: [0220] the downsampled image data (pixels), [0221] information describing the downsampling applied, such as for example: [0222] the downsampling factor used, [0223] the downsampling direction used, [0224] in the case of
[0226] The downsampled image data (pixels) are then coded in C11b (
[0227] The value of the downsampling factor may be fixed or depend on the position in the 3D scene of the camera which has captured the image IV.sub.k. Thus, for example, if the image of another view among said N views has been captured by a camera having a position/orientation in the 3D scene that is different from that of the camera which has captured the image IV.sub.k, another downsampling factor will for example be used.
[0228] The application of a downsampling may further depend on the time at which the image of the view V.sub.k is coded. At the current time, it may for example be decided to apply a downsampling to the image IV.sub.k, while at the times preceding or following the current time, it may be decided not to apply such a downsampling, or any processing for that matter, to the image of the view V.sub.k.
[0229] Finally, the downsampling may be applied to the images of one or more views at the current time. The downsampled region in the image IV.sub.k may or may not be the same as the downsampled region of an image of another view to be coded at the current time.
[0230] A description will now be given, with reference to
[0231] In the example shown in
[0235] The processed data DT.sub.k to be coded, in the case of such filtering, then comprise: [0236] the original pixels which are contained in the hatched regions, [0237] information describing the filtering applied, such as for example a predefined value for each pixel not comprised in the hatched region, represented for example by a predefined value YUV=000.
[0238] The image data (pixels) corresponding to the hatched regions are then coded in C11b (
[0239] The filtering which has just been described in relation to the image IV.sub.k may be applied to one or more images of other views among said N views, to regions of these one or more images which may be different from one image of a view to another image of a view.
[0240] A description will now be given, with reference to
[0241] In the example shown in
[0242] In a manner known per se, such an occlusion detection consists in looking for the region Z.sub.OC of the image IV.sub.k on the basis of the image IV.sub.p, using for example a disparity estimate. The occluded region Z.sub.OC is then expanded, for example using a mathematical morphology algorithm. The region Z.sub.OC thus expanded is represented by hatching in
[0243] The processed data DT.sub.k to be coded, in the case of such an occlusion detection, then comprise: [0244] the original pixels which are contained in the hatched region, [0245] information describing the occlusion detection applied, such as for example a predefined value for each pixel not comprised in the hatched region, represented for example by a predefined value YUV=000.
[0246] The image data (pixels) corresponding to the hatched region are then coded in C11b (
[0247] A description will now be given, with reference to
[0248] In the example shown in
[0252] The processed data DT.sub.k to be coded, in the case of such a calculation, then comprise: [0253] an indicator of the pixels of the image IV.sub.k of said view which have been calculated, [0254] information on the location, in the image IV.sub.j, of the original pixels which have been used to calculate the pixels of the image IV.sub.k, [0255] and potentially information on the location, in the image IV.sub.j, of the original pixels which have been used to calculate the pixels of the image IV.sub.k.
[0256] The aforementioned calculation consists, for example, in subtracting the original pixels of the image IV.sub.k of a view and potentially the original pixels of the image IV.sub.l from the original pixels of the image IV.sub.j.
[0257] A description will now be given, with reference to
[0258] In the example shown in
[0262]
[0263] According to one particular embodiment of the invention, the actions performed by the coding method are implemented by computer program instructions. To that end, the coding device COD has the conventional architecture of a computer and comprises in particular a memory MEM_C, a processing unit UT_C, equipped for example with a processor PROC_C, and driven by the computer program PG_C stored in memory MEM_C. The computer program PG_C comprises instructions for implementing the actions of the coding method such as described above when the program is executed by the processor PROC_C.
[0264] On initialization, the code instructions of the computer program PG_C are for example loaded into a RAM memory (not shown), before being executed by the processor PROC_C. The processor PROC_C of the processing unit UT_C implements in particular the actions of the coding method described above, according to the instructions of the computer program PG_C.
6.2 Exemplary Decoding Scheme Implementations
[0265] A method for decoding a 360°, 180° or other omnidirectional video is described below, which may use any type of multiview video decoder, for example conforming to the 3D-HEVC or MV-HEVC standard, or the like.
[0266] With reference to
[0267] The decoding method according to the invention consists in decoding: [0268] a data signal representative of the coded data associated with the image IV.sub.1 of a view V.sub.1, [0269] a data signal representative of the coded data associated with the image IV.sub.2 of a view V.sub.2, [0270] . . . , [0271] a data signal representative of the coded data associated with the image IV.sub.k of a view V.sub.k, [0272] . . . , [0273] a data signal representative of the coded data associated with the image IV.sub.N of a view V.sub.N.
[0274] An image of a view in question to be reconstructed using the aforementioned decoding method may equally be a texture image or a depth image.
[0275] The decoding method comprises the following, for a data signal F1.sub.k, F2.sub.k or F3.sub.k and F′3.sub.k representative of at least one image IV.sub.k of a view V.sub.k, to be reconstructed:
[0276] In D1, the information flag_proc, indicating whether the image IV.sub.k has been coded using the first coding method MC1 or the second coding method MC2, is read in the data signal F1 k, F2.sub.k or F3.sub.k and F′3.sub.k, as shown, respectively, in
[0277] If it is the signal F1 k, the information flag_proc is at 0.
[0278] In D11a, the coded data dc1.sub.k, dc2.sub.k, . . . , dcQ.sub.k associated with the coded image IVC.sub.k are read in the data signal F1 k.
[0279] In D12a, an image IVD.sub.k is reconstructed on the basis of the coded data dc1.sub.k, dc2.sub.k, . . . , dcQ.sub.k that are read in D11a, using a decoding method MD1 corresponding to the coding method MC1 applied to the coding, in C11a in
[0280] On completion of the decoding D12a, the image IVD.sub.k thus reconstructed contains the original data d1.sub.k, d2.sub.k, . . . , dQ.sub.k of the image IV.sub.k which has been coded in C11a in
[0281] Since the image IVD.sub.k is in keeping with the original image IV.sub.k, it thus constitutes a master image which is suitable for use, in the context for example of a synthesis of intermediate views.
[0282] In D1, if it is the signal F2.sub.k or F3.sub.k, the determined information flag_proc is at 1.
[0283] If it is the signal F2.sub.k, in D11b, the coded processed data DTC.sub.k associated with the coded processed image IVTC.sub.k, as obtained in C11b in
[0284] These coded processed data DTC.sub.k that are read are only data of image type.
[0285] In D12b, a processed image IVTD.sub.k is reconstructed on the basis of the coded data DTC.sub.k that are read in D11b, using a decoding method MD2 corresponding to the coding method MC2 applied to the coding, in C11b in
[0286] On completion of the decoding D12b, the processed image thus reconstructed IVTD.sub.k, corresponding to the decoded data DTC.sub.k, contains the processed data DT.sub.k of the image IV.sub.k before their coding in C11b in
[0287] The reconstructed processed image IVTD.sub.k contains image data (pixels) corresponding to all or some of the original data of the image IV.sub.k which have been processed using a particular image processing, various detailed examples of which have been described with reference to
[0288] If it is the signal F3.sub.k, the coded processed data DTC.sub.k associated with the coded processed image IVTC.sub.k, are read in D11 c.
[0289] To that end: [0290] coded processed data DTC.sub.k of image type are read in the signal F3.sub.k, [0291] coded processed data DTC.sub.k, different from the image data, such as for example data of text type, or else comprising both image data and data of a type other than image data, are read in the signal F′3.sub.k.
[0292] The coded processed data DTC.sub.k are decoded in D12b, using the decoding method MD2, which may be implemented: [0293] by a lossy or lossless decoder in order to decode specifically the image data, such a decoder possibly being identical to the decoder implementing the first decoding method MD1 or else different, [0294] by a lossless decoder in order to decode specifically the data of text type.
[0295] On completion of the decoding D12b, the following are obtained: [0296] the processed image thus reconstructed IVTD.sub.k, corresponding to the data DTC.sub.k of image type which have been decoded, [0297] processed data of text type corresponding to description information of the processing applied to the image IV.sub.k before the coding C11b (
[0298] Such a reconstructed processed image IVTD.sub.k according to the second decoding method MD2 does not contain all of the original data of the image IV.sub.k before processing then coding in C11b. Such a reconstructed image of a view according to the second decoding method MD2 may however be used in addition to an image of a master view which will have been reconstructed using the first decoding method MD1, in the context for example of a synthesis of intermediate images, in order to obtain synthesized images of views which are of good quality.
[0299] The decoding method which has just been described above may then be implemented at the current time for each of the coded images IVC.sub.1, IVC.sub.2, . . . , IVC.sub.N to be reconstructed that are available, for some of them only or else may be limited to the image IV.sub.k, with for example k=1.
[0300] According to two exemplary embodiments shown in
[0303] If n=0, the images IVC.sub.1, . . . , IVC.sub.N of the views from 1 to N are reconstructed using the second decoding method MD2. If n=N−1, the image of a single view is reconstructed using the second decoding method MD2.
[0304] In the example of
[0307] In the case of the signals F1 and F2, in D110a, the data signal F1 is in turn separated into n data signals F1.sub.1, . . . , F1.sub.n that are representative, respectively, of the n coded images of views IVC.sub.1, . . . , IVC.sub.n.
[0308] In D11a, in each of the n data signals F1.sub.1, . . . , F1.sub.n, the coded original data dc1.sub.1, . . . , dcQ.sub.1, . . . , dc1.sub.n, . . . , dcQ.sub.n which are associated with each of these n coded images are determined, respectively.
[0309] In D12a, the images IVD.sub.1, . . . , IVD.sub.n are reconstructed on the basis of their respective coded original data, read in D11a, using a conventional decoder of HEVC type, independently of one another.
[0310] Still with reference to
[0311] In D11b, in each of the N-n data signals F2n+1, . . . , F2.sub.N, N-n coded processed data DTC.sub.n+1, . . . , DTC.sub.N are read, respectively, which correspond, respectively, to each of the N-n images IV.sub.n+1, . . . , IV.sub.N to be reconstructed.
[0312] In D12b, the processed images are reconstructed, respectively, on the basis of N-n coded processed data DTC.sub.n+1, . . . , DTC.sub.N read in D11b, using a conventional decoder of HEVC type, independently of one another. The reconstructed processed images IVTD.sub.n+1, . . . , IVTD.sub.N are then obtained.
[0313] In the case of the signals F1, F3 and F′3, in D110a, the data signal F1 is in turn separated into n data signals F1.sub.1, . . . , F1.sub.n that are representative, respectively, of the n coded images IVC.sub.1, . . . , IVC.sub.n.
[0314] In D11a, in each of the n data signals F1.sub.1, . . . , F1.sub.n, the coded original data dc1.sub.1, . . . , dcQ.sub.1, . . . , dc1.sub.n, . . . , dcQ.sub.n which are associated with each of these n coded images are read, respectively.
[0315] In D12a, the images IVD.sub.1, . . . , IVD.sub.n are reconstructed on the basis of their respective coded original data, read in D11a, using a conventional decoder of HEVC type, independently of one another.
[0316] In D110c: [0317] the data signal F3 is in turn separated into N-n data signals F3n+1, . . . , F3.sub.N that are representative, respectively, of the N-n coded processed data DTC.sub.n+1, . . . , DTC.sub.N of image type and, [0318] the data signal F′3 is in turn separated into N-n data signals F′3n+1, . . . , F′3.sub.N that are representative, respectively, of the N-n coded processed data DTC.sub.n+1, . . . , DTC.sub.N of text or another type.
[0319] In D11c: [0320] in each of the N-n data signals F3n+1, . . . , F3.sub.N, N-n coded processed data DTC.sub.n+1, . . . , DTC.sub.N of image type are read, respectively, which correspond, respectively, to each of the N-n images IV.sub.n+1, . . . , IV.sub.N to be reconstructed, [0321] in each of the N-n data signals F′3n+1, . . . , F′3.sub.N, N-n coded processed data DTC.sub.n+1, . . . , DTC.sub.N of text or another type are read, respectively, which correspond, respectively, to the description information of the processing for each of the N-n images IV.sub.n+1, . . . , IV.sub.N to be reconstructed.
[0322] In D12b, the N-n processed images are reconstructed, respectively, on the basis of N-n coded processed data DTC.sub.n+1, . . . , DTC.sub.N read in D11b, using a conventional decoder of HEVC type, independently of one another. The reconstructed processed images IVTD.sub.n+1, . . . , IVTD.sub.N are then obtained.
[0323] Also in D12b, there is reconstructed description information of the processing applied to each of the images IV.sub.n+1, . . . , IV.sub.N, before the coding thereof C11b (
[0324] In the example of
[0327] In the case of the signals F1 and F2, in D11a, in the data signal F1, the coded original data dc1.sub.1, . . . , dcQ.sub.1, . . . , dc1.sub.n, . . . , dcQ.sub.n are read which are associated, respectively, with each of the images IVC.sub.1, i, . . . , IVC.sub.n, i of n coded views.
[0328] In D12a, the images IVD.sub.1, i, . . . , IVD.sub.n, i are reconstructed on the basis of their respective coded original data, read in D11a, simultaneously, using a conventional decoder of MV-HEVC or 3D-HEVC type.
[0329] In D11b, in
[0330] In D12b, the N-n processed images are reconstructed, respectively, on the basis of the N-n coded processed data DTC.sub.n+1, . . . , DTC.sub.N, read in D11b, simultaneously, using a conventional decoder of MV-HEVC or 3D-HEVC type. The reconstructed processed images IVTD.sub.n+1, . . . , IVTD.sub.N are then obtained.
[0331] In the case of the signals F1, F3 and F′3, in D11a, in the data signal F1, the coded original data dc1.sub.1, . . . , dcQ.sub.1, . . . , dc1.sub.n, . . . , dcQ.sub.n are read which are associated, respectively, with each of the images IVC.sub.1, . . . , IVC.sub.n of the n coded views.
[0332] In D12a, the images IVD.sub.1, . . . , IVD.sub.n are reconstructed on the basis of their respective coded original data, read in D11a, simultaneously, using a conventional decoder of MV-HEVC or 3D-HEVC type.
[0333] In D11 c, in
[0334] In D12b, the processed images are reconstructed, respectively, on the basis of N-n coded processed data DTC.sub.n+1, . . . , DTC.sub.N, read in D11c, simultaneously, using a conventional decoder of MV-HEVC or 3D-HEVC type. The reconstructed processed images of views IVTD.sub.n+1, . . . , IVTD.sub.N are then obtained.
[0335] Also in D12b, in
[0336] Of course, other combinations of decoding methods are possible.
[0337] According to one possible variant of
[0338] According to one possible variant of
[0339]
[0340] According to one particular embodiment of the invention, the actions performed by the decoding method are implemented by computer program instructions. To that end, the decoding device DEC has the conventional architecture of a computer and comprises in particular a memory MEM_D, a processing unit UT_D, equipped for example with a processor PROC_D, and driven by the computer program PG_D stored in memory MEM_D. The computer program PG_D comprises instructions for implementing the actions of the decoding method such as described above when the program is executed by the processor PROC_D.
[0341] On initialization, the code instructions of the computer program PG_D are for example loaded into a RAM memory (not shown), before being executed by the processor PROC_D. The processor PROC_D of the processing unit UT_D implements in particular the actions of the decoding method described above, according to the instructions of the computer program PG_D.
[0342] According to one embodiment, the decoding device DEC is for example comprised in a terminal.
6.3 Exemplary Applications of the Invention to an Image Processing
[0343] As already explained above, the N reconstructed images IVD.sub.1, . . . , IVD.sub.n and IVTD.sub.n+1, . . . , IVTD.sub.N may be used to synthesize an image of an intermediate view required by a user.
[0344] As shown in
[0345] The N-n reconstructed processed images of views IVTD.sub.n+1, . . . , IVTD.sub.N, in order to be able to be used in the synthesis of images, as additional images of the views, may need to be processed in S2, using decoded image processing description information, which are respectively associated therewith.
[0346] On completion of the processing S2, N-n reconstructed images of views IVD.sub.n+1, . . . , IVD.sub.N are obtained.
[0347] The N-n reconstructed images IVD.sub.n+1, . . . , IVD.sub.N are then transmitted in S3 to the image synthesis module.
[0348] In S4, an image of a view is synthesized using at least one of the images IVD.sub.1, . . . , IVD.sub.n of the n first reconstructed views and potentially at least one of the N-n images IVD.sub.n+1, . . . , IVD.sub.N of the N-n reconstructed views.
[0349] An image of a synthesized view IV.sub.SY is then obtained on completion of the synthesis S4.
[0350] It should be noted that the n reconstructed images IVD.sub.1, . . . , IVD.sub.n may also undergo a processing S2. Such a processing S2 may prove to be necessary, in the case where the user UT requires an image of a view of which the viewing angle represented does not correspond to the one or more viewing angles of the n reconstructed images IVD.sub.1, . . . , IVD.sub.n. The user UT could for example request an image of a view representing a field of view of 120×90, whereas the n reconstructed images IVD.sub.1, . . . , IVD.sub.n each represent a viewing angle of 360×180. Such a possibility of processing for the reconstructed images IVD.sub.1, . . . , IVD.sub.n is represented by dashed arrows in
[0351] A first embodiment of a processing applied to the data of a reconstructed processed image IVTD.sub.k will now be described with reference to
[0352] In the example of
[0353] The processing applied to the reconstructed processed image IVTD.sub.k consists in applying an upsampling to the region Z4, corresponding to the downsampling applied in
[0357] In the example of
[0358] The processing applied to the reconstructed processed image IVTD.sub.k consists in applying an upsampling to the region Z5, corresponding to the downsampling applied in
[0362] In the example of
[0363] The processing applied to the reconstructed processed image IVTD.sub.k consists in applying an upsampling to all of the image data of the image IVTD.sub.k, corresponding to the downsampling applied in
[0366] In the example of
[0367] The processing applied to the reconstructed processed image IVTD.sub.k consists in applying an upsampling to the region Z6, corresponding to the downsampling applied in
[0371] With reference to
[0372] In the example of
[0373] The processing applied to the image of the reconstructed processed view IVTD.sub.k then consists in restoring the contours ED1 and ED2 of the image IV.sub.k, using the information describing the filtering applied, such as in particular the predefined value for each unfiltered pixel, in particular the predefined value YUV=000.
[0374] With reference to
[0375] The processing applied to the reconstructed processed image IVTD.sub.k then consists: [0376] in retrieving pixels of the image IV.sub.k of the view which have been calculated in the coding, using an indicator of the pixels of the image IV.sub.k of said view which have been calculated, such an indicator being read in the data signal, [0377] in retrieving pixels of an image of at least one other view IV.sub.j(1≤j≤n) which has been reconstructed using the first decoding method MD1, using the information on the location, in the image IV.sub.j, of the pixels which have been used to calculate the pixels of the image IV.sub.k, [0378] and potentially in retrieving pixels of an image IV.sub.l (n+1≤l≤N) of at least one other view, for which processed pixels have been decoded using the second decoding method MD2.
[0379] The decoding of the processed data DT.sub.k then consists in calculating the pixels of the image IV.sub.k: [0380] on the basis of the pixels of the image of at least one other view IV.sub.j(1≤j≤n), [0381] and potentially on the basis of the pixels of the image IV.sub.l (n+1≤l≤N) of at least one other view.
[0382] The aforementioned calculation consists for example in combining the pixels of the image IV.sub.k, with the pixels of the reconstructed image IV.sub.j and potentially with the pixels of the reconstructed image IV.sub.l.
[0383] With reference to
[0384] A processing is first applied to the reconstructed image IVD.sub.one according to the second decoding method MD2. It then consists in reconstructing, on the basis of the image IVD.sub.one, the pixels of the image IV.sub.k: [0385] on the basis of the processed data DT′.sub.k of the image IV.sub.k which have been decoded according to the second decoding method MD2, [0386] on the basis of the processed data DT.sub.s of an image IVD.sub.s of a view V.sub.s (1≤s≤N), which have been decoded.
6.4 Exemplary Concrete Applications of the Invention
[0387] According to a first example, it is considered that six images of the views with a resolution of 4096×2048 pixels are captured, respectively, by six cameras of 360° type. A depth estimation method is applied to provide six corresponding 360° depth maps.
[0388] The image IV0, of the view V0, is coded conventionally using the first coding method MC1, while the five other images IV1, IV2, IV3, IV4, IV5 of the views V1, V2, V3, V4, V5 undergo a cropping before coding. The processing applied to each of the images IV1, IV2, IV3, IV4, IV5 consists in removing a fixed number of columns, for example 200, on the right and on the left of each of these images. The number of columns to be removed has been selected such that the viewing angle is reduced from 360° to 120°.
[0389] Similarly, the processing applied to each of the images IV1, IV2, IV3, IV4, IV5 consists in deleting a fixed number of rows, for example 100, from the top and bottom portions, respectively, of each of these images. The number of rows to be deleted has been selected such that the viewing angle is reduced from 180° to 120°.
[0390] An item of information flag_proc is set to 0, in association with the image IV0, and an item of information flag_proc is set to 1, in association with the images IV1, IV2, IV3, IV4, IV5.
[0391] The image of the view IV0 is coded using an HEVC coder. A single data signal F1.sub.0 is generated, said data signal containing the coded original data of the image IV0, and the information flag_proc=0.
[0392] The data of the regions remaining after cropping of each of the images IV1, IV2, IV3, IV4, IV5 are coded using an HEVC coder. Five data signals F21, F22, F23, F24, F25, which contain, respectively, the coded data of the regions remaining after cropping of each of the images IV1, IV2, IV3, IV4, IV5, in association with the information flag_proc=1, are generated. The data signals Flo, F21, F22, F23, F24, F25 are concatenated, then transmitted to a decoder.
[0393] The five data signals F21, F22, F23, F24, F25 may additionally comprise the coordinates of the cropped regions in the following way:
[0394] IV1, IV2, IV3, IV4, IV5: flag_proc=1, point top_left (h, v)=(0+200, 0+100), point bot_right (h, v)=(4096-200, 2048-100), with “h” for horizontal and “v” for vertical.
[0395] At the decoder, the information flag_proc is read.
[0396] If flag_proc=0, the image of the view IV0 is reconstructed using an HEVC decoder.
[0397] If flag_proc=1, the images IV1, IV2, IV3, IV4, IV5, corresponding to the coded processed data, are reconstructed using an HEVC decoder. No processing is applied to the images IV1, IV2, IV3, IV4, IV5 which have been reconstructed because it is not possible to reconstruct the data of these images which have been deleted by cropping. However, a synthesis algorithm uses the six images IV0, IV1, IV2, IV3, IV4, IV5 which have been reconstructed in order to generate an image of an arbitrary view required by a user.
[0398] In the case where the five data signals F21, F22, F23, F24, F25 additionally comprise the coordinates of the cropped regions, these coordinates are used by the synthesis algorithm to generate an image of a view required by a user.
[0399] According to a second example, 10 images IV0, . . . , IV9 with a respective resolution 4096×2048 pixels are considered which are generated by computer in order to simulate 10 cameras of 360° type. It is decided not to process the images IV0 and IV9. The texture components of the images IV1 to IV8 undergo for their part a downsampling by a factor of 2 in the horizontal direction and by a factor of 2 in the vertical direction and the corresponding depth components undergo for their part a downsampling by a factor of 4 in the horizontal direction and by a factor of 4 in the vertical direction. As a result, the resolution of the texture components of the images IV1 to IV8 becomes 2048×1024 and the resolution of the depth components of the images IV1 to IV8 becomes 1024×512.
[0400] The processing data, such as the image data relating to the images IV1 to IV8 contain the 8 downsampled texture components of resolution 2048×1024 of the images IV1 to IV8 and the 8 downsampled depth components of resolution 1025×512 of the images IV1 to IV8.
[0401] Additionally, the aforementioned processing data contain data of text type which indicate the downsampling factors for each image IV1 to IV8 of the views 1 to 8. They are written as follows: [0402] IV1 to IV8 texture: se_h=2, se_v=2 (“se” for downsampling, “h” for horizontal and “v” for vertical), [0403] IV1 to IV8 depth: se_h=4, ss_v=4.
[0404] An item of information flag_proc is set to 0, in association with the images IV0 and IV9, and an item of information flag_proc is set to 1, in association with the images IV1 to IV8.
[0405] The images IV0 and IV9 are coded simultaneously using a coder of MV-HEVC type, which generates a single data signal F1 containing the information flag_proc=0 and the coded original data of the images IV0 and IV9.
[0406] The processing data, such as the image data relating to the images IV1 to IV8, containing the 8 downsampled texture components of resolution 2048×1024 of the images IV1 to IV8 and the 8 downsampled depth components of resolution 1025×512 of the images IV1 to IV8, are also coded simultaneously, using a coder of MV-HEVC type, which generates a single data signal F2 containing the information flag_proc=1, in association with the coded downsampled texture and depth data. The data of text type which indicate the downsampling factors for each image IV1 to IV8 of the views 1 to 8 are for their part coded losslessly. The data signals F1 and F2 are concatenated, then transmitted to a decoder.
[0407] At the decoder, the information flag_proc is read.
[0408] If flag_proc=0, the images IV0 and IV9 are reconstructed simultaneously using an MV-HEVC decoder. Reconstructed images IVD0 and IVD9 which are at their initial resolution are then obtained.
[0409] If flag_proc=1, the images IV.sub.1 to IV8, corresponding to their respective coded downsampled texture and depth data, are reconstructed simultaneously using an MV-HEVC decoder. Reconstructed downsampled images IVDT1 to IVDT8 are then obtained. The data of text type corresponding to each of the 8 images IV.sub.1 to IV8 are also decoded, providing the downsampling factors which have been used for each image IV1 to IV8.
[0410] The reconstructed downsampled images IVDT1 to IVDT8 are then processed using their corresponding downsampling factors. On completion of the processing, reconstructed images IVD1 to IVD8 are obtained, the 8 respective texture components of which are at their initial resolution 4096×2048 and the 8 respective depth components of which are at their initial resolution 4096×2048.
[0411] A synthesis algorithm uses the images of the 10 views thus reconstructed at their initial resolution, in order to generate an image of a view required by a user.
[0412] According to a third example, 3 images IV0 to IV.sub.2 with a respective resolution 4096×2048 pixels are considered which are generated by computer in order to simulate 4 cameras of 360° type. 3 texture components and 3 corresponding depth components are then obtained. It is decided not to process the image IV0 and to extract occlusion maps for the images IV1 and IV2, respectively. To that end, a disparity estimate is made between the image IV1 and the image IV0 so as to generate the occlusion mask of the image IV1, that is to say the pixels of the image IV1 which are not found in the image IV0. A disparity estimate is also made between the image IV2 and image IV0 so as to generate the occlusion mask of the image IV2.
[0413] The processing data, such as the image data relating to the images IV1 and IV2 contain the 2 texture components of the occlusion masks of the images IV1 and IV2 and the 2 depth components of the occlusion masks of the images IV1 and IV2.
[0414] An item of information flag_proc is set to 0, in association with the image IV0, and an item of information flag_proc is set to 1, in association with the images IV1 and IV2.
[0415] The image IV0 is coded using an HEVC coder. A single data signal Flo is generated, said data signal containing the coded original data of the image IV0, and the information flag_proc=0.
[0416] The image data (texture and depth) of the occlusion masks of each of the images IV1, IV2 are coded using an HEVC coder. Two data signals F21, F22, which contain, respectively, the coded image data of the occlusion masks of each of the images IV1, IV2, in association with the information flag_proc=1, are generated. The data signals F1.sub.0, F2.sub.1, F2.sub.2 are concatenated, then transmitted to a decoder.
[0417] At the decoder, the information flag_proc is read.
[0418] If flag_proc=0, the image IV0 is reconstructed using an HEVC decoder.
[0419] If flag_proc=1, the images IV1, IV2, corresponding to the coded image data (texture and depth) of the occlusion masks of each of the images IV1, IV2, are reconstructed using an HEVC decoder. No processing is applied to the images IV1, IV2 which have been reconstructed because it is not possible to reconstruct the data of these images which have been deleted on completion of the occlusion detection. However, a synthesis algorithm may use the images IV0, IV1, IV2 which have been reconstructed in order to generate an image of a view required by a user.
[0420] According to a fourth example, it is considered that two images IV0 and IV1 with a resolution of 4096×2048 pixels are captured, respectively, by two cameras of 360° type. The image IV0 of the first view is coded conventionally using the first coding method MC1, while the image IV1 of the second view is processed before being coded according to the second coding method MC2. Such a processing comprises the following: [0421] extracting the contours of the image IV1, using a filter, such as for example a Sobel filter, [0422] applying an expansion to the contours, for example using a mathematical morphology operator, in order to increase the region around the contours.
[0423] The processing data, such as the image data relating to the image IV1, comprise the pixels inside the region around the contours, and pixels set to 0 corresponding, respectively, to the pixels located outside the region around the contours.
[0424] Additionally, data of text type are generated, for example in the form of marking information (e.g.: YUV=000) which indicates the setting to 0 of the pixels located outside the region around the contours. The pixels set to 0 will be neither coded nor signaled to the decoder.
[0425] The image IV0 is coded using an HEVC coder, which generates a data signal F1 containing the information flag_proc=0 and the coded original data of the image IV0.
[0426] The image data of the region around the contours of the image IV1 are coded using an HEVC coder, while the marking information is coded using a lossless coder. A data signal F2 is then generated, said signal containing the information flag_proc=1, the coded pixels of the region around the contours of the image IV1 and the item of coded marking information.
[0427] At the decoder, the information flag_proc is read.
[0428] If flag_proc=0, the image IV0 is reconstructed using an HEVC decoder, at its original resolution.
[0429] If flag_proc=1, the image IV1, corresponding to the image data of the region around the contours of the image IV1, is reconstructed by means of an HEVC decoder, using the marking information which makes it possible to restore the value set to 0 of the pixels surrounding said region.
[0430] A synthesis algorithm may use the two images IV0 and IV1 which have been reconstructed in order to generate an image of a view required by a user.
[0431] According to a fifth example, it is considered that four images IV0 to IV3 with a resolution of 4096×2048 pixels are captured, respectively, by four cameras of 360° type. The image IV0 is coded conventionally using the first coding method MC1, while the images IV1 to IV3 are processed before being coded according to the second coding method MC2. Such a processing is a filtering of the images IV1 to IV3, during which a region of interest ROI is calculated. A region of interest contains the one or more regions of each image IV1 to IV3 which are considered the most relevant, for example because they contain many details.
[0432] Such a filtering is carried out according for example to one of the two methods below: [0433] calculating saliency maps of each image IV1 to IV3, by means of a filtering, [0434] filtering of the depth maps of each image IV1 to IV3: the depth map is characterized, for each texture pixel, by a near or far depth value in the 3D scene. A threshold is defined, such that each pixel of an image IV1, IV2, IV3 which is located below this threshold is associated with an object in the scene which is close to the camera. All of the pixels located below this threshold are then considered to be the region of interest.
[0435] The processing data, such as the image data relating to the images IV1 to IV3, comprise the pixels inside their respective regions of interest, and pixels set to 0 corresponding, respectively, to the pixels located outside these regions of interest.
[0436] Additionally, data of text type are generated, for example in the form of marking information which indicates the setting to 0 of the pixels located outside the region of interest. The pixels set to 0 will be neither coded nor signaled to the decoder.
[0437] The image IV0 is coded using an HEVC coder, which generates a data signal F1 containing the information flag_proc=0 and the coded original data of the image IV0.
[0438] The image data of the region of interest of each image IV1, IV2, IV3 are coded using an HEVC coder, while the marking information is coded using a lossless coder.
[0439] Three data signals F2.sub.1, F2.sub.2, F2.sub.3 which contain, respectively, the coded image data of the regions of interest of each of the images IV1, IV2, IV3 in association with the information flag_proc=1, and corresponding item of coded marking information, are generated. The data signals F1.sub.0, F2.sub.1, F2.sub.2, F2.sub.3 are concatenated, then transmitted to a decoder.
[0440] At the decoder, the information flag_proc is read.
[0441] If flag_proc=0, the image IV0 is reconstructed using an HEVC decoder, at its original resolution.
[0442] If flag_proc=1, each image IV1 to IV3, corresponding to the image data of its respective region of interest, is reconstructed by means of an HEVC decoder, using the marking information, which makes it possible to restore the value set to 0 of the pixels surrounding said region.
[0443] A synthesis algorithm may directly use the four images IV0, IV1, IV2, IV3 which have been reconstructed in order to generate an image of a view required by a user.
[0444] It goes without saying that the embodiments described above have been given purely by way of completely non-limiting indication, and that numerous modifications may be easily made by a person skilled in the art without otherwise departing from the scope of the invention.