WO2020070409A1 - Codage et décodage d'une vidéo omnidirectionnelle - Google Patents

Codage et décodage d'une vidéo omnidirectionnelle

Info

Publication number
WO2020070409A1
WO2020070409A1 PCT/FR2019/052254 FR2019052254W WO2020070409A1 WO 2020070409 A1 WO2020070409 A1 WO 2020070409A1 FR 2019052254 W FR2019052254 W FR 2019052254W WO 2020070409 A1 WO2020070409 A1 WO 2020070409A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
view
data
coded
processed
Prior art date
Application number
PCT/FR2019/052254
Other languages
English (en)
Inventor
Joël JUNG
Original Assignee
Orange
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Orange filed Critical Orange
Priority to KR1020217009472A priority Critical patent/KR20210066825A/ko
Priority to BR112021005927-0A priority patent/BR112021005927A2/pt
Priority to CN201980064753.XA priority patent/CN112806015B/zh
Priority to JP2021517806A priority patent/JP2022503963A/ja
Priority to US17/281,463 priority patent/US11653025B2/en
Priority to EP19795265.8A priority patent/EP3861751A1/fr
Publication of WO2020070409A1 publication Critical patent/WO2020070409A1/fr
Priority to US18/296,073 priority patent/US11973981B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation

Definitions

  • the present invention relates generally to the field of omnidirectional videos, such as in particular 360 °, 180 ° videos, etc. More particularly, the invention relates to the encoding and decoding of 360 °, 180 ° views, etc. which are captured to generate such videos, as well as the synthesis of non-captured intermediate viewpoints.
  • the invention can in particular, but not exclusively, be applied to the video coding implemented in current AVC and HEVC video coders and their extensions (MVC, 3D-AVC, MV-HEVC, 3D-HEVC, etc.), and corresponding video decoding.
  • Ui® such a 360 ° camera consists of several 2D cameras (two dimensions) installed on a spherical platform. Each 2D camera captures a particular angle of a 3D scene (three dimensions), the set of views captured by the cameras making it possible to generate a video representing the 3D scene according to a 360 ° x180 ° field of view. It is also possible to use a single 360 ° camera to capture the 3D scene with a 360 ° x180 ° field of view. Such a field of vision may of course have been smaller, for example at 270 ° x 135 °.
  • Such 360 ° videos then allow the user to look at the scene as if it were placed in the center of it and to look around, 360 °, thus providing a new way of watching videos.
  • Such videos are generally reproduced on virtual reality headsets, also known by the English name HMD for "Head Mounted Devices". However, they can also be displayed on 2D screens equipped with suitable user interaction means. The number of 2D cameras to capture a 360 ° scene varies depending on the platforms used.
  • the diverging views captured by the different 2D cameras are placed end to end taking into account the overlaps between views, to create a panoramic 2D image.
  • This step is also known as name for "stitching" in English.
  • ERP EquiRectangular projection
  • the views captured by each of the 2D cameras are projected onto a spherical surface.
  • Other types of projections are also possible, such as a Cube Mapping type projection (projection on the faces of a cube).
  • the views projected onto a surface are then projected onto a 2D plane to obtain a 2D panoramic image comprising at a given instant all the views of the scene that have been captured.
  • a 360 ° camera can be a real camera, that is to say a physical object, or else a virtual camera, in which case the view is obtained by software for generating views.
  • a virtual camera makes it possible to generate views representative of points of view of the 3D scene which have not been captured by real cameras.
  • the image of the 360 ° view obtained using a single 360 ° camera or the images of 360 ° views obtained using several 360 ° cameras (real and virtual) are then coded using for example :
  • a conventional 2D video coder for example a coder conforming to the HEVC standard (English abbreviation for “High Efficiency Video Coding”),
  • a conventional 3D video encoder for example an encoder conforming to the MV-HEVC and 3D-HEVC standards.
  • Such coders are not efficient enough in terms of compression, given the very large amount of data of the image of a 360 ° view to be coded, and moreover, images of several 360 ° views to be coded, and of the particular geometry of the 360 ° representation of the 3D scene using such 360 ° views.
  • the views captured by the 2D cameras of a 360 ° camera being divergent, the abovementioned coders are not sufficiently suitable for coding the various 360 ° view images, since the inter-image prediction will be little, if not used by these coders. Indeed, between two views captured respectively by two 2D cameras, there is little similar content that can be predicted. As a result, all 360 ° view images are compressed in the same way.
  • One of the aims of the invention is to remedy the drawbacks of the aforementioned state of the art.
  • an object of the present invention relates to a method of coding an image of a view forming part of a plurality of views, the plurality of views simultaneously representing a 3D scene at different positions or different viewing angles, implemented by a coding device, comprising the following:
  • the present invention also relates to a method of 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 at different positions or different viewing angles. , implemented by a decoding device, comprising the following:
  • the processed image of the view image is data of the image of the view which has not been deleted following the application of a cropping of the image of the view
  • the image processing description information is location information, in the view image, of one or more cropped areas.
  • Such a cropping treatment applied to the image of said view makes it possible not to code part of the original data of the latter, for the benefit of a significant reduction in the transmission rate of the coded data associated with the image of said view, since the data belonging to the area (s) which have been cropped are neither coded nor signaled to the decoder.
  • the reduction in flow will depend on the size of the cropped area (s).
  • the image of the view which will be reconstructed after decoding, then possibly processing of its processed data, using the corresponding image processing description information, will therefore not contain all of its original data or at least will be different by compared to the original view image.
  • the processed data of the view image are the data of at least one area of the view image which has been sampled, according to a given sampling factor and according to at least one given direction,
  • the image processing description information includes at least one location information, in the image of the view, of the at least one sampled area.
  • Such processing favors a uniform degradation of the image of said view, always with the aim of optimizing the reduction in data throughput resulting from the sampling applied, then coded.
  • the subsequent reconstruction of such an image of the view thus sampled even if it provides a reconstructed image of the view which is degraded / different compared to the original image of the view, the original data of which have been sampled, then coded, does not call into question the efficiency of the synthesis of an intermediate image which would use such an image of said reconstructed sampled view.
  • the data processed from the view image are the data from at least one area of the view image which has been filtered
  • the image processing description information includes at least one location information, in the view image, of the at least one filtered area.
  • Such processing favors the deletion of the image data from said view which are considered not to be useful for coding, with a view to optimizing the reduction in bit rate of the coded data which advantageously consists only of the filtered image data.
  • the data processed from the image of the view are pixels from the image of the view, corresponding to an occlusion detected using an image from another view of the plurality,
  • the image processing description information includes an indicator of the pixels of the image of the view which are found in the image of another view.
  • such processing favors the deletion of the image data of said view which are considered not useful to code, in order to optimize the reduction in bit rate of the coded data which are advantageously constituted only by the pixels of the image of said view, the absence of which has been detected in another image of a current view of said plurality.
  • the data processed from an image of a first view and the data processed from an image of at least a second view are combined into a single image.
  • the processed image image data which is obtained according to the second decoding method includes the processed image data from a first view and the processed data from a image of at least a second view.
  • the processed coded / decoded data of the view image is image type data
  • the coded / decoded information describing the image processing is image type and / or text type data.
  • the invention also relates to a device for coding a picture of a view forming part of a plurality of views, the plurality of views simultaneously representing a 3D scene at different positions or different viewing angles, the coding device comprising a processor that is configured to implement the following, at a current time:
  • Such a coding device is in particular capable of implementing the aforementioned coding method.
  • the invention also relates to 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 at different positions or different viewing angles.
  • the decoding device comprising a processor which is configured to implement the following, at a current instant:
  • Such a decoding device is in particular capable of implementing the aforementioned decoding method.
  • the invention also relates to a data signal containing data coded according to the aforementioned coding method.
  • the invention also relates to a computer program comprising instructions for implementing the coding method or the decoding method according to the invention, according to any one of the particular embodiments described above, when said program is executed. by a processor.
  • This program can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any other desirable form.
  • the invention also relates to a recording medium or information medium readable by a computer, and comprising instructions of a computer program as mentioned above.
  • the recording medium can be any entity or device capable of storing the program.
  • the support may include a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or else a magnetic recording means, for example a USB key or a hard disk.
  • the recording medium can be a transmissible medium such as an electrical or optical signal, which can be routed via an electric cable or optical, radio or other means.
  • the program according to the invention can in particular be downloaded from a network of the Internet type.
  • the recording medium can be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the above-mentioned coding or decoding method.
  • FIG. 1 shows the main actions performed by the coding method according to an embodiment of the invention
  • FIG. 2A represents a first type of data signal capable of being generated following the implementation of the coding method of FIG. 1,
  • FIG. 2B represents a second type of data signal capable of being generated following the implementation of the coding method of FIG. 1,
  • FIG. 2C represents a third type of data signal capable of being generated following the implementation of the coding method of FIG. 1,
  • FIG. 3A represents a first embodiment of a method for coding all the view images available at a current instant
  • FIG. 3B represents a second embodiment of a method for coding all the view images available at a current time
  • FIGS. 4A to 4E each represent an example of a processing applied to the image of a view, according to a first embodiment
  • FIGS. 5A to 5D each represent an example of a processing applied to the image of a view, according to a second embodiment
  • FIG. 6 represents an example of a treatment applied to the image of a view, according to a third embodiment
  • FIG. 7 represents an example of a processing applied to the image of a view, according to a fourth embodiment
  • FIG. 8 represents an example of a processing applied to the image of a view, according to a fifth embodiment
  • FIG. 9 represents an example of a treatment applied to the image of a view, according to a sixth embodiment.
  • FIG. 10 represents a coding device implementing the coding method of FIG. 1,
  • FIG. 12A represents a first embodiment of a method for decoding all the view images available at a current instant
  • FIG. 12B represents a second embodiment of a method for decoding all the view images available at a current instant
  • FIG. 13 represents a decoding device implementing the decoding method of FIG. 11,
  • FIG. 14 represents an embodiment of a synthesis of view images, in which are used view images reconstructed according to the decoding method of FIG. 11,
  • FIGS. 15A to 15D each represent an example of a processing applied to the image of a view after reconstruction of the latter, according to a first embodiment
  • FIG. 16 represents an example of a processing applied to the image of a view after reconstruction of the latter, according to a second embodiment
  • FIG. 17 represents an example of a processing applied to the image of a view after reconstruction of the latter, according to a third embodiment
  • FIG. 18 shows an example of a processing applied to the image of a view after reconstruction of the latter, according to a fourth embodiment.
  • the invention mainly provides a coding scheme for 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 angle of view, in which two coding techniques are available:
  • 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,
  • the invention proposes a decoding scheme which makes it possible to combine two decoding techniques:
  • 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 for 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,
  • a conventional decoding mode such as for example HEVC, MV-HEVC, 3D-HEVC
  • 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 mode conventional coding 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 during decoding for this image therefore does not correspond to the original data thereof, unlike the image data decoded according to the first decoding technique.
  • a method of encoding omnidirectional 360 °, 180 °, or other videos which can use any type of multi-view video codajrs, for example conforming to the 3D-HEVC or MV-HEVC standard, or the like, is described below.
  • such a coding method is applied to a current image of a view which is part of a plurality of views Vi, ..., V N , the plurality of views representing a 3D scene according to respectively a plurality of viewing angles or a plurality of positions / orientations.
  • a first omnidirectional camera can for example be placed in the center of the 3D scene, according to a 360 ° x180 ° angle of view,
  • a second omnidirectional camera can for example be placed on the left in the 3D scene, according to a 360 ° x180 ° angle of view,
  • a third omnidirectional camera can for example be placed on the right in the 3D scene, according to a 360 ° x180 ° angle of view.
  • a first omnidirectional camera can for example be placed in the center of the 3D scene, according to a 360 ° x180 ° angle of view,
  • a second omnidirectional camera can for example be placed on the left in the 3D scene, at a viewing angle of 270 ° x 135 °,
  • a third omnidirectional camera can for example be placed on the right in the 3D scene, according to a viewing angle, 180 ° x90 °.
  • At least two views of said plurality of views can represent the 3D scene at the same viewing angle or not.
  • the coding method according to the invention consists in coding at a current time:
  • An image of a view considered can be both a texture image and a depth image.
  • the image of a view considered for example the image IV k , contains a number Q (Q> 1) of original data (d1 k , ..., dQ k ), such as for example Q pixels.
  • the coding method then comprises the following, for at least one IV k image of a V k view, to be coded:
  • a first coding method MC1 or a second coding method MC2 of the image IV k is selected.
  • flag_proc information is coded, for example on a bit positioned at 0, to indicate that the coding method MC1 is selected.
  • the original Q data (pixels) d1 k , ..., dQ k of the image IV k are coded using a conventional coder, such as for example conforming to the HEVC standard, MV- HEVC, 3D-HEVC, etc.
  • a coded image IVC k of the view V k is obtained.
  • the coded image IVC k then contains Q original coded data dc1 k , dc2 k , ..., dcQ k .
  • a data signal F1 k is generated.
  • flag_proc information is coded, for example on a bit positioned at 1, to indicate that the coding method MC2 is selected.
  • the coding method MC2 is applied to data DT k resulting from a processing of the image IV k , carried out before the coding step.
  • Such data DT k include:
  • processed data coded DTC k are obtained. They are representative of a processed image coded IVTC k .
  • the processed data DT k do not correspond to the original data of the image IV k .
  • these processed data DT k correspond to an image whose resolution is greater or less than that of the image IV k before processing.
  • the image IV k processed may for example be larger, since it is obtained from images of other views, or on the contrary be smaller, since it results from a deletion of one or more original pixels from the image IV k .
  • these processed data DT k correspond to an image whose representation format (YUV, RGB, etc.) of the image IV k processed is different from the original format of the image IV k before processing, as well as the number of bits to represent a pixel (16 bit, 10 bit, 8 bit, etc.).
  • these processed data DT k correspond to a color or texture component which is degraded with respect to the original texture or color component of the image IV k before processing.
  • these processed data DT k correspond to a particular representation of the original content of the image IV k before processing, for example a representation of the original filtered content of the image IV k .
  • the coding method MC2 can be implemented by a coder which is similar to the coder implementing the first coding method MC1. It could be a lossy or lossless encoder.
  • the MC2 coding method can be implemented:
  • a lossless coder to specifically code textual data
  • a lossy or lossless coder to specifically code the image data, such a coder being able to be identical to the coder implementing the first coding method MC1 or else different.
  • a data signal F2 k is generated.
  • the data signal F'3 k contains the processed data coded DTC k of textual type.
  • the first n views V 1 to V n are called master views because once reconstructed, the images of n master views will contain all of their original data and will be relevant for use with one or more of the Nn other views in order to synthesize the images of arbitrary views required by a user,
  • the first n images IV-i, ..., IV n are coded using a conventional HEVC type coder, independently of each other.
  • a conventional HEVC type coder At the end of the coding C1 1 a, there are obtained respectively n coded images IVC-i, ..., IVC n .
  • n data signals F1 -i, ..., F1 n are generated.
  • these n data signals F1 1; ..., F1 n are concatenated, generating an F1 data signal.
  • the images IV-i, ..., IV n can be used when processing the Nn other images IV n + 1 , ..., IV N.
  • the Mn data processed DT n + 1 , ... , DT M are coded using a conventional HEVC type coder, independently of each other, if these Mn data processed are all of image type or, if they are both of image type and of text type , are coded using a conventional HEVC type coder, independently of each other, for the processed image type data, and are coded by a lossless coder for the processed text type data.
  • Nn processed data coded DTC n + i , ..., DTC N are obtained at the end of the coding C1 1 b, as respectively Nn coded data associated respectively with the Nn images IV n + 1 , ..., IV N .
  • Nn data signals F2 n + i , ..., F2 N are respectively generated containing the Nn processed data coded DTC n + i , ... , DTC N.
  • Nn data signals F3 n + i , ..., F3 N respectively containing the Nn processed coded data of image type
  • the data signals F3 n + i , ..., F3 N and F'3 n + i , ..., F'3 N are concatenated, generating a data signal F3.
  • the first n images IV-i, ..., IV n are coded simultaneously using a conventional coder of the MV-FIEVC or 3D-FIEVC type.
  • a conventional coder of the MV-FIEVC or 3D-FIEVC type At the end of the coding C1 1 a, there are obtained respectively n coded images IVC-i, ..., IVC n .
  • a single signal F1 is generated which contains the original coded data associated with each of these n coded images.
  • the first images IV-i, ..., IV n can be used when processing the Nn other images IV n + 1 , ..., IV N.
  • the Mn data processed DT n + i , ..., DT M of the image type are coded simultaneously using a conventional encoder of the MV-FIEVC or 3D type -FIEVC if these Mn data processed are all of the image type or, if they are both of the image type and of the text type, are coded simultaneously using a conventional encoder of the MV-FIEVC or 3D-FIEVC type for processed image data, and are encoded by a lossless encoder for processed text data.
  • Nn coded processed data DTC n + i , ..., DTC N as respectively Nn coded processed data associated respectively with the Nn images IV n + i , ..., IV N that have been processed.
  • a single signal F2 is generated which contains the N- n processed data coded DTC n + i, ..., DTC N of image type.
  • C12c in the case where the Mn data processed are both image and text type:
  • a signal F'3 is generated which contains the processed data coded as text.
  • 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 later in the description.
  • the coder implementing the MC1 coding method could be a coder of the FIEVC type and the coder implementing the MC2 coding method could be a coder of the MV-FIEVC or 3D-HEVC type. or else include an MV-HEVC or 3D-HEVC type encoder and a lossy encoder.
  • the coder implementing the coding method MC1 could be a coder of the MV-FIEVC or 3D-FIEVC type and the coder implementing the coding method MC2 could be a coder of the FIEVC type or else include a FIEVC type encoder and a lossless encoder.
  • FIGS. 4A to 4E a first embodiment of a processing applied to the original data of an image IV k , before the coding step C1 1 b (FIG. 1) according to the second method MC2 coding.
  • the processing applied to the original data of the image IV k is a cropping of one or more zones of this image, in a horizontal or vertical direction or else in both directions at the same time .
  • the left edge B1 and the right edge B2 of the image IV k are cropped, which means the removal of the pixels from the rectangular area of the image IV k formed by each of the edges B1 and B2.
  • the upper edge B3 and the lower edge B4 of the image IV k are cropped, which means the removal of the pixels from the rectangular area of the image IV k formed by each of the edges B3 and B4.
  • the cropping is applied in a vertical direction to a rectangular zone Z1 situated in the image IV k .
  • the cropping is applied in a horizontal direction to a rectangular zone Z2 located in the image IV k .
  • the cropping is applied both in a horizontal and vertical direction to an area Z3 located in the image IV k .
  • the processed data DT k to be coded then includes: - the pixels of the remaining area Z R of the image IV k which have not been deleted following the cropping (figs 4A, 4B, 4E), or else the pixels of the remaining areas Z1 R and Z2 R (figs 4C, 4D) of image IV k which have not been deleted following the cropping,
  • the information describing the trimming applied is of textual type and contains:
  • the information describing the trimming applied contains:
  • the original data (pixels) of the rectangular area defined by the coordinates of the pixel located at the top, leftmost, in the remaining area Z R (resp. Z1 R and Z2 r ) and the coordinates of the pixel located below, the further to the right, in the remaining zone Z R (resp. Z1 R and Z2 R ) are then coded in C1 1 b (FIG. 1) by an encoder of the HEVC, 3D-HEVC, MV-HEVC type, etc.
  • the description information of the applied trimming is coded in C1 1 b (FIG. 1) by a lossless coder.
  • the information describing the cropping applied contains the number of rows and / or columns of pixels to be deleted, as well as the position of these rows and / or these columns in the image IV k .
  • the number of data to be deleted by trimming is fixed. It can for example be decided to systematically delete X rows and / or Y columns from the image of a view considered. In this case, the description information contains only the cropping information or not for each view. According to another embodiment, the number of data to be deleted by trimming is variable between the image IV k of the view V k and an image of another available view.
  • the number of data to be deleted by trimming can also depend, for example, on the position in the 3D scene of the camera which captured the image IV k .
  • a quantity of data to be deleted different from the amount of data deleted for the image IV k will for example be used.
  • the application of a cropping may also depend on the instant at which the image IV k is coded. At the current instant, it can for example be decided to apply a cropping to the image IV k , while at the instants preceding or following the current instant, it can be decided not to apply such a cropping, nor by the way no processing, as in image IV k .
  • cropping can be applied to images from one or more views at the current time.
  • the cropped area in the image IV k of the view V k may or may not be the same as the cropped area of an image of another view to be coded at the current time.
  • FIGS. 5A to 5D a second embodiment of a processing applied to the original data of an image IV k , before the coding step C1 1 b (FIG. 1) according to the second coding method. MC2.
  • the processing applied to the original data of the image IV k is a subsampling of one or more zones of this image, in a horizontal or vertical direction.
  • a subsampling is applied to an area Z4 of the image IV k , in a vertical direction.
  • a subsampling is applied to an area Z5 of the image IV k , in a horizontal direction.
  • a subsampling is applied to the whole image IV k .
  • a subsampling is applied to an area Z6 of the image IV k , in both a horizontal direction and a vertical direction.
  • the processed data DT k to be coded then includes:
  • the sub-sampled image data are then coded in C11 b (FIG. 1) by an encoder of the HEVC, 3D-HEVC, MV-HEVC type, etc.
  • the description information of the applied sub-sampling is coded in C1 1 b (FIG. 1) by a lossless coder.
  • the value of the sub-sampling factor can be fixed or else depend on the position in the 3D scene of the camera which captured the image IV k .
  • another sub-sampling factor will be used for example.
  • the application of a sub-sampling can moreover depend on the instant at which the image of the view V k is coded. At the current instant, it can for example be decided to apply a sub-sampling to the image IV k , while at the instants preceding or following the current instant, it can be decided not to apply such a sub -sampling, or moreover no processing, like the view V k .
  • subsampling can be applied to images from one or more views at the current time.
  • the sub-sampled area in the image IV k can be the same or not as the sub-sampled area of an image from another view to be coded at the current instant.
  • FIG. 6 a third embodiment of a processing applied to the original data of an image IV k , before the coding step C1 1 b (FIG. 1) according to the second coding method MC2 .
  • the processing applied to the original data of the image IV k is a detection of contours by filtering this image.
  • Two contours ED1 and ED2 are for example present in an IV k image.
  • filtering comprises for example the following:
  • the processed data DT k to be coded in the case of such filtering, then includes:
  • the image data (pixels) corresponding to the hatched areas are then coded in C1 1 b (FIG. 1) by an encoder of HEVC, 3D-HEVC, MV-HEVC type, etc.
  • the information describing the filtering applied is coded in C11 b (FIG. 1) by a lossless coder.
  • the filtering which has just been described with respect to the image IV k can be applied to one or more images of other views among said N views, on areas of this or these images which may be different from an image d 'a view to another image of a view.
  • FIG. 7 a fourth embodiment of a processing applied to the original data of an image IV k , before the coding step C1 1 b (FIG. 1) according to the second coding method MC2 .
  • the processing applied to the original data of the image IV k is a detection of occlusion of at least one zone Z Q c of the image IV k using at least one IV P image from another view V p among N views (1 ⁇ p £ N).
  • such occlusion detection consists in searching for the zone Z 0 c of the image IV k from the image IV P , using for example an estimate of disparity.
  • the occluded zone Z 0 c is then expanded, using for example a mathematical morphology algorithm.
  • the zone Zoc thus dilated is represented by hatching in FIG. 7. All the original data of the image IV k which are not part of the zone Z 0 c hatched and which are therefore considered useless to code are deleted.
  • the processed data DT k to be coded in the case of such occlusion detection, then includes:
  • the image data (pixels) corresponding to the hatched area are then coded in C1 1 b (FIG. 1) by an encoder of HEVC, 3D-HEVC, MV-HEVC type, etc.
  • the description information of the occlusion detection applied is coded in C1 1 b (FIG. 1) by a lossless coder.
  • FIG. 8 a fifth embodiment of a processing applied to the original data of an image IV k , before the coding step C1 1 b (FIG. 1) according to the second coding method MC2 .
  • the processing applied to the original data of the image IV k consists in calculating pixels:
  • the processed data DT k to be coded in the case of such a calculation, then includes: an indicator of the pixels of the image IV k of said view which have been calculated,
  • the abovementioned calculation consists for example in subtracting the original pixels from the image IV k of a view and possibly the original pixels from the image IV
  • FIG. 9 a sixth embodiment of a processing applied to the original data of an image IV k , before the coding step C1 1 b (FIG. 1) according to the second coding method MC2 .
  • the processing applied to the original data of the image IV k consists of:
  • FIG. 10 shows the simplified structure of a COD coding device suitable for implementing the coding method according to any one of the particular embodiments of the invention.
  • the actions executed by the coding method are implemented by computer program instructions.
  • 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 controlled by the computer program PG_C stored in MEM_C memory.
  • the computer program PG_C includes instructions for implementing the actions of the coding method as described above, when the program is executed by the processor PROC_C.
  • 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.
  • such a decoding method applies to a data signal representative of a current image of a view which is part of said plurality of views Vi, ..., V N.
  • the decoding method according to the invention consists in decoding:
  • An image of a view considered to be reconstructed using the aforementioned decoding method can be both a texture image and a depth image.
  • the decoding method comprises the following, for a data signal F1 k , F2 k or F3 k and F'3 k representative of at least one image IV k of a view V k , to be reconstructed:
  • the flag_proc information indicating whether the image IV k has been coded using the first coding method MC1 or the second coding method MC2
  • the data signal F1 k , F2 k or F3 k and F'3 k is read from the data signal F1 k , F2 k or F3 k and F'3 k , as shown respectively in FIGS. 2A, 2B and 2C.
  • D1 1 a the coded data dc1 k , dc2 k , dcQ k associated with the coded image IVC k are read in the data signal F1 k .
  • an IVD k image is reconstructed from the coded data dc1 k , dc2 k , ..., dcQ k read in D1 1 a, using a decoding method MD1 corresponding to the method of coding MC1 applied to the coding, in C1 1 a in FIG. 1.
  • the image IV k is reconstructed using a conventional decoder, such as for example in accordance with the FIEVC, MVC-FIEVC, 3D-FIEVC standard, etc.
  • the image IVD k thus reconstructed contains the original data d1 k , d2 k , ..., dQ k of the image IV k which has been coded in C1 1 a in FIG. 1.
  • the IVD k image being consistent with the original IV k image thus constitutes a master image which is relevant to use, for example in the context of a synthesis of intermediate views.
  • the processed data coded DTC k associated with the processed image coded IVTC k are read in the signal of data F2 k .
  • a processed IVTD k image is reconstructed from the DTC k coded data read in D1 1 b, using a decoding method MD2 corresponding to the coding method MC2 applied to coding, in C1 1 b in Figure 1.
  • coded data DTC k are decoded using a conventional decoder, such as for example conforming to the standard FIEVC, MVC-FIEVC, 3D-HEVC, etc.
  • the processed image thus reconstructed IVTD k corresponding to the decoded DTC k data, contains the processed data DT k of the image IV k before their coding in C1 1 b in FIG. 1.
  • the reconstructed IVTD k processed image contains image data (pixels) corresponding to all or part of the original data of the IV k image which has been processed using a specific image processing, including various examples detailed have been described with reference to Figures 4 to 9.
  • the processed data coded DTC k associated with the processed image coded IVTC k are read in D1 1 c.
  • processed data coded DTC k different from the image data, such as for example data of textual type, or else comprising both image data and data of a type other than image data , are read in the signal F'3 k .
  • the processed data coded DTC k are decoded in D12b, using the decoding method MD2, which can be implemented:
  • a lossy or lossless decoder to specifically decode the image data, such a decoder being able to be identical to the decoder implementing the first MD1 decoding method or else different,
  • Such a reconstructed processed image IVTD k according to the second decoding method MD2 does not contain all the original data of the image IV k before processing then coding in C1 1 b.
  • Such a reconstructed image of a view according to the second MD2 decoding method may however be used in addition to an image of a master view which will have been reconstructed using the first MD1 decoding method, in the context for example of a synthesis of intermediate images, in order to obtain images of synthesized views which are of good quality.
  • the first n coded images IVCi, ..., IVC n are reconstructed using the first decoding technique MD1 to obtain respectively the image of each of the n master views,
  • the data signal F1 as generated in C13a in FIG. 3A
  • the data signals F3 and F’3 as generated in C13c in FIG. 3A.
  • the data signal F1 is in turn separated into n data signals F1, ..., F1 n representative respectively of the n coded view images IVCi ,. .., IVC n .
  • D1 1 a in each of the n data signals F1 -i, ..., F1 n are determined respectively the original coded data dc1, ..., dcQ-i, ..., dc1 n , ..., dcQ n which are associated with each of these n coded images.
  • D12a the IVD-i, ..., IVD n images are reconstructed from their respective original coded data, read in D11 a, using a conventional HEVC type decoder, independently of one another.
  • the data signal F2 is in turn separated into Nn data signals F2 n + 1 , ..., F2 N representative respectively of the Nn processed data coded DTC n + i ,. .., DTC N -
  • D1 1 b in each of the Nn data signals F2 n + i, ..., F2 N are read respectively Nn processed data coded DTC n + i , ..., DTC N which correspond respectively to each of the Nn images IV n + 1 , ..., IV N to be reconstructed.
  • the processed images are reconstructed respectively from Nn processed data coded DTC n + i, ..., DTC N read in D11 b, using a conventional FIEVC type decoder, independently of each other .
  • the processed images reconstructed IVTD n + 1 , ..., IVTD N are then obtained.
  • the data signal F1 is in turn separated into n data signals F1 -i, ..., F1 n respectively representative of the n images coded IVC-i, ..., IVC n .
  • D1 1 a in each of the n data signals F1 1; ..., F1 n are read respectively the original coded data dd -i, ..., dcQi, ..., dc1 n , ..., dcQ n which are associated with each of these n coded images.
  • the IVD-i, ..., IVD n images are reconstructed from their respective original coded data, read in D11 a, using a conventional FIEVC type decoder, independently of each other.
  • the data signal F3 is in turn separated into Nn data signals F3 n + i , ..., F3 N respectively representative of the Nn processed data coded DTC n + i , ..., DTC N of image type and,
  • the data signal F'3 is in turn separated into Nn data signals F'3 n + i , ..., F'3 N respectively representative of the Nn processed data coded DTC n + i , ..., DTC No text type or another.
  • each of the Nn data signals F3 n + i, ..., F3N are respectively read Nn processed data coded DTC n + i , ..., DTC N of image type which correspond respectively to each of the Nn images IV n + 1 , ..., IV N to be reconstructed
  • - in each of the Nn data signals F'3 n + i, ..., F'3 N are respectively read Nn processed data coded DTC n + i , ..., DTC N of text type or others which correspond respectively to processing description information for each of the Nn images IV n + 1 , ..., IV N to be reconstructed.
  • the Nn processed images are reconstructed respectively from Nn processed data coded DTC n + i ..., DTC N read in D1 1b, using a conventional FIEVC type decoder, independently of each of the other.
  • the processed images reconstructed IVTD n + 1 , ..., IVTD N are then obtained.
  • D12b are reconstructed information describing the processing applied to each of the images IV n + i ..., IV N , before their coding C1 1 b (FIG. 3A), from Nn processed data coded DTC n + i , ..., DTCN of text type or other read in D1 1 c, using a decoder corresponding to the lossless coder used for coding.
  • the data signal F1 as generated in C12a in FIG. 3B
  • the data signals F3 and F’3 as generated in C12c in FIG. 3B.
  • signals F1 and F2 in D11 a, in the data signal F1 are read the original coded data dc1 1; ..., dcQ-i, ..., dc1 n , ⁇ , dcQ n which are respectively associated with each of the IVC-g images, ..., IVC n of n coded views.
  • the IVD- I , ..., IVD n images are reconstructed from their respective original coded data, read in D1 1 a, simultaneously, using a conventional MV-FIEVC decoder. or 3D-FIEVC.
  • D11 b in the data signal F2 are read the Nn coded processed data DTC n + i , ..., DTC N which are respectively associated with each of the images IV n + i , ..., IV N of the Nn views to be reconstructed.
  • the Nn processed images are reconstructed respectively from the Nn processed data coded DTC n + i , ..., DTC N , read in D1 1b, so simultaneous, using a conventional MV-HEVC or 3D-HEVC decoder.
  • the reconstructed processed IVTD n + i , ..., IVTD N images are then obtained.
  • the IVD-i, ..., IVD n images are reconstructed from their respective original coded data, read in D1 1 a, simultaneously, using a conventional MV-FIEVC decoder. or 3D-FIEVC.
  • D1 1 c in the data signal F3 are read the Nn processed data coded DTC n + i , ..., DTC N of image type which are associated respectively with each of the Nn images IV n + i , ..., IV N to be reconstructed.
  • the processed images are reconstructed respectively from Nn processed data coded DTC n + i , ..., DTC N , read in D1 1 c, simultaneously, using a conventional MV type decoder -FIEVC or 3D-FIEVC.
  • the reconstructed processed view images IVTD n + i , ..., IVTD N are then obtained.
  • D12b in FIG. 12B, are reconstructed information describing the processing applied to each of the images IV n + 1 ..., IV N , before their coding C1 1 b (FIG. 3B), from the Nn data processed.
  • the decoder implementing the MD1 decoding method could be a HEVC type decoder and the decoder implementing the MD2 decoding method could be a MV-HEVC or 3D-HEVC decoder .
  • the decoder implementing the MD1 decoding method could be a MV-HEVC or 3D-HEVC type decoder and the decoder implementing the MD2 decoding method could be a HEVC coder .
  • FIG. 13 shows the simplified structure of a DEC decoding device suitable for implementing the decoding method according to any one of the particular embodiments of the invention.
  • the actions executed by the decoding method are implemented by computer program instructions.
  • 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 controlled by the computer program PG_D stored in MEM_D memory.
  • the computer program PG_D includes instructions for implementing the actions of the decoding method as described above, when the program is executed by the processor PROC_D.
  • 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.
  • the DEC decoding device is for example included in a terminal.
  • the N reconstructed images IVD-i , ..., IVD n and IVTD n + i , ..., IVTD N can be used to synthesize an image of an intermediate view required by a user.
  • the first n reconstructed view images IVD-i , ..., IVD n which are considered as master views are transmitted in S1 to an image synthesis module.
  • the Nn reconstructed treated view images IVTD n + 1 , ..., IVTD N may need to be processed in S2, using the decoded image processing description information which is associated therewith.
  • Nn images of reconstructed views IVD n + 1 , .., are obtained.
  • IVD n is obtained.
  • the Nn reconstructed images IVD n + i , ..., IVD N are then transmitted in S3 to the image synthesis module.
  • an image of a view is synthesized using at least one of the IVD-i, IVD n images of the first n reconstructed views and possibly at least one of the Nn IVD n + i , ..., IVD N images of the Nn reconstructed views.
  • the n reconstructed images IVD 1; IVD n can also be subject to S2 processing.
  • Such processing S2 may prove to be necessary, in the case where the user UT requests an image of a view whose viewing angle represented does not correspond to the viewing angle or to the viewing angles of the n reconstructed images.
  • IVD-i, ..., IVD n The user UT could for example request an image of a view representing a field of vision of 120 ⁇ 90, while the n reconstructed images IVD-i, ..., IVD n each represent a viewing angle of 360 ⁇ 180.
  • Such a processing possibility for the reconstructed images IVD-i , ..., IVD n is symbolized by dotted arrows in FIG. 14.
  • the reconstructed images IVD-i, ..., IVD n can be used when processing Nn other images IV n + 1 , ..., IV N.
  • FIGS. 15A to 15C a first embodiment of a processing applied to the data of a reconstructed processed image IVTD k .
  • Such processing consists in obtaining the initial resolution of the image IV k of the corresponding view which has been sampled before being coded in C1 1 b in FIG. 1.
  • the processing applied before coding is a subsampling of an area Z4 of the image IV k , in a vertical direction, as shown in FIG. 5A.
  • the processing applied to the reconstructed processed image IVTD k consists in applying an oversampling to the zone Z4, corresponding to the subsampling applied in FIG. 5A, so as to find the initial resolution of the image IV k , at l using information describing the subsampling applied, such as in particular:
  • the processing applied before coding is a subsampling of an area Z5 of the image IV k , in a horizontal direction, as shown in FIG. 5B.
  • the processing applied to the reconstructed processed image IVTD k consists in applying an oversampling to the zone Z5, corresponding to the undersampling applied in FIG. 5B, so as to find the initial resolution of the image IV k , at l using information describing the subsampling applied, such as in particular:
  • the processing applied to the reconstructed processed image IVTD k consists in applying an oversampling to all the image data of the image IVTD k , corresponding to the subsampling applied in FIG. 5C, so as to find the initial resolution of the image IV k , using information describing the subsampling applied, such as in particular:
  • the processing applied before coding is a subsampling of an area Z6 of the image IV k , in both a horizontal direction and a vertical direction, as shown in Figure 5D.
  • the processing applied to the reconstructed processed image IVTD k consists in applying an oversampling to the zone Z6, corresponding to the subsampling applied in FIG. 5D, so as to find the initial resolution of the image IV k , at using information describing the subsampling applied, such as in particular:
  • Such processing consists in restoring one or more contours of the image IV k of the view which has been filtered before coding of the latter.
  • the processing applied before coding is a filtering of the contours ED1 and ED2 of the image IV k , as shown in FIG. 6.
  • FIG. 17 a third embodiment of a processing applied to the data of a reconstructed processed image IVTD k .
  • processing consists in reconstructing pixels of the image IV k of the view which, before coding, have been calculated in accordance with the embodiment of the processing in FIG. 8.
  • the processing applied to the reconstructed processed image IVTD k then consists of:
  • the decoding of the processed data DT k then consists in calculating the pixels of the image IV k :
  • the abovementioned calculation consists for example of combining the pixels of the image IV k , with the pixels of the reconstructed image IV j and possibly with the pixels of the reconstructed image IVi.
  • FIG. 18 a fourth embodiment of a processing applied to the data of a reconstructed processed image IVTD k .
  • processing consists in reconstructing pixels of the image IV k of the view which, before coding, have been calculated in accordance with the embodiment of the processing in FIG. 9.
  • Processing is first applied to the reconstructed IVD one image according to the second MD2 decoding method. It then consists in reconstructing, from the image IVD one , the pixels of the image IV k :
  • Image IV0, from view V0, is conventionally coded using the first coding method MC1, while the other five images IV1, IV2, IV3, IV4, IV5 from views V1, V2, V3, V4, V 5 are cut before coding.
  • the processing applied to each of the images IV1, IV2, IV3, IV4, IV5 consists in deleting a fixed number of columns, for example 200, to the right and to the left of each of these images. The number of columns to be deleted has been selected such that the viewing angle is reduced from 360 ° to 120 °.
  • the processing applied to each of the images IV1, IV2, IV3, IV4, IV5 consists in deleting a fixed number of lines, for example 100, in the upper and lower parts respectively of each of these images. The number of lines to be deleted has been selected such that the viewing angle is reduced from 180 ° to 120 °.
  • Flag_proc information is set to 0, in association with image IV0, and flag_proc information is set to 1, in association with images IV1, IV2, IV3, IV4, IV5.
  • the image of view IV0 is coded using a HEVC coder.
  • the data of the remaining areas after trimming of each of the images IV1, IV2, IV3, IV4, IV5 are coded using a HEVC coder.
  • the data signals F1 o, F2-i, F2 2 , F2 3J F2 4 , F2 5 are concatenated, then transmitted to a decoder.
  • the five data signals F2 1; F2 2 , F2 3 , F2 4 , F2 5 can also include the coordinates of the cropped areas as follows:
  • the flag_proc information is read.
  • the images IV1, IV2, IV3, IV4, IV5, corresponding to the coded processed data are reconstructed using a HEVC decoder. No processing is applied to the images IV1, IV2, IV3, IV4, IV5 which have been reconstructed since it is not possible to reconstruct the data of these images which have been deleted by cropping.
  • 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.
  • the five data signals F2 1; F2 2 , F2 3 , F2 4 , F2 5 also include the coordinates of the cropped areas, these coordinates are used by the synthesis algorithm to generate an image of a view required by a user.
  • the processing data such as the image data relating to the images IV1 to IV8 contains the 8 subsampled texture components of resolution 2048x1024 of the images IV1 to IV8 and the 8 subsampled depth components of resolution 1025x512 of the images IV1 to IV8.
  • processing data contain textual data which indicate the sub-sampling factors for each image IV1 to IV8 of views 1 to 8. They are written as follows:
  • Flag_proc information is set to 0, in association with images IV0 and IV9, and flag_proc information is set to 1, in association with images IV1 to IV8.
  • the textual data which indicates the sub-sampling factors for each image IV1 to IV8 of views 1 to 8, are in turn lossless coded.
  • the data signals F1 and F2 are concatenated, then transmitted to a decoder.
  • the flag_proc information is read.
  • flag_proc 1
  • the images IV1 to IV8, corresponding to their respective coded subsampled texture and depth data are reconstructed simultaneously using an MV-HEVC decoder.
  • Sub-sampled images reconstructed IVDT1 to IVDT8 are then obtained.
  • the textual data corresponding to each of the 8 images IV1 to IV8 are also decoded, providing the sub-sampling factors which were used for each image IV1 to IV8.
  • the reconstructed subsampled images IVDT1 to IVDT8 are then processed using their corresponding subsampling factors. At the end of the processing, reconstructed images IVD1 to IVD8 are obtained, whose 8 respective texture components are at their initial resolution 4096x2048 and whose 8 respective depth components are at their initial resolution 4096x2048.
  • 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.
  • 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 .
  • Flag_proc information is set to 0, in association with the IVO image, and flag_proc information is set to 1, in association with the IV1 and IV2 images.
  • the IVO image is coded using a HEVC coder.
  • the image data (texture and depth) of the occlusion masks of each of the images IV1, IV2 are coded using a HEVC coder.
  • the data signals F1 0 , F2 1; F2 2 are concatenated, then transmitted to a decoder.
  • the flag_proc information is read.
  • the images IV1, IV2, corresponding to the image data (texture and depth) coded by the occlusion masks of each of the images IV1, IV2, are reconstructed using a 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 after the detection of occlusion.
  • a synthesis algorithm can use the IVO, IV1, IV2 images which have been reconstructed in order to generate an image of a view required by a user.
  • a fourth example it is considered that two images IVO and IV1 of resolution 4096x2048 pixels are captured respectively by two cameras of the 360 ° type.
  • the IVO image of the first view is conventionally coded using the first coding method MC1, while the IV1 image of the second view is processed before being coded using the second MC2 coding method.
  • Such treatment includes the following:
  • a filter such as for example a Sobel filter
  • contours for example using a mathematical morphology operator, in order to increase the area around the contours.
  • the processing data such as the image data relating to the image IV1, includes the pixels inside the area around the contours, as well as the pixels set to 0 corresponding respectively to the pixels located outside the area around the contours.
  • the image data in the area around the edges of the IV1 image is encoded using a HEVC encoder, while the tagging information is encoded using a lossless encoder.
  • the flag_proc information is read.
  • flag_proc 1
  • the image IV1 corresponding to the image data of the area around the contours of the image IV1
  • a synthesis algorithm can use the two images IV0 and IV1 which have been reconstructed, in order to generate an image of a view required by a user.
  • a fifth example it is considered that four images IVO to IV3, of resolution 4096x2048 pixels, are captured respectively by four cameras of the 360 ° type.
  • the IVO image is conventionally coded using the first MC1 coding method, while the IV1 to IV3 images are processed before being coded according to the second MC2 coding method.
  • One such 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 zone (s) of each image IV1 to IV3 which are considered the most relevant, for example because they contain numerous details.
  • Such filtering is carried out according to, for example, one of the two methods below:
  • the depth map is characterized, for each texture pixel, by a value of near or far depth 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 the pixels located below this threshold are then considered to be the region of interest.
  • the processing data such as the image data relating to the images IV1 to IV3, include the pixels inside their respective regions of interest, as well as the pixels set to 0 corresponding respectively to the pixels located outside these regions of interest.
  • textual data is generated, for example in the form of marking information which indicates the setting to 0 of the pixels located outside the region of interest. Pixels set to 0 will neither be coded nor reported to the decoder.
  • the image data of the region of interest of each image IV1, IV2, IV3 is coded using a HEVC coder, while the marking information is coded using a lossless coder .
  • the data signals F1 0 , F2-i, F2 2 , F2 3 are concatenated, then transmitted to a decoder.
  • the flag_proc information is read.
  • each image IV1 to IV3, corresponding to the image data of its respective region of interest, is reconstructed by means of a FIEVC decoder, using the marking information, which makes it possible to restore the value set to 0 of the pixels surrounding said region.
  • a synthesis algorithm can directly use the four IV0 images
  • IV1, IV2, IV3 which have been reconstructed, in order to generate an image of a view required by a user.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

L'invention concerne un procédé de codage d'une image d'une vue (IVk) faisant partie d'une pluralité de vues, comprenant ce qui suit : sélectionner (C1) une première ou une deuxième méthode de codage pour coder les données de ladite image, énérer (C10, C12a; C10, C12b; C10, C12c) un signal de données contenant une information (flag_proc) indiquant si c'est la première ou la deuxième méthode de codage qui est sélectionnée, si c'est la première méthode de codage, coder (C11a) les données originales de ladite image, fournissant des données originales codées, si c'est la deuxième méthode de codage : coder (C11b) des données traitées de ladite image, lesdites données ayant été obtenues à l'aide d'un traitement d'image appliqué aux données originales de ladite image, fournissant des données traitées codées, coder (C11b) des informations de description dudit traitement d'image qui a été appliqué.

Description

CODAGE ET DÉCODAGE D’UNE VIDÉO OMNIDIRECTIONNELLE
1. Domaine de l'invention
La présente invention se rapporte de manière générale au domaine des vidéos omnidirectionnelles, telles que notamment les vidéos 360°, 180°, etc. Plus particulièrement, l’invention concerne le codage et le décodage de vues 360°, 180°, etc... qui sont capturées pour générer de telles vidéos, ainsi que la synthèse de points de vue intermédiaires non capturés.
L’invention peut notamment, mais non exclusivement, s’appliquer au codage vidéo mis en oeuvre dans les codeurs vidéo actuels AVC et HEVC et leurs extensions (MVC, 3D-AVC, MV-HEVC, 3D-HEVC, etc.), et au décodage vidéo correspondant.
2. Art antérieur
Pour générer une vidéo omnidirectionnelle, telle que par exemple une vidéo 360° , il est courant d’utiliser une caméra 360°. Ui® telle caméra 360° se compose de plusieurs caméras 2D (deux dimensions) installées sur une plateforme sphérique. Chaque caméra 2D capte un angle particulier d’une scène 3D (trois dimensions), l'ensemble des vues captées par les caméras permettant de générer une vidéo représentant la scène 3D selon un champ de vision à 360°x180° . Il est aussi possible d’utiliser une seule caméra 360° pour capturer la æène 3D selon un champ de vision 360°x180°. Un tel champ de vision peut bien sûr été moins grand, par exemple à 270°x135°.
De telles vidéos 360° permettent alors à l'utilisâeur de regarder la scène comme s'il était placé au centre de celle-ci et de regarder tout autour de lui, à 360°, fournissant ainsi une nouvelle manière de regarder des vidéos. De telles vidéos sont en général restituées sur des casques de réalité virtuelle, aussi connus sous le nom anglais HMD pour « Head Mounted Devices ». Mais, elles peuvent également être affichées sur des écrans 2D équipés de moyens d'interactions utilisateur adaptés. Le nombre de caméras 2D pour capturer une scène à 360° varie en fonction des plateformes utilisées.
Pour générer une vidéo 360°, les vues divergentes captées par les différentes caméras 2D sont mises bout à bout en prenant en compte les chevauchements entre vues, pour créer une image 2D panoramique. Cette étape est aussi connue sous le nom de "stitching" en anglais. Par exemple, une projection EquiRectangulaire (ERP) est une projection possible pour obtenir une telle image panoramique. Selon cette projection, les vues captées par chacune des caméras 2D sont projetées sur une surface sphérique. D'autres types de projections sont également possibles, telle qu'une projection de type Cube Mapping (projection sur les faces d'un cube). Les vues projetées sur une surface sont ensuite projetées sur un plan 2D pour obtenir une image panoramique 2D comprenant à un instant donné toutes les vues de la scène qui ont été captées.
Afin d’augmenter la sensation d’immersion, plusieurs caméras 360° du type précité peuvent être utilisées simultanément pour capturer une scène, ces caméras étant positionnées dans la scène de façon arbitraire. Une caméra 360° peut être une caméra réelle c'est-à-dire un objet physique, ou bien une caméra virtuelle, auquel cas, la vue est obtenue par un logiciel de génération de vues. En particulier, une telle caméra virtuelle permet de générer des vues représentatives de points de vue de la scène 3D qui n’ont pas été capturés par des caméras réelles.
L’image de la vue 360° obtenue à l’aide d’une seub caméra 360° ou bien les images de vues 360° obtenues à l’aide de plusieurs caméras 360° (réelles et virtuelles) sont ensuite codées en utilisant par exemple :
- un codeur vidéo 2D classique, par exemple un codeur conforme au standard HEVC (abréviation anglaise de « High Efficiency Video Coding »),
- un codeur vidéo 3D classique, par exemple un codeur conforme aux standards MV-HEVC et 3D-HEVC.
De tels codeurs ne sont pas suffisamment efficaces en termes de compression, compte tenu du très grand nombre de données de l’image d’une vue 360° à coder, et de surcroît, des images de plusieurs vues 360° à coder, et de la géométrie particulière de la représentation 360° de là scène 3D à l’aide de telles vues 360°. Par ailleurs, les vues captées par les caméras 2D d’une caméra 360° étant divergentes, les codeurs précités ne sont pas suffisamment adaptés pour coder les différentes images de vues 360° , car la prédicton inter images sera peu, voire pas utilisée par ces codeurs. En effet, entre deux vues captées respectivement par deux caméras 2D, il y a peu de contenu similaire pouvant être prédit. De ce fait, toutes les images de vues 360° sont compressées de la même manière. En particulier, aucune analyse n’est faite dans ces codeurs pour déterminer, relativement à l’image d’une vue 360° courante à coder, s’il est pertinent de coder toutes les données de cette image, ou certaines données seulement de cette image, dans le cadre d’une synthèse d’images de vue intermédiaire non capturées qui utiliserait cette image de la vue codée, puis décodée.
3. Objet et résumé de l'invention
Un des buts de l'invention est de remédier à des inconvénients de l'état de la technique précité.
A cet effet, un objet de la présente invention concerne un procédé de codage d’une image d’une vue faisant partie d’une pluralité de vues, la pluralité de vues représentant simultanément une scène 3D selon différentes positions ou différents angles de vue, mis en oeuvre par un dispositif de codage, comprenant ce qui suit :
- sélectionner une première méthode de codage ou une deuxième méthode de codage pour coder l’image de la vue,
- générer un signal de données contenant une information indiquant si c’est la première méthode de codage ou la deuxième méthode de codage qui est sélectionnée,
- si la première méthode de codage est sélectionnée, coder les données originales de l’image de la vue, la première méthode de codage fournissant des données originales codées,
- si la deuxième méthode de codage est sélectionnée :
• coder des données traitées de l’image de la vue, ces données ayant été obtenues à l’aide d’un traitement d’image appliqué aux données originales de l’image de la vue, le codage fournissant des données traitées codées,
• coder des informations de description du traitement d’image qui a été appliqué,
- le signal de données généré contenant en outre :
• les données originales codées de l’image de la vue, si la première méthode de codage a été sélectionnée,
• les données traitées codées de l’image de la vue, ainsi que les informations codées de description du traitement d’image, si la deuxième méthode de codage a été sélectionnée. Grâce à l’invention, parmi plusieurs images issues de vue courantes à coder du type précité, lesdites images représentant un très grand nombre de données à coder, et donc à signaler, il est possible de cumuler deux techniques de codage pour chaque image de chaque vue à coder :
- une première technique de codage, selon laquelle les images d’une ou de plusieurs vues sont codées classiquement (HEVC, MVC-HEVC, 3D-HEVC, par exemple), de façon à obtenir respectivement des images reconstruites formant des vues de très bonne qualité,
- une deuxième technique de codage innovante, selon laquelle sont codées des données traitées d’images d’une ou de plusieurs autres vues, de façon à obtenir au décodage des données d’image traitées qui ne correspondent donc pas aux données originales de ces images, mais au bénéfice d’une réduction non négligeable du coût de signalisation des données traitées codées de ces images.
Au décodage, seront alors retrouvées, pour chaque image de chaque autre vue, dont les données traitées ont été codées selon la deuxième méthode de codage, les données traitées correspondantes de l’image de la vue, ainsi que les informations de description du traitement d’image appliqué, au codage, aux données originales de l’image de la vue. De telles données traitées pourront alors être traitées à l’aide des informations de description de traitement d’image correspondantes, afin de constituer une image de la vue qui, utilisée avec au moins une des images d’une vue reconstruite selon la première méthode de décodage classique, permettront de synthétiser des images de vues intermédiaires non capturées, de façon particulièrement efficace et performante.
La présente invention concerne également un procédé de décodage d’un signal de données représentatif d’une image d’une vue faisant partie d’une pluralité de vues, la pluralité de vues représentant simultanément une scène 3D selon différentes positions ou différents angles de vue, mis en oeuvre par un dispositif de décodage, comprenant ce qui suit :
- à partir du signal de données, lire une information indiquant si l’image de la vue est à décoder selon une première ou une deuxième méthode de décodage,
- s’il s’agit de la première méthode de décodage :
• lire, dans le signal de données, des données codées associées à l’image de la vue, • reconstruire une image de la vue à partir des données codées lues, l’image de la vue reconstruite contenant les données originales de l’image de la vue,
- s’il s’agit de la deuxième méthode de décodage :
• lire, dans le signal de données, des données codées associées à l’image de la vue,
• reconstruire une image de la vue, à partir des données codées lues, l’image de la vue reconstruite contenant des données traitées de l’image de la vue, en association avec des informations de description d’un traitement d’image utilisé pour obtenir les données traitées.
Selon un mode de réalisation particulier :
- les données traitées de l’image de la vue sont des données de l’image de la vue qui n’ont pas été supprimées suite à l’application d’un rognage de l’image de la vue,
- les informations de description du traitement d’image sont des informations de localisation, dans l’image de la vue, d’une ou de plusieurs zones rognées.
Un tel traitement de rognage appliqué à l’image de ladite vue permet de ne pas coder une partie des données originales de cette dernière, au bénéfice d’une réduction importante du débit de transmission des données codées associées à l’image de ladite vue, puisque les données appartenant à la ou aux zone(s) qui ont été rognées ne sont ni codées, ni signalées au décodeur. La réduction du débit dépendra de la taille de la ou des zones rognées. L’image de la vue qui sera reconstruite après décodage, puis éventuellement traitement de ses données traitées, à l’aide des informations de description de traitement d’image correspondantes, ne contiendra donc pas toutes ses données originales ou tout au moins sera différente par rapport à l’image de la vue originale. L’obtention d’une telle image de la vue ainsi rognée ne remet toutefois pas en cause l’efficacité de la synthèse d’une image intermédiaire qui utiliserait une telle image de ladite vue rognée, une fois reconstruite. En effet, une telle synthèse utilisant une ou plusieurs images reconstruites à l’aide d’un décodeur classique (HEVC, MVC-HEVC, 3D- HEVC, par exemple), il est possible de retrouver la zone originale dans la vue intermédiaire, grâce à l’image de ladite vue et des images reconstruites classiquement.
Selon un autre mode de réalisation particulier :
- les données traitées de l’image de la vue sont les données d’au moins une zone de l’image de la vue qui a subi un échantillonnage, selon un facteur d’échantillonnage donné et selon au moins une direction donnée,
- les informations de description du traitement d’image comprennent au moins une information de localisation, dans l’image de la vue, de la au moins une zone échantillonnée.
Un tel traitement privilégie une dégradation homogène de l’image de ladite vue, toujours dans le but d’optimiser la réduction du débit des données résultant de l’échantillonnage appliqué, puis codées. La reconstruction par la suite d’une telle image de la vue ainsi échantillonnée, même si elle fournit une image reconstruite de la vue qui est dégradée/différente par rapport à l’image originale de la vue, dont les données originales ont été échantillonnées, puis codées, ne remet pas en cause l’efficacité de la synthèse d’une image intermédiaire qui utiliserait une telle image de ladite vue échantillonnée reconstruite. En effet, une telle synthèse utilisant une ou plusieurs images reconstruites à l’aide d’un décodeur classique (HEVC, MVC-HEVC, 3D-HEVC, par exemple), il est possible de retrouver la zone originale correspondant à la zone filtrée de l’image de ladite vue, dans cette ou ces images reconstruites classiquement.
Selon un autre mode de réalisation particulier :
- les données traitées de l’image de la vue sont les données d’au moins une zone de l’image de la vue qui a subi un filtrage,
- les informations de description du traitement d’image comprennent au moins une information de localisation, dans l’image de la vue, de la au moins une zone filtrée.
Un tel traitement privilégie la suppression des données de l’image de ladite vue qui sont considérées comme non utiles à coder, en vue d’optimiser la réduction en débit des données codées qui sont avantageusement constituées uniquement par les données filtrées de l’image.
La reconstruction par la suite d’une telle image de la vue ainsi filtrée, même si elle fournit une image reconstruite de la vue qui est dégradée/différente par rapport à l’image originale de la vue, dont les données originales ont été filtrées, puis codées, ne remet pas en cause l’efficacité de la synthèse d’une image intermédiaire qui utiliserait une telle image de ladite vue filtrée reconstruite. En effet, une telle synthèse utilisant une ou plusieurs images reconstruites à l’aide d’un décodeur classique (HEVC, MVC-HEVC, 3D-HEVC, par exemple), il est possible de retrouver la zone originale dans la vue intermédiaire, grâce à la zone filtrée de l’image de ladite vue, et les images reconstruites classiquement.
Selon un autre mode de réalisation particulier :
- les données traitées de l’image de la vue sont des pixels de l’image de la vue, correspondant à une occlusion détectée à l’aide d’une image d’une autre vue de la pluralité,
- les informations de description du traitement d’image comprennent un indicateur des pixels de l’image de la vue qui se retrouvent dans l’image d’une autre vue.
De façon similaire au mode de réalisation précédent, un tel traitement privilégie la suppression des données de l’image de ladite vue qui sont considérées comme non utiles à coder, en vue d’optimiser la réduction en débit des données codées qui sont avantageusement constituées uniquement par les pixels de l’image de ladite vue, dont on a détecté l’absence dans une autre image d’une vue courante de ladite pluralité.
La reconstruction par la suite d’une telle image de la vue, même si elle fournit une image reconstruite de la vue qui est dégradée/différente par rapport à l’image originale de la vue, dont seule la zone occluse a été codée, ne remet pas en cause l’efficacité de la synthèse d’une image intermédiaire qui utiliserait une telle image de ladite vue reconstruite. En effet, une telle synthèse utilisant une ou plusieurs images reconstruites à l’aide d’un décodeur classique (HEVC, MVC-HEVC, 3D-HEVC, par exemple), il est possible de retrouver la zone originale dans la vue intermédiaire, grâce à l’image de la vue courante et les images reconstruites classiquement.
Selon un autre mode de réalisation particulier :
- les données traitées de l’image de la vue, qui ont été codées/décodées, sont des pixels qui sont calculés :
- à partir des données originales de l’image de la vue,
- à partir des données originales d’une image d’au moins une autre vue qui est codée/décodée à l’aide de la première méthode de codage/décodage, - et éventuellement à partir des données originales d’une image d’au moins une autre vue, pour laquelle des données traitées sont codées/décodées à l’aide de la deuxième méthode de codage/décodage,
- les informations de description dudit traitement d’image comprennent :
- un indicateur des pixels de l’image de la vue qui ont été calculés,
- des informations de localisation, dans l’image d’au moins une autre vue qui a été codée/décodée à l’aide de la première méthode de codage/décodage, des données originales qui ont été utilisées pour calculer les pixels de l’image de la vue,
- et éventuellement, des informations de localisation, dans l’image d’au moins une autre vue, pour laquelle des données traitées ont été codées/décodées, des données originales qui ont été utilisées pour calculer les pixels de l’image de la vue.
Selon un autre mode de réalisation particulier, les données traitées d’une image d’une première vue et les données traitées d’une image d’au moins une deuxième vue sont rassemblées en une seule image.
De façon correspondante au mode de réalisation ci-dessus, les données traitées de l’image de la vue qui sont obtenues selon la deuxième méthode de décodage comprennent les données traitées d’une image d’une première vue et les données traitées d’une image d’au moins une deuxième vue.
Selon un mode de réalisation particulier :
- les données traitées codées/décodées de l’image de la vue sont des données de type image,
- les informations codées/décodées de description du traitement d’image sont des données de type image et/ou de type textuel.
L'invention concerne également un dispositif de codage d’une image d’une vue faisant partie d’une pluralité de vues, la pluralité de vues représentant simultanément une scène 3D selon différentes positions ou différents angles de vue, le dispositif de codage comprenant un processeur qui est configuré pour mettre en oeuvre ce qui suit , à un instant courant :
- sélectionner une première méthode de codage ou une deuxième méthode de codage pour coder l’image de la vue, - générer un signal de données contenant une information indiquant si c’est la première méthode de codage ou la deuxième méthode de codage qui est sélectionnée,
- si la première méthode de codage est sélectionnée, coder les données originales de l’image de la vue, la première méthode de codage fournissant des données originales codées,
- si la deuxième méthode de codage est sélectionnée :
• coder des données traitées de l’image de la vue, les données traitées ayant été obtenues à l’aide d’un traitement d’image appliqué aux données originales de l’image de la vue, le codage fournissant des données traitées codées,
• coder des informations de description du traitement d’image qui a été appliqué,
- le signal de données généré contenant en outre :
• les données originales codées de l’image de la vue, si la première méthode de codage a été sélectionnée,
• les données traitées codées de l’image de la vue, ainsi que les informations codées de description du traitement d’image, si la deuxième méthode de codage a été sélectionnée.
Un tel dispositif de codage est notamment apte à mettre en oeuvre le procédé de codage précité.
L'invention concerne également un dispositif de décodage d’un signal de données représentatif d’une image d’une vue faisant partie d’une pluralité de vues, la pluralité de vues représentant simultanément une scène 3D selon différentes positions ou différents angles de vue, le dispositif de décodage comprenant un processeur qui est configuré pour mettre en oeuvre ce qui suit, à un instant courant :
- lire, dans le signal de données, une information indiquant si l’image de la vue est à décoder selon une première ou une deuxième méthode de décodage,
- s’il s’agit de la première méthode de décodage :
• lire, dans le signal de données, des données codées associées à l’image de la vue, • reconstruire une image de la vue à partir des données codées lues, l’image de la vue reconstruite contenant les données originales de l’image de la vue,
- s’il s’agit de la deuxième méthode de décodage :
• lire, dans le signal de données, des données codées associées à l’image de la vue,
• reconstruire une image de la vue à partir des données codées lues, l’image de la vue reconstruite contenant des données traitées de l’image de la vue, en association avec des informations de description d’un traitement d’image utilisé pour obtenir les données traitées.
Un tel dispositif de décodage est notamment apte à mettre en oeuvre le procédé de décodage précité.
L’invention concerne également un signal de données contenant des données codées selon le procédé de codage précité.
L'invention concerne encore un programme d'ordinateur comportant des instructions pour la mise en oeuvre du procédé de codage ou du procédé de décodage selon l'invention, selon l’un quelconque des modes particuliers de réalisation décrits précédemment, lorsque ledit programme est exécuté par un processeur.
Ce programme peut utiliser n’importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable.
L’invention vise également un support d’enregistrement ou support d’informations lisible par un ordinateur, et comportant des instructions d’un programme d’ordinateur tel que mentionné ci-dessus.
Le support d'enregistrement peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une clé USB ou un disque dur.
D'autre part, le support d'enregistrement peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet.
Alternativement, le support d'enregistrement peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé de codage ou de décodage précité.
4. Brève description des dessins
D'autres caractéristiques et avantages apparaîtront plus clairement à la lecture de plusieurs modes de réalisation préférés, donnés à titre de simples exemples illustratifs et non limitatifs, et décrits ci-dessous en référence aux dessins annexés, dans lesquels:
- la figure 1 représente les principales actions exécutées par le procédé de codage selon un mode de réalisation de l’invention,
- la figure 2A représente un premier type de signal de données susceptible d’être généré suite à la mise en oeuvre du procédé de codage de la figure 1 ,
- la figure 2B représente un deuxième type de signal de données susceptible d’être généré suite à la mise en oeuvre du procédé de codage de la figure 1 ,
- la figure 2C représente un troisième type de signal de données susceptible d’être généré suite à la mise en oeuvre du procédé de codage de la figure 1 ,
- la figure 3A représente un premier mode de réalisation d’un procédé de codage de toutes les images de vues disponibles à un instant courant,
- la figure 3B représente un deuxième mode de réalisation d’un procédé de codage de toutes les images de vues disponibles à un instant courant,
- les figures 4A à 4E représentent chacune un exemple d’un traitement appliqué à l’image d’une vue, selon un premier mode de réalisation,
- les figures 5A à 5D représentent chacune un exemple d’un traitement appliqué à l’image d’une vue, selon un deuxième mode de réalisation,
- la figure 6 représente un exemple d’un traitement appliqué à l’image d’une vue, selon un troisième mode de réalisation,
- la figure 7 représente un exemple d’un traitement appliqué à l’image d’une vue, selon un quatrième mode de réalisation, - la figure 8 représente un exemple d’un traitement appliqué à l’image d’une vue, selon un cinquième mode de réalisation,
- la figure 9 représente un exemple d’un traitement appliqué à l’image d’une vue, selon un sixième mode de réalisation,
- la figure 10 représente un dispositif de codage mettant en oeuvre le procédé de codage de la figure 1 ,
- la figure 1 1 représente les principales actions exécutées par le procédé de décodage selon un mode de réalisation de l’invention,
- la figure 12A représente un premier mode de réalisation d’un procédé de décodage de toutes les images de vues disponibles à un instant courant,
- la figure 12B représente un deuxième mode de réalisation d’un procédé de décodage de toutes les images de vues disponibles à un instant courant,
- la figure 13 représente un dispositif de décodage mettant en oeuvre le procédé de décodage de la figure 1 1 ,
- la figure 14 représente un mode de réalisation d’une synthèse d’images de vues, dans laquelle sont utilisées des images de vues reconstruites selon le procédé de décodage de la figure 1 1 ,
- les figures 15A à 15D représentent chacune un exemple d’un traitement appliqué à l’image d’une vue après reconstruction de cette dernière, selon un premier mode de réalisation,
- la figure 16 représente un exemple d’un traitement appliqué à l’image d’une vue après reconstruction de cette dernière, selon un deuxième mode de réalisation,
- la figure 17 représente un exemple d’un traitement appliqué à l’image d’une vue après reconstruction de cette dernière, selon un troisième mode de réalisation,
- la figure 18 représente un exemple d’un traitement appliqué à l’image d’une vue après reconstruction de cette dernière, selon un quatrième mode de réalisation.
5. Description du principe général de l’invention
L’invention propose principalement un schéma de codage d’une pluralité d’images courantes de respectivement une pluralité de vues, la pluralité de vues représentant à l’instant courant une scène 3D selon une position donnée ou un angle de vue donné, dans lequel deux techniques de codage sont disponibles :
- une première technique de codage, selon laquelle au moins une image courante d’une vue est codée à l’aide d’un mode de codage classique, tel que par exemple HEVC, MV-HEVC, 3D-HEVC,
- une deuxième technique de codage innovante, selon laquelle des données de traitement d’au moins une image courante d’une vue, qui résultent de l’application d’un traitement des données originales de cette image, à l’aide d’un traitement d’image particulier, sont codées à l’aide d’un mode de codage classique du type précité et/ou de tout autre mode de codage adapté, de façon à réduire de façon non négligeable le coût de signalisation des données codées de cette image, résultant du traitement mis en oeuvre avant l’étape de codage.
De façon correspondante, l’invention propose un schéma de décodage qui permet de cumuler deux techniques de décodage:
- une première technique de décodage, selon laquelle au moins une image courante d’une vue codée est reconstruite à l’aide d’un mode de décodage classique, tel que par exemple HEVC, MV-HEVC, 3D-HEVC, et correspondant à un mode de codage classique utilisé au codage et ayant été signalé au décodeur, de façon à obtenir au moins une image reconstruite d’une vue qui soit de très bonne qualité,
- une deuxième technique de décodage innovante selon laquelle les données de traitement codées d’au moins une image d’une vue sont décodées à l’aide d’un mode de décodage correspondant au mode de codage signalé au décodeur, à savoir soit le mode de codage classique et/ou l’autre mode de codage adapté, de façon à obtenir des données d’image traitées et des informations de description du traitement d’image dont sont issues les données traitées obtenues. Les données traitées obtenues au décodage pour cette image ne correspondent donc pas aux données originales de celle-ci, contrairement aux données d’image décodées selon la première technique de décodage.
L’image de la vue qui sera reconstruite par la suite à partir de telles données d’image traitées décodées et des informations de description de traitement d’image sera différente de l’image originale de la vue, c'est-à-dire avant traitement, puis codage de ses données originales. Toutefois, une telle image reconstruite de la vue constituera l’image d’une vue qui, utilisée avec des images d’autres vues reconstruites selon la première technique de décodage classique, permettront de synthétiser des images de vues intermédiaires, de façon particulièrement efficace et performante.
6. Exemples de mise en oeuvre de schéma de codage
On décrit ci-après un procédé de codage de vidéos omnidirectionnelle 360°, 180° , ou autres qui peut utiliser tout type de codajrs vidéo multi-vues, par exemple conformes au standard 3D-HEVC ou MV-HEVC, ou autre.
En référence à la figure 1 , un tel procédé de codage s’applique à une image courante d’une vue qui fait partie d’une pluralité de vues V-i,..., VN, la pluralité de vues représentant une scène 3D selon respectivement une pluralité d’angles de vue ou une pluralité de positions/orientations.
Selon un exemple courant, dans le cas où trois caméras omnidirectionnelles sont utilisées pour générer une vidéo, par exemple 360° :
- une première caméra omnidirectionnelle peut par exemple être placée au centre de la scène 3D, selon un angle de vue 360°x180° ,
- une deuxième caméra omnidirectionnelle peut par exemple être placée à gauche dans la scène 3D, selon un angle de vue 360°x180° ,
- une troisième caméra omnidirectionnelle peut par exemple être placée à droite dans la scène 3D, selon un angle de vue 360°x180° .
Selon un autre exemple plus atypique, dans le cas où trois caméras omnidirectionnelles sont utilisées pour générer une vidéo a°, avec 0°«<360° :
- une première caméra omnidirectionnelle peut par exemple être placée au centre de la scène 3D, selon un angle de vue 360°x180° ,
- une deuxième caméra omnidirectionnelle peut par exemple être placée à gauche dans la scène 3D, selon un angle de vue 270°x135° ,
- une troisième caméra omnidirectionnelle peut par exemple être placée à droite dans la scène 3D, selon un angle de vue, 180°x90° .
D’autres configurations sont bien sûr possibles.
Au moins deux vues de ladite pluralité de vues peuvent représenter la scène 3D selon un même angle de vue ou pas.
Le procédé de codage selon l’invention consiste à coder à un instant courant :
- une image IV1 d’une vue V1 ;
- une image IV2 d’une vue V2, - une image IVk d’une vue Vk,
- une image IVN d’une vue VN,
Une image d’une vue considérée peut être aussi bien une image de texture qu’une image de profondeur. L’image d’une vue considérée, par exemple l’image IVk, contient un nombre Q (Q>1 ) de données originales (d1 k, ..., dQk), telles que par exemple Q pixels.
Le procédé de codage comprend alors ce qui suit, pour au moins une image IVk d’une vue Vk, à coder :
En C1 , est sélectionnée une première méthode de codage MC1 ou une deuxième méthode de codage MC2 de l’image IVk.
Si la première méthode de codage MC1 est sélectionnée, en C10, une information flag_proc est codée, par exemple sur un bit positionné à 0, pour indiquer que la méthode de codage MC1 est sélectionnée.
En C1 1 a, les Q données originales (pixels) d1 k, ..., dQk de l’image IVk sont codées à l’aide d’un codeur classique, tel que par exemple conforme au standard HEVC, MV-HEVC, 3D-HEVC, etc. A l’issue du codage C1 1 a, une image codée IVCk de la vue Vk est obtenue. L’image codée IVCk contient alors Q données originales codées dc1 k, dc2k, ... , dcQk.
En C12a, un signal de données F1 k est généré. Comme représenté sur la figure 2A, le signal de données F1 k contient l’information flag_proc=0 relative à la sélection de la première méthode de codage MC1 , ainsi que les données originales codées dc1 k, dc2k, ... , dcQk.
Si la deuxième méthode de codage MC2 est sélectionnée, en C10, une information flag_proc est codée, par exemple sur un bit positionné à 1 , pour indiquer que la méthode de codage MC2 est sélectionnée.
En C1 1 b, la méthode de codage MC2 est appliquée à des données DTk résultant d’un traitement de l’image IVk, réalisé avant l’étape de codage.
De telles données DTk comprennent :
- des données de type image (pixels) correspondant à tout ou partie des données originales de l’image IVk qui ont été traitées à l’aide d’un traitement d’image particulier, avant l’étape de codage, dont différents exemples détaillés seront décrits plus loin dans la description, - des informations de description du traitement d’image ayant été appliqué à l’image IVk, avant l’étape de codage C1 1 b, de telles informations de description étant par exemple de type textuel et/ou image.
A l’issue du codage C1 1 b, des données traitées codées DTCk sont obtenues. Elles sont représentatives d’une image traitée codée IVTCk.
Ainsi, les données traitées DTk ne correspondent pas aux données originales de l’image IVk.
Par exemple, ces données traitées DTk correspondent à une image dont la résolution est plus grande ou plus petite que celle de l’image IVk avant traitement. Ainsi, l’image IVk traitée pourra par exemple être plus grande, car obtenue à partir d’images d’autres vues, ou au contraire être plus petite, car résultant d’une suppression d’un ou de plusieurs pixels originaux de l’image IVk.
Selon un autre exemple, ces données traitées DTk correspondent à une image dont le format de représentation (YUV, RGB, etc) de l’image I Vk traitée est différent du format original de l’image IVk avant traitement, ainsi que le nombre de bits pour représenter un pixel (16 bits, 10 bits, 8 bits, etc).
Selon encore un autre exemple, ces données traitées DTk correspondent à une composante de couleur ou de texture qui est dégradée par rapport à la composante de texture ou de couleur originale de l’image IVk avant traitement.
Selon encore un autre exemple, ces données traitées DTk correspondent à une représentation particulière du contenu original de l’image IVk avant traitement, par exemple une représentation du contenu original filtré de l’image IVk.
Dans le cas où les données traitées DTk sont uniquement des données d’image, c'est-à-dire se présentent par exemple sous la forme d’une grille de pixels, la méthode de codage MC2 peut être mise en oeuvre par un codeur qui est similaire au codeur mettant en oeuvre la première méthode de codage MC1. Il pourra s’agir d’un codeur avec perte ou sans perte. Dans le cas où les données traitées DTk sont différentes des données d’image, telles que par exemple des données de type textuel, ou bien comprennent à la fois des données d’image et des données d’un autre type que des données d’image, la méthode de codage MC2 peut être mise en oeuvre :
- par un codeur sans perte pour coder spécifiquement les données de type textuel, - par un codeur avec perte ou sans perte pour coder spécifiquement les données d’image, un tel codeur pouvant être identique au codeur mettant en oeuvre la première méthode de codage MC1 ou bien différent.
En C12b, un signal de données F2k est généré. Comme représenté sur la figure 2B, le signal de données F2k contient l’information flag_proc=1 relative à la sélection de la deuxième méthode de codage MC2 et les données traitées codées DTCk, dans le cas où ces données sont toutes des données d’image.
A titre d’alternative, en C12c, dans le cas où les données traitées codées DTCk comprennent à la fois des données d’image et des données de type textuel, deux signaux F3ket F’3ksont générés.
Comme représenté sur la figure 2C :
- le signal de données F’3 contient l’information flag_proc=1 relative à la sélection de la deuxième méthode de codage MC2 et les données traitées codées DTCk de type image,
- le signal de données F’3k contient les données traitées codées DTCk de type textuel.
Le procédé de codage qui vient d’être décrit ci-dessus peut ensuite être mis en oeuvre pour chaque image IV-i, IV2, ..., IVN des N vues à coder disponibles, pour certaines d’entre elles seulement ou encore peut se limiter à l’image IVk, avec par exemple k=1.
Selon deux exemples de réalisation représentés sur les figures 3A et 3B, on suppose par exemple que parmi les N images IV-i, ..., IVN à coder :
- les n premières images IV-i,..., IVn sont codées à l’aide de la première technique de codage MC1 : les n premières vues V1 à Vn sont appelées vues maître car une fois reconstruites, les images des n vues maitre contiendront la totalité de leurs données originales et seront pertinentes pour être utilisées avec une ou plusieurs des N-n autres vues afin de synthétiser les images de vues arbitraires requises par un utilisateur,
- les N-n autres images IVn+i, ..., IVN sont traitées avant d’être codées à l’aide de la deuxième méthode de codage MC2 : ces N-n autres images traitées appartiennent à des vues dites additionnelles. Si n=0, toutes les images IV1 ; IVN de toutes les vues sont traitées. Si n=N-1 , l’image d’une seule vue parmi N est traitée, par exemple l’image de la première vue.
A l’issue du traitement des N-n autres images IVn+1 , ..., IVN, sont obtenues M-n données traitées. Si M=N, il y autant de données traitées que de vues à traiter. Si M<N, au moins une des N-n vue a été supprimée lors du traitement. Dans ce cas, à l’issue du codage C1 1 b selon la deuxième méthode de codage MC2, sont codées, à l’aide d’un codeur sans perte, des données traitées relatives à cette image de la vue supprimée qui comprennent uniquement une information indiquant l’absence de cette image et de cette vue. Aucun pixel ne sera alors codé, à l’aide de la deuxième méthode de codage MC2, à l’aide d’un codeur de type HEVC, MVC-HEVC, 3D- HEVC, etc., pour cette image supprimée par le traitement.
Dans l’exemple de la figure 3A, en C1 1 a, les n premières images IV-i , ..., IVn sont codées à l’aide d’un codeur classique de type HEVC, indépendamment les unes des autres. A l’issue du codage C1 1 a, sont obtenues respectivement n images codées IVC-i, ..., IVCn. En C12a, respectivement n signaux de données F1 -i,..., F1 n sont générés. En C13a, ces n signaux de données F1 1 ; ..., F1 n sont concaténés, générant un signal de données F1 .
Comme représenté par les flèches en pointillés, les images IV-i, ..., IVn peuvent être utilisées lors du traitement des N-n autres images IVn+1 , ..., IVN.
Toujours en référence à la figure 3A, en C1 1 b, les M-n données traitées DTn+1, .. . , DTM sont codées à l’aide d’un codeur classique de type HEVC, indépendamment les unes des autres, si ces M-n données traitées sont toutes de type image ou bien, si elles sont à la fois de type image et de type texte, sont codées à l’aide d’un codeur classique de type HEVC, indépendamment les unes des autres, pour les données traitées de type image, et sont codées par un codeur sans perte pour les données traitées de type texte. A l’issue du codage C1 1 b, sont obtenues N-n données traitées codées DTCn+i, ..., DTCN en tant que respectivement N-n données codées associées respectivement aux N-n images IVn+1 , ..., IVN. En C12b, dans le cas où les M-n données traitées sont toutes de type image, sont générés respectivement N-n signaux de données F2n+i , ..., F2N contenant respectivement les N-n données traitées codées DTCn+i, ..., DTCN. En C12c, dans le cas où les M-n données traitées sont à la fois de type image et de type texte : - sont générés N-n signaux de données F3n+i , ..., F3N contenant respectivement les N-n données traitées codées de type image, et
- sont générés N-n signaux de données F’3n+i , F’3N contenant respectivement les N-n données traitées codées de type texte.
En C13c, les signaux de données F3n+i , ..., F3N et F’3n+i , ..., F’3N sont concaténés, générant un signal de données F3.
En C14, soit les signaux F1 et F2 sont concaténés, soit les signaux F1 et F3 sont concaténés, fournissant un signal de données F apte à être décodé par un procédé de décodage qui sera décrit plus loin dans la description.
Dans l’exemple de la figure 3B, en C1 1 a, les n premières images IV-i,..., IVn sont codées simultanément à l’aide d’un codeur classique de type MV-FIEVC ou 3D- FIEVC. A l’issue du codage C1 1 a, sont obtenues respectivement n images codées IVC-i, ..., IVCn. En C12a, est généré un unique signal F1 qui contient les données originales codées associées à chacune de ces n images codées.
Comme représenté par les flèches en pointillés, les premières images IV-i, ..., IVn peuvent être utilisées lors du traitement des N-n autres images IVn+1, ..., IVN.
Toujours en référence à la figure 3B, en C1 1 b, les M-n données traitées DTn+i , ..., DTM de type image sont codées simultanément à l’aide d’un codeur classique de type MV-FIEVC ou 3D-FIEVC si ces M-n données traitées sont toutes de type image ou bien, si elles sont à la fois de type image et de type texte, sont codées simultanément à l’aide d’un codeur classique de type MV-FIEVC ou 3D-FIEVC pour les données traitées de type image, et sont codées par un codeur sans perte pour les données traitées de type texte. A l’issue du codage C1 1 b, sont obtenues respectivement N-n données traitées codées DTCn+i , ..., DTCN en tant que respectivement N-n données traitées codées associées respectivement aux N-n images IVn+i , ..., IVN qui ont été traitées. En C12b, dans le cas où les M-n données traitées sont toutes de type image, est généré un unique signal F2 qui contient les N- n données traitées codées DTCn+i ,..., DTCN de type image. En C12c, dans le cas où les M-n données traitées sont à la fois de type image et de type texte :
- est généré un signal F3 qui contient les données traitées codées de type image,
- est généré un signal F’3 qui contient les données traitées codées de type texte. En C14, soit les signaux F1 et F2 sont concaténés, soit les signaux F1 , F3 et F’3 sont concaténés, fournissant un signal de données F apte à être décodé par un procédé de décodage qui sera décrit plus loin dans la description.
Bien entendu, d’autres combinaisons de méthodes de codage sont possibles.
Selon une variante possible de la figure 3A, le codeur mettant en oeuvre la méthode de codage MC1 pourrait être un codeur de type FIEVC et le codeur mettant en oeuvre la méthode de codage MC2 pourrait être un codeur de type MV-FIEVC ou 3D-HEVC ou bien encore comprendre un codeur de type MV-HEVC ou 3D-HEVC et un codeur dans perte.
Selon une variante possible de la figure 3B, le codeur mettant en oeuvre la méthode de codage MC1 pourrait être un codeur de type MV-FIEVC ou 3D-FIEVC et le codeur mettant en oeuvre la méthode de codage MC2 pourrait être un codeur de type FIEVC ou bien comprendre un codeur de type FIEVC et un codeur sans perte.
On va maintenant décrire, en référence aux figures 4A à 4E, un premier mode de réalisation d’un traitement appliqué aux données originales d’une image IVk, avant l’étape de codage C1 1 b (figure 1 ) selon la deuxième méthode de codage MC2.
Dans l’exemple représenté sur ces figures, le traitement appliqué aux données originales de l’image IVk est un rognage d’une ou de plusieurs zones de cette image, selon une direction horizontale ou verticale ou bien selon les deux directions à la fois.
Dans l’exemple de la figure 4A, le bord gauche B1 et le bord droit B2 de l’image IVk sont rognés, ce qui signifie la suppression des pixels de la zone rectangulaire de l’image IVk formée par chacun des bords B1 et B2.
Dans l’exemple de la figure 4B, le bord supérieur B3 et le bord inférieur B4 de l’image IVk sont rognés, ce qui signifie la suppression des pixels de la zone rectangulaire de l’image IVk formée par chacun des bords B3 et B4.
Dans l’exemple de la figure 4C, le rognage est appliqué selon une direction verticale à une zone rectangulaire Z1 située dans l’image IVk.
Dans l’exemple de la figure 4D, le rognage est appliqué selon une direction horizontale à une zone rectangulaire Z2 située dans l’image IVk.
Dans l’exemple de la figure 4E, le rognage est appliqué à la fois selon une direction horizontale et verticale à une zone Z3 située dans l’image IVk.
Les données traitées DTk à coder comprennent alors : - les pixels de la zone restante ZR de l’image IVk qui n’ont pas été supprimés suite au rognage (figs 4A, 4B, 4E), ou bien les pixels des zones restantes Z1 R et Z2R (figs 4C, 4D) de l’image IVk qui n’ont pas été supprimés suite au rognage,
- des informations décrivant le rognage appliqué.
Dans le cas par exemple des figures 4A, 4B, 4E, les informations décrivant le rognage appliqué sont de type textuel et contiennent :
- les coordonnées du pixel situé en haut, le plus à gauche, dans la zone restante ZR de l’image IVk,
- les coordonnées du pixel situé en bas, le plus à droite, dans la zone restante ZR de l’image IVk.
Dans le cas par exemple des figures 4C et 4D, les informations décrivant le rognage appliqué contiennent :
- les coordonnées du pixel situé en haut, le plus à gauche, dans la zone restante Z1 R de l’image IVk,
- les coordonnées du pixel situé en bas, le plus à droite, dans la zone restante Z1 R de l’image IVk,
- les coordonnées du pixel situé en haut, le plus à gauche, dans la zone restante Z2R de l’image IVk,
- les coordonnées du pixel situé en bas, le plus à droite, dans la zone restante Z2R de l’image IVk.
Les données (pixels) originales de la zone rectangulaire définie par les coordonnées du pixel situé en haut, le plus à gauche, dans la zone restante ZR (resp. Z1 R et Z2r) et les coordonnées du pixel situé en bas, le plus à droite, dans la zone restante ZR (resp. Z1 R et Z2R) sont alors codées en C1 1 b (figure 1 ) par un codeur de type HEVC, 3D-HEVC, MV-HEVC, etc. Les informations de description du rognage appliqué sont quant à elles codées en C1 1 b (figure 1 ) par un codeur sans perte.
En variante, les informations décrivant le rognage appliqué contiennent le nombre de lignes et/ou de colonnes de pixels à supprimer, ainsi que la position de ces lignes et/ou de ces colonnes dans l’image IVk.
Selon un mode de réalisation, le nombre de données à supprimer par rognage est fixe. Il peut par exemple être décidé de systématiquement supprimer X lignes et/ou Y colonnes de l’image d’une vue considérée. Dans ce cas, les informations de description contiennent uniquement l’information de rognage ou non pour chaque vue. Selon un autre mode de réalisation, le nombre de données à supprimer par rognage est variable entre l’image IVk de la vue Vk et une image d’une autre vue disponible.
Le nombre de données à supprimer par rognage peut dépendre aussi par exemple de la position dans la scène 3D de la caméra qui a capturé l’image IVk. Ainsi, par exemple, si l’image d’une autre vue parmi lesdites N vues a été capturée par une caméra ayant une position/orientation dans la scène 3D différente de celle de la caméra qui a capturé l’image IVk, une quantité de données à supprimer différente de la quantité de données supprimées pour l’image IVk sera par exemple utilisée.
L’application d’un rognage peut par ailleurs dépendre de l’instant auquel est codée l’image IVk. A l’instant courant, il peut par exemple être décidé d’appliquer un rognage à l’image IVk, tandis qu’aux instants précédant ou suivant l’instant courant, il peut être décidé de ne pas appliquer un tel rognage, ni d’ailleurs aucun traitement, à l’image IVk.
Enfin, le rognage peut être appliqué aux images d’une ou plusieurs vues à l’instant courant. La zone rognée dans l’image IVk de la vue Vk peut être la même ou non que la zone rognée d’une image d’une autre vue à coder à l’instant courant.
On va maintenant décrire en référence aux figures 5A à 5D un deuxième mode de réalisation d’un traitement appliqué aux données originales d’une image IVk, avant l’étape de codage C1 1 b (figure 1 ) selon la deuxième méthode de codage MC2.
Dans l’exemple représenté sur ces figures, le traitement appliqué aux données originales de l’image IVkest un sous-échantillonnage d’une ou de plusieurs zones de cette image, selon une direction horizontale ou verticale.
Dans l’exemple de la figure 5A, un sous-échantillonnage est appliqué à une zone Z4 de l’image IVk, selon une direction verticale.
Dans l’exemple de la figure 5B, un sous-échantillonnage est appliqué à une zone Z5 de l’image IVk, selon une direction horizontale.
Dans l’exemple de la figure 5C, un sous-échantillonnage est appliqué à toute l’image IVk. Dans l’exemple de la figure 5D, un sous-échantillonnage est appliqué à une zone Z6 de l’image IVk, selon à la fois une direction horizontale et une direction verticale.
Les données traitées DTk à coder comprennent alors :
- les données d’image (pixels) sous-échantillonnées,
- des informations décrivant le sous-échantillonnage appliqué, telles que par exemple :
- le facteur de sous-échantillonnage utilisé,
- la direction de sous-échantillonnage utilisée,
- dans le cas des figures 5A, 5B, 5D, la localisation de la zone filtrée Z4, Z5, Z6 dans l’image IVk ou bien,
- dans le cas de la figure 5C, les coordonnées du pixel situé en haut, le plus à gauche, dans l’image IVk, et les coordonnées du pixel situé en bas, le plus à droite, dans l’image IVk définissant ainsi la surface complète de cette image.
Les données d’image (pixels) sous-échantillonnées sont alors codées en C11 b (figure 1 ) par un codeur de type HEVC, 3D-HEVC, MV-HEVC, etc. Les informations de description du sous-échantillonnage appliqué sont quant à elles codées en C1 1 b (figure 1 ) par un codeur sans perte.
La valeur du facteur de sous-échantillonnage peut être fixe ou bien dépendre de la position dans la scène 3D de la caméra qui a capturé l’image IVk. Ainsi, par exemple, si l’image d’une autre vue parmi lesdites N vues a été capturée par une caméra ayant une position/orientation dans la scène 3D différente de celle de la caméra qui a capturé l’image IVk, un autre facteur de sous-échantillonnage sera par exemple utilisé.
L’application d’un sous-échantillonnage peut par ailleurs dépendre de l’instant auquel est codée l’image de la vue Vk. A l’instant courant, il peut par exemple être décidé d’appliquer un sous-échantillonnage à l’image IVk, tandis qu’aux instants précédant ou suivant l’instant courant, il peut être décidé de ne pas appliquer un tel sous-échantillonnage, ni d’ailleurs aucun traitement, à l’image de la vue Vk.
Enfin, le sous-échantillonnage peut être appliqué aux images d’une ou plusieurs vues à l’instant courant. La zone sous-échantillonnée dans l’image IVk peut être la même ou non que la zone sous-échantillonnée d’une image d’une autre vue à coder à l’instant courant. On va maintenant décrire en référence à la figure 6 un troisième mode de réalisation d’un traitement appliqué aux données originales d’une image IVk, avant l’étape de codage C1 1 b (figure 1 ) selon la deuxième méthode de codage MC2.
Dans l’exemple représenté sur la figure 6, le traitement appliqué aux données originales de l’image IVk est une détection de contours par filtrage de cette image. Deux contours ED1 et ED2 sont par exemple présents dans une image IVk. De façon connue en soi, un tel filtrage comprend par exemple ce qui suit :
- appliquer un filtre de détection de contour aux contours ED1 et ED2,
- appliquer une dilatation des contours ED1 et ED2 de façon à agrandir la zone entourant chaque contour ED1 et ED2, une telle zone étant représentée par des hachures sur la figure 6,
- supprimer toutes les données originales de l’image IVk qui ne font pas partie des zones hachurées et qui sont donc considérées comme inutiles à coder.
Les données traitées DTk à coder, dans le cas d’un tel filtrage, comprennent alors :
- les pixels originaux qui sont contenus dans les zones hachurées,
- des informations décrivant le filtrage appliqué, telle que par exemple une valeur prédéfinie pour chaque pixel non compris dans la zone hachurée, représentée par exemple par une valeur YUV=000 prédéfinie.
Les données d’image (pixels) correspondant aux zones hachurées sont alors codées en C1 1 b (figure 1 ) par un codeur de type HEVC, 3D-HEVC, MV-HEVC, etc. Les informations de description du filtrage appliqué sont quant à elles codées en C11 b (figure 1 ) par un codeur sans perte.
Le filtrage qui vient d’être décrit relativement à l’image IVk peut être appliqué à une ou plusieurs images d’autres vues parmi lesdites N vues, sur des zones de cette ou de ces images qui peuvent être différentes d’une image d’une vue à une autre image d’une vue.
On va maintenant décrire en référence à la figure 7 un quatrième mode de réalisation d’un traitement appliqué aux données originales d’une image IVk, avant l’étape de codage C1 1 b (figure 1 ) selon la deuxième méthode de codage MC2.
Dans l’exemple représenté sur la figure 7, le traitement appliqué aux données originales de l’image IVk est une détection d’occlusion d’au moins une zone ZQc de l’image IVk à l’aide d’au moins une image IVP d’une autre vue Vp parmi N vues (1 <p£N).
De façon connue en soi, une telle détection d’occlusion consiste à chercher la zone Z0c de l’image IVk à partir de l’image IVP, à l’aide par exemple d’une estimation de disparité. La zone Z0c occluse est alors dilatée, à l’aide par exemple d’un algorithme de morphologie mathématique. La zone Zoc ainsi dilatée est représentée par des hachures sur la figure 7. Toutes les données originales de l’image IVk qui ne font pas partie de la zone Z0c hachurée et qui sont donc considérées comme inutiles à coder sont supprimées.
Les données traitées DTk à coder, dans le cas d’une telle détection d’occlusion, comprennent alors :
- les pixels originaux qui sont contenus dans la zone hachurée,
- des informations décrivant la détection d’occlusion appliquée, telles qu’une valeur prédéfinie pour chaque pixel non compris dans la zone hachurée, représentée par exemple par une valeur YUV=000 prédéfinie.
Les données d’image (pixels) correspondant à la zone hachurée sont alors codées en C1 1 b (figure 1 ) par un codeur de type HEVC, 3D-HEVC, MV-HEVC, etc. Les informations de description de la détection d’occlusion appliquée sont quant à elles codées en C1 1 b (figure 1 ) par un codeur sans perte.
On va maintenant décrire en référence à la figure 8 un cinquième mode de réalisation d’un traitement appliqué aux données originales d’une image IVk, avant l’étape de codage C1 1 b (figure 1 ) selon la deuxième méthode de codage MC2.
Dans l’exemple représenté sur la figure 8, le traitement appliqué aux données originales de l’image IVk consiste à calculer des pixels :
- à partir des pixels originaux de l’image IVk,
- à partir des pixels originaux d’une image IVj d’une ou plusieurs autres vues (1 £j£n) qui sont codées en C1 1 a (figure 1 ) à l’aide de la première méthode de codage MC1 ,
- et éventuellement à partir des pixels originaux d’une image IVi (n+1 £l£N) d’au moins une autre vue, pour laquelle des pixels traités sont codés en C1 1 b (figure 1 ) à l’aide de la deuxième méthode de codage MC2.
Les données traitées DTk à coder, dans le cas d’un tel calcul, comprennent alors : - un indicateur des pixels de l’image IVk de ladite vue qui ont été calculés,
- des informations de localisation, dans l’image IVj, des pixels originaux qui ont été utilisées pour calculer les pixels de l’image IVk,
- et éventuellement, des informations de localisation, dans l’image IV|, des pixels originaux qui ont été utilisées pour calculer les pixels de l’image IVk.
Le calcul précité consiste par exemple à soustraire les pixels originaux de l’image IVk d’une vue et éventuellement les pixels originaux de l’image IV|, des pixels originaux de l’image IVj.
On va maintenant décrire en référence à la figure 9 un sixième mode de réalisation d’un traitement appliqué aux données originales d’une image IVk, avant l’étape de codage C1 1 b (figure 1 ) selon la deuxième méthode de codage MC2.
Dans l’exemple représenté sur la figure 9, le traitement appliqué aux données originales de l’image IVk consiste :
- à traiter les pixels originaux de l’image IVk, fournissant des données traitées DT’k,
- à traiter les pixels originaux d’une image IVS d’une vue Vs (1 <s£N), fournissant des données traitées DTS,
- à rassembler les données traitées DT’k de l’image IVk et les données traitées DTS de l’image IVS en une seule image IVone, dont les données originales traitées obtenues DTk sont codées en C11 b (figure 1 ) à l’aide de la deuxième méthode de codage MC2.
La figure 10 présente la structure simplifiée d’un dispositif de codage COD adapté pour mettre en oeuvre le procédé de codage selon l'un quelconque des modes particuliers de réalisation de l'invention.
Selon un mode particulier de réalisation de l'invention, les actions exécutées par le procédé de codage sont mises en oeuvre par des instructions de programme d'ordinateur. Pour cela, le dispositif de codage COD a l'architecture classique d'un ordinateur et comprend notamment une mémoire MEM_C, une unité de traitement UT_C, équipée par exemple d'un processeur PROC_C, et pilotée par le programme d'ordinateur PG_C stocké en mémoire MEM_C. Le programme d'ordinateur PG_C comprend des instructions pour mettre en oeuvre les actions du procédé de codage tel que décrit ci-dessus, lorsque le programme est exécuté par le processeur PROC_C.
A l'initialisation, les instructions de code du programme d'ordinateur PG_C sont par exemple chargées dans une mémoire RAM (non représentée) avant d'être exécutées par le processeur PROC_C. Le processeur PROC_C de l'unité de traitement UT_C met notamment en œuvre les actions du procédé de codage décrit ci-dessus, selon les instructions du programme d'ordinateur PG_C.
7. Exemples de mise en œuvre de schéma de décodage
On décrit ci-après un procédé de décodage d’une vidéo omnidirectionnelle 360° , 180° , ou autres qui peut utiliser tout type é décodeurs vidéo multi-vues, par exemple conformes au standard 3D-HEVC ou MV-HEVC, ou autre.
En référence à la figure 1 1 , un tel procédé de décodage s’applique à un signal de données représentatif d’une image courante d’une vue qui fait partie de ladite pluralité de vues V-i,..., VN.
Le procédé de décodage selon l’invention consiste à décoder :
- un signal de données représentatif des données codées associées à l’image IV1 d’une vue V1 ;
- un signal de données représentatif des données codées associées à l’image IV2 d’une vue V2,
- un signal de données représentatif des données codées associées à l’image IVk d’une vue Vk,
- un signal de données représentatif des données codées associées à l’image IVN d’une vue VN.
Une image d’une vue considérée à reconstruire à l’aide du procédé de décodage précité peut être aussi bien une image de texture qu’une image de profondeur.
Le procédé de décodage comprend ce qui suit, pour un signal de données F1 k, F2k ou F3k et F’3k représentatif d’au moins une image IVk d’une vue Vk, à reconstruire : En D1 , l’information flag_proc, indiquant si l’image IVk a été codée à l’aide de la première méthode de codage MC1 ou de la deuxième méthode de codage MC2, est lue dans le signal de données F1 k, F2k ou F3k et F’3k, tels que représentés respectivement sur les figures 2A, 2B et 2C.
S’il s’agit du signal F1 k, l’information flag_proc est à 0.
En D1 1 a, les données codées dc1 k, dc2k, dcQk associées à l’image codée IVCk sont lues dans le signal de données F1 k.
En D12a, il est procédé à la reconstruction d’une image IVDk à partir des données codées dc1 k, dc2k, ..., dcQk lues en D1 1 a, en utilisant une méthode de décodage MD1 correspondant à la méthode de codage MC1 appliquée au codage, en C1 1 a sur la figure 1 . A cet effet, l’image IVk est reconstruite à l’aide d’un décodeur classique, tel que par exemple conforme au standard FIEVC, MVC-FIEVC, 3D-FIEVC, etc.
A l’issue du décodage D12a, l’image IVDk ainsi reconstruite contient les données originales d1 k, d2k, ..., dQk de l’image IVk qui a été codée en C1 1 a sur la figure 1 .
L’image IVDk étant conforme à l’image IVk originale constitue ainsi une image maître qui est pertinente à utiliser, dans le cadre par exemple d’une synthèse de de vue intermédiaires.
En D1 , s’il s’agit du signal F2k ou F3k, l’information flag_proc déterminée est à
1 .
S’il s’agit du signal F2k, en D1 1 b, les données traitées codées DTCk associées à l’image traitée codée IVTCk, telles qu’obtenues en C1 1 b sur la figure 1 , sont lues dans le signal de données F2k.
Ces données traitées codées DTCk lues ne sont que des données du type image.
En D12b, il est procédé à la reconstruction d’une image traitée IVTDk à partir des données codées DTCk lues en D1 1 b, en utilisant une méthode de décodage MD2 correspondant à la méthode de codage MC2 appliquée au codage, en C1 1 b sur la figure 1 . A cet effet, des données codées DTCk sont décodées à l’aide d’un décodeur classique, tel que par exemple conforme au standard FIEVC, MVC-FIEVC, 3D-HEVC, etc. A l’issue du décodage D12b, l’image traitée ainsi reconstruite IVTDk, correspondant aux données DTCk décodées, contient les données traitées DTk de l’image IVk avant leur codage en C1 1 b sur la figure 1.
L’image traitée IVTDk reconstruite contient des données d’images (pixels) correspondant à tout ou partie des données originales de l’image IVk qui ont été traitées à l’aide d’un traitement d’image particulier, dont différents exemples détaillés ont été décrits en référence aux figures 4 à 9.
S’il s’agit du signal F3k, les données traitées codées DTCk associées à l’image traitée codée IVTCk, sont lues en D1 1 c.
A cet effet :
- des données traitées codées DTCk de type image sont lues dans le signal F3k,
- des données traitées codées DTCk, différentes des données d’image, telles que par exemple des données de type textuel, ou bien comprenant à la fois des données d’image et des données d’un autre type que des données d’image, sont lues dans le signal F’3k.
Les données traitées codées DTCk sont décodées en D12b, à l’aide de la méthode de décodage MD2, laquelle peut être mise en oeuvre :
- par un décodeur avec perte ou sans perte pour décoder spécifiquement les données d’image, un tel décodeur pouvant être identique au décodeur mettant en oeuvre la première méthode de décodage MD1 ou bien différent,
- par un décodeur sans perte pour décoder spécifiquement les données de type textuel.
A l’issue du décodage D12b, sont obtenues :
- l’image traitée ainsi reconstruite IVTDk, correspondant aux données DTCk de type image qui ont été décodées,
- des données traitées de type texte correspondant à des informations de description du traitement appliqué à l’image IVk avant le codage C1 1 b (figure 1 ).
Une telle image traitée reconstruite IVTDk selon la deuxième méthode de décodage MD2 ne contient pas toutes les données originales de l’image IVk avant traitement puis codage en C1 1 b. Une telle image reconstruite d’une vue selon la deuxième méthode de décodage MD2 pourra toutefois être utilisée en complément d’une image d’une vue maître qui aura été reconstruite à l’aide de la première méthode de décodage MD1 , dans le cadre par exemple d’une synthèse d’images intermédiaires, afin d’obtenir des images de vues synthétisées qui sont de bonne qualité.
Le procédé de décodage qui vient d’être décrit ci-dessus peut ensuite être mis en oeuvre à l’instant courant pour chacune des images codées IVC1 IVC2, IVCN à reconstruire disponibles, pour certaines d’entre elles seulement ou encore peut se limiter à l’image IVk, avec par exemple k=1.
Selon deux exemples de réalisation représentés sur les figures 12A et 12B, on suppose par exemple que parmi les N images codées IVCi, ..., IVCN à reconstruire :
- les n premières images codées IVCi, ..., IVCn sont reconstruites à l’aide de la première technique de décodage MD1 pour obtenir respectivement l’image de chacune des n vues maître,
- les N-n autres images codées IVCn+i, ..., IVCN sont reconstruites à l’aide de la deuxième méthode de décodage MD2 pour obtenir respectivement l’image de chacune des N-n vues additionnelles.
Si n=0, les images IVC-i, ..., IVCN des vues de 1 à N sont reconstruites à l’aide de la deuxième méthode de décodage MD2. Si n=N-1 , l’image d’une seule vue est reconstruite à l’aide de la deuxième méthode de décodage MD2.
Dans l’exemple de la figure 12A, en D100, le signal de données F, tel que généré en C14 sur la figure 3A est séparé:
- soit en deux signaux de données : le signal de données F1 , tel que généré en C13a sur la figure 3A, et le signal de données F2, tel que généré en C13b sur la figure 3A,
- soit en trois signaux de données : le signal de données F1 , tel que généré en C13a sur la figure 3A, et les signaux de données F3 et F’3, tel que générés en C13c sur la figure 3A.
S’il s’agit des signaux F1 et F2, en D1 10a, le signal de données F1 est séparé à son tour en n signaux de données F1 , ..., F1 n représentatifs respectivement des n images de vue codées IVCi,..., IVCn.
En D1 1 a, dans chacun des n signaux de données F1 -i, ..., F1 n sont déterminées respectivement les données originales codées dc1 , ..., dcQ-i, ..., dc1 n, ..., dcQn qui sont associées à chacune de ces n images codées. En D12a, les images IVD-i,..., IVDn sont reconstruites à partir de leurs données originales codées respectives, lues en D11 a, à l’aide d’un décodeur classique de type HEVC, indépendamment les unes des autres.
Toujours en référence à la figure 12A, en D110b, le signal de données F2 est séparé à son tour en N-n signaux de données F2n+1,..., F2N représentatifs respectivement des N-n données traitées codées DTCn+i,..., DTCN-
En D1 1 b, dans chacun des N-n signaux de données F2n+i ,..., F2N sont lues respectivement N-n données traitées codées DTCn+i,..., DTCN qui correspondent respectivement à chacune des N-n images IVn+1,..., IVN à reconstruire.
En D12b, les images traitées sont reconstruites respectivement à partir de N-n données traitées codées DTCn+i , ..., DTCN lues en D11 b, à l’aide d’un décodeur classique de type FIEVC, indépendamment les unes des autres. Les images traitées reconstruites IVTDn+1, ..., IVTDN sont alors obtenues.
S’il s’agit des signaux F1 , F3 et F’3, en D1 10a, le signal de données F1 est séparé à son tour en n signaux de données F1 -i, ..., F1 n représentatifs respectivement des n images codées IVC-i, ..., IVCn.
En D1 1 a, dans chacun des n signaux de données F11 ; ..., F1 n sont lues respectivement les données originales codées dd -i, ..., dcQi, ..., dc1 n, ..., dcQn qui sont associées à chacune de ces n images codées.
En D12a, les images IVD-i,..., IVDn sont reconstruites à partir de leurs données originales codées respectives, lues en D11 a, à l’aide d’un décodeur classique de type FIEVC, indépendamment les unes des autres.
En D1 10c :
- le signal de données F3 est séparé à son tour en N-n signaux de données F3n+i, ..., F3N représentatifs respectivement des N-n données traitées codées DTCn+i, ..., DTCN de type image et,
- le signal de données F’3 est séparé à son tour en N-n signaux de données F’3n+i, ..., F’3N représentatifs respectivement des N-n données traitées codées DTCn+i, ..., DTCN de type texte ou autres.
En D1 1 c :
- dans chacun des N-n signaux de données F3n+i , ..., F3N sont lues respectivement N-n données traitées codées DTCn+i, ..., DTCN de type image qui correspondent respectivement à chacune des N-n images IVn+1, ..., IVN à reconstruire, - dans chacun des N-n signaux de données F’3n+i , ..., F’3N sont lues respectivement N-n données traitées codées DTCn+i,..., DTCN de type texte ou autres qui correspondent respectivement aux informations de description du traitement pour chacune des N-n images IVn+1,..., IVN à reconstruire.
En D12b, les N-n images traitées sont reconstruites respectivement à partir de N-n données traitées codées DTCn+i ..., DTCN lues en D1 1 b, à l’aide d’un décodeur classique de type FIEVC, indépendamment les unes des autres. Les images traitées reconstruites IVTDn+1, ..., IVTDN sont alors obtenues.
Egalement en D12b, sont reconstruites des informations de description du traitement appliqué à chacune des images IVn+i ..., IVN, avant leur codage C1 1 b (figure 3A), à partir de N-n données traitées codées DTCn+i , ..., DTCN de type texte ou autres lues en D1 1 c, à l’aide d’un décodeur correspondant au codeur sans perte utilisé au codage.
Dans l’exemple de la figure 12B, en D100, le signal de données F, tel que généré en C14 sur la figure 3B est séparé:
- soit en deux signaux de données : le signal de données F1 , tel que généré en C12a sur la figure 3B, et le signal de données F2, tel que généré en C12b sur la figure 3B,
- soit en trois signaux de données : le signal de données F1 , tel que généré en C12a sur la figure 3B, les signaux de données F3 et F’3, tel que générés en C12c sur la figure 3B.
S’il s’agit des signaux F1 et F2, en D11 a, dans le signal de données F1 sont lues les données originales codées dc11 ; ..., dcQ-i, ..., dc1 n, ·, dcQn qui sont associées respectivement à chacune des images IVC-g, ..., IVCn de n vue codées.
En D12a, les images IVD-I , ..., IVDn sont reconstruites à partir de leurs données originales codées respectives, lues en D1 1 a, de manière simultanée, à l’aide d’un décodeur classique de type MV-FIEVC ou 3D-FIEVC.
En D11 b, sur la figure 12B, dans le signal de données F2 sont lues les N-n données traitées codées DTCn+i, ..., DTCN qui sont associées respectivement à chacune des images IVn+i, ..., IVN des N-n vues à reconstruire.
En D12b, les N-n images traitées sont reconstruites respectivement à partir des N-n données traitées codées DTCn+i, ..., DTCN, lues en D1 1 b, de manière simultanée, à l’aide d’un décodeur classique de type MV-HEVC ou 3D-HEVC. Les images IVTDn+i,..., IVTDN traitées reconstruites sont alors obtenues.
S’il s’agit des signaux F1 , F3 et F’3, en D1 1 a, dans le signal de données F1 sont lues les données originales codées dc11 ; dcQ-i, dc1 n, dcQn qui sont associées respectivement à chacune des images IVC-i, IVCn des n vues codées.
En D12a, les images IVD-i, ..., IVDn sont reconstruites à partir de leurs données originales codées respectives, lues en D1 1 a, de manière simultanée, à l’aide d’un décodeur classique de type MV-FIEVC ou 3D-FIEVC.
En D1 1 c, sur la figure 12B, dans le signal de données F3 sont lues les N-n données traitées codées DTCn+i, ..., DTCN de type image qui sont associées respectivement à chacune des N-n images IVn+i, ..., IVN à reconstruire.
En D12b, les images traitées sont reconstruites respectivement à partir de N-n données traitées codées DTCn+i, ..., DTCN, lues en D1 1 c, de manière simultanée, à l’aide d’un décodeur classique de type MV-FIEVC ou 3D-FIEVC. Les images de vue traitées reconstruites IVTDn+i, ..., IVTDN sont alors obtenues.
Egalement en D12b, sur la figure 12B, sont reconstruites des informations de description du traitement appliqué à chacune des images IVn+1..., IVN, avant leur codage C1 1 b (figure 3B), à partir des N-n données traitées codées DTCn+i , ..., DTCN de type texte ou autres, lues en D1 1 c, et décodées à l’aide d’un décodeur correspondant au codeur sans perte utilisé au codage.
Bien entendu, d’autres combinaisons de méthodes de décodage sont possibles.
Selon une variante possible de la figure 12A, le décodeur mettant en oeuvre la méthode de décodage MD1 pourrait être un décodeur de type HEVC et le décodeur mettant en oeuvre la méthode de décodage MD2 pourrait être un décodeur de type MV-HEVC ou 3D-HEVC.
Selon une variante possible de la figure 12B, le décodeur mettant en oeuvre la méthode de décodage MD1 pourrait être un décodeur de type MV-HEVC ou 3D- HEVC et le décodeur mettant en oeuvre la méthode de décodage MD2 pourrait être un codeur de type HEVC.
La figure 13 présente la structure simplifiée d’un dispositif de décodage DEC adapté pour mettre en oeuvre le procédé de décodage selon l'un quelconque des modes particuliers de réalisation de l'invention. Selon un mode particulier de réalisation de l'invention, les actions exécutées par le procédé de décodage sont mises en oeuvre par des instructions de programme d'ordinateur. Pour cela, le dispositif de décodage DEC a l'architecture classique d'un ordinateur et comprend notamment une mémoire MEM_D, une unité de traitement UT_D, équipée par exemple d'un processeur PROC_D, et pilotée par le programme d'ordinateur PG_D stocké en mémoire MEM_D. Le programme d'ordinateur PG_D comprend des instructions pour mettre en oeuvre les actions du procédé de décodage tel que décrit ci-dessus, lorsque le programme est exécuté par le processeur PROC_D.
A l'initialisation, les instructions de code du programme d'ordinateur PG_D sont par exemple chargées dans une mémoire RAM (non représentée) avant d'être exécutées par le processeur PROC_D. Le processeur PROC_D de l'unité de traitement UT_D met notamment en oeuvre les actions du procédé de décodage décrit ci-dessus, selon les instructions du programme d'ordinateur PG_D.
Selon un mode de réalisation, le dispositif de décodage DEC est par exemple compris dans un terminal.
8. Exemples d’application de l’invention à un traitement d’image
Comme déjà expliqué ci-dessus, les N images reconstruites IVD-i, ..., IVDn et IVTDn+i, ..., IVTDN peuvent être utilisées pour synthétiser une image d’une vue intermédiaire requise par un utilisateur.
Comme représenté sur la figure 14, dans le cas où un utilisateur requiert la synthèse d’une image d’une vue arbitraire, les n premières images de vue reconstruites IVD-i, ..., IVDn qui sont considérées comme des vues maître, sont transmises en S1 à un module de synthèse d’images.
Les N-n images de vues traitées reconstruites IVTDn+1, ..., IVTDN, afin de pouvoir être utilisées dans la synthèse d’images, en tant qu’imagés de vue additionnelles, peuvent avoir besoin d’être traitées en S2, à l’aide des informations de description de traitement d’image décodées, qui leur sont respectivement associées.
A l’issue du traitement S2, sont obtenues N-n images de vues reconstruites IVDn+1,..„ IVDn.
Les N-n images reconstruites IVDn+i,..., IVDN sont alors transmises en S3 au module de synthèse d’images.
En S4, une image d’une vue est synthétisée en utilisant au moins une des images IVD-i, IVDn des n premières vues reconstruites et éventuellement au moins une des N-n images IVDn+i, ..., IVDN des N-n vues reconstruites.
Une image d’une vue synthétisée IVSY est alors obtenue à l’issue de la synthèse S4.
Il est à noter que les n images reconstruites IVD1 ; IVDn peuvent faire aussi l’objet d’un traitement S2. Un tel traitement S2 peut s’avérer nécessaire, dans le cas où l’utilisateur UT requiert une image d’une vue dont l’angle de vue représenté ne correspond pas à l’angle de vue ou aux angles de vue des n images reconstruites IVD-i,..., IVDn. L’utilisateur UT pourrait par exemple requérir une image d’une vue représentant un champ de vison de 120x90, alors que les n images reconstruites IVD-i, ..., IVDn représentent chacune un angle de vue de 360x180. Une telle possibilité de traitement pour les images reconstruites IVD-i, ..., IVDn est symbolisée par des flèches en pointillé sur la figure 14. Par ailleurs, en relation avec les types de traitement décrits en relation avec les figures 8 et 9, les images reconstruites IVD-i,..., IVDn peuvent être utilisées lors du traitement des N-n autres images IVn+1, ..., IVN.
On va maintenant décrire en référence aux figures 15A à 15C un premier mode de réalisation d’un traitement appliqué aux données d’une image traitée reconstruite IVTDk. Un tel traitement consiste à obtenir la résolution initiale de l’image IVk de la vue correspondante qui a été échantillonnée avant d’être codée en C1 1 b sur la figure 1.
Dans l’exemple de la figure 15A, on suppose que le traitement appliqué avant codage est un sous-échantillonnage d’une zone Z4 de l’image IVk, selon une direction verticale, tel que représenté à la figure 5A.
Le traitement appliqué à l’image traitée reconstruite IVTDk consiste à appliquer un sur-échantillonnage à la zone Z4, correspondant au sous-échantillonnage appliqué à la figure 5A, de façon à retrouver la résolution initiale de l’image IVk, à l’aide des informations décrivant le sous-échantillonnage appliqué, telles que notamment :
- le facteur de sous-échantillonnage utilisé, qui permet de déterminer le facteur de sur-échantillonnage correspondant,
- la direction de sous-échantillonnage utilisée, qui permet de déterminer la direction de sur-échantillonnage correspondante, - la localisation de la zone sous-échantillonnée Z4 dans l’image IVk.
Dans l’exemple de la figure 15B, on suppose que le traitement appliqué avant codage est un sous-échantillonnage d’une zone Z5 de l’image IVk, selon une direction horizontale, tel que représenté à la figure 5B.
Le traitement appliqué à l’image traitée reconstruite IVTDk consiste à appliquer un sur-échantillonnage à la zone Z5, correspondant au sous-échantillonnage appliqué à la figure 5B, de façon à retrouver la résolution initiale de l’image IVk, à l’aide des informations décrivant le sous-échantillonnage appliqué, telles que notamment :
- le facteur de sous-échantillonnage utilisé, qui permet de déterminer le facteur de sur-échantillonnage correspondant,
- la direction de sous-échantillonnage utilisée, qui permet de déterminer la direction de sur-échantillonnage correspondante,
- la localisation de la zone sous-échantillonnée Z5 dans l’image IVk.
Dans l’exemple de la figure 15C, on suppose que le traitement appliqué avant codage est un sous-échantillonnage de toute l’image IVk, tel que représenté à la figure 5C.
Le traitement appliqué à l’image traitée reconstruite IVTDk consiste à appliquer un sur-échantillonnage à toutes les données d’image de l’image IVTDk, correspondant au sous-échantillonnage appliqué à la figure 5C, de façon à retrouver la résolution initiale de l’image IVk, à l’aide des informations décrivant le sous- échantillonnage appliqué, telles que notamment :
- le facteur de sous-échantillonnage utilisé, qui permet de déterminer le facteur de sur-échantillonnage correspondant,
- la direction de sous-échantillonnage utilisée, qui permet de déterminer la direction de sur-échantillonnage correspondante.
Dans l’exemple de la figure 15D, on suppose que le traitement appliqué avant codage est un sous-échantillonnage d’une zone Z6 de l’image IVk, selon à la fois une direction horizontale et une direction verticale, tel que représenté à la figure 5D.
Le traitement appliqué à l’image traitée reconstruite IVTDk consiste à appliquer un sur-échantillonnage à la zone Z6, correspondant au sous-échantillonnage appliqué à la figure 5D, de façon à retrouver la résolution initiale de l’image IVk, à l’aide des informations décrivant le sous-échantillonnage appliqué, telles que notamment :
- le facteur de sous-échantillonnage utilisé, qui permet de déterminer le facteur de sur-échantillonnage correspondant,
- la direction de sous-échantillonnage utilisée, qui permet de déterminer la direction de sur-échantillonnage correspondante,
- la localisation de la zone sous-échantillonnée Z6 dans l’image IVk.
On va maintenant décrire en référence à la figure 16, un deuxième mode de réalisation d’un traitement appliqué aux données d’une image traitée reconstruite IVTDk. Un tel traitement consiste à restituer un ou plusieurs contours de l’image IVk de la vue qui a été filtrée avant codage de cette dernière.
Dans l’exemple de la figure 16, on suppose que le traitement appliqué avant codage est un filtrage des contours ED1 et ED2 de l’image IVk, tel que représenté à la figure 6.
Le traitement appliqué à l’image de la vue traitée reconstruite IVTDk consiste alors à resituer les contours ED1 et ED2 de l’image IVk, à l’aide des informations décrivant le filtrage appliqué, telles que notamment la valeur prédéfinie pour chaque pixel non filtrés, en particulier la valeur prédéfinie YUV=000.
On va maintenant décrire en référence à la figure 17, un troisième mode de réalisation d’un traitement appliqué aux données d’une image traitée reconstruite IVTDk. Un tel traitement consiste à reconstruire des pixels de l’image IVk de la vue qui, avant codage, ont été calculés conformément au mode de réalisation du traitement de la figure 8.
Le traitement appliqué à l’image traitée reconstruite IVTDk consiste alors :
- à retrouver des pixels de l’image IVk de la vue qui ont été calculés au codage, à l’aide d’un indicateur des pixels de l’image IVk de ladite vue qui ont été calculés, un tel indicateur étant lu dans le signal de données,
- à retrouver des pixels d’une image d’au moins une autre vue IVj (1 <j£n) qui a été reconstruite en utilisant la première méthode de décodage MD1 , à l’aide des informations de localisation, dans l’image IVj, des pixels qui ont été utilisés pour calculer les pixels de l’image IVk, - et éventuellement à retrouver des pixels d’une image IV| (n+1 £l£N) d’au moins une autre vue, pour laquelle des pixels traités ont été décodés à l’aide de la deuxième méthode de décodage MD2.
Le décodage des données traitées DTk consiste alors à calculer les pixels de l’image IVk :
- à partir des pixels de l’image d’au moins une autre vue IVj (1 £j£n),
- et éventuellement à partir des pixels de l’image IVi (n+1 £l£N) d’au moins une autre vue.
Le calcul précité consiste par exemple à combiner les pixels de l’image IVk, aux pixels de l’image IVj reconstruite et éventuellement aux pixels de l’image IVi reconstruite.
On va maintenant décrire en référence à la figure 18, un quatrième mode de réalisation d’un traitement appliqué aux données d’une image traitée reconstruite IVTDk. Un tel traitement consiste à reconstruire des pixels de l’image IVk de la vue qui, avant codage, ont été calculés conformément au mode de réalisation du traitement de la figure 9.
Un traitement est d’abord appliqué à l’image reconstruite IVDone selon la deuxième méthode de décodage MD2. Il consiste alors à reconstruire, à partir de l’image IVDone, les pixels de l’image IVk :
- à partir des données traitées DT’k de l’image IVk qui ont été décodées selon la deuxième méthode de décodage MD2,
- à partir des données traitées DTS d’une image IVDS d’une vue Vs (1 <s£N), qui ont été décodées.
9. Exemples d’applications concrètes de l’invention
Selon un premier exemple, on considère que six images de vue de résolution 4096x2048 pixels sont capturées respectivement par six caméras de type 360°. Un procédé d’estimation de profondeur est appliqué de manière à fournir six cartes de profondeur 360° correspondantes.
L’image IV0, de la vue V0, est codée classiquement à l’aide de la première méthode de codage MC1 , tandis que les cinq autres images IV1 , IV2, IV3, IV4, IV5 des vues V1 , V2, V3, V4, V 5 subissent un rognage avant codage. Le traitement appliqué à chacune des images IV1 , IV2, IV3, IV4, IV5 consiste à supprimer un nombre fixe de colonnes, par exemple 200, à droite et à gauche de chacune de ces images. Le nombre de colonnes à supprimer a été sélectionné de telle façon que l’angle de vue est réduit de 360° à 120°. De façonsimilaire, le traitement appliqué à chacune des images IV1 , IV2, IV3, IV4, IV5 consiste à supprimer un nombre fixe de lignes, par exemple 100, en parties respectivement supérieure et inférieure de chacune de ces images. Le nombre de lignes à supprimer a été sélectionné de telle façon que l’angle de vue est réduit de 180° à 120°.
Une information flag_proc est mise à 0, en association avec l’image IV0, et une information flag_proc est mise à 1 , en association avec les images IV1 , IV2, IV3, IV4, IV5.
L’image de la vue IV0 est codée à l’aide d’un codeur HEVC. Un unique signal de données F10 est généré, ledit signal de données contenant les données originales codées de l’image IV0, ainsi que l’information flag_proc=0.
Les données des zones restantes après rognage de chacune des images IV1 , IV2, IV3, IV4, IV5 sont codées à l’aide d’un codeur HEVC. Cinq signaux de données F2-i, F22, F23J F24, F25J qui contiennent respectivement les données codées des zones restantes après rognage de chacune des images IV1 , IV2, IV3, IV4, IV5, en association avec l’information flag_proc=1 , sont générés. Les signaux de données F1 o, F2-i, F22, F23J F24, F25 sont concaténés, puis transmis à un décodeur.
Les cinq signaux de données F21 ; F22, F23, F24, F25 peuvent comprendre en plus les coordonnées des zones rognées de la façon suivante :
IV1 , IV2, IV3, IV4, IV5 : flag_proc=1 , point sup_gauche (h,v)=(0+200, 0+100), point inf_droit (h,v)= (4096-200, 2048-100), avec « h » pour horizontal et « v » pour vertical.
Au décodeur, l’information flag_proc est lue.
Si flag_proc=0, l’image de la vue IV0 est reconstruite à l’aide d’un décodeur
HEVC.
Si flag_proc=1 , les images IV1 , IV2, IV3, IV4, IV5, correspondant aux données traitées codées, sont reconstruites à l’aide d’un décodeur HEVC. Aucun traitement n’est appliqué aux images IV1 , IV2, IV3, IV4, IV5 qui ont été reconstruites car il n’est pas possible de reconstruire les données de ces images qui ont été supprimées par rognage. Toutefois, un algorithme de synthèse utilise les six images IV0, IV1 , IV2, IV3, IV4, IV5 qui ont été reconstruites afin de générer une image d’une vue arbitraire requise par un utilisateur. Dans le cas où les cinq signaux de données F21 ; F22, F23, F24, F25 comprennent en plus les coordonnées des zones rognées, ces coordonnées sont exploitées par l’algorithme de synthèse pour générer une image d’une vue requise par un utilisateur.
Selon un deuxième exemple, on considère 10 images IV0, ..., IV9 de résolution respective 4096x2048 pixels qui sont générées par ordinateur afin de simuler 10 caméras de type 360°. Il est décidé de ne pas traiter les images IV0 et IV9. Les composantes de texture des images IV1 à IV8 subissent quant à elles un sous-échantillonnage d’un facteur 2 dans la direction horizontale et d’un facteur 2 dans la direction verticale et les composantes de profondeur correspondantes subissent quant à elles un sous-échantillonnage d’un facteur 4 dans la direction horizontale et d’un facteur 4 dans la direction verticale. Il en résulte que la résolution des composantes de texture des images IV1 à IV8 devient 2048x1024 et que la résolution des composantes de profondeur des images IV1 à IV8 devient 1024x512.
Les données de traitement, telles que les données d’image relatives aux images IV1 à IV8 contiennent les 8 composantes de texture sous-échantillonnées de résolution 2048x1024 des images IV1 à IV8 et les 8 composantes de profondeur sous-échantillonnées de résolution 1025x512 des images IV1 à IV8.
De manière additionnelle, les données de traitement précitées contiennent des données de type textuel qui indiquent les facteurs de sous-échantillonnage pour chaque image IV1 à IV8 des vues 1 à 8. Elles s’écrivent de la façon suivante :
- IV1 à IV8 texture : se_h=2, se_v=2 (« se » pour sous-échantillonnage, « h » pour horizontal et « v » pour vertical),
- IV1 à IV8 profondeur : se_h=4, ss_v=4.
Une information flag_proc est mise à 0, en association avec les images IV0 et IV9, et une information flag_proc est mise à 1 , en association avec les images IV1 à IV8.
Les images IV0 et IV9 sont codées simultanément à l’aide d’un codeur du type MV-HEVC, ce qui génère un unique signal de données F1 contenant l’information flag_proc=0 ainsi que les données originales codées des images IV0 et IV9.
Les données de traitement, telles que les données d’image relatives aux images IV1 à IV8, contenant les 8 composantes de texture sous-échantillonnées de résolution 2048x1024 des images IV1 à IV8 et les 8 composantes de profondeur sous-échantillonnées de résolution 1025x512 des images IV1 à IV8, sont codées également simultanément, à l’aide d’un codeur du type MV-HEVC, ce qui génère un unique signal de données F2 contenant l’information flag_proc=1 , en association avec les données de texture et de profondeur sous-échantillonnées codées. Les données de type textuel qui indiquent les facteurs de sous-échantillonnage pour chaque image IV1 à IV8 des vues 1 à 8, sont quant à elles codées sans perte. Les signaux de données F1 et F2 sont concaténés, puis transmis à un décodeur.
Au décodeur, l’information flag_proc est lue.
Si flag_proc=0, les images IV0 et IV9 sont reconstruites simultanément à l’aide d’un décodeur MV-HEVC. Sont alors obtenues des images reconstruites IVD0 et IVD9 qui sont à leur résolution initiale.
Si flag_proc=1 , les images IV1 à IV8, correspondant à leurs données de texture et de profondeur sous-échantillonnées codées respectives, sont reconstruites simultanément à l’aide d’un décodeur MV-HEVC. Des images sous-échantillonnées reconstruites IVDT1 à IVDT8 sont alors obtenues. Les données de type textuel correspondant à chacune des 8 images IV1 à IV8 sont également décodées, fournissant les facteurs de sous-échantillonnage qui ont été utilisés pour chaque image IV1 à IV8.
Les images sous-échantillonnées reconstruites IVDT1 à IVDT8 sont alors traitées à l’aide de leurs facteurs de sous-échantillonnage correspondants. A l’issue du traitement, sont obtenues des images reconstruites IVD1 à IVD8, dont les 8 composantes de texture respectives sont à leur résolution initiale 4096x2048 et dont les 8 composantes de profondeur respectives sont à leur résolution initiale 4096x2048.
Un algorithme de synthèse utilise les images des 10 vues ainsi reconstruites à leur résolution initiale, afin de générer une image d’une vue requise par un utilisateur.
Selon un troisième exemple, on considère 3 images IV0 à IV2 de résolution respective 4096x2048 pixels qui sont générées par ordinateur afin de simuler 4 caméras de type 360°. 3 composantes de texture et 3 composantes de profondeur correspondantes sont alors obtenues. Il est décidé de ne pas traiter l’image IV0 et d’extraire des cartes d’occlusion pour respectivement les images IV1 et IV2. A cet effet, une estimation de disparité est réalisée entre l’image IV1 et l’image IV0 de manière à générer le masque d’occlusion de l’image IV1 , c'est-à-dire les pixels de l’image IV1 qui ne se retrouvent pas dans l’image IVO. Une estimation de disparité est également réalisée entre l’image IV2 et l’image IVO de manière à générer le masque d’occlusion de l’image IV2.
Les données de traitement, telles que les données d’image relatives aux images IV1 et IV2 contiennent les 2 composantes de texture des masques d’occlusion des images IV1 et IV2 et les 2 composantes de profondeur des masques d’occlusion des images IV1 et IV2.
Une information flag_proc est mise à 0, en association avec l’image IVO, et une information flag_proc est mise à 1 , en association avec les images IV1 et IV2.
L’image IVO est codée à l’aide d’un codeur HEVC. Un unique signal de données F10 est généré, ledit signal de données contenant les données originales codées de l’image IVO, ainsi que l’information flag_proc=0.
Les données d’image (texture et profondeur) des masques d’occlusion de chacune des images IV1 , IV2 sont codées à l’aide d’un codeur HEVC. Deux signaux de données F2-i, F22, qui contiennent respectivement les données d’image codées des masques d’occlusion de chacune des images IV1 , IV2, en association avec l’information flag_proc=1 , sont générés. Les signaux de données F10, F21 ; F22, sont concaténés, puis transmis à un décodeur.
Au décodeur, l’information flag_proc est lue.
Si flag_proc=0, l’image IVO est reconstruite à l’aide d’un décodeur HEVC.
Si flag_proc=1 , les images IV1 , IV2, correspondant aux données d’image (texture et profondeur) codées des masques d’occlusion de chacune des images IV1 , IV2, sont reconstruites à l’aide d’un décodeur HEVC. Aucun traitement n’est appliqué aux images IV1 , IV2 qui ont été reconstruites car il n’est pas possible de reconstruire les données de ces images qui ont été supprimées à l’issue de la détection d’occlusion. Toutefois, un algorithme de synthèse peut utiliser les images IVO, IV1 , IV2 qui ont été reconstruites afin de générer une image d’une vue requise par un utilisateur.
Selon un quatrième exemple, on considère que deux images IVO et IV1 de résolution 4096x2048 pixels sont capturées respectivement par deux caméras de type 360°. L’image IVO de la première vue est codée classiquement à l’aide de la première méthode de codage MC1 , tandis que l’image IV1 de la deuxième vue est traitée avant d’être codée selon la deuxième méthode de codage MC2. Un tel traitement comprend ce qui suit :
- extraire les contours de l’image IV1 , à l’aide d’un filtre, tel que par exemple un filtre de Sobel,
- appliquer une dilatation aux contours, par exemple à l’aide d’un opérateur de morphologie mathématique, afin d’augmenter la zone autour des contours.
Les données de traitement, telles que les données d’image relatives à l’image IV1 , comprennent les pixels à l’intérieur de la zone autour des contours, ainsi que des pixels mis à 0 correspondant respectivement aux pixels situés en dehors de la zone autour des contours.
De manière additionnelle, des données de type textuel sont générées, par exemple sous la forme d’une information de marquage (ex :YUV=000) qui indique la mise à 0 des pixels situés en dehors de la zone autour des contours. Les pixels mis à 0 ne seront ni codés ni signalés au décodeur.
L’image IV0 est codée à l’aide d’un codeur HEVC, ce qui génère un signal de données F1 contenant l’information flag_proc=0 ainsi que les données originales codées de l’image IV0.
Les données d’image de la zone autour des contours de l’image IV1 sont codées à l’aide d’un codeur HEVC, tandis que l’information de marquage est codée à l’aide d’un codeur sans perte. Un signal de données F2 est alors généré, ledit signal contenant l’information flag_proc=1 , les pixels codés de la zone autour des contours de l’image IV1 et l’information de marquage codée.
Au décodeur, l’information flag_proc est lue.
Si flag_proc=0, l’image IV0 est reconstruite à l’aide d’un décodeur HEVC, à sa résolution originale.
Si flag_proc=1 , l’image IV1 , correspondant aux données d’image de la zone autour des contours de l’image IV1 , est reconstruite au moyen d’un décodeur HEVC, à l’aide de l’information de marquage qui permet de restaurer la valeur mise à 0 des pixels entourant ladite zone.
Un algorithme de synthèse peut utiliser les deux images IV0 et IV1 qui ont été reconstruites, afin de générer une image d’une vue requise par un utilisateur. Selon un cinquième exemple, on considère que quatre images IVO à IV3, de résolution 4096x2048 pixels, sont capturées respectivement par quatre caméras de type 360° . L’image IVO est codée classiquement à làide de la première méthode de codage MC1 , tandis que les images IV1 à IV3 sont traitées avant d’être codées selon la deuxième méthode de codage MC2. Un tel traitement est un filtrage des images IV1 à IV3, au cours duquel est calculée une région d’intérêt ROI. Une région d’intérêt contient la/les zone(s) de chaque image IV1 à IV3 qui sont considérées les plus pertinentes, par exemple parce qu’elles contiennent de nombreux détails.
Un tel filtrage est exécuté selon par exemple une des deux méthodes ci- dessous :
- calcul de cartes de saillance de chaque image IV1 à IV3, au moyen d’un filtrage,
- filtrage des cartes de profondeur de chaque image IV1 à IV3 : la carte de profondeur est caractérisée, pour chaque pixel de texture, par une valeur de profondeur proche ou éloignée dans la scène 3D. Un seuil est défini, de telle façon que chaque pixel d’une image IV1 , IV2, IV3 qui est situé en dessous de ce seuil est associé à un objet dans la scène qui est proche de la caméra. L’ensemble des pixels situés en dessous de ce seuil sont alors considérés comme la région d’intérêt.
Les données de traitement, telles que les données d’image relatives aux images IV1 à IV3, comprennent les pixels à l’intérieur de leurs régions d’intérêt respectives, ainsi que des pixels mis à 0 correspondant respectivement aux pixels situés en dehors de ces régions d’intérêt.
De manière additionnelle, des données de type textuel sont générées, par exemple sous la forme d’une information de marquage qui indique la mise à 0 des pixels situés en dehors de la région d’intérêt. Les pixels mis à 0 ne seront ni codés ni signalés au décodeur.
L’image IVO est codée à l’aide d’un codeur HEVC, ce qui génère un signal de données F10 contenant l’information flag_proc=0 ainsi que les données originales codées de l’image IVO.
Les données d’image de la région d’intérêt de chaque image IV1 , IV2, IV3 sont codées à l’aide d’un codeur HEVC, tandis que l’information de marquage est codée à l’aide d’un codeur sans perte. Trois signaux de données F21 ; F22, F23 qui contiennent respectivement les données d’image codées des régions d’intérêt de chacune des images IV1 , IV2, IV3 en association avec l’information flag_proc=1 , et une information de marquage codée correspondante, sont générés. Les signaux de données F10, F2-i, F22, F23 sont concaténés, puis transmis à un décodeur.
Au décodeur, l’information flag_proc est lue.
Si flag_proc=0, l’image IV0 est reconstruite à l’aide d’un décodeur FIEVC, à sa résolution originale.
Si flag_proc=1 , chaque image IV1 à IV3, correspondant aux données d’image de sa région d’intérêt respective, est reconstruite au moyen d’un décodeur FIEVC, à l’aide de l’information de marquage, ce qui permet de restaurer la valeur mise à 0 des pixels entourant ladite région.
Un algorithme de synthèse peut utiliser directement les quatre images IV0,
IV1 , IV2, IV3 qui ont été reconstruites, afin de générer une image d’une vue requise par un utilisateur.
Il va de soi que les modes de réalisation qui ont été décrits ci-dessus ont été donnés à titre purement indicatif et nullement limitatif, et que de nombreuses modifications peuvent être facilement apportées par l’homme de l’art sans pour autant sortir du cadre de l’invention

Claims

REVENDICATIONS
1. Procédé de codage d’une image d’une vue faisant partie d’une pluralité de vues, la pluralité de vues représentant simultanément une scène 3D selon différentes positions ou différents angles de vue, mis en oeuvre par un dispositif de codage, comprenant ce qui suit :
- sélectionner (C1 ) une première méthode de codage ou une deuxième méthode de codage pour coder l’image de ladite vue,
- générer (C10, C12a ; C10, C12b ; C10, C12c) un signal de données contenant une information (flag_proc) indiquant si c’est la première méthode de codage ou la deuxième méthode de codage qui est sélectionnée,
- si la première méthode de codage est sélectionnée, coder (C1 1 a) les données originales de l’image de ladite vue, ladite première méthode de codage fournissant des données originales codées,
- si la deuxième méthode de codage est sélectionnée :
• coder (C1 1 b) des données traitées de l’image de ladite vue, lesdites données ayant été obtenues à l’aide d’un traitement d’image appliqué aux données originales de l’image de ladite vue, ledit codage fournissant des données traitées codées,
• coder (C11 b) des informations de description dudit traitement d’image qui a été appliqué,
- ledit signal de données généré contenant en outre :
• lesdites données originales codées de l’image de ladite vue, si la première méthode de codage a été sélectionnée,
• lesdites données traitées codées de l’image de ladite vue, ainsi que lesdites informations codées de description du traitement d’image, si la deuxième méthode de codage a été sélectionnée.
2. Procédé de décodage d’un signal de données représentatif d’une image d’une vue faisant partie d’une pluralité de vues, la pluralité de vues représentant simultanément une scène 3D selon différentes positions ou différents angles de vue, mis en oeuvre par un dispositif de décodage, comprenant ce qui suit : - lire (D1 ), dans le signal de données, une information (flag_proc) indiquant si l’image de ladite vue est à décoder selon une première ou une deuxième méthode de décodage,
- s’il s’agit de la première méthode de décodage :
• lire (D1 1 a), dans le signal de données, des données codées associées à l’image de ladite vue,
• reconstruire (D12a) une image de ladite vue à partir desdites données codées, ladite image de la vue reconstruite contenant les données originales de l’image de ladite vue,
- s’il s’agit de la deuxième méthode de décodage :
• lire (D11 b ; D11 c), dans le signal de données, des données codées associées à l’image de ladite vue,
• reconstruire (D12b), à partir desdites données codées lues, des données traitées de l’image de ladite vue et des informations de description d’un traitement d’image ayant été appliqué aux données originales de l’image de ladite vue.
3. Procédé selon la revendication 1 ou la revendication 2, dans lequel :
- les données traitées de l’image de ladite vue sont des données de l’image de ladite vue qui n’ont pas été supprimées suite à l’application d’un rognage de l’image de ladite vue,
- les informations de description dudit traitement d’image sont des informations de localisation, dans l’image de ladite vue, d’une ou de plusieurs zones rognées.
4. Procédé selon la revendication 1 ou la revendication 2, dans lequel :
- les données traitées de l’image de ladite vue sont les données d’au moins une zone de l’image de ladite vue qui a subi un échantillonnage, selon un facteur d’échantillonnage donné et selon au moins une direction donnée,
- les informations de description dudit traitement d’image comprennent au moins une information de localisation, dans l’image de ladite vue, de ladite au moins une zone échantillonnée.
5. Procédé selon la revendication 1 ou la revendication 2, dans lequel : - les données traitées de l’image de ladite vue sont les données d’au moins une zone de l’image de ladite vue qui a subi un filtrage,
- les informations de description dudit traitement d’image comprennent au moins une information de localisation, dans l’image de ladite vue, de ladite au moins une zone filtrée.
6. Procédé selon la revendication 1 ou la revendication 2, dans lequel :
- les données traitées de l’image de la vue sont des pixels de l’image de la vue, correspondant à une occlusion détectée à l’aide d’une image d’une autre vue de la pluralité,
- les informations de description dudit traitement d’image comprennent un indicateur des pixels de l’image de ladite vue qui se retrouvent dans l’image d’une autre vue.
7. Dispositif de codage d’une image d’une vue faisant partie d’une pluralité de vues, la pluralité de vues représentant simultanément une scène 3D selon différentes positions ou différents angles de vue, ledit dispositif de codage comprenant un processeur qui est configuré pour mettre en oeuvre ce qui suit :
- sélectionner une première méthode de codage ou une deuxième méthode de codage pour coder les données de l’image de ladite vue,
- générer un signal de données contenant une information indiquant si c’est la première méthode de codage ou la deuxième méthode de codage qui est sélectionnée,
- si la première méthode de codage est sélectionnée, coder les données originales de l’image de ladite vue, ladite première méthode de codage fournissant des données originales codées,
- si la deuxième méthode de codage est sélectionnée :
• coder des données traitées de l’image de ladite vue, lesdites données ayant été obtenues à l’aide d’un traitement d’image appliqué aux données originales de l’image de ladite vue, ledit codage fournissant des données traitées codées,
• coder des informations de description dudit traitement d’image qui a été appliqué, - ledit signal de données généré contenant en outre :
• lesdites données originales codées de l’image de ladite vue, si la première méthode de codage a été sélectionnée,
• lesdites données traitées codées de l’image de ladite vue, ainsi que lesdites informations codées de description du traitement d’image, si la deuxième méthode de codage a été sélectionnée.
8. Dispositif de décodage d’un signal de données représentatif d’une image d’une vue faisant partie d’une pluralité de vues, la pluralité de vues représentant simultanément une scène 3D selon différentes positions ou différents angles de vue, ledit dispositif de décodage comprenant un processeur qui est configuré pour mettre en oeuvre ce qui suit :
- lire, dans le signal de données, une information (flag_proc) indiquant si l’image de ladite vue est à décoder selon une première ou une deuxième méthode de décodage,
- s’il s’agit de la première méthode de décodage :
• lire, dans le signal de données, des données codées associées à l’image de ladite vue,
• reconstruire une image de ladite vue à partir desdites données codées lues, ladite image de la vue reconstruite contenant les données originales de l’image de ladite vue,
- s’il s’agit de la deuxième méthode de décodage :
• lire, dans le signal de données, des données codées associées à l’image de ladite vue,
• reconstruire une image de la vue à partir des données codées lues, l’image de la vue reconstruite contenant des données traitées de l’image de la vue, en association avec des informations de description d’un traitement d’image utilisé pour obtenir les données traitées.
9. Programme d'ordinateur comportant des instructions comprenant des instructions de code de programme pour l’exécution des étapes du procédé de codage selon l’une quelconque des revendications 1 , 3 à 6 ou du procédé de décodage selon l’une quelconque des revendications 2, 3 à 6, lorsqu'il est exécuté sur un ordinateur.
10. Support d'informations lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur selon la revendication 9.
1 1. Signal de données codées représentatif d’une image d’une vue faisant partie d’une pluralité de vues, la pluralité de vues représentant simultanément une scène 3D selon différentes positions ou différents angles de vue, ledit signal comprenant :
- une information indiquant si l’image de ladite vue est à décoder selon une première ou une deuxième méthode de décodage,
- s’il s’agit de la première méthode de décodage, des données codées associées à l’image de ladite vue pour reconstruire une image de ladite vue, ladite image de la vue reconstruite contenant les données originales de l’image de ladite vue,
- s’il s’agit de la deuxième méthode de décodage, des données codées associées à l’image de ladite vue pour reconstruire une image de ladite vue, l’image de ladite vue reconstruite contenant des données traitées de l’image de ladite vue, en association avec des informations de description d’un traitement d’image utilisé pour obtenir les données traitées.
12. Signal de données selon la revendication 1 1 , dans lequel :
- les données traitées de l’image de ladite vue sont des données de l’image de ladite vue qui n’ont pas été supprimées suite à l’application d’un rognage de l’image de ladite vue,
- les informations de description dudit traitement d’image sont des informations de localisation, dans l’image de ladite vue, d’une ou de plusieurs zones rognées.
13. Signal de données selon la revendication 1 1 , dans lequel :
- les données traitées de l’image de ladite vue sont les données d’au moins une zone de l’image de ladite vue qui a subi un échantillonnage, selon un facteur d’échantillonnage donné et selon au moins une direction donnée, - les informations de description dudit traitement d’image comprennent au moins une information de localisation, dans l’image de ladite vue, de ladite au moins une zone échantillonnée.
14. Signal de données selon la revendication 1 1 , dans lequel :
- les données traitées de l’image de ladite vue sont les données d’au moins une zone de l’image de ladite vue qui a subi un filtrage,
- les informations de description dudit traitement d’image comprennent au moins une information de localisation, dans l’image de ladite vue, de ladite au moins une zone filtrée.
15. Signal de données selon la revendication 1 1 , dans lequel :
- les données traitées de l’image de la vue sont des pixels de l’image de la vue, correspondant à une occlusion détectée à l’aide d’une image d’une autre vue de la pluralité,
- les informations de description dudit traitement d’image comprennent un indicateur des pixels de l’image de ladite vue qui se retrouvent dans l’image d’une autre vue.
PCT/FR2019/052254 2018-10-01 2019-09-25 Codage et décodage d'une vidéo omnidirectionnelle WO2020070409A1 (fr)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020217009472A KR20210066825A (ko) 2018-10-01 2019-09-25 전방향성 영상의 코딩 및 디코딩
BR112021005927-0A BR112021005927A2 (pt) 2018-10-01 2019-09-25 codificação e descodificação de um vídeo omnidirecional
CN201980064753.XA CN112806015B (zh) 2018-10-01 2019-09-25 全向视频的编码和解码
JP2021517806A JP2022503963A (ja) 2018-10-01 2019-09-25 全方位映像の符号化及び復号
US17/281,463 US11653025B2 (en) 2018-10-01 2019-09-25 Coding and decoding of an omnidirectional video
EP19795265.8A EP3861751A1 (fr) 2018-10-01 2019-09-25 Codage et décodage d'une vidéo omnidirectionnelle
US18/296,073 US11973981B2 (en) 2018-10-01 2023-04-05 Coding and decoding of an omnidirectional video

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1859067A FR3086831A1 (fr) 2018-10-01 2018-10-01 Codage et decodage d'une video omnidirectionnelle
FR1859067 2018-10-01

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US17/281,463 A-371-Of-International US11653025B2 (en) 2018-10-01 2019-09-25 Coding and decoding of an omnidirectional video
US18/296,073 Continuation US11973981B2 (en) 2018-10-01 2023-04-05 Coding and decoding of an omnidirectional video

Publications (1)

Publication Number Publication Date
WO2020070409A1 true WO2020070409A1 (fr) 2020-04-09

Family

ID=65244050

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2019/052254 WO2020070409A1 (fr) 2018-10-01 2019-09-25 Codage et décodage d'une vidéo omnidirectionnelle

Country Status (8)

Country Link
US (2) US11653025B2 (fr)
EP (1) EP3861751A1 (fr)
JP (1) JP2022503963A (fr)
KR (1) KR20210066825A (fr)
CN (1) CN112806015B (fr)
BR (1) BR112021005927A2 (fr)
FR (1) FR3086831A1 (fr)
WO (1) WO2020070409A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102065632B1 (ko) * 2018-10-22 2020-02-11 전자부품연구원 복수의 가상 카메라를 이용한 게임 내 360 vr 영상 획득 장치 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100259595A1 (en) * 2009-04-10 2010-10-14 Nokia Corporation Methods and Apparatuses for Efficient Streaming of Free View Point Video

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100739686B1 (ko) * 2004-08-13 2007-07-13 경희대학교 산학협력단 영상 코딩 방법, 코딩 장치, 영상 디코딩 방법 및 디코딩장치
KR101385884B1 (ko) * 2008-01-30 2014-04-16 고려대학교 산학협력단 다시점 동영상의 부호화 및 복호화 방법 및 장치
ES2439316T3 (es) * 2009-02-19 2014-01-22 Panasonic Corporation Medio de grabación y dispositivo de reproducción
WO2010095440A1 (fr) * 2009-02-20 2010-08-26 パナソニック株式会社 Support d'enregistrement, dispositif de reproduction et circuit intégré
EP2422522A1 (fr) * 2009-04-20 2012-02-29 Dolby Laboratories Licensing Corporation Interpolation dirigée et post-traitement de données
US8743178B2 (en) * 2010-01-05 2014-06-03 Dolby Laboratories Licensing Corporation Multi-view video format control
KR101545382B1 (ko) * 2010-01-08 2015-08-18 노키아 코포레이션 비디오 코딩을 위한 장치, 방법 및 컴퓨터 프로그램
US9288505B2 (en) * 2011-08-11 2016-03-15 Qualcomm Incorporated Three-dimensional video with asymmetric spatial resolution
EP2670139A1 (fr) * 2012-06-01 2013-12-04 Alcatel Lucent Procédé et appareil permettant de coder un flux vidéo ayant un canal d'informations de transparence
GB2503875B (en) * 2012-06-29 2015-06-10 Canon Kk Method and device for encoding or decoding an image
WO2014011103A1 (fr) * 2012-07-10 2014-01-16 Telefonaktiebolaget L M Ericsson (Publ) Procédés et dispositifs pour permettre la synthèse de vues
JP6150277B2 (ja) * 2013-01-07 2017-06-21 国立研究開発法人情報通信研究機構 立体映像符号化装置、立体映像復号化装置、立体映像符号化方法、立体映像復号化方法、立体映像符号化プログラム及び立体映像復号化プログラム
WO2014181220A1 (fr) * 2013-05-10 2014-11-13 Koninklijke Philips N.V. Méthode d'encodage d'un signal de données vidéos à utiliser avec un dispositif de rendu à vues multiples
US10070125B2 (en) * 2013-07-31 2018-09-04 Nokia Technologies Oy Method and apparatus for video coding and decoding
US9906804B2 (en) * 2014-01-16 2018-02-27 Qualcomm Incorporated Reference layer sample position derivation for scalable video coding
US9716884B2 (en) * 2014-03-20 2017-07-25 Hfi Innovation Inc. Method of signaling for mode selection in 3D and multi-view video coding
FR3019384B1 (fr) * 2014-03-25 2018-01-12 Universite Grenoble Alpes Reacteur implantable biocompatible
WO2015176678A1 (fr) * 2014-05-22 2015-11-26 Mediatek Inc. Procédé de copie intra-bloc à retournement pour un codage d'image et de vidéo
US10075640B2 (en) * 2015-12-31 2018-09-11 Sony Corporation Motion compensation for image sensor with a block based analog-to-digital converter
JP6597385B2 (ja) * 2016-02-24 2019-10-30 沖電気工業株式会社 符号化装置及びプログラム、復号装置及びプログラム、並びに、配信システム
FR3058019A1 (fr) * 2016-10-21 2018-04-27 Orange Procede de codage et de decodage de parametres d'image, dispositif de codage et de decodage de parametres d'image et programmes d'ordinateur correspondants
JP7200678B2 (ja) * 2017-02-20 2023-01-10 ソニーグループ株式会社 画像処理装置および画像処理方法
CN107371032B (zh) * 2017-07-10 2019-11-22 上海国茂数字技术有限公司 一种多视点立体视频分层编码方法和解码方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100259595A1 (en) * 2009-04-10 2010-10-14 Nokia Corporation Methods and Apparatuses for Efficient Streaming of Free View Point Video

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
A VETRO ET AL: "Overview of the Stereo and Multiview Video Coding Extensions of the H.264/MPEG-4 AVC Standard", PROCEEDINGS OF THE IEEE, vol. 99, no. 4, 1 April 2011 (2011-04-01), pages 626 - 642, XP055132298, ISSN: 0018-9219, DOI: 10.1109/JPROC.2010.2098830 *
CHRISTOPH FEHN ET AL: "Asymmetric Coding of Stereoscopic Video for Transmission Over T-DMB", 3DTV CONFERENCE, 2007, IEEE, PI, 1 May 2007 (2007-05-01), pages 1 - 4, XP031158203, ISBN: 978-1-4244-0721-7 *
JONGBEOM JEONG ET AL: "3DoF+ 360 Video Location-Based Asymmetric Down-Sampling for View Synthesis to Immersive VR Video Streaming", SENSORS, vol. 18, no. 9, 18 September 2018 (2018-09-18), pages 3148, XP055591982, DOI: 10.3390/s18093148 *
MAREK DOMANSKI ET AL: "3D video compression by coding of disoccluded regions", IMAGE PROCESSING (ICIP), 2012 19TH IEEE INTERNATIONAL CONFERENCE ON, IEEE, 30 September 2012 (2012-09-30), pages 1317 - 1320, XP032333422, ISBN: 978-1-4673-2534-9, DOI: 10.1109/ICIP.2012.6467110 *
RAY BAPPADITYA ET AL: "On the possibility to achieve 6-DoF for 360 video using divergent multi- view content", 2018 26TH EUROPEAN SIGNAL PROCESSING CONFERENCE (EUSIPCO), EURASIP, 3 September 2018 (2018-09-03), pages 211 - 215, XP033461782, DOI: 10.23919/EUSIPCO.2018.8553397 *

Also Published As

Publication number Publication date
EP3861751A1 (fr) 2021-08-11
US20230239503A1 (en) 2023-07-27
KR20210066825A (ko) 2021-06-07
US11973981B2 (en) 2024-04-30
US11653025B2 (en) 2023-05-16
JP2022503963A (ja) 2022-01-12
US20210409766A1 (en) 2021-12-30
FR3086831A1 (fr) 2020-04-03
CN112806015A (zh) 2021-05-14
CN112806015B (zh) 2024-03-26
BR112021005927A2 (pt) 2021-06-29

Similar Documents

Publication Publication Date Title
EP0547696B1 (fr) Système de transmission et/ou stockage de signaux correspondant à des images texturées
EP2705666A1 (fr) Procédé de codage et de décodage d&#39;images intégrales, dispositif de codage et de décodage d&#39;images intégrales et programmes d&#39;ordinateur correspondants
EP3788789A2 (fr) Procede et dispositif de traitement d&#39;images et procede et dispositif de decodage d&#39;une video multi-vue adaptés
EP2347590A1 (fr) Prediction d&#39;une image par compensation en mouvement en avant
EP3198876B1 (fr) Génération et codage d&#39;images intégrales résiduelles
EP3861751A1 (fr) Codage et décodage d&#39;une vidéo omnidirectionnelle
EP3649778A1 (fr) Procédé de codage et décodage d&#39;images, dispositif de codage et décodage et programmes d&#39;ordinateur correspondants
EP3878170A1 (fr) Synthèse de vues
WO2021214395A1 (fr) Procédés et dispositifs de codage et de décodage d&#39;une séquence vidéo multi-vues
EP3725080B1 (fr) Procédés et dispositifs de codage et de décodage d&#39;une séquence vidéo multi-vues représentative d&#39;une vidéo omnidirectionnelle
EP3529987A1 (fr) Procédé de codage et de décodage de paramètres d&#39;image, dispositif de codage et de décodage de paramètres d&#39;image et programmes d&#39;ordinateur correspondants
WO2020188172A1 (fr) Procédés et dispositifs de codage et de décodage d&#39;une séquence vidéo multi-vues
WO2019008253A1 (fr) Procédé de codage et décodage d&#39;images, dispositif de codage et décodage et programmes d&#39;ordinateur correspondants
EP4085613A1 (fr) Synthese iterative de vues a partir de donnees d&#39;une video multi-vues
EP3991401A1 (fr) Procédé et dispositif de traitement de données de video multi-vues
EP4104446A1 (fr) Procédé et dispositif de traitement de données de vidéo multi-vues
WO2022269163A1 (fr) Procédé de construction d&#39;une image de profondeur d&#39;une vidéo multi-vues, procédé de décodage d&#39;un flux de données représentatif d&#39;une vidéo multi-vues, procédé de codage, dispositifs, système, équipement terminal, signal et programmes d&#39;ordinateur correspondants
EP4222950A1 (fr) Codage et decodage d&#39;une video multi-vues
WO2013156718A1 (fr) Procédé de codage et de décodage d&#39;images intégrales, dispositif de codage et de décodage d&#39;images intégrales et programmes d&#39;ordinateur correspondants

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19795265

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021517806

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2101001890

Country of ref document: TH

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112021005927

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 2019795265

Country of ref document: EP

Effective date: 20210503

ENP Entry into the national phase

Ref document number: 112021005927

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20210326