EP4104446A1 - Method and device for processing multi-view video data - Google Patents

Method and device for processing multi-view video data

Info

Publication number
EP4104446A1
EP4104446A1 EP21707767.6A EP21707767A EP4104446A1 EP 4104446 A1 EP4104446 A1 EP 4104446A1 EP 21707767 A EP21707767 A EP 21707767A EP 4104446 A1 EP4104446 A1 EP 4104446A1
Authority
EP
European Patent Office
Prior art keywords
obtaining
data
mode
item
view
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
EP21707767.6A
Other languages
German (de)
French (fr)
Inventor
Joël JUNG
Pavel Nikitin
Patrick GARUS
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
Orange SA
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 SA filed Critical Orange SA
Publication of EP4104446A1 publication Critical patent/EP4104446A1/en
Pending legal-status Critical Current

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/39Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability involving multiple description coding [MDC], i.e. with separate layers being structured as independently decodable descriptions of input picture data

Definitions

  • the invention relates to so-called immersive videos, representative of a scene captured by one or more cameras, including videos for virtual reality and free navigation. More particularly, the invention relates to the processing (coding, decoding, synthesis of intermediate views) of data from such videos.
  • Immersive video allows a viewer to watch a scene from any point of view, even from a point of view that was not captured by a camera.
  • a typical acquisition system is a set of cameras, which captures a scene with multiple cameras located outside the scene or with divergent cameras built on a spherical platform.
  • the videos are usually displayed through virtual reality headsets (also known as HMD for Head Mounted Device in English), but can also be displayed on 2D screens with an additional system to interact with the user.
  • Free navigation in a scene requires proper management of every movement of the user in order to avoid motion sickness.
  • the movement is generally correctly captured by the display device (an HMD headset for example).
  • delivering the correct pixels to the display regardless of the user's movement (rotational or translational), is currently a problem.
  • This requires multiple captured views and the ability to generate additional virtual (synthesized) views, calculated from the decoded captured views and associated depths.
  • the number of views to be transmitted varies depending on the use case. However, the number of views to be transmitted and the amount of associated data is often large. Therefore, view transmission is an essential aspect of immersive video applications. It is therefore necessary to reduce as much as possible the bit rate of the information to be transmitted without compromising the quality of the synthesis of the intermediate views.
  • the views are either physically captured or computer generated.
  • depths are also captured with dedicated sensors.
  • the quality of this depth information is generally poor and prevents an effective synthesis of intermediate points of view.
  • Depth maps can also be calculated from the texture images of the captured videos. Many depth estimation algorithms exist and are used in the state of the art.
  • FIG. 1 shows an immersive video processing diagram comprising for example two captured views having respectively the texture information T x o y o and T xiy0 .
  • Depth information Dxoyo and Dxi y0 associated with each view T x o y o and T xi y o are estimated by an estimation module FE.
  • the depth information D x0y o and D xiy0 are obtained by a depth estimation software (DERS for Depth Estimation Reference Software), the views Txoyo and T xi y o and the depth information obtained D x0y o and D xiy0 are then encoded (CODEC), for example using an MV-HEVC encoder.
  • CODEC depth estimation software
  • the views T * x0 yo and T * xi yo and the associated depths of each view D * x0y o and D * xiy0 are decoded and used by a synthesis algorithm (SYNTHESIS) to calculate intermediate views, for example example here of the intermediate views S x0y o and S xiy0 .
  • SYNTHESIS synthesis algorithm
  • VSRS View Synthesis Reference
  • VSRS View Synthesis Reference
  • full depth maps are generated and sent, while on the client side, not all parts of all depth maps are useful. This is because the views can have redundant information, which makes certain parts of depth maps unnecessary. Additionally, in some cases, viewers may request only specific points of view. Without a return channel between the client and the server providing the encoded immersive video, the depth estimator on the server side ignores knowledge of these specific viewpoints.
  • the calculation of the depth information on the server side avoids any interaction between the depth estimator and the synthesis algorithm. For example, if a depth estimator wishes to inform the synthesis algorithm that it cannot correctly find the depth of a specific area, it must pass that information in the bitstream, most likely in the form of a binary map.
  • the configuration of the encoder to encode the depth maps in order to obtain the best compromise between the quality of the synthesis and the coding cost for the transmission of the depth maps is not obvious.
  • the number of pixels to be processed by a decoder is high when the textures and the depth maps are encoded, transmitted and decoded. This can, for example, slow down the deployment of immersive video processing schemes on smartphone-type terminals (for smart phones in French).
  • the invention improves the state of the art. To this end, it relates to a method for processing data from a multi-view video, comprising:
  • the invention makes it possible to take advantage of different modes of obtaining synthesis data in a flexible manner by allowing the selection of a mode of obtaining each summary data which is optimal, for example in terms of coding cost / quality. synthesis data or depending on the tools available on the decoder side and / or on the encoder side. This selection is flexible since it can advantageously be carried out at block, image, view or video level. The level of granularity of the mode of obtaining the summary data can therefore be adapted according to the content of the multi-view video, for example, or the tools available on the client / decoder side.
  • the synthetic data item is determined on the encoder side, encoded and transmitted to a decoder in a data stream.
  • the quality of the summary data can be privileged since it is determined from original images, not coded for example.
  • the synthetic data does not suffer during its estimation of the coding artifacts of the decoded textures.
  • the synthetic data item is determined on the decoder side.
  • the data necessary for the synthesis of intermediate views are obtained from the decoded and reconstructed views which have been transmitted to the decoder.
  • Such synthesis data can be obtained at the level of the decoder, or else by a module independent of the decoder taking as input the views decoded and reconstructed by the decoder.
  • This second method of obtaining makes it possible to reduce the cost of encoding the data of the multi-view video and the decoding of the multi-view video is simplified, since the decoder no longer has to decode the data used for the synthesis of views. intermediaries.
  • the invention also improves the quality of the synthesis of intermediate views.
  • summary data estimated at the decoder may be more suitable for the synthesis of views than coded summary data, for example when different estimators are available on the client side and on the server side.
  • the determination of the synthesis data at the encoder may be more suitable, for example when the decoded textures show compression artefacts or when the textures do not include enough redundant information to estimate the synthesis data on the side. customer.
  • said at least one summary data item corresponds to at least part of a depth map.
  • said at least one item of information indicating a mode of obtaining the summary data item is obtained by decoding a syntax element.
  • the information is encoded in the data stream.
  • said at least one item of information indicating a method of obtaining the synthesis data item is obtained from at least one data item coded for the reconstructed coded image.
  • the information is not directly encoded in the data stream, it is derived from the data encoded for an image in the data stream.
  • the process for deriving the synthetic data is here identical to the encoder and to the decoder.
  • the obtaining mode is selected from among the first obtaining mode and the second obtaining mode as a function of a value of a quantization parameter used to encode at least said block.
  • the method further comprises, when said at least one item of information indicates that the summary data item is obtained according to the second mode of obtaining:
  • This particular embodiment of the invention makes it possible to control the method for obtaining the summary data item, for example it may be a question of controlling the functionalities of a depth estimator such as the size of the search window or the precision.
  • the control parameter can also indicate which depth estimator to use, and / or the parameters of this estimator, or a depth map to initialize the estimator.
  • the invention also relates to a device for processing multi-view video data, comprising a processor configured for:
  • the multi-view video data processing device is included in a terminal.
  • the invention also relates to a method for encoding multi-view video data, comprising:
  • the determination for at least one block of an image of a view in an encoded data stream representative of the multi-view video, of at least one item of information indicating a mode for obtaining at least one synthetic datum, from among a first obtaining mode and a second obtaining mode, said at least one synthetic datum being used to synthesize at least one image of an intermediate view of the video multi-view, said intermediate view not being encoded in said encoded data stream, said first mode of obtaining corresponding to a decoding of at least one item of information representative of the at least one summary data item from the data stream encoded, said second mode of obtaining corresponding to obtaining the at least one synthetic data item from at least said reconstructed coded image,
  • the encoding method comprises the encoding in the data stream of a syntax element associated with said information indicating a mode of obtaining the summary data.
  • the coding method further comprises, when the information indicates that the summary data item is obtained according to the second mode of obtaining:
  • the invention also relates to a device for encoding multi-view video data, comprising a processor and a memory configured for:
  • the multi-view video data processing method according to the invention can be implemented in various ways, in particular in wired form or in software form.
  • the multi-view video data processing method is implemented by a computer program.
  • the invention also relates to a computer program comprising instructions for implementing the multi-view video data processing method according to any one of the particular embodiments described above, when said program is executed by a processor.
  • Such a program can use any programming language. It can be downloaded from a communications network and / or recorded on a computer readable medium.
  • 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 shape.
  • 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 aforementioned recording medium can be any entity or device capable of storing the program.
  • the medium may comprise a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, a USB key, or else a magnetic recording means, for example a hard disk.
  • the recording medium can correspond to a transmissible medium such as an electrical or optical signal, which can be conveyed via an electrical or optical cable, by radio or by other means.
  • the program according to the invention can in particular be downloaded from an Internet type network.
  • the recording medium can correspond to an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the method in question.
  • FIG. 1 illustrates a diagram for processing multi-view video data according to the prior art.
  • FIG. 2 illustrates a multi-view video data processing diagram according to a particular embodiment of the invention.
  • FIG. 3A illustrates steps of a multi-view video data processing method according to a particular embodiment of the invention.
  • FIG. 3B illustrates steps of a multi-view video data processing method according to another particular embodiment of the invention.
  • FIG. 4A illustrates steps of a multi-view video coding method according to particular embodiments of the invention.
  • FIG. 4B illustrates steps of a method for encoding multi-view video according to particular embodiments of the invention.
  • FIG. 5 illustrates an example of a multi-view video data processing diagram according to a particular embodiment of the invention.
  • FIG. 6A illustrates a texture matrix of a multi-view video according to a particular embodiment of the invention.
  • FIG. 6B illustrates steps of the depth encoding method for a current block according to a particular embodiment of the invention.
  • FIG. 7A illustrates an example of a data flow according to a particular embodiment of the invention.
  • FIG. 7B illustrates an example of a data flow according to another particular embodiment of the invention.
  • FIG. 8 illustrates a multi-view video coding device according to a particular embodiment of the invention.
  • FIG. 9 illustrates a device for processing multi-view video data according to a particular embodiment of the invention.
  • FIG. 1, described above, illustrates a diagram of processing of multi-view video data according to the prior art.
  • the depth information is determined, encoded and transmitted in a data stream to the decoder which decodes it.
  • FIG. 2 illustrates a multi-view video data processing diagram according to a particular embodiment of the invention.
  • the depth information is not encoded in the data stream, but determined on the client side, from the reconstructed images of the multi-view video.
  • the texture images T x o y o and T xiy o from captured views are encoded (CODEC), for example using an MV-HEVC encoder, and sent to a display device d 'a user, for example.
  • CODEC CODEC
  • the T * x0y o and T * xiy0 textures of the views are decoded and used to estimate the depth information D ' x0y o and D' xiy0 associated with each view T x0y o and T xiy0 , by an estimation module FE.
  • the depth information D ' x0y o and D' xiy0 are obtained by depth estimation software (DERS).
  • the decoded views T * x0y o and T * xiy0 and the associated depths of each view D ' x0y o and D' xiy0 are used by a synthesis algorithm (SYNTHESIS) to calculate intermediate views, for example here intermediate views S ' x0y o and S ' xiy0 .
  • the aforementioned VSRS software can be used as a view synthesis algorithm.
  • the complexity of the client terminal is greater than when the depth information is transmitted to the decoder. This may involve using simpler encoder depth estimation algorithms, which may then fail in complex scenes.
  • the texture information does not include enough redundancy to perform the estimation of the depth or of the data useful for the synthesis, for example because of the encoding of the texture information on the server side during which information texture may not be encoded.
  • the invention proposes a method making it possible to select a mode of obtaining synthesis data from among a first mode of obtaining (M1) according to which the synthesis data are encoded and transmitted to the decoder and a second mode of obtaining (M2) according to which summary data is estimated on the client side.
  • M1 first mode of obtaining
  • M2 second mode of obtaining
  • the best path to obtain one or more summary data is selected for each image, or each block or for any other granularity.
  • FIG. 3A illustrates steps of a method for processing multi-view video data according to a particular embodiment of the invention.
  • the selected mode of obtaining is encoded and transmitted to the decoder.
  • a data stream BS comprising in particular texture information from one or more views of a multi-view video is transmitted to the decoder. It is considered, for example, that two views have been coded in the data stream BS.
  • the data stream BS also includes at least one syntax element representative of an item of information indicating a mode of obtaining at least one summary data item, from among a first mode of obtaining M1 and a second mode of obtaining M2.
  • the decoder decodes the texture information of the data stream to obtain the textures T * 0 and T * i.
  • the element of syntax representative of the information indicating a mode of obtaining is decoded from the data stream.
  • This syntax element is encoded in the data stream for at least one block of the texture image of a view. Its value can therefore change for each texture block in a view.
  • the syntax element is coded once for all the blocks of the texture image of a view T 0 or Ti. The information indicating a mode of obtaining synthesis data is therefore the same for all the blocks of the texture image T 0 or Ti.
  • the syntax element is coded once and for all the texture images of the same view or the syntax element is coded once for all the views.
  • step 31 information on the obtaining mode do is then obtained associated with the decoded texture image T * 0 and an information item on the obtaining mode di associated with the decoded texture image T * i.
  • a step 32 it is checked for each item of information d 0 and di indicating a mode of obtaining the synthesis data associated respectively with the decoded texture images T * 0 and T * i if the mode of obtaining corresponds to the first M1 obtaining mode or the second M2 obtaining mode.
  • the synthesis data D * 0 respectively D * i, associated with the decoded texture image T * o, respectively T * i, are decoded from the data stream BS.
  • the synthesis data D + 0 , respectively D + i, associated with the decoded texture image T * 0 , respectively T * i are estimated from the reconstructed texture images of the multi-view video.
  • the estimation can use the decoded texture T * 0 , respectively T * i, and possibly other previously reconstructed texture images.
  • the decoded textures T * 0 and T * i and the decoded (D * 0 , D * i) or estimated (D + 0 , D + i) synthesis information are used to synthesize an image d 'an intermediate view S0.5.
  • FIG. 3B illustrates steps of a multi-view video data processing method according to another particular embodiment of the invention.
  • the selected mode of obtaining is not transmitted to the decoder. This derives the mode of obtaining from the previously decoded texture data.
  • a data stream BS comprising in particular texture information from one or more views of a multi-view video is transmitted to the decoder. It is considered, for example, that two views have been coded in the data stream BS.
  • the decoder decodes the texture information of the data stream to obtain the textures T * 0 and T * i.
  • the decoder obtains information indicating a mode of obtaining from among a first obtaining M1 and a second mode of obtaining M2, at least one data item of synthesis to be used to synthesize an image of an intermediate view.
  • this information can be obtained for each block of the texture image of a view.
  • the obtaining mode can therefore change for each texture block in a view.
  • this information is obtained once for all the blocks of the texture image of a view T * 0 or T * i.
  • the information indicating a mode of obtaining synthesis data is therefore the same for all the blocks of the texture image T * 0 or T * i.
  • the information is obtained once for all the texture images of the same view or the information is obtained once for all the views.
  • step 32 ′ the information is obtained for each texture image of a view.
  • the obtaining mode information is here obtained by applying the same determination process which was applied to the encoder. An example of a determination process is described below in relation to FIG. 4.
  • step 34' if the information do, respectively di, indicates the first mode of obtaining M1, during a step 34', the synthesis data D * 0 , respectively D * i, associated with l
  • the decoded texture image T * 0 , respectively T * i, are decoded from the data stream BS.
  • the synthesis data D + 0 , respectively D + i, associated with the decoded texture image T * 0 , respectively T * i are estimated from the reconstructed texture images of the multi-view video.
  • the estimation can use the decoded texture T * 0 , respectively T * i, and possibly other previously reconstructed texture images.
  • the decoded textures T * 0 and T * i and the decoded (D * 0 , D * i) or estimated (D + 0 , D + i) synthesis information are used to synthesize an image from an intermediate view S0.5.
  • the multi-view video data processing method described here according to particular embodiments of the invention is particularly applicable in the case where the summary data correspond to depth information.
  • the data processing method applies to all types of summary data, such as an object segmentation map.
  • a given view at a given instant of the video can apply the method described above to several types of summary data.
  • these two types of synthesis data can be partially transmitted to the decoder, the other part being derived by the decoder or the synthesis.
  • part of the texture can be estimated, for example by interpolation. The view corresponding to such a texture estimated at the decoder is considered in this case as summary data.
  • the examples described here include two texture views, respectively producing two depth maps, but other combinations are of course possible, including the processing of a depth map at a given time, associated with one or more texture views.
  • FIG. 4A illustrates steps of a multi-view video coding method according to a particular embodiment of the invention.
  • the coding method is described here in the case of two views comprising the textures T 0 and Ti respectively.
  • each texture T 0 and Ti is coded and decoded to provide the decoded textures T * 0 and T * i.
  • the textures can here correspond to an image of a view, or a block of an image of a view or to any other type of granularity relating to the texture information of a multi-view video. .
  • synthesis data for example depth maps D + 0 and D + i are estimated from the decoded textures T * 0 and T * i, using a depth estimator.
  • the synthesis data D 0 and Di are estimated from the uncoded textures To and Ti, for example using a depth estimator.
  • the obtained synthesis data D 0 and Di are then encoded, then decoded to provide reconstructed synthesis data D * 0 and D * i. This is the first method of obtaining M1 summary data.
  • a step 44 it is determined an obtaining mode to be used at the decoder to obtain the synthesis data among the first obtaining mode M1 and the second obtaining mode M2.
  • a syntax element is encoded in the data stream to indicate the selected mode of obtaining.
  • J Di R, where R corresponds to the bit rate, D corresponds to the distortion and l the Lagrangian used for optimization.
  • a first variant is based on the synthesis of an intermediate view or of a block of an intermediate view, in the case where the mode of obtaining is coded for each block, and of evaluating the quality of the synthesized view, in considering the two methods of obtaining summary data.
  • a first version of the intermediate view is therefore synthesized for the obtaining mode M2 from the decoded textures T * 0 and T * i and from the estimated synthesis data D + 0 and D + i from the decoded textures T * 0 and T * i.
  • the flow then corresponds to the cost of encoding of textures T * 0 and T * i and at the cost of encoding the syntax element indicating the selected mode of obtaining.
  • This bit rate can be calculated precisely by using, for example, an entropy coder (for example an arithmetic binary coding, a variable length coding, with or without adaptation of the context).
  • a second version of the intermediate view is also synthesized for the obtaining mode M1 from the decoded textures T * 0 and T * i and from the decoded synthesis data D * 0 and DY
  • the bit rate then corresponds to the cost of coding the textures T * 0 and T * i and summary data D * 0 and D * i to which is added the cost of coding the syntax element indicating the mode of obtaining selected. This rate can be calculated as indicated above.
  • the distortion can be calculated by a metric comparing the image or the block of the synthesized view with the image or the uncoded block of the synthesized view from the non-coded textures T 0 and Ti and the data. synthesis not coded D 0 and Di.
  • the obtaining mode providing the lowest bit rate / distortion cost J is selected.
  • the distortion by applying a metric without reference to the image or the synthesized block to avoid using the original uncompressed texture.
  • a non-reference metric can for example measure in the image or the synthesized block, the amount of noise, blur, block effect, the sharpness of the contours, etc.
  • the selection of the mode is obtained for example by comparing the synthesis data D 0 and Di estimated from the uncompressed textures and the synthesis data D + 0 and D + i estimated from the coded-decoded textures. If the summary data is close enough, according to a determined criterion, the estimation of the summary data on the client side will be more efficient than the encoding and transmission of the summary data. According to this variant, the synthesis of an image or of a block of an intermediate view is avoided.
  • the selection of an obtaining mode may depend on the characteristics of the depth information. For example, computer-generated depth information or high-quality captured depth is more likely to be suitable for M1 obtaining mode.
  • the depth maps can also be estimated from the textures decoded as described above and put into competition with the depth maps generated by computer or captured in high quality. The depth maps generated by computer or captured in high quality then replace the depth maps estimated from the uncompressed textures in the method described above.
  • the quality of the depth can be used to determine a mode of obtaining the summary data.
  • the quality of the depth which can be measured by an appropriate objective metric, can include relevant information. For example, when the quality of the depth is low, or when the temporal coherence of the depth is low, it is probable that the obtaining mode M2 is the most suitable for obtaining the depth information.
  • a syntax element d representative of the mode of obtaining selected is encoded in the data stream .
  • the selected and coded mode corresponds to the first mode of obtaining M1
  • the synthesis data D 0 and Di are also coded in the data stream, for the block or the image considered.
  • additional information can also be coded in the data stream.
  • additional information may correspond to one or more control parameters to be applied to the decoder or by a synthesis module when obtaining said summary data according to the second mode of obtaining. These can be parameters for controlling a summary data estimator, or a depth estimator for example.
  • control parameters can control the functionality of a depth estimator, such as increasing or decreasing the search interval, or increasing or decreasing precision.
  • the control parameters can indicate how a summary data is to be estimated on the decoder side.
  • the control parameters indicate which depth estimator to use.
  • the encoder can test several depth estimators and select the estimator providing the best bitrate / distortion compromise among: a pixel-based depth estimator, an estimator of depth based on triangle-warping, a fast depth estimator, a monocular neural network depth estimator, a neural network depth estimator using multiple references.
  • the encoder informs the decoder or the synthesis module to use a similar synthesis data estimator.
  • control parameters can comprise parameters of a depth estimator such as the disparity interval, the precision, the neural network model, the optimization method or aggregation, energy function smoothing factors, cost functions (color-based, correlation-based, frequency-based), a simple depth map that can be used as an initialization for the client-side depth estimator, etc.
  • FIG. 4B illustrates steps of a multi-view video coding method according to another particular embodiment of the invention.
  • the method of obtaining the summary data is not coded in the data stream, but deduced from the coded information which will be available to the decoder.
  • the coding method is described here in the case of two views comprising the textures To and Ti respectively.
  • each texture T 0 and Ti is coded and decoded to provide the decoded textures T * 0 and T * i.
  • the textures can here correspond to an image of a view, or a block of an image of a view or to any other type of granularity relating to the texture information of a multi-view video. .
  • an obtaining mode is determined to be used at the decoder to obtain the synthesis data from among the first obtaining mode M1 and the second obtaining mode M2.
  • the encoder can use any information that will be available to the decoder, to decide on the obtaining mode which must be applied to the block or to the image considered.
  • the selection of an obtaining mode can be based on a quantization parameter, for example, a QP (for Quantization Parameter) used to encode an image or a texture block. For example, when the quantization parameter is greater than a determined threshold, the second obtaining mode is selected, otherwise the first obtaining mode is selected.
  • a quantization parameter for example, a QP (for Quantization Parameter) used to encode an image or a texture block.
  • QP Quantization Parameter
  • the synthesis data D 0 and Di can be generated by computer or captured in high quality.
  • This type of summary data is more suited to the method of obtaining M1.
  • the mode of obtaining the selected summary data will then be the mode of obtaining M1.
  • metadata must be transmitted to the decoder to indicate the origin of the depth (computer generated, captured in high quality). This information can be transmitted at the view sequence level.
  • the synthesis data D 0 and Di are estimated from the uncoded textures T 0 and Ti , for example using a depth estimator. This estimation is of course not carried out in the case where the summary data come from a computer generation or from a capture in high quality.
  • synthesis data obtained D 0 and Di are then encoded in the data stream.
  • additional information can be obtained. also be encoded in the data stream, during a step 46 '.
  • information can correspond to one or more control parameters to be applied to the decoder or by a synthesis module when obtaining said synthesis data according to the second mode of obtaining.
  • control parameters are similar to those described in relation to FIG. 4A.
  • FIG. 5 illustrates an example of a multi-view video data processing diagram according to a particular embodiment of the invention.
  • a scene is captured by a CAPT video capture system.
  • the view capture system comprises one or more cameras capturing the scene.
  • the scene is captured by two converging cameras, located outside the scene and looking towards the scene from two separate locations.
  • the cameras are therefore at different distances from the scene and have different angles / orientations.
  • Each camera provides a sequence of uncompressed images.
  • the image sequences respectively comprise a sequence of images of texture T 0 and Ti.
  • the texture images T 0 and Ti resulting from the sequences of images respectively supplied by the two cameras are encoded by a COD encoder, for example an MV-HEVC encoder which is a multi-view video encoder.
  • the coder COD supplies a data stream BS which is transmitted to a decoder DEC, for example via a data network.
  • the depth maps D 0 and Di are estimated from the uncompressed textures T 0 and Ti and the depth maps D + 0 and D + i are estimated from the decoded textures T * 0 and T * i using a depth estimator, for example the DERS estimator.
  • a first view T'o located at a position captured by one of the cameras is synthesized, for example here position 0, using the depth map D 0 and a second view T ” 0 located at the same position is synthesized using the depth map D + 0 .
  • the quality of the two synthesized views is compared, for example by calculating the PSNR (for Peak Signal to Noise Ratio) between each of the synthesized views T'o, T ”o and the captured view T 0 located at the same position.
  • the comparison makes it possible to select a mode of obtaining for the depth map D 0 from among a first mode of obtaining according to which the map of depth D 0 is coded and transmitted to the decoder and a second mode of obtaining according to which the map of depth D 0 is encoded and transmitted to the decoder.
  • depth D + 0 is estimated at the decoder.
  • the same process is iterated for the depth map Di associated with the captured texture Ti
  • FIG. 7A illustrates an example of part of a data stream BS according to this particular embodiment of the invention.
  • the data stream BS comprises the coded textures T 0 and Ti and the syntax elements d 0 and di indicating respectively for each of the textures T 0 and Ti the mode of obtaining the depth maps D 0 and Di. If it is decided to code and transmit the depth map D 0 , respectively Di, the value of the syntax element d 0 , respectively di is for example 0, the data stream BS then includes the depth map D 0 , respectively Di, encoded.
  • the data stream BS then does not include the depth map D 0 respectively Di. It may optionally comprise, according to the variant embodiments, one or more PAR control parameters to be applied when obtaining the depth map D + 0 , respectively D + i, by the decoder or by the synthesis module.
  • the encoded data stream BS is then decoded by the decoder DEC.
  • the DEC decoder is included in a smartphone (for smart phone in French) equipped with decoding functions for free navigation.
  • a user looks at the scene from the point of view provided by the first camera. The user then slides their point of view slowly to the left to the other camera. During this process, the smartphone displays intermediate views of the scene that were not captured by the cameras.
  • the data stream BS is scanned and decoded by an MV-HEVC decoder for example, to provide two decoded textures T * 0 and T * i
  • the depth map D + k is estimated at the decoder or by a synthesis module from the decoded textures T * 0 and T * i.
  • a SYNTH synthesis module for example based on a VVS synthesis algorithm (for Versatile View Synthesizer in English), synthesizes intermediate views with the decoded textures T * 0 and T * i and the decoded depth maps D * 0 and D * i or estimated D + 0 and D + i as the case may be to synthesize intermediate views between the views corresponding to textures T 0 and Ti.
  • VVS synthesis algorithm for Versatile View Synthesizer in English
  • the multi-view video data processing scheme described in Fig. 5 is not limited to the embodiment described above.
  • the scene is captured by six omnidirectional cameras located in the scene, from six different locations.
  • Each camera provides a sequence of 2D images in an equi-rectangular projection format (ERP for Equi-Rectangular Projection).
  • the six textures coming from the cameras are encoded using a 3D-HEVC encoder which is a multi-view encoder, providing a data stream BS which is for example transmitted via a data network.
  • a 2x3 matrix of source textures T (textures originating from the cameras) is supplied at the input of the encoder.
  • a source depth map matrix D is estimated from the uncompressed textures using a depth estimator based on a neural network.
  • the texture matrix T is encoded and decoded using the 3D-HEVC encoder providing the decoded texture matrix T * .
  • the T * decoded texture matrix is used to estimate the D + depth map matrix using the neural network based depth estimator.
  • the selection of a mode of obtaining for the depth map associated with a texture is carried out for each block or coding unit (also known under the name of CTU for Coding Tree Unit in English, in the HEVC encoder).
  • FIG. 6B illustrates the steps of the depth encoding method for a current block D x0y o (x, y, t) to be encoded, where x, y corresponds to the position of the upper left corner of the block in the image and t the temporal instant of the image.
  • the depth encoding for the current block D x0y o (0,0,0) is first evaluated by determining an optimal encoding mode among different tools for encoding the depth of a block available to the encoder.
  • Such coding tools can include any type of depth coding tools available in a multi-view coder.
  • the depth D x0y o (0,0,0) of the current block is encoded using a first encoding tool providing a coded-decoded depth D * x0y o (0,0, 0) for the current block.
  • a view at a position of one of the cameras is synthesized using the VVS synthesis software for example. For example, a view at position x1 yO is synthesized using the views decoded at positions xOyO, x2y0, and x1y1 of the T texture matrix.
  • the depth for all blocks in the multi-video views that have not yet been processed comes from the estimated source depth D.
  • the depth for all blocks of the multi-view video for which the depth has already been encoded comes from the encoded-decoded or estimated depth from the textures decoded according to the obtaining mode which was selected for each block.
  • the depth of the current block used for the synthesis of the view at position x1y0 is the coded-decoded depth D * x0y o (0,0,0) according to the coding tool being evaluated.
  • the quality of the synthesized view is evaluated using an error metric, for example a quadratic error, between the synthesized view at position x1y0 and the source view T xiy o, and the coding cost the depth of the current block according to the tool under test is calculated.
  • step 63 it is checked whether all the depth encoding tools have been tested for the current block, and if this is not the case, the steps 60 to 62 are iterated for the encoding tool. next, if not, the method goes to step 64.
  • step 65 another view at the same position as during step 61 is synthesized using the textures decoded at positions xOyO, x2y0 and x1y1 with the VVS software and the estimated current block depth D + x0y o (0,0,0).
  • a step 66 the distortion between the view synthesized at position x1y0 and the source view T xiy0 is calculated and the cost of coding the depth is set to 0, since according to this method of obtaining, the depth n 'is not encoded but estimated at the decoder.
  • a step 67 it is decided according to the bit rate / distortion cost of each mode of obtaining the depth the optimal mode of obtaining.
  • the mode of obtaining the depth minimizing the bit rate / distortion criterion is selected from the encoding of the depth with the optimal encoding tool selected in step 64 and the estimation of the depth at the decoder.
  • a syntax element is encoded in the data stream indicating the obtaining mode selected for the current block. If the obtaining mode selected matches the encoding of the depth, the depth is encoded in the data stream according to the optimal encoding tool selected previously.
  • Steps 60 to 68 are iterated by considering the next block to be processed D x0y o (64,0,0) for example if the first block has a size of 64x64. All the blocks of the depth map associated with the texture of the view at position xOyO are processed correspondingly by taking into account the coded-decoded or estimated depths of the blocks previously processed during view synthesis.
  • the depth maps of the other views are also treated in a similar way.
  • the coded data stream comprises different information for each block. If it has been decided to encode and transmit depth for a given block, the data stream includes for that block, the encoded texture of the block, a block of encoded depth data, and the syntax element indicating the mode of operation. obtaining depth for the block. If it has been decided not to encode the depth for the block, the data stream includes for the block, the encoded texture of the block, a depth information block including a same gray level value, and the syntax element indicating how to get the depth for the block.
  • the data stream may include the textures encoded consecutively for all the blocks, then the depth data and the syntax elements of the blocks.
  • the decoding can for example be carried out via a virtual reality headset equipped with free navigation functionalities, and worn by a user.
  • the user looks at the scene from a point of view provided by one of the six cameras.
  • the user looks around and slowly begins to move around the scene.
  • the headset tracks the user's movement and displays corresponding views of the scene that were not captured by the cameras.
  • the decoder DEC decodes the texture matrix T * from the coded data stream.
  • the syntax elements for each block are also decoded from the encoded data stream.
  • the depth of each block is obtained by decoding the block of depth data encoded for the block or by estimating the depth data from the decoded textures according to the value of the decoded syntax element for the block.
  • An intermediate view is synthesized using the decoded texture matrix T * and the reconstructed depth matrix comprising for each block the depth data obtained as a function of the obtaining mode indicated by the decoded syntax element for the block.
  • the multi-view video data processing diagram described in FIG. 5 also applies in the case where the syntax element is not coded at block level or at the block level. image level.
  • the COD encoder can apply an image level decision mechanism to decide whether the depth should be transmitted to the decoder or estimated after decoding.
  • the encoder which operates in variable bit rate mode, allocates, in a known manner, quantization parameters (QPs) to the blocks of the texture images so as to reach a target overall bit rate.
  • QPs quantization parameters
  • An average of the QPs allocated to each block of a texture image is calculated, optionally using a weighting between blocks. This provides an average PQ for the texture image, representative of an importance level of the image.
  • the encoder decides to calculate the depth map for this image of texture from the uncompressed textures of the multiview video, encode the calculated depth map and pass it into the data stream.
  • the target speed is high speed.
  • the encoder does not calculate the depth for this texture image and proceeds to the next texture image. No depth is encoded for this image, nor any indicator is transmitted to the decoder.
  • FIG. 7B illustrates an example of a part of a data stream encoded according to this particular embodiment of the invention.
  • the encoded data stream includes in particular the encoded textures for each image, here To and Ti.
  • the encoded data stream also includes information making it possible to obtain the average QP of each image. For example, this can be coded at the image level, or else conventionally obtained from the QPs coded for each block in the data stream.
  • the coded data stream also comprises the calculated and coded depth data D 0 and / or Di according to the decision taken by the coder. It is noted here that the syntax elements d 0 and di are not encoded in the data stream.
  • the data stream may include PAR parameters to be applied when estimating the depth. These parameters have already been described above.
  • the decoder DEC runs through the encoded data stream and decodes the texture images T * 0 and T * i.
  • the decoder applies the same decision mechanism as the encoder, by calculating the average QP of each texture image.
  • the decoder then deduces therefrom, using the determined threshold, which can be transmitted in the data stream or well known to the decoder, whether the depth for a given texture image must be decoded or else estimated.
  • the decoder then operates in a manner similar to what has been described in relation to the first embodiment of FIG. 5.
  • FIG. 8 presents 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 described above, in particular in relation to FIGS. 2, 4A and 4B.
  • the COD encoder may for example correspond to the COD encoder described in relation to FIG. 5.
  • the steps of 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, a processing unit UT, equipped for example with a processor PROC, and controlled by the computer program PG stored in memory MEM.
  • the computer program PG comprises instructions for implementing the steps of the coding method as described above, when the program is executed by the processor PROC.
  • the code instructions of the computer program PG are for example loaded into a memory before being executed by the processor PROC.
  • the processor PROC of the processing unit UT notably implements the steps of the coding method described above, according to the instructions of the computer program PG.
  • FIG. 9 shows the simplified structure of a DTV multi-view video data processing device suitable for implementing the multi-view data processing method according to any one of the particular embodiments of the invention described. previously, in particular in relation to FIGS. 2, 3A, and 3B.
  • the DTV multi-view video data processing device may for example correspond to the SYNTH synthesis module described in relation to FIG. 5 or to a device comprising the SYNTH synthesis module and the decoder DEC of FIG. 5.
  • the DTV multi-view video data processing device has the conventional architecture of a computer and in particular comprises a MEMO memory, a UTO processing unit, equipped for example with a PROCO processor, and controlled by the computer program PGO stored in MEMO memory.
  • the computer program PGO includes instructions for implementing the steps of the multi-view video data processing method as described above, when the program is executed by the PROCO processor.
  • the code instructions of the computer program PGO are for example loaded into a memory before being executed by the processor PROCO.
  • the processor PROCO of the processing unit UTO notably implements the steps of the multi-view video data processing method described above, according to the instructions of the computer program PGO.
  • the DTV multi-view video data processing device comprises a decoder DEC suitable for decoding one or more coded data streams representative of a multi-view video.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The invention relates to a method for processing multi-view video data, in which method, for at least one block of an image of a view encoded in an encoded data stream representative of the multi-view video, at least one information item is obtained. Said information item specifies a mode for obtaining at least one synthesis data item, from among a first obtaining mode and a second obtaining mode, the synthesis data item being used to synthesise at least one image of an intermediate view of the multi-view video, the intermediate view not being encoded in the encoded data stream. The first obtaining mode involves decoding at least one information item representative of the at least one synthesis data item from the encoded data stream, and the second obtaining mode involves obtaining the at least one synthesis data item from at least the reconstructed encoded image. At least one portion of an image of the intermediate view is synthesised from at least the reconstructed encoded image and the at least one synthesis data item obtained according to the specified obtaining method.

Description

DESCRIPTION DESCRIPTION
Procédé et dispositif de traitement de données de vidéo multi-vues Multi-view video data processing method and device
1. Domaine de l'invention 1. Field of the invention
L'invention concerne les vidéos dites immersives, représentatives d'une scène capturée par une ou plusieurs caméras, incluant les vidéos pour la réalité virtuelle et la navigation libre. Plus particulièrement, l'invention concerne le traitement (codage, décodage, synthèse de vues intermédiaires) de données de telles vidéos. The invention relates to so-called immersive videos, representative of a scene captured by one or more cameras, including videos for virtual reality and free navigation. More particularly, the invention relates to the processing (coding, decoding, synthesis of intermediate views) of data from such videos.
2. Art Antérieur 2. Prior Art
Une vidéo immersive permet à un spectateur de regarder une scène de n'importe quel point de vue, même d'un point de vue qui n'a pas été capturé par une caméra. Un système d'acquisition typique est un ensemble de caméras, qui capture une scène avec plusieurs caméras situées en dehors de la scène ou avec des caméras divergentes construites sur une plate-forme sphérique. Les vidéos sont généralement affichées via des casques de réalité virtuelle (aussi connu sous le nom HMD pour Head Mounted Device en anglais), mais peuvent également être affichées sur des écrans 2D dotés d'un système supplémentaire pour interagir avec l'utilisateur. Immersive video allows a viewer to watch a scene from any point of view, even from a point of view that was not captured by a camera. A typical acquisition system is a set of cameras, which captures a scene with multiple cameras located outside the scene or with divergent cameras built on a spherical platform. The videos are usually displayed through virtual reality headsets (also known as HMD for Head Mounted Device in English), but can also be displayed on 2D screens with an additional system to interact with the user.
La navigation libre dans une scène nécessite de gérer correctement chaque mouvement de l'utilisateur afin d'éviter le mal des transports. Le mouvement est généralement correctement capturé par le dispositif d'affichage (un casque HMD par exemple). Cependant, fournir les pixels corrects à l'affichage, quel que soit le mouvement de l'utilisateur (rotationnel ou en translation), est actuellement un problème. Cela nécessite plusieurs vues capturées et la possibilité de générer des vues virtuelles (synthétisées) supplémentaires, calculées à partir des vues capturées décodées et des profondeurs associées. Le nombre de vues à transmettre varie selon les cas d'utilisation. Toutefois, le nombre de vues à transmettre et la quantité de données associées est souvent volumineuse. Par conséquent, la transmission des vues est un aspect essentiel des applications de vidéos immersives. Il est donc nécessaire de réduire autant que possible le débit binaire des informations à transmettre sans compromettre la qualité de la synthèse des vues intermédiaires. Free navigation in a scene requires proper management of every movement of the user in order to avoid motion sickness. The movement is generally correctly captured by the display device (an HMD headset for example). However, delivering the correct pixels to the display, regardless of the user's movement (rotational or translational), is currently a problem. This requires multiple captured views and the ability to generate additional virtual (synthesized) views, calculated from the decoded captured views and associated depths. The number of views to be transmitted varies depending on the use case. However, the number of views to be transmitted and the amount of associated data is often large. Therefore, view transmission is an essential aspect of immersive video applications. It is therefore necessary to reduce as much as possible the bit rate of the information to be transmitted without compromising the quality of the synthesis of the intermediate views.
Dans un schéma de traitement de vidéo immersive typique, les vues sont capturées physiquement ou générées par ordinateur. Dans certains cas, les profondeurs sont également capturées avec des capteurs dédiés. Cependant, la qualité de ces informations de profondeurs est généralement mauvaise et empêche de synthétiser efficacement des points de vue intermédiaires. Des cartes de profondeur peuvent également être calculées à partir des images de texture des vidéos capturées. De nombreux algorithmes d'estimation de profondeurs existent et sont utilisés dans l'état de la technique. In a typical immersive video processing scheme, the views are either physically captured or computer generated. In some cases, depths are also captured with dedicated sensors. However, the quality of this depth information is generally poor and prevents an effective synthesis of intermediate points of view. Depth maps can also be calculated from the texture images of the captured videos. Many depth estimation algorithms exist and are used in the state of the art.
Les images de texture et les informations de profondeur estimées sont codées et envoyées à un dispositif d'affichage d'un utilisateur, comme illustré en figure 1 . La figure 1 montre un schéma de traitement de vidéo immersive comprenant par exemple deux vues capturées ayant respectivement les informations de texture Txoyo et Txiy0. Des informations de profondeur Dxoyo et Dxiy0 associées à chaque vue Txoyo et Txi yo sont estimées par un module d’estimation FE. Par exemple, les informations de profondeur Dx0yo et Dxiy0 sont obtenues par un logiciel d'estimation de profondeur (DERS pour Depth Estimation Reference Software en anglais), les vues Txoyo et Txi yo et les informations de profondeur obtenues Dx0yo et Dxiy0 sont ensuite codées (CODEC), par exemple en utilisant un codeur MV-HEVC. Du côté du client, les vues T*x0yo et T* xi yo et les profondeurs associées de chaque vue D*x0yo et D* xiy0 sont décodées et utilisées par un algorithme de synthèse (SYNTHESIS) pour calculer des vues intermédiaires, par exemple ici des vues intermédiaires Sx0yo et Sxiy0. Par exemple, le logiciel VSRS (pour View Synthesis Reference en anglais) peut être utilisé comme algorithme de synthèse de vue. Lorsque les cartes de profondeur sont calculées avant le codage et la transmission des données codées d'une vidéo immersive, différents problèmes sont rencontrés. Notamment, le débit associé à la transmission des différentes vues est important. En particulier, bien que les cartes de profondeur coûtent généralement moins que la texture, elles restent une proportion importante du train de bits (entre 15% et 30% du total). Texture images and estimated depth information are encoded and sent to a display device of a user, as shown in Figure 1. FIG. 1 shows an immersive video processing diagram comprising for example two captured views having respectively the texture information T x o y o and T xiy0 . Depth information Dxoyo and Dxi y0 associated with each view T x o y o and T xi y o are estimated by an estimation module FE. For example, the depth information D x0y o and D xiy0 are obtained by a depth estimation software (DERS for Depth Estimation Reference Software), the views Txoyo and T xi y o and the depth information obtained D x0y o and D xiy0 are then encoded (CODEC), for example using an MV-HEVC encoder. On the client side, the views T * x0 yo and T * xi yo and the associated depths of each view D * x0y o and D * xiy0 are decoded and used by a synthesis algorithm (SYNTHESIS) to calculate intermediate views, for example example here of the intermediate views S x0y o and S xiy0 . For example, VSRS (View Synthesis Reference) software can be used as a view synthesis algorithm. When depth maps are calculated before encoding and transmitting the encoded data of an immersive video, various problems are encountered. In particular, the bit rate associated with the transmission of the different views is high. In particular, although depth maps generally cost less than texture, they remain a significant proportion of the bitstream (between 15% and 30% of the total).
De plus, des cartes de profondeurs complètes sont générées et envoyées, alors que côté client, toutes les parties de toutes les cartes de profondeurs ne sont pas forcément utiles. En effet, les vues peuvent avoir des informations redondantes, ce qui rend certaines parties de cartes de profondeurs inutiles. De plus, dans certains cas, les spectateurs peuvent demander uniquement des points de vue spécifiques. Sans canal de retour entre le client et le serveur fournissant la vidéo immersive codée, l'estimateur de profondeur situé côté serveur ignore la connaissance de ces points de vue spécifiques. In addition, full depth maps are generated and sent, while on the client side, not all parts of all depth maps are useful. This is because the views can have redundant information, which makes certain parts of depth maps unnecessary. Additionally, in some cases, viewers may request only specific points of view. Without a return channel between the client and the server providing the encoded immersive video, the depth estimator on the server side ignores knowledge of these specific viewpoints.
Le calcul des informations de profondeur côté serveur évite toute interaction entre l'estimateur de profondeur et l'algorithme de synthèse. Par exemple, si un estimateur de profondeur souhaite informer l'algorithme de synthèse du fait qu'il ne peut pas trouver correctement la profondeur d'une zone spécifique, il doit transmettre cette information dans le flux binaire, très probablement sous la forme d'une carte binaire. The calculation of the depth information on the server side avoids any interaction between the depth estimator and the synthesis algorithm. For example, if a depth estimator wishes to inform the synthesis algorithm that it cannot correctly find the depth of a specific area, it must pass that information in the bitstream, most likely in the form of a binary map.
De plus, la configuration du codeur pour coder les cartes de profondeur afin d’obtenir le meilleur compromis entre la qualité de la synthèse et le coût de codage pour la transmission des cartes de profondeur n'est pas évidente. Enfin, le nombre de pixels à traiter par un décodeur est élevé lorsque les textures et les cartes de profondeur sont codées, transmises et décodées. Cela peut par exemple ralentir le déploiement des schémas de traitement de vidéos immersives sur des terminaux de type smartphone (pour téléphone intelligent en français). In addition, the configuration of the encoder to encode the depth maps in order to obtain the best compromise between the quality of the synthesis and the coding cost for the transmission of the depth maps is not obvious. Finally, the number of pixels to be processed by a decoder is high when the textures and the depth maps are encoded, transmitted and decoded. This can, for example, slow down the deployment of immersive video processing schemes on smartphone-type terminals (for smart phones in French).
Il existe donc un besoin d'améliorer l'état de la technique. There is therefore a need to improve the state of the art.
3. Exposé de l'invention 3. Disclosure of the invention
L'invention vient améliorer l'état de la technique. Elle concerne, à cet effet, un procédé de traitement de données d’une vidéo multi-vues, comprenant : The invention improves the state of the art. To this end, it relates to a method for processing data from a multi-view video, comprising:
- l'obtention, pour au moins un bloc d’une image d’une vue codée dans un flux de données codées représentatif de la vidéo multi-vues, d’au moins une information indiquant un mode d’obtention d’au moins une donnée de synthèse, parmi un premier mode d’obtention et un deuxième mode d’obtention, ladite au moins une donnée de synthèse étant utilisée pour synthétiser au moins une image d’une vue intermédiaire de la vidéo multi-vues, ladite vue intermédiaire n’étant pas codée dans ledit flux de données codées, ledit premier mode d’obtention correspondant à un décodage d’au moins une information représentative de la au moins une donnée de synthèse à partir du flux de données codées, ledit deuxième mode d’obtention correspondant à une obtention de la au moins une donnée de synthèse à partir d’au moins ladite image codée reconstruite, obtaining, for at least one block of an image of a coded view in a coded data stream representative of the multi-view video, at least one item of information indicating a mode of obtaining at least one synthesis data, among a first mode of obtaining and a second mode of obtaining, said at least one data of synthesis being used to synthesize at least one image of an intermediate view of the multi-view video, said intermediate view n 'being not encoded in said encoded data stream, said first obtaining mode corresponding to a decoding of at least one item of information representative of the at least one summary data item from the encoded data stream, said second obtaining mode corresponding to obtaining the at least one synthetic data item from at least said reconstructed coded image,
- l’obtention de la au moins une donnée de synthèse selon le mode d’obtention indiqué par ladite au moins une information, - obtaining the at least one summary data item according to the method of obtaining indicated by said at least one item of information,
- la synthèse d'au moins une partie d’une image de ladite vue intermédiaire à partir d'au moins ladite image codée reconstruite et ladite au moins une donnée de synthèse obtenue. L’invention permet de tirer parti de différents modes d’obtention de données de synthèse de manière flexible en permettant la sélection d’un mode d’obtention de chaque donnée de synthèse qui soit optimal, par exemple en termes de coût de codage/qualité de la donnée de synthèse ou bien en fonction des outils disponibles côté décodeur et/ou côté codeur. Cette sélection est flexible puisqu’elle peut avantageusement être réalisée au niveau bloc, image, vue ou vidéo. Le niveau de granularité du mode d’obtention des données de synthèse peut donc être adapté en fonction du contenu de la vidéo multi-vues par exemple ou bien des outils disponibles côté client/décodeur. - The synthesis of at least part of an image of said intermediate view from at least said reconstructed coded image and said at least one synthesis data item obtained. The invention makes it possible to take advantage of different modes of obtaining synthesis data in a flexible manner by allowing the selection of a mode of obtaining each summary data which is optimal, for example in terms of coding cost / quality. synthesis data or depending on the tools available on the decoder side and / or on the encoder side. This selection is flexible since it can advantageously be carried out at block, image, view or video level. The level of granularity of the mode of obtaining the summary data can therefore be adapted according to the content of the multi-view video, for example, or the tools available on the client / decoder side.
Selon un premier mode d’obtention, la donnée de synthèse est déterminée côté codeur, codée et transmise à un décodeur dans un flux de données. Selon ce premier mode d’obtention, la qualité de la donnée de synthèse peut être privilégiée puisqu’elle est déterminée à partir d’images originales, non codées par exemple. La donnée de synthèse ne souffre pas lors de son estimation des artefacts de codage des textures décodées. According to a first method of obtaining, the synthetic data item is determined on the encoder side, encoded and transmitted to a decoder in a data stream. According to this first mode of obtaining, the quality of the summary data can be privileged since it is determined from original images, not coded for example. The synthetic data does not suffer during its estimation of the coding artifacts of the decoded textures.
Selon un deuxième mode d’obtention, la donnée de synthèse est déterminée côté décodeur. Selon ce deuxième mode d’obtention, les données nécessaires à la synthèse de vues intermédiaires sont obtenues à partir des vues décodées et reconstruites qui ont été transmises au décodeur. L'obtention de telles données de synthèse peut être réalisée au niveau du décodeur, ou bien par un module indépendant du décodeur prenant en entrée les vues décodées et reconstruites par le décodeur. Ce deuxième mode d’obtention permet de réduire le coût de codage des données de la vidéo multi-vues et le décodage de la vidéo multi- vues est simplifié, puisque le décodeur n'a plus à décoder les données utilisées pour la synthèse de vues intermédiaires. According to a second method of obtaining, the synthetic data item is determined on the decoder side. According to this second method of obtaining, the data necessary for the synthesis of intermediate views are obtained from the decoded and reconstructed views which have been transmitted to the decoder. Such synthesis data can be obtained at the level of the decoder, or else by a module independent of the decoder taking as input the views decoded and reconstructed by the decoder. This second method of obtaining makes it possible to reduce the cost of encoding the data of the multi-view video and the decoding of the multi-view video is simplified, since the decoder no longer has to decode the data used for the synthesis of views. intermediaries.
L’invention permet également d’améliorer la qualité de la synthèse des vues intermédiaires. En effet dans certains cas, une donnée de synthèse estimée au décodeur peut être plus adaptée pour la synthèse de vues qu’une donnée de synthèse codée, par exemple lorsque des estimateurs différents sont disponibles côté client et côté serveur. Dans d’autres cas, la détermination de la donnée de synthèse au codeur peut être plus adaptée, par exemple lorsque les textures décodées présentent des artefacts de compression ou lorsque les textures ne comprennent pas suffisamment d’informations redondantes pour estimer les données de synthèse côté client. The invention also improves the quality of the synthesis of intermediate views. In fact, in certain cases, summary data estimated at the decoder may be more suitable for the synthesis of views than coded summary data, for example when different estimators are available on the client side and on the server side. In other cases, the determination of the synthesis data at the encoder may be more suitable, for example when the decoded textures show compression artefacts or when the textures do not include enough redundant information to estimate the synthesis data on the side. customer.
Selon un mode particulier de réalisation de l’invention, ladite au moins une donnée de synthèse correspond à au moins une partie d'une carte de profondeur. According to a particular embodiment of the invention, said at least one summary data item corresponds to at least part of a depth map.
Selon un autre mode particulier de réalisation de l’invention, ladite au moins une information indiquant un mode d’obtention de la donnée de synthèse est obtenue par le décodage d’un élément de syntaxe. Selon ce mode particulier de réalisation de l’invention, l’information est codée dans le flux de données. According to another particular embodiment of the invention, said at least one item of information indicating a mode of obtaining the summary data item is obtained by decoding a syntax element. According to this particular embodiment of the invention, the information is encoded in the data stream.
Selon un autre mode particulier de réalisation de l’invention, ladite au moins une information indiquant un mode d’obtention de la donnée de synthèse est obtenue à partir d’au moins une donnée codée pour l’image codée reconstruite. Selon ce mode particulier de réalisation de l’invention, l’information n’est pas directement codée dans le flux de données, elle est dérivée des données codées pour une image dans le flux de données. Le processus de dérivation de la donnée de synthèse est ici identique au codeur et au décodeur. According to another particular embodiment of the invention, said at least one item of information indicating a method of obtaining the synthesis data item is obtained from at least one data item coded for the reconstructed coded image. According to this particular embodiment of the invention, the information is not directly encoded in the data stream, it is derived from the data encoded for an image in the data stream. The process for deriving the synthetic data is here identical to the encoder and to the decoder.
Selon un autre mode particulier de réalisation de l’invention, le mode d’obtention est sélectionné parmi le premier mode d’obtention et le deuxième mode d’obtention en fonction d’une valeur d’un paramètre de quantification utilisé pour coder au moins ledit bloc. Selon un autre mode particulier de réalisation de l’invention, le procédé comprend en outre, lorsque ladite au moins une information indique que la donnée de synthèse est obtenue selon le deuxième mode d’obtention : According to another particular embodiment of the invention, the obtaining mode is selected from among the first obtaining mode and the second obtaining mode as a function of a value of a quantization parameter used to encode at least said block. According to another particular embodiment of the invention, the method further comprises, when said at least one item of information indicates that the summary data item is obtained according to the second mode of obtaining:
- le décodage à partir d'un flux de données codées, d'au moins un paramètre de contrôle,- decoding from a coded data stream, of at least one control parameter,
- l'application dudit paramètre de contrôle lors de l'obtention de ladite donnée de synthèse selon le deuxième mode d’obtention. - the application of said control parameter when obtaining said summary data according to the second mode of obtaining.
Ce mode particulier de réalisation de l'invention permet de contrôler le procédé d'obtention de la donnée de synthèse, par exemple il peut s’agir de contrôler les fonctionnalités d’un estimateur de profondeur telles la taille de la fenêtre de recherche ou la précision. Le paramètre de contrôle peut aussi indiquer quel estimateur de profondeur utiliser, et/ou les paramètres de cet estimateur, ou encore une carte de profondeur pour initialiser l’estimateur. This particular embodiment of the invention makes it possible to control the method for obtaining the summary data item, for example it may be a question of controlling the functionalities of a depth estimator such as the size of the search window or the precision. The control parameter can also indicate which depth estimator to use, and / or the parameters of this estimator, or a depth map to initialize the estimator.
L’invention concerne également un dispositif de traitement de données de vidéo multi-vues, comprenant un processeur configuré pour : The invention also relates to a device for processing multi-view video data, comprising a processor configured for:
- obtenir, pour au moins un bloc d’une image d’une vue codée dans un flux de données codées représentatif de la vidéo multi-vues, au moins une information indiquant un mode d’obtention d’au moins une donnée de synthèse, parmi un premier mode d’obtention et un deuxième mode d’obtention, ladite au moins une donnée de synthèse étant utilisée pour synthétiser au moins une image d’une vue intermédiaire de la vidéo multi-vues, ladite vue intermédiaire n’étant pas codée dans ledit flux de données codées, ledit premier mode d’obtention correspondant à un décodage d’au moins une information représentative de la au moins une donnée de synthèse à partir du flux de données codées, ledit deuxième mode d’obtention correspondant à une obtention de la au moins une donnée de synthèse à partir d’au moins ladite image codée reconstruite, - obtain, for at least one block of an image of a view encoded in a stream of encoded data representative of the multi-view video, at least one item of information indicating a mode of obtaining at least one summary data item, from among a first mode of obtaining and a second mode of obtaining, said at least one synthesis data item being used to synthesize at least one image of an intermediate view of the multi-view video, said intermediate view not being coded in said coded data stream, said first obtaining mode corresponding to a decoding of at least one item of information representative of the at least one summary data item from the coded data stream, said second obtaining mode corresponding to an obtaining at least one data item synthesized from at least said reconstructed coded image,
- obtenir la au moins donnée de synthèse selon le mode d’obtention indiqué par ladite au moins une information, - obtain the at least summary data according to the method of obtaining indicated by said at least one item of information,
- synthétiser au moins une partie d’une image de ladite vue intermédiaire à partir d'au moins ladite image codée reconstruite et ladite au moins une donnée de synthèse obtenue. - synthesizing at least part of an image of said intermediate view from at least said reconstructed coded image and said at least one synthesis data item obtained.
Selon un mode particulier de réalisation de l’invention, le dispositif de traitement de données de vidéo multi-vues est compris dans un terminal. According to a particular embodiment of the invention, the multi-view video data processing device is included in a terminal.
L’invention concerne aussi un procédé de codage de données de vidéo multi-vues, comprenant : The invention also relates to a method for encoding multi-view video data, comprising:
- la détermination, pour au moins un bloc d’une image d’une vue dans un flux de données codées représentatif de la vidéo multi-vues, d’au moins une information indiquant un mode d’obtention d’au moins une donnée de synthèse, parmi un premier mode d’obtention et un deuxième mode d’obtention, ladite au moins une donnée de synthèse étant utilisée pour synthétiser au moins une image d’une vue intermédiaire de la vidéo multi-vues, ladite vue intermédiaire n’étant pas codée dans ledit flux de données codées, ledit premier mode d’obtention correspondant à un décodage d’au moins une information représentative de la au moins une donnée de synthèse à partir du flux de données codées, ledit deuxième mode d’obtention correspondant à une obtention de la au moins une donnée de synthèse à partir d’au moins ladite image codée reconstruite, the determination, for at least one block of an image of a view in an encoded data stream representative of the multi-view video, of at least one item of information indicating a mode for obtaining at least one synthetic datum, from among a first obtaining mode and a second obtaining mode, said at least one synthetic datum being used to synthesize at least one image of an intermediate view of the video multi-view, said intermediate view not being encoded in said encoded data stream, said first mode of obtaining corresponding to a decoding of at least one item of information representative of the at least one summary data item from the data stream encoded, said second mode of obtaining corresponding to obtaining the at least one synthetic data item from at least said reconstructed coded image,
- le codage de ladite image dans le flux de données codées. the encoding of said image in the encoded data stream.
Selon un mode particulier de réalisation de l’invention, le procédé de codage comprend le codage dans le flux de données d’un élément de syntaxe associé à ladite information indiquant un mode d’obtention de la donnée de synthèse. According to a particular embodiment of the invention, the encoding method comprises the encoding in the data stream of a syntax element associated with said information indicating a mode of obtaining the summary data.
Selon un mode particulier de réalisation de l’invention, le procédé de codage comprend en outre, lorsque l’information indique que la donnée de synthèse est obtenue selon le deuxième mode d’obtention : According to a particular embodiment of the invention, the coding method further comprises, when the information indicates that the summary data item is obtained according to the second mode of obtaining:
- le codage dans un flux de données codées, d'au moins un paramètre de contrôle à appliquer lors de l'obtention de ladite donnée de synthèse selon le deuxième mode d’obtention. - coding in an encoded data stream of at least one control parameter to be applied when obtaining said summary data according to the second mode of obtaining.
L’invention concerne aussi un dispositif de codage de données de vidéo multi-vues, comprenant un processeur et une mémoire configurés pour : The invention also relates to a device for encoding multi-view video data, comprising a processor and a memory configured for:
- déterminer, pour au moins un bloc d’une image d’une vue dans un flux de données codées représentatif de la vidéo multi-vues, au moins une information indiquant un mode d’obtention d’au moins une donnée de synthèse, parmi un premier mode d’obtention et un deuxième mode d’obtention, ladite au moins une donnée de synthèse étant utilisée pour synthétiser au moins une image d’une vue intermédiaire de la vidéo multi-vues, ladite vue intermédiaire n’étant pas codée dans ledit flux de données codées, ledit premier mode d’obtention correspondant à un décodage d’au moins une information représentative de la au moins une donnée de synthèse à partir du flux de données codées, ledit deuxième mode d’obtention correspondant à une obtention de la au moins une donnée de synthèse à partir d’au moins ladite image codée reconstruite, determining, for at least one block of an image of a view in an encoded data stream representative of the multi-view video, at least one item of information indicating a mode of obtaining at least one summary data item, from among a first mode of obtaining and a second mode of obtaining, said at least one synthesis datum being used to synthesize at least one image of an intermediate view of the multi-view video, said intermediate view not being coded in said encoded data stream, said first obtaining mode corresponding to a decoding of at least one item of information representative of the at least one summary data item from the encoded data stream, said second obtaining mode corresponding to an obtaining of the at least one data item synthesized from at least said reconstructed coded image,
- coder ladite image dans le flux de données codées. - encoding said image in the encoded data stream.
Le procédé de traitement de données vidéo multi-vues selon l'invention peut être mis en oeuvre de diverses manières, notamment sous forme câblée ou sous forme logicielle. Selon un mode particulier de réalisation de l'invention, le procédé de traitement de données vidéo multi-vues est mis en œuvre par un programme d'ordinateur. L'invention concerne également un programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé de traitement de données vidéo multi-vues selon l'un quelconque des modes particuliers de réalisation décrits précédemment, lorsque ledit programme est exécuté par un processeur. Un tel programme peut utiliser n’importe quel langage de programmation. Il peut être téléchargé depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur.The multi-view video data processing method according to the invention can be implemented in various ways, in particular in wired form or in software form. According to a particular embodiment of the invention, the multi-view video data processing method is implemented by a computer program. The invention also relates to a computer program comprising instructions for implementing the multi-view video data processing method according to any one of the particular embodiments described above, when said program is executed by a processor. Such a program can use any programming language. It can be downloaded from a communications network and / or recorded on a computer readable medium.
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 aussi 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 mentionné ci-avant 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, une clé USB, ou encore un moyen d'enregistrement magnétique, par exemple un disque dur. D'autre part, le support d'enregistrement peut correspondre à 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 correspondre à 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é en question. 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 shape. 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 aforementioned recording medium can be any entity or device capable of storing the program. For example, the medium may comprise a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, a USB key, or else a magnetic recording means, for example a hard disk. On the other hand, the recording medium can correspond to a transmissible medium such as an electrical or optical signal, which can be conveyed via an electrical or optical cable, by radio or by other means. The program according to the invention can in particular be downloaded from an Internet type network. Alternatively, the recording medium can correspond to an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the method in question.
4. Liste des figures 4. List of figures
D’autres caractéristiques et avantages de l’invention apparaîtront plus clairement à la lecture de la description suivante d’un mode de réalisation particulier, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : Other characteristics and advantages of the invention will emerge more clearly on reading the following description of a particular embodiment, given by way of simple illustrative and non-limiting example, and the accompanying drawings, among which:
[FIG. 1 ] La figure 1 illustre un schéma de traitement de données de vidéo multi-vues selon l'art antérieur. [FIG. 1] FIG. 1 illustrates a diagram for processing multi-view video data according to the prior art.
[FIG. 2] La figure 2 illustre un schéma de traitement de données de vidéo multi-vues selon un mode particulier de réalisation de l’invention. [FIG. 2] FIG. 2 illustrates a multi-view video data processing diagram according to a particular embodiment of the invention.
[FIG. 3A] La figure 3A illustre des étapes d'un procédé de traitement de données de vidéo multi-vues selon un mode particulier de réalisation de l'invention. [FIG. 3A] FIG. 3A illustrates steps of a multi-view video data processing method according to a particular embodiment of the invention.
[FIG. 3B] La figure 3B illustre des étapes d'un procédé de traitement de données de vidéo multi-vues selon un autre mode particulier de réalisation de l'invention. [FIG. 3B] FIG. 3B illustrates steps of a multi-view video data processing method according to another particular embodiment of the invention.
[FIG. 4A] La figure 4A illustre des étapes d'un procédé de codage de vidéo multi-vues selon des modes particuliers de réalisation de l'invention. [FIG. 4B] La figure 4B illustre des étapes d'un procédé de codage de vidéo multi-vues selon des modes particuliers de réalisation de l'invention. [FIG. 4A] FIG. 4A illustrates steps of a multi-view video coding method according to particular embodiments of the invention. [FIG. 4B] FIG. 4B illustrates steps of a method for encoding multi-view video according to particular embodiments of the invention.
[FIG. 5] La figure 5 illustre un exemple d’un schéma de traitement de données de vidéo multi- vues selon un mode particulier de réalisation de l’invention. [FIG. 5] FIG. 5 illustrates an example of a multi-view video data processing diagram according to a particular embodiment of the invention.
[FIG. 6A] La figure 6A illustre une matrice de texture d’une vidéo multi-vues selon un mode particulier de réalisation de l’invention. [FIG. 6A] FIG. 6A illustrates a texture matrix of a multi-view video according to a particular embodiment of the invention.
[FIG. 6B] La figure 6B illustre des étapes du procédé de codage de la profondeur pour un bloc courant selon un mode particulier de réalisation de l’invention. [FIG. 6B] FIG. 6B illustrates steps of the depth encoding method for a current block according to a particular embodiment of the invention.
[FIG. 7A] La figure 7A illustre un exemple d’un flux de données selon un mode particulier de réalisation de l'invention. [FIG. 7A] FIG. 7A illustrates an example of a data flow according to a particular embodiment of the invention.
[FIG. 7B] La figure 7B illustre un exemple d’un flux de données selon un autre mode particulier de réalisation de l'invention. [FIG. 7B] FIG. 7B illustrates an example of a data flow according to another particular embodiment of the invention.
[FIG. 8] La figure 8 illustre un dispositif de codage de vidéo multi-vues selon un mode particulier de réalisation de l'invention. [FIG. 8] FIG. 8 illustrates a multi-view video coding device according to a particular embodiment of the invention.
[FIG. 9] La figure 9 illustre un dispositif de traitement de données de vidéo multi-vues selon un mode particulier de réalisation de l'invention. [FIG. 9] FIG. 9 illustrates a device for processing multi-view video data according to a particular embodiment of the invention.
5. Description d'un mode de réalisation de l'invention 5. Description of an embodiment of the invention
La figure 1 , décrite ci-dessus, illustre un schéma de traitement de données de vidéo multi- vues selon l'art antérieur. Selon ce mode de réalisation, les informations de profondeur sont déterminées, codées et transmises dans un flux de données au décodeur qui les décode. FIG. 1, described above, illustrates a diagram of processing of multi-view video data according to the prior art. According to this embodiment, the depth information is determined, encoded and transmitted in a data stream to the decoder which decodes it.
La figure 2 illustre un schéma de traitement de données de vidéo multi-vues selon un mode particulier de réalisation de l’invention. Selon ce mode particulier de réalisation de l’invention, les informations de profondeur ne sont pas codées dans le flux de données, mais déterminée côté client, à partir des images reconstruites de la vidéo multi-vues. FIG. 2 illustrates a multi-view video data processing diagram according to a particular embodiment of the invention. According to this particular embodiment of the invention, the depth information is not encoded in the data stream, but determined on the client side, from the reconstructed images of the multi-view video.
Selon le schéma illustré en figure 2, les images de texture Txoyo et Txiyo issues de vues capturées sont codées (CODEC), par exemple en utilisant un codeur MV-HEVC, et envoyées à un dispositif d'affichage d'un utilisateur, par exemple. Côté client, les textures T* x0yo et T* xiy0 des vues sont décodées et utilisées pour estimer les informations de profondeurs D’x0yo et D’xiy0 associées à chaque vue Tx0yo et Txiy0, par un module d’estimation FE. Par exemple, les informations de profondeur D’x0yo et D’xiy0 sont obtenues par un logiciel d'estimation de profondeur (DERS). According to the diagram illustrated in FIG. 2, the texture images T x o y o and T xiy o from captured views are encoded (CODEC), for example using an MV-HEVC encoder, and sent to a display device d 'a user, for example. On the client side, the T * x0y o and T * xiy0 textures of the views are decoded and used to estimate the depth information D ' x0y o and D' xiy0 associated with each view T x0y o and T xiy0 , by an estimation module FE. For example, the depth information D ' x0y o and D' xiy0 are obtained by depth estimation software (DERS).
Les vues décodées T* x0yo et T* xiy0 et les profondeurs associées de chaque vue D’x0yo et D’xiy0 sont utilisées par un algorithme de synthèse (SYNTHESIS) pour calculer des vues intermédiaires, par exemple ici des vues intermédiaires S’x0yo et S’xiy0. Par exemple, le logiciel VSRS précité peut être utilisé comme algorithme de synthèse de vue. Lorsque les informations de profondeur sont estimées après transmission des données codées de la vidéo multi-vues, les problèmes suivants peuvent être rencontrés. A cause des artefacts de compression, par exemple les effets de bloc, ou le bruit de quantification, présents dans les textures décodées et utilisées pour estimer les informations de profondeur, particulièrement à bas débit, des valeurs de profondeur erronées peuvent être obtenues.The decoded views T * x0y o and T * xiy0 and the associated depths of each view D ' x0y o and D' xiy0 are used by a synthesis algorithm (SYNTHESIS) to calculate intermediate views, for example here intermediate views S ' x0y o and S ' xiy0 . For example, the aforementioned VSRS software can be used as a view synthesis algorithm. When the depth information is estimated after transmitting the encoded data of the multi-view video, the following problems may be encountered. Due to compression artifacts, eg, block effects, or quantization noise, present in decoded textures and used to estimate depth information, particularly at low bit rates, erroneous depth values can be obtained.
De plus, la complexité du terminal client est plus grande que lorsque les informations de profondeur sont transmises au décodeur. Ce qui peut impliquer d’utiliser des algorithmes d’estimation de profondeur plus simple au codeur, qui peuvent alors être mis en défaut dans les scènes complexes. In addition, the complexity of the client terminal is greater than when the depth information is transmitted to the decoder. This may involve using simpler encoder depth estimation algorithms, which may then fail in complex scenes.
Côté client, il peut arriver que les informations de texture ne comprennent pas suffisamment de redondance pour réaliser l’estimation de la profondeur ou des données utiles à la synthèse, par exemple à cause du codage des informations de texture côté serveur au cours duquel des informations de texture peuvent ne pas être codées. On the client side, it may happen that the texture information does not include enough redundancy to perform the estimation of the depth or of the data useful for the synthesis, for example because of the encoding of the texture information on the server side during which information texture may not be encoded.
L’invention propose une méthode permettant de sélectionner un mode d’obtention des données de synthèse parmi un premier mode d’obtention (M1 ) selon lequel les données de synthèse sont codées et transmises au décodeur et un deuxième mode d’obtention (M2) selon lequel les données de synthèse sont estimées côté client. Cette méthode permet de tirer avantage des deux approches de manière flexible. The invention proposes a method making it possible to select a mode of obtaining synthesis data from among a first mode of obtaining (M1) according to which the synthesis data are encoded and transmitted to the decoder and a second mode of obtaining (M2) according to which summary data is estimated on the client side. This method allows to take advantage of both approaches in a flexible way.
Pour cela, le meilleur chemin pour obtenir une ou des données de synthèse est sélectionné pour chaque image, ou chaque bloc ou pour toute autre granularité. For this, the best path to obtain one or more summary data is selected for each image, or each block or for any other granularity.
La figure 3A illustre des étapes d'un procédé de traitement de données de vidéo multi-vues selon un mode particulier de réalisation de l'invention. Selon ce mode particulier de réalisation de l’invention, le mode d’obtention sélectionné est codé et transmis au décodeur. FIG. 3A illustrates steps of a method for processing multi-view video data according to a particular embodiment of the invention. According to this particular embodiment of the invention, the selected mode of obtaining is encoded and transmitted to the decoder.
Un flux de données BS comprenant notamment des informations de texture d’une ou plusieurs vues d’une vidéo multi-vues est transmis au décodeur. On considère, par exemple, que deux vues ont été codées dans le flux de données BS. A data stream BS comprising in particular texture information from one or more views of a multi-view video is transmitted to the decoder. It is considered, for example, that two views have been coded in the data stream BS.
Le flux de données BS comprend également au moins un élément de syntaxe représentatif d’une information indiquant un mode d’obtention d’au moins une donnée de synthèse, parmi un premier mode d’obtention M1 et un deuxième mode d’obtention M2. The data stream BS also includes at least one syntax element representative of an item of information indicating a mode of obtaining at least one summary data item, from among a first mode of obtaining M1 and a second mode of obtaining M2.
Lors d’une étape 30, le décodeur décode les informations de texture du flux de données pour obtenir les textures T* 0 et T*i. During a step 30, the decoder decodes the texture information of the data stream to obtain the textures T * 0 and T * i.
Lors d’une étape 31 , l’élément de syntaxe représentatif de l’information indiquant un mode d’obtention est décodé à partir du flux de données. Cet élément de syntaxe est codé dans le flux de données pour au moins un bloc de l’image de texture d’une vue. Sa valeur peut donc changer à chaque bloc de texture d’une vue. Selon une autre variante, l’élément de syntaxe est codé une fois pour tous les blocs de l’image de texture d’une vue T0 ou Ti. L’information indiquant un mode d’obtention d’une donnée de synthèse est donc la même pour tous les blocs de l’image de texture T0 ou Ti. During a step 31, the element of syntax representative of the information indicating a mode of obtaining is decoded from the data stream. This syntax element is encoded in the data stream for at least one block of the texture image of a view. Its value can therefore change for each texture block in a view. According to another variant, the syntax element is coded once for all the blocks of the texture image of a view T 0 or Ti. The information indicating a mode of obtaining synthesis data is therefore the same for all the blocks of the texture image T 0 or Ti.
Selon encore une autre variante, l’élément de syntaxe est codé une fois pour toutes les images de texture d’une même vue ou bien l’élément de syntaxe est codé une fois pour toutes les vues. According to yet another variant, the syntax element is coded once and for all the texture images of the same view or the syntax element is coded once for all the views.
On considère, ici, la variante selon laquelle l’élément de syntaxe est codé pour chaque image de texture d’une vue. Suite à l’étape 31 , on obtient alors une information de mode d’obtention do associée à l’image de texture décodée T* 0 et une information de mode d’obtention di associée à l’image de texture décodée T*i. We consider here the variant according to which the syntax element is coded for each texture image of a view. Following step 31, information on the obtaining mode do is then obtained associated with the decoded texture image T * 0 and an information item on the obtaining mode di associated with the decoded texture image T * i.
Lors d’une étape 32, il est vérifié pour chaque information d0 et di indiquant un mode d’obtention des données de synthèse associées respectivement aux images de texture décodées T* 0 et T*i si le mode d’obtention correspond au premier mode d’obtention M1 ou au deuxième mode d’obtention M2. During a step 32, it is checked for each item of information d 0 and di indicating a mode of obtaining the synthesis data associated respectively with the decoded texture images T * 0 and T * i if the mode of obtaining corresponds to the first M1 obtaining mode or the second M2 obtaining mode.
Si l’information do, respectivement di, indique le premier mode d’obtention M1 , lors d’une étape 34, les données de synthèse D* 0, respectivement D*i, associées à l’image de texture décodée T*o, respectivement T*i, sont décodées à partir du flux de données BS. If the information do, respectively di, indicates the first mode of obtaining M1, during a step 34, the synthesis data D * 0 , respectively D * i, associated with the decoded texture image T * o, respectively T * i, are decoded from the data stream BS.
Si l’information do, respectivement di, indique le deuxième mode d’obtention M2, lors d’une étape 33, les données de synthèse D+ 0, respectivement D+i, associées à l’image de texture décodée T* 0, respectivement T*i, sont estimées à partir des images de texture reconstruites de la vidéo multi-vues. Pour cela, l’estimation peut utiliser la texture décodée T* 0, respectivement T*i , et éventuellement d’autres images de texture préalablement reconstruites. Lors d’une étape 35, les textures décodées T* 0 et T*i et les informations de synthèse décodées (D* 0, D*i) ou estimées (D+ 0, D+i) sont utilisées pour synthétiser une image d’une vue intermédiaire S0.5. If the information do, respectively di, indicates the second mode of obtaining M2, during a step 33, the synthesis data D + 0 , respectively D + i, associated with the decoded texture image T * 0 , respectively T * i, are estimated from the reconstructed texture images of the multi-view video. For this, the estimation can use the decoded texture T * 0 , respectively T * i, and possibly other previously reconstructed texture images. During a step 35, the decoded textures T * 0 and T * i and the decoded (D * 0 , D * i) or estimated (D + 0 , D + i) synthesis information are used to synthesize an image d 'an intermediate view S0.5.
La figure 3B illustre des étapes d'un procédé de traitement de données de vidéo multi-vues selon un autre mode particulier de réalisation de l'invention. Selon cet autre mode particulier de réalisation de l’invention, le mode d’obtention sélectionné n’est pas transmis au décodeur. Celui-ci dérive le mode d’obtention à partir des données de texture préalablement décodées. Un flux de données BS comprenant notamment des informations de texture d’une ou plusieurs vues d’une vidéo multi-vues est transmis au décodeur. On considère, par exemple, que deux vues ont été codées dans le flux de données BS. FIG. 3B illustrates steps of a multi-view video data processing method according to another particular embodiment of the invention. According to this other particular embodiment of the invention, the selected mode of obtaining is not transmitted to the decoder. This derives the mode of obtaining from the previously decoded texture data. A data stream BS comprising in particular texture information from one or more views of a multi-view video is transmitted to the decoder. It is considered, for example, that two views have been coded in the data stream BS.
Lors d’une étape 30’, le décodeur décode les informations de texture du flux de données pour obtenir les textures T* 0 et T*i. During a step 30 ′, the decoder decodes the texture information of the data stream to obtain the textures T * 0 and T * i.
Lors d’une étape 32’, le décodeur obtient une information indiquant un mode d’obtention parmi un premier d’obtention M1 et un deuxième mode d’obtention M2, d’au moins une donnée de synthèse à utiliser pour synthétiser une image d’une vue intermédiaire. Selon une variante, cette information peut être obtenue pour chaque bloc de l’image de texture d’une vue. Le mode d’obtention peut donc changer à chaque bloc de texture d’une vue. During a step 32 ′, the decoder obtains information indicating a mode of obtaining from among a first obtaining M1 and a second mode of obtaining M2, at least one data item of synthesis to be used to synthesize an image of an intermediate view. According to one variant, this information can be obtained for each block of the texture image of a view. The obtaining mode can therefore change for each texture block in a view.
Selon une autre variante, cette information est obtenue une fois pour tous les blocs de l’image de texture d’une vue T* 0 ou T*i. L’information indiquant un mode d’obtention d’une donnée de synthèse est donc la même pour tous les blocs de l’image de texture T* 0 ou T*i. According to another variant, this information is obtained once for all the blocks of the texture image of a view T * 0 or T * i. The information indicating a mode of obtaining synthesis data is therefore the same for all the blocks of the texture image T * 0 or T * i.
Selon encore une autre variante, l’information est obtenue une fois pour toutes les images de texture d’une même vue ou bien l’information est obtenue une fois pour toutes les vues.According to yet another variant, the information is obtained once for all the texture images of the same view or the information is obtained once for all the views.
On considère, ici, la variante selon laquelle l’information est obtenue pour chaque image de texture d’une vue. Suite à l’étape 32’, on obtient alors une information de mode d’obtention d0 associée à l’image de texture décodée T* 0et une information de mode d’obtention di associée à l’image de texture décodée T*i. L’information de mode d’obtention est ici obtenue en appliquant le même processus de détermination qui a été appliqué au codeur. Un exemple de processus de détermination est décrit plus loin en relation avec la figure 4. We consider here the variant according to which the information is obtained for each texture image of a view. Following step 32 ′, one then obtains a piece of information on the mode of obtaining d 0 associated with the decoded texture image T * 0 and a piece of information on the mode of obtaining di associated with the decoded image of texture T * i. The obtaining mode information is here obtained by applying the same determination process which was applied to the encoder. An example of a determination process is described below in relation to FIG. 4.
Suite à l’étape 32’, si l’information do, respectivement di, indique le premier mode d’obtention M1 , lors d’une étape 34’, les données de synthèse D* 0, respectivement D*i, associées à l’image de texture décodée T* 0, respectivement T*i , sont décodées à partir du flux de données BS. Following step 32 ', if the information do, respectively di, indicates the first mode of obtaining M1, during a step 34', the synthesis data D * 0 , respectively D * i, associated with l The decoded texture image T * 0 , respectively T * i, are decoded from the data stream BS.
Si l’information do, respectivement di, indique le deuxième mode d’obtention M2, lors d’une étape 33’, les données de synthèse D+ 0, respectivement D+i, associées à l’image de texture décodée T* 0, respectivement T*i, sont estimées à partir des images de texture reconstruites de la vidéo multi-vues. Pour cela, l’estimation peut utiliser la texture décodée T* 0, respectivement T*i , et éventuellement d’autres images de texture préalablement reconstruites. Lors d’une étape 35’, les textures décodées T* 0 et T*i et les informations de synthèse décodées (D* 0, D*i) ou estimées (D+ 0, D+i) sont utilisées pour synthétiser une image d’une vue intermédiaire S0.5. If the information do, respectively di, indicates the second mode of obtaining M2, during a step 33 ', the synthesis data D + 0 , respectively D + i, associated with the decoded texture image T * 0 , respectively T * i, are estimated from the reconstructed texture images of the multi-view video. For this, the estimation can use the decoded texture T * 0 , respectively T * i, and possibly other previously reconstructed texture images. During a step 35 ′, the decoded textures T * 0 and T * i and the decoded (D * 0 , D * i) or estimated (D + 0 , D + i) synthesis information are used to synthesize an image from an intermediate view S0.5.
Le procédé de traitement de données de vidéo multi-vues décrit ici selon des modes particuliers de réalisation de l’invention s’applique notamment dans le cas où les données de synthèse correspondent à des informations de profondeur. Toutefois, le procédé de traitement de données s’applique à tous types de données de synthèse, tel qu’une carte de segmentation en objets. The multi-view video data processing method described here according to particular embodiments of the invention is particularly applicable in the case where the summary data correspond to depth information. However, the data processing method applies to all types of summary data, such as an object segmentation map.
Il est possible pour une vue donnée à un instant donné de la vidéo d’appliquer le procédé décrit ci-dessus à plusieurs types de données de synthèse. Par exemple, si le module de synthèse est aidé par une carte de profondeur et une carte de segmentation en objets, ces deux types de données de synthèse peuvent être partiellement transmis au décodeur, l’autre partie étant dérivée par le décodeur ou le module de synthèse. Il est à noter également qu’une partie de la texture peut être estimée, par exemple par interpolation. La vue correspondant à une telle texture estimée au décodeur est considérée dans ce cas comme une donnée de synthèse. It is possible for a given view at a given instant of the video to apply the method described above to several types of summary data. For example, if the synthesis module is aided by a depth map and an object segmentation map, these two types of synthesis data can be partially transmitted to the decoder, the other part being derived by the decoder or the synthesis. It should also be noted that part of the texture can be estimated, for example by interpolation. The view corresponding to such a texture estimated at the decoder is considered in this case as summary data.
Les exemples décrits ici comprennent deux vues de texture, produisant respectivement deux cartes de profondeur, mais d’autres combinaisons sont bien sûr possibles, incluant le traitement d’une carte de profondeur à un instant donné, associée à une ou plusieurs vues de textures. The examples described here include two texture views, respectively producing two depth maps, but other combinations are of course possible, including the processing of a depth map at a given time, associated with one or more texture views.
La figure 4A illustre des étapes d'un procédé de codage de vidéo multi-vues selon un mode particulier de réalisation de l'invention. Le procédé de codage est décrit ici dans le cas de deux vues comprenant respectivement les textures T0 et Ti. FIG. 4A illustrates steps of a multi-view video coding method according to a particular embodiment of the invention. The coding method is described here in the case of two views comprising the textures T 0 and Ti respectively.
Lors d’une étape 40, chaque texture T0 et Ti est codée et décodée pour fournir les textures décodées T* 0 et T*i . Il est à noter que les textures peuvent ici correspondre à une image d’une vue, ou bien un bloc d’une image d’une vue ou à tout autre type de granularité relative à des informations de texture d’une vidéo multi-vues. During a step 40, each texture T 0 and Ti is coded and decoded to provide the decoded textures T * 0 and T * i. It should be noted that the textures can here correspond to an image of a view, or a block of an image of a view or to any other type of granularity relating to the texture information of a multi-view video. .
Lors d’une étape 41 , des données de synthèse, par exemple des cartes de profondeur D+ 0 et D+i sont estimées à partir des textures décodées T* 0 et T*i, en utilisant un estimateur de profondeur. Il s’agit ici du deuxième mode d’obtention M2 des données de synthèse. During a step 41, synthesis data, for example depth maps D + 0 and D + i are estimated from the decoded textures T * 0 and T * i, using a depth estimator. This is the second method M2 for obtaining summary data.
Lors d’une étape 42, les données de synthèse D0 et Di sont estimées à partir des textures non codées To et Ti, par exemple en utilisant un estimateur de profondeur. Lors d’une étape 43, les données de synthèse obtenues D0 et Di sont ensuite codées, puis décodées pour fournir des données de synthèse reconstruites D* 0 et D*i. Il s’agit ici du premier mode d’obtention M1 des données de synthèse. During a step 42, the synthesis data D 0 and Di are estimated from the uncoded textures To and Ti, for example using a depth estimator. During a step 43, the obtained synthesis data D 0 and Di are then encoded, then decoded to provide reconstructed synthesis data D * 0 and D * i. This is the first method of obtaining M1 summary data.
Lors d’une étape 44, il est déterminé un mode d’obtention à utiliser au décodeur pour obtenir les données de synthèse parmi le premier mode d’obtention M1 et le deuxième mode d’obtention M2. During a step 44, it is determined an obtaining mode to be used at the decoder to obtain the synthesis data among the first obtaining mode M1 and the second obtaining mode M2.
Selon un mode particulier de réalisation de l’invention, un élément de syntaxe est codé dans le flux de données pour indiquer le mode d’obtention sélectionné. Selon ce mode particulier de réalisation de l’invention, différentes variantes sont possibles en fonction de la manière dont le débit et la distorsion sont évalués selon le critère à minimiser J=D-i R, où R correspond au débit, D correspond à la distorsion et l le lagrangien utilisé pour l’optimisation. According to a particular embodiment of the invention, a syntax element is encoded in the data stream to indicate the selected mode of obtaining. According to this particular embodiment of the invention, different variants are possible depending on the way in which the bit rate and the distortion are evaluated according to the criterion to be minimized J = Di R, where R corresponds to the bit rate, D corresponds to the distortion and l the Lagrangian used for optimization.
Une première variante repose sur la synthèse d’une vue intermédiaire ou d’un bloc d’une vue intermédiaire, dans le cas où le mode d’obtention est codé pour chaque bloc, et d’évaluer la qualité de la vue synthétisée, en considérant les deux modes d’obtention des données de synthèse. Une première version de la vue intermédiaire est donc synthétisée pour le mode d’obtention M2 à partir des textures décodées T* 0 et T*i et des données de synthèses estimées D+ 0 et D+i à partir des textures décodées T* 0 et T*i. Le débit correspond alors au coût de codage des textures T* 0 et T*i et au coût de codage de l’élément de syntaxe indiquant le mode d’obtention sélectionné. Ce débit peut être calculé de manière précise par l’utilisation par exemple d’un codeur entropique (par exemple un codage binaire arithmétique, un codage à longueur variable, avec ou sans adaptation du contexte). A first variant is based on the synthesis of an intermediate view or of a block of an intermediate view, in the case where the mode of obtaining is coded for each block, and of evaluating the quality of the synthesized view, in considering the two methods of obtaining summary data. A first version of the intermediate view is therefore synthesized for the obtaining mode M2 from the decoded textures T * 0 and T * i and from the estimated synthesis data D + 0 and D + i from the decoded textures T * 0 and T * i. The flow then corresponds to the cost of encoding of textures T * 0 and T * i and at the cost of encoding the syntax element indicating the selected mode of obtaining. This bit rate can be calculated precisely by using, for example, an entropy coder (for example an arithmetic binary coding, a variable length coding, with or without adaptation of the context).
Une deuxième version de la vue intermédiaire est également synthétisée pour le mode d’obtention M1 à partir des textures décodées T* 0 et T*i et des données de synthèse décodées D* 0 et DY Le débit correspond alors au coût de codage des textures T* 0 et T*i et des données de synthèse D* 0 et D*i auquel s’ajoute le coût de codage de l’élément de syntaxe indiquant le mode d’obtention sélectionné. Ce débit peut être calculé comme indiqué ci-dessus. A second version of the intermediate view is also synthesized for the obtaining mode M1 from the decoded textures T * 0 and T * i and from the decoded synthesis data D * 0 and DY The bit rate then corresponds to the cost of coding the textures T * 0 and T * i and summary data D * 0 and D * i to which is added the cost of coding the syntax element indicating the mode of obtaining selected. This rate can be calculated as indicated above.
Dans les deux cas, la distorsion peut être calculée par une métrique comparant l’image ou le bloc de la vue synthétisée avec l’image ou le bloc non codé de la vue synthétisée à partir des textures non codées T0 et Ti et des données de synthèse non codées D0 et Di. In both cases, the distortion can be calculated by a metric comparing the image or the block of the synthesized view with the image or the uncoded block of the synthesized view from the non-coded textures T 0 and Ti and the data. synthesis not coded D 0 and Di.
Le mode d’obtention fournissant le coût débit/distorsion J le plus faible est sélectionné. The obtaining mode providing the lowest bit rate / distortion cost J is selected.
Selon une autre variante, il est possible de déterminer la distorsion en appliquant une métrique sans référence sur l’image ou le bloc synthétisé pour éviter d’utiliser la texture originale non compressée. Une telle métrique sans référence peut par exemple mesurer dans l’image ou le bloc synthétisé, la quantité de bruit, de flou, d’effet de bloc, la netteté des contours, etc... Selon une autre variante, la sélection du mode d’obtention est faite par exemple en comparant les données de synthèse D0 et Di estimées à partir des textures non compressées et les données de synthèse D+ 0 et D+i estimées à partir des textures codées-décodées. Si les données de synthèse sont assez proches, selon un critère déterminé, l’estimation des données de synthèse côté client sera plus efficace que le codage et la transmission des données de synthèse. Selon cette variante, on évite la synthèse d’une image ou d’un bloc d’une vue intermédiaire. According to another variant, it is possible to determine the distortion by applying a metric without reference to the image or the synthesized block to avoid using the original uncompressed texture. Such a non-reference metric can for example measure in the image or the synthesized block, the amount of noise, blur, block effect, the sharpness of the contours, etc. According to another variant, the selection of the mode is obtained for example by comparing the synthesis data D 0 and Di estimated from the uncompressed textures and the synthesis data D + 0 and D + i estimated from the coded-decoded textures. If the summary data is close enough, according to a determined criterion, the estimation of the summary data on the client side will be more efficient than the encoding and transmission of the summary data. According to this variant, the synthesis of an image or of a block of an intermediate view is avoided.
D’autres variantes sont également possibles pour déterminer un mode d’obtention des données de synthèse, lorsque celles-ci correspondent à des cartes de profondeur. La sélection d’un mode d’obtention peut par exemple dépendre des caractéristiques de l’information de profondeur. Par exemple, une information de profondeur générée par ordinateur ou une profondeur capturée de haute qualité sont plus susceptibles d’être adaptées au mode d’obtention M1. Selon cette variante, les cartes de profondeur peuvent également être estimées à partir des textures décodées comme décrit ci-dessus et mises en compétition avec les cartes de profondeur générées par ordinateur ou capturées en haute qualité. Les cartes de profondeur générées par ordinateur ou capturées en haute qualité remplacent alors les cartes de profondeur estimées à partir des textures non compressées dans le procédé décrit ci-dessus. Other variations are also possible to determine a method of obtaining summary data, when these correspond to depth maps. For example, the selection of an obtaining mode may depend on the characteristics of the depth information. For example, computer-generated depth information or high-quality captured depth is more likely to be suitable for M1 obtaining mode. According to this variant, the depth maps can also be estimated from the textures decoded as described above and put into competition with the depth maps generated by computer or captured in high quality. The depth maps generated by computer or captured in high quality then replace the depth maps estimated from the uncompressed textures in the method described above.
Selon une autre variante, la qualité de la profondeur peut être utilisée pour déterminer un mode d’obtention des données de synthèse. La qualité de la profondeur, qui peut être mesurée par une métrique objective appropriée, peut comprendre des informations pertinentes. Par exemple, lorsque la qualité de la profondeur est faible, ou lorsque la cohérence temporelle de la profondeur est faible, il est probable que le mode d’obtention M2 soit le plus adapté pour obtenir les informations de profondeur. According to another variant, the quality of the depth can be used to determine a mode of obtaining the summary data. The quality of the depth, which can be measured by an appropriate objective metric, can include relevant information. For example, when the quality of the depth is low, or when the temporal coherence of the depth is low, it is probable that the obtaining mode M2 is the most suitable for obtaining the depth information.
Une fois que le mode d’obtention des données de synthèse est sélectionné à l’issu de l’étape 44, lors d’une étape 45, un élément de syntaxe d représentatif du mode d’obtention sélectionné est codé dans le flux de données. Lorsque le mode sélectionné et codé correspond au premier mode d’obtention M1 , les données de synthèse D0 et Di sont également codées dans le flux de données, pour le bloc ou l’image considérée. Once the mode for obtaining the summary data is selected at the end of step 44, during a step 45, a syntax element d representative of the mode of obtaining selected is encoded in the data stream . When the selected and coded mode corresponds to the first mode of obtaining M1, the synthesis data D 0 and Di are also coded in the data stream, for the block or the image considered.
Selon un mode particulier de réalisation de l’invention, lorsque le mode sélectionné et codé correspond au deuxième mode d’obtention M2, lors d’une étape 46, des informations supplémentaires peuvent également être codées dans le flux de données. Par exemple, de telles informations peuvent correspondre à un ou des paramètres de contrôle à appliquer au décodeur ou par un module de synthèse lors de l'obtention de ladite donnée de synthèse selon le deuxième mode d’obtention. Il peut s’agit de paramètres permettant de contrôler un estimateur de données de synthèse, ou de profondeur par exemple. According to a particular embodiment of the invention, when the selected and coded mode corresponds to the second obtaining mode M2, during a step 46, additional information can also be coded in the data stream. For example, such information may correspond to one or more control parameters to be applied to the decoder or by a synthesis module when obtaining said summary data according to the second mode of obtaining. These can be parameters for controlling a summary data estimator, or a depth estimator for example.
Par exemple, les paramètres de contrôle peuvent contrôler les fonctionnalités d’un estimateur de profondeur, tel qu’augmenter ou diminuer l’intervalle de recherche, ou augmenter ou diminuer la précision. For example, control parameters can control the functionality of a depth estimator, such as increasing or decreasing the search interval, or increasing or decreasing precision.
Les paramètres de contrôle peuvent indiquer comment une donnée de synthèse doit être estimée côté décodeur. Par exemple, les paramètres de contrôle indiquent quel estimateur de profondeur utiliser. Par exemple, lors de l’étape 41 d’estimation des cartes de profondeur, l’encodeur peut tester plusieurs estimateurs de profondeur et sélectionner l’estimateur fournissant le meilleur compromis débit/distorsion parmi : un estimateur de profondeur basé pixel, un estimateur de profondeur basé sur des déformations triangulaires (triangle-warping en anglais), un estimateur de profondeur rapide, un estimateur de profondeur à réseaux de neurones monoculaires, un estimateur de profondeur à réseaux de neurones utilisant de multiples références. Selon cette variante, le codeur informe le décodeur ou le module de synthèse d’utiliser un estimateur de données de synthèse similaire. The control parameters can indicate how a summary data is to be estimated on the decoder side. For example, the control parameters indicate which depth estimator to use. For example, during step 41 for estimating the depth maps, the encoder can test several depth estimators and select the estimator providing the best bitrate / distortion compromise among: a pixel-based depth estimator, an estimator of depth based on triangle-warping, a fast depth estimator, a monocular neural network depth estimator, a neural network depth estimator using multiple references. According to this variant, the encoder informs the decoder or the synthesis module to use a similar synthesis data estimator.
Selon une autre variante ou en complément de la variante précédente, les paramètres de contrôle peuvent comprendre des paramètres d’un estimateur de profondeur tels que l’intervalle de disparité, la précision, le modèle de réseau de neurones, la méthode d’optimisation ou d’agrégation, les facteurs de lissage des fonctions d’énergie, les fonctions de coût (basée couleur, basée corrélation, basée fréquence), une carte de profondeur simple pouvant servir d’initialisation à l’estimateur de profondeur côté client, etc.... La figure 4B illustre des étapes d'un procédé de codage de vidéo multi-vues selon un autre mode particulier de réalisation de l'invention. Selon le mode particulier de réalisation décrit ici, le mode d’obtention des données de synthèse n’est pas codé dans le flux de données, mais déduit à partir des informations codées qui seront disponibles au décodeur. According to another variant or in addition to the previous variant, the control parameters can comprise parameters of a depth estimator such as the disparity interval, the precision, the neural network model, the optimization method or aggregation, energy function smoothing factors, cost functions (color-based, correlation-based, frequency-based), a simple depth map that can be used as an initialization for the client-side depth estimator, etc. ... FIG. 4B illustrates steps of a multi-view video coding method according to another particular embodiment of the invention. According to the particular embodiment described here, the method of obtaining the summary data is not coded in the data stream, but deduced from the coded information which will be available to the decoder.
Le procédé de codage est décrit ici dans le cas de deux vues comprenant respectivement les textures To et Ti. The coding method is described here in the case of two views comprising the textures To and Ti respectively.
Lors d’une étape 40’, chaque texture T0 et Ti est codée et décodée pour fournir les textures décodées T* 0 et T*i . Il est à noter que les textures peuvent ici correspondre à une image d’une vue, ou bien un bloc d’une image d’une vue ou à tout autre type de granularité relative à des informations de texture d’une vidéo multi-vues. During a step 40 ′, each texture T 0 and Ti is coded and decoded to provide the decoded textures T * 0 and T * i. It should be noted that the textures can here correspond to an image of a view, or a block of an image of a view or to any other type of granularity relating to the texture information of a multi-view video. .
Lors d’une étape 44’, il est déterminé un mode d’obtention à utiliser au décodeur pour obtenir les données de synthèse parmi le premier mode d’obtention M1 et le deuxième mode d’obtention M2. During a step 44 ′, an obtaining mode is determined to be used at the decoder to obtain the synthesis data from among the first obtaining mode M1 and the second obtaining mode M2.
Selon le mode particulier de réalisation décrit ici, le codeur peut utiliser toute d’information qui sera disponible au décodeur, pour décider du mode d’obtention qui doit être appliqué au bloc ou à l’image considérée. According to the particular embodiment described here, the encoder can use any information that will be available to the decoder, to decide on the obtaining mode which must be applied to the block or to the image considered.
Selon une variante, la sélection d’un mode d’obtention peut être basée sur un paramètre de quantification, par exemple, un QP (pour Quantization Parameter en anglais) utilisé pour coder une image ou un bloc de texture. Par exemple, lorsque le paramètre de quantification est supérieur à un seuil déterminé, le deuxième mode d’obtention est sélectionné, sinon le premier mode d’obtention est sélectionné. Alternatively, the selection of an obtaining mode can be based on a quantization parameter, for example, a QP (for Quantization Parameter) used to encode an image or a texture block. For example, when the quantization parameter is greater than a determined threshold, the second obtaining mode is selected, otherwise the first obtaining mode is selected.
Selon une autre variante, lorsque les données de synthèse correspondent à des informations de profondeur, les données de synthèse D0 et Di peuvent être générées par ordinateur ou capturées en haute qualité. Ce type de données de synthèse est plus adapté au mode d’obtention M1. Ainsi, lorsque c’est le cas, le mode d’obtention des données de synthèse sélectionné sera alors le mode d’obtention M1 . Selon cette variante, une métadonnée doit être transmise au décodeur pour indiquer l’origine de la profondeur (générée par ordinateur, capturée en haute qualité). Cette information peut être transmise au niveau séquence de vues. A l’issue de l’étape 44’, si le premier mode d’obtention M1 est sélectionné, lors d’une étape 42’, les données de synthèse D0 et Di sont estimées à partir des textures non codées T0 et Ti , par exemple en utilisant un estimateur de profondeur. Cette estimation n’est bien sûr pas réalisée dans le cas où les données de synthèse sont issues d’une génération par ordinateur ou d’une capture en haute qualité. According to another variant, when the synthesis data correspond to depth information, the synthesis data D 0 and Di can be generated by computer or captured in high quality. This type of summary data is more suited to the method of obtaining M1. Thus, when this is the case, the mode of obtaining the selected summary data will then be the mode of obtaining M1. According to this variant, metadata must be transmitted to the decoder to indicate the origin of the depth (computer generated, captured in high quality). This information can be transmitted at the view sequence level. At the end of step 44 ', if the first mode of obtaining M1 is selected, during a step 42', the synthesis data D 0 and Di are estimated from the uncoded textures T 0 and Ti , for example using a depth estimator. This estimation is of course not carried out in the case where the summary data come from a computer generation or from a capture in high quality.
Lors d’une étape 47’, les données de synthèse obtenues D0 et Di sont ensuite codées dans le flux de données. During a step 47 ′, the synthesis data obtained D 0 and Di are then encoded in the data stream.
Lorsque le mode d’obtention sélectionné correspond au deuxième mode d’obtention M2, selon un mode particulier de réalisation de l’invention, des informations supplémentaires peuvent également être codées dans le flux de données, lors d’une étape 46’. Par exemple, de telles informations peuvent correspondre à un ou des paramètres de contrôle à appliquer au décodeur ou par un module de synthèse lors de l'obtention de ladite donnée de synthèse selon le deuxième mode d’obtention. De tels paramètres de contrôle sont similaires à ceux décrits en relation avec la figure 4A. When the selected mode of obtaining corresponds to the second mode of obtaining M2, according to a particular embodiment of the invention, additional information can be obtained. also be encoded in the data stream, during a step 46 '. For example, such information can correspond to one or more control parameters to be applied to the decoder or by a synthesis module when obtaining said synthesis data according to the second mode of obtaining. Such control parameters are similar to those described in relation to FIG. 4A.
La figure 5 illustre un exemple d’un schéma de traitement de données de vidéo multi-vues selon un mode particulier de réalisation de l’invention. FIG. 5 illustrates an example of a multi-view video data processing diagram according to a particular embodiment of the invention.
Selon un mode particulier de réalisation de l’invention, une scène est capturée par un système de capture de vidéo CAPT. Par exemple, le système de capture de vues comprend une ou plusieurs caméras capturant la scène. According to a particular embodiment of the invention, a scene is captured by a CAPT video capture system. For example, the view capture system comprises one or more cameras capturing the scene.
Selon l’exemple décrit ici, la scène est capturée par deux caméras convergentes, localisées en-dehors de la scène et regardant vers la scène depuis deux emplacements distincts. Les caméras sont donc à des distances différentes de la scène et ont des angles/orientations différents. Chaque caméra fournit une séquence d’images non compressées. Les séquences d’images comprennent respectivement une séquence d’images de texture T0 et Ti. According to the example described here, the scene is captured by two converging cameras, located outside the scene and looking towards the scene from two separate locations. The cameras are therefore at different distances from the scene and have different angles / orientations. Each camera provides a sequence of uncompressed images. The image sequences respectively comprise a sequence of images of texture T 0 and Ti.
Les images de texture T0 et Ti issues des séquences d’images fournies respectivement par les deux caméras sont codées par un codeur COD, par exemple un codeur MV-HEVC qui est un codeur vidéo multi-vues. Le codeur COD fournit un flux de données BS qui est transmis à un décodeur DEC, par exemple via un réseau de données. The texture images T 0 and Ti resulting from the sequences of images respectively supplied by the two cameras are encoded by a COD encoder, for example an MV-HEVC encoder which is a multi-view video encoder. The coder COD supplies a data stream BS which is transmitted to a decoder DEC, for example via a data network.
Lors du codage, les cartes de profondeur D0 et Di sont estimées à partir des textures non compressées T0 et Ti et les cartes de profondeur D+ 0 et D+i sont estimées à partir des textures décodées T* 0 et T*i en utilisant un estimateur de profondeur, par exemple l’estimateur DERS. Une première vue T’o localisée à une position capturée par une des caméras est synthétisée, par exemple ici la position 0, en utilisant la carte de profondeur D0 et une deuxième vue T”0 localisée à la même position est synthétisée en utilisant la carte de profondeur D+ 0. La qualité des deux vues synthétisées est comparée, en calculant par exemple le PSNR (pour Peak Signal to Noise Ratio en anglais) entre chacune des vues synthétisées T’o, T”o et la vue capturée T0 localisée à la même position. La comparaison permet de sélectionner un mode d’obtention pour la carte de profondeur D0 parmi un premier mode d’obtention selon lequel la carte de profondeur D0 est codée et transmise au décodeur et un deuxième mode d’obtention selon lequel la carte de profondeur D+ 0 est estimée au décodeur. Le même procédé est itéré pour la carte de profondeur Di associée à la texture capturée Ti During coding, the depth maps D 0 and Di are estimated from the uncompressed textures T 0 and Ti and the depth maps D + 0 and D + i are estimated from the decoded textures T * 0 and T * i using a depth estimator, for example the DERS estimator. A first view T'o located at a position captured by one of the cameras is synthesized, for example here position 0, using the depth map D 0 and a second view T ” 0 located at the same position is synthesized using the depth map D + 0 . The quality of the two synthesized views is compared, for example by calculating the PSNR (for Peak Signal to Noise Ratio) between each of the synthesized views T'o, T ”o and the captured view T 0 located at the same position. The comparison makes it possible to select a mode of obtaining for the depth map D 0 from among a first mode of obtaining according to which the map of depth D 0 is coded and transmitted to the decoder and a second mode of obtaining according to which the map of depth D 0 is encoded and transmitted to the decoder. depth D + 0 is estimated at the decoder. The same process is iterated for the depth map Di associated with the captured texture Ti
La figure 7A illustre un exemple d’une partie d’un flux de données BS selon ce mode particulier de réalisation de l’invention. Le flux de données BS comprend les textures T0 et Ti codées et les éléments de syntaxe d0 et di indiquant respectivement pour chacune des textures T0 et Ti le mode d’obtention des cartes de profondeur D0 et Di. S’il est décidé de coder et transmettre la carte de profondeur D0, respectivement Di, la valeur de l’élément de syntaxe d0, respectivement di est par exemple 0, le flux de données BS comprend alors la carte de profondeur D0, respectivement Di, codée. FIG. 7A illustrates an example of part of a data stream BS according to this particular embodiment of the invention. The data stream BS comprises the coded textures T 0 and Ti and the syntax elements d 0 and di indicating respectively for each of the textures T 0 and Ti the mode of obtaining the depth maps D 0 and Di. If it is decided to code and transmit the depth map D 0 , respectively Di, the value of the syntax element d 0 , respectively di is for example 0, the data stream BS then includes the depth map D 0 , respectively Di, encoded.
S’il est décidé de ne pas coder la carte de profondeur D0, respectivement Di, la valeur de l’élément de syntaxe d0, respectivement di est par exemple 1 , le flux de données BS ne comprend alors pas la carte de profondeur D0 respectivement Di. Il peut éventuellement comprendre, selon les variantes de réalisation, un ou des paramètres de contrôle PAR à appliquer lors de l’obtention la carte de profondeur D+ 0, respectivement D+i, par le décodeur ou par le module de synthèse. If it is decided not to encode the depth map D 0 , respectively Di, the value of the syntax element d 0 , respectively di is for example 1, the data stream BS then does not include the depth map D 0 respectively Di. It may optionally comprise, according to the variant embodiments, one or more PAR control parameters to be applied when obtaining the depth map D + 0 , respectively D + i, by the decoder or by the synthesis module.
Le flux de données codées BS est ensuite décodé par le décodeur DEC. Par exemple, le décodeur DEC est compris dans un smartphone (pour téléphone intelligent en français) équipé de fonctionnalités de décodage de navigation libre. Selon cet exemple, un utilisateur regarde la scène du point de vue fourni par la première caméra. Puis, l’utilisateur fait glisser son point de vue lentement vers la gauche jusqu’à l’autre caméra. Pendant ce processus, le smartphone affiche des vues intermédiaires de la scène qui n’ont pas été capturées par les caméras.The encoded data stream BS is then decoded by the decoder DEC. For example, the DEC decoder is included in a smartphone (for smart phone in French) equipped with decoding functions for free navigation. According to this example, a user looks at the scene from the point of view provided by the first camera. The user then slides their point of view slowly to the left to the other camera. During this process, the smartphone displays intermediate views of the scene that were not captured by the cameras.
Pour cela, le flux de données BS est parcouru et décodé par un décodeur MV-HEVC par exemple, pour fournir deux textures décodées T* 0 et T*i L’élément de syntaxe dk, avec k=0 ou 1 , associé à chaque texture est décodé. Si la valeur de l’élément de syntaxe dk est 0, le décodeur décode alors la carte de profondeur D* k à partir du flux de données BS. For this, the data stream BS is scanned and decoded by an MV-HEVC decoder for example, to provide two decoded textures T * 0 and T * i The syntax element d k , with k = 0 or 1, associated with each texture is decoded. If the value of the syntax element d k is 0, then the decoder decodes the depth map D * k from the data stream BS.
Si la valeur de l’élément de syntaxe dk est 1 , la carte de profondeur D+ k est estimée au décodeur ou par un module de synthèse à partir des textures décodées T* 0 et T*i. If the value of the syntax element d k is 1, the depth map D + k is estimated at the decoder or by a synthesis module from the decoded textures T * 0 and T * i.
Un module de synthèse SYNTH, par exemple basé sur un algorithme de synthèse VVS (pour Versatile View Synthesizer en anglais), synthétise des vues intermédiaires avec les textures décodées T* 0 et T*i et les cartes de profondeur décodées D* 0 et D*i ou estimées D+ 0 et D+i selon le cas pour synthétiser des vues intermédiaires comprises entre les vues correspondant aux textures T0 et Ti. A SYNTH synthesis module, for example based on a VVS synthesis algorithm (for Versatile View Synthesizer in English), synthesizes intermediate views with the decoded textures T * 0 and T * i and the decoded depth maps D * 0 and D * i or estimated D + 0 and D + i as the case may be to synthesize intermediate views between the views corresponding to textures T 0 and Ti.
Le schéma de traitement de données de vidéo multi-vues décrit en figure 5 n’est pas limité au mode de réalisation décrit ci-dessus. The multi-view video data processing scheme described in Fig. 5 is not limited to the embodiment described above.
Selon un autre mode particulier de réalisation de l’invention, la scène est capturée par six caméras omnidirectionnelles localisées dans la scène, à partir de six localisations différentes. Chaque caméra fournit une séquence d’images 2D selon un format de projection equi- rectangulaire (ERP pour Equi-Rectangular Projection en anglais). Les six textures issues des caméras sont codées à l’aide d’un codeur 3D-HEVC qui est un codeur multi-vues, fournissant un flux de données BS qui est par exemple transmis via un réseau de données. Lors du codage de la séquence multi-vues, une matrice 2x3 de textures source T (textures issues des caméras) est fournie en entrée du codeur. La figure 6A illustre une telle matrice de texture comprenant les textures TXiyj avec i =0, 1 ou 2 et j= 0, 1 ou 2. According to another particular embodiment of the invention, the scene is captured by six omnidirectional cameras located in the scene, from six different locations. Each camera provides a sequence of 2D images in an equi-rectangular projection format (ERP for Equi-Rectangular Projection). The six textures coming from the cameras are encoded using a 3D-HEVC encoder which is a multi-view encoder, providing a data stream BS which is for example transmitted via a data network. During the coding of the multi-view sequence, a 2x3 matrix of source textures T (textures originating from the cameras) is supplied at the input of the encoder. FIG. 6A illustrates such a texture matrix comprising the textures T Xiyj with i = 0, 1 or 2 and j = 0, 1 or 2.
Selon le mode de réalisation décrit ici, une matrice de cartes de profondeur source D est estimée à partir des textures non compressées en utilisant un estimateur de profondeur basé sur un réseau de neurones. La matrice de texture T est codée et décodée en utilisant le codeur 3D-HEVC fournissant la matrice de textures décodées T*. La matrice de textures décodées T* est utilisée pour estimer la matrice de cartes de profondeur D+ en utilisant l’estimateur de profondeur basé sur le réseau de neurones. According to the embodiment described here, a source depth map matrix D is estimated from the uncompressed textures using a depth estimator based on a neural network. The texture matrix T is encoded and decoded using the 3D-HEVC encoder providing the decoded texture matrix T * . The T * decoded texture matrix is used to estimate the D + depth map matrix using the neural network based depth estimator.
Selon le mode particulier de réalisation de l’invention décrit ici, la sélection d’un mode d’obtention pour la carte de profondeur associée à une texture est réalisée pour chaque bloc ou unité de codage (aussi connu sous le nom de CTU pour Coding Tree Unit en anglais, dans le codeur HEVC). According to the particular embodiment of the invention described here, the selection of a mode of obtaining for the depth map associated with a texture is carried out for each block or coding unit (also known under the name of CTU for Coding Tree Unit in English, in the HEVC encoder).
La figure 6B illustre les étapes du procédé de codage de la profondeur pour un bloc courant Dx0yo(x,y,t) à coder, où x,y correspond à la position du coin supérieur gauche du bloc dans l’image et t l’instant temporel de l’image. FIG. 6B illustrates the steps of the depth encoding method for a current block D x0y o (x, y, t) to be encoded, where x, y corresponds to the position of the upper left corner of the block in the image and t the temporal instant of the image.
On considère le premier bloc de la première carte de profondeur à coder à l’instant t=0 de la séquence vidéo, identifié par Dx0yo(0,0,0) par la suite. Lors du codage de ce premier bloc Dx0yo(0,0,0), on considère que la profondeur pour tous les autres blocs qui n’ont pas encore été traités provient de la profondeur source estimée D. Les autres blocs qui n’ont pas encore été traités appartiennent aussi bien à la vue courante xOyO qu’aux autres vues voisines.We consider the first block of the first depth map to be encoded at the instant t = 0 of the video sequence, identified by D x0y o (0,0,0) subsequently. When coding this first block D x0y o (0,0,0), it is considered that the depth for all the other blocks which have not yet been processed comes from the estimated source depth D. The other blocks which have not yet been processed have not yet been processed belong to the current view xOyO as well as to other neighboring views.
Le codage de la profondeur pour le bloc courant Dx0yo(0,0,0) est d’abord évalué en déterminant un mode de codage optimal parmi différents outils de codage de la profondeur d’un bloc disponible au codeur. De tels outils de codage peuvent comprendre tout type d’outils de codage de profondeur disponibles dans un codeur multi-vues. The depth encoding for the current block D x0y o (0,0,0) is first evaluated by determining an optimal encoding mode among different tools for encoding the depth of a block available to the encoder. Such coding tools can include any type of depth coding tools available in a multi-view coder.
Lors d’une étape 60, la profondeur Dx0yo(0,0,0) du bloc courant est codée à l’aide d’un premier outil de codage fournissant une profondeur codée-décodée D* x0yo(0,0,0) pour le bloc courant. Lors d’une étape 61 , une vue à une position d’une des caméras est synthétisée à l’aide du logiciel de synthèse VVS par exemple. Par exemple, une vue à la position x1 yO est synthétisée en utilisant les vues décodées aux positions xOyO, x2y0 et x1y1 de la matrice de textures T. Lors de la synthèse de la vue, la profondeur pour tous les blocs de la vidéo multi-vues qui n’ont pas encore été traités provient de la profondeur source estimée D. La profondeur pour tous les blocs de la vidéo multi-vues pour lesquels la profondeur a déjà été codée, provient de la profondeur codé-décodée ou estimée à partir des textures décodées selon le mode d’obtention qui a été sélectionné pour chaque bloc. La profondeur du bloc courant utilisée pour la synthèse de la vue à la position x1y0 est la profondeur codée-décodée D* x0yo(0,0,0) selon l’outil de codage en cours d’évaluation. Lors de l’étape 62, la qualité de la vue synthétisée est évaluée en utilisant une métrique d’erreur, par exemple une erreur quadratique, entre la vue synthétisée à la position x1y0 et la vue source Txiyo, et le coût de codage de la profondeur du bloc courant selon l’outil testé est calculé. During a step 60, the depth D x0y o (0,0,0) of the current block is encoded using a first encoding tool providing a coded-decoded depth D * x0y o (0,0, 0) for the current block. During a step 61, a view at a position of one of the cameras is synthesized using the VVS synthesis software for example. For example, a view at position x1 yO is synthesized using the views decoded at positions xOyO, x2y0, and x1y1 of the T texture matrix. When synthesizing the view, the depth for all blocks in the multi-video views that have not yet been processed comes from the estimated source depth D. The depth for all blocks of the multi-view video for which the depth has already been encoded, comes from the encoded-decoded or estimated depth from the textures decoded according to the obtaining mode which was selected for each block. The depth of the current block used for the synthesis of the view at position x1y0 is the coded-decoded depth D * x0y o (0,0,0) according to the coding tool being evaluated. In step 62, the quality of the synthesized view is evaluated using an error metric, for example a quadratic error, between the synthesized view at position x1y0 and the source view T xiy o, and the coding cost the depth of the current block according to the tool under test is calculated.
Lors d’une étape 63, il est vérifié si tous les outils de codage de la profondeur ont été testés pour le bloc courant, et si ce n’est pas le cas, les étapes 60 à 62 sont itérées pour l’outil de codage suivant, sinon, le procédé passe à l’étape 64. During a step 63, it is checked whether all the depth encoding tools have been tested for the current block, and if this is not the case, the steps 60 to 62 are iterated for the encoding tool. next, if not, the method goes to step 64.
Lors de l’étape 64, l’outil de codage de la profondeur fournissant le meilleur compromis débit/distorsion est sélectionné, par exemple celui qui minimise le critère débit/distorsion J=D+XR. In step 64, the depth encoding tool providing the best bitrate / distortion compromise is selected, for example the one which minimizes the bitrate / distortion criterion J = D + XR.
Lors d’une étape 65, une autre vue à la même position que lors de l’étape 61 est synthétisée en utilisant les textures décodées aux positions xOyO, x2y0 et x1y1 avec le logiciel VVS et la profondeur du bloc courant estimée D+ x0yo(0,0,0). During a step 65, another view at the same position as during step 61 is synthesized using the textures decoded at positions xOyO, x2y0 and x1y1 with the VVS software and the estimated current block depth D + x0y o (0,0,0).
Lors d’une étape 66, la distorsion entre la vue synthétisée à la position x1y0 et la vue source Txiy0, est calculée et le coût de codage de la profondeur est mis à 0, puisque selon ce mode d’obtention, la profondeur n’est pas codée mais estimée au décodeur. During a step 66, the distortion between the view synthesized at position x1y0 and the source view T xiy0 is calculated and the cost of coding the depth is set to 0, since according to this method of obtaining, the depth n 'is not encoded but estimated at the decoder.
Lors d’une étape 67, il est décidé en fonction du coût débit/distorsion de chaque mode d’obtention de la profondeur le mode d’obtention optimal. Autrement dit, le mode d’obtention de la profondeur minimisant le critère débit/distorsion est sélectionné parmi le codage de la profondeur avec l’outil de codage optimal sélectionné lors de l’étape 64 et l’estimation de la profondeur au décodeur. In a step 67, it is decided according to the bit rate / distortion cost of each mode of obtaining the depth the optimal mode of obtaining. In other words, the mode of obtaining the depth minimizing the bit rate / distortion criterion is selected from the encoding of the depth with the optimal encoding tool selected in step 64 and the estimation of the depth at the decoder.
Lors d’une étape 68, un élément de syntaxe est codé dans le flux de données indiquant le mode d’obtention sélectionné pour le bloc courant. Si le mode d’obtention sélectionné correspond au codage de la profondeur, la profondeur est codée dans le flux de données selon l’outil de codage optimal sélectionné précédemment. During a step 68, a syntax element is encoded in the data stream indicating the obtaining mode selected for the current block. If the obtaining mode selected matches the encoding of the depth, the depth is encoded in the data stream according to the optimal encoding tool selected previously.
Les étapes 60 à 68 sont itérées en considérant le bloc suivant à traiter Dx0yo(64,0,0) par exemple si le premier bloc à une taille 64x64. T ous les blocs de la carte de profondeur associée à la texture de la vue à la position xOyO sont traités de manière correspondante en prenant en compte les profondeurs codées-décodées ou estimées des blocs précédemment traités lors de la synthèse de vue. Steps 60 to 68 are iterated by considering the next block to be processed D x0y o (64,0,0) for example if the first block has a size of 64x64. All the blocks of the depth map associated with the texture of the view at position xOyO are processed correspondingly by taking into account the coded-decoded or estimated depths of the blocks previously processed during view synthesis.
Les cartes de profondeur des autres vues sont également traitées de manière similaire.The depth maps of the other views are also treated in a similar way.
Selon ce mode particulier de réalisation de l’invention, le flux de données codées comprend différentes informations pour chaque bloc. S’il a été décidé de coder et transmettre la profondeur pour un bloc donné, le flux de données comprend pour ce bloc, la texture codée du bloc, un bloc de données de profondeur codées et l’élément de syntaxe indiquant le mode d’obtention de la profondeur pour le bloc. S’il a été décidé de ne pas coder la profondeur pour le bloc, le flux de données comprend pour le bloc, la texture codée du bloc, un bloc d’information de profondeur comprenant une même valeur de niveau de gris, et l’élément de syntaxe indiquant le mode d’obtention de la profondeur pour le bloc. According to this particular embodiment of the invention, the coded data stream comprises different information for each block. If it has been decided to encode and transmit depth for a given block, the data stream includes for that block, the encoded texture of the block, a block of encoded depth data, and the syntax element indicating the mode of operation. obtaining depth for the block. If it has been decided not to encode the depth for the block, the data stream includes for the block, the encoded texture of the block, a depth information block including a same gray level value, and the syntax element indicating how to get the depth for the block.
Il est à noter que dans certains cas, le flux de données peut comprendre les textures codées de manières consécutives pour tous les blocs, puis les données de profondeur et les éléments de syntaxe des blocs. It should be noted that in some cases, the data stream may include the textures encoded consecutively for all the blocks, then the depth data and the syntax elements of the blocks.
Le décodage peut par exemple être réalisé via un casque de réalité virtuelle équipé de fonctionnalités de navigation libre, et porté par un utilisateur. L’utilisateur regarde la scène d’un point de vue fourni par une des six caméras. L’utilisateur regarde autour et commence lentement à se déplacer à l’intérieur de la scène. Le casque suit le mouvement de l’utilisateur et affiche des vues correspondantes de la scène qui n’ont pas été capturées par les caméras. Pour cela, le décodeur DEC décode la matrice de texture T* à partir du flux de données codées. Les éléments de syntaxe pour chaque bloc sont également décodés à partir du flux de données codées. La profondeur de chaque bloc est obtenue par le décodage du bloc de données de profondeur codées pour le bloc ou par l’estimation des données de profondeur à partir des textures décodées selon la valeur de l’élément de syntaxe décodé pour le bloc.The decoding can for example be carried out via a virtual reality headset equipped with free navigation functionalities, and worn by a user. The user looks at the scene from a point of view provided by one of the six cameras. The user looks around and slowly begins to move around the scene. The headset tracks the user's movement and displays corresponding views of the scene that were not captured by the cameras. For this, the decoder DEC decodes the texture matrix T * from the coded data stream. The syntax elements for each block are also decoded from the encoded data stream. The depth of each block is obtained by decoding the block of depth data encoded for the block or by estimating the depth data from the decoded textures according to the value of the decoded syntax element for the block.
Une vue intermédiaire est synthétisée en utilisant la matrice de texture décodée T* et la matrice de profondeur reconstruite comprenant pour chaque bloc les données de profondeur obtenues en fonction du mode d’obtention indiqué par l’élément de syntaxe décodé pour le bloc. An intermediate view is synthesized using the decoded texture matrix T * and the reconstructed depth matrix comprising for each block the depth data obtained as a function of the obtaining mode indicated by the decoded syntax element for the block.
Selon un autre mode particulier de réalisation de l’invention, le schéma de traitement de données de vidéo multi-vues décrit en figure 5 s’applique également dans le cas où l’élément de syntaxe n’est pas codé au niveau bloc ou au niveau image. According to another particular embodiment of the invention, the multi-view video data processing diagram described in FIG. 5 also applies in the case where the syntax element is not coded at block level or at the block level. image level.
Par exemple, le codeur COD peut appliquer un mécanisme de décision au niveau image pour décider si la profondeur doit être transmise au décodeur ou estimée après le décodage.For example, the COD encoder can apply an image level decision mechanism to decide whether the depth should be transmitted to the decoder or estimated after decoding.
Pour cela, le codeur, qui fonctionne en mode débit variable, alloue, de manière connue, des paramètres de quantification (QPs) aux blocs des images de texture de sorte à atteindre un débit global cible. For this, the encoder, which operates in variable bit rate mode, allocates, in a known manner, quantization parameters (QPs) to the blocks of the texture images so as to reach a target overall bit rate.
Une moyenne des QPs alloués à chaque bloc d’une image de texture est calculée, en utilisant éventuellement une pondération entre blocs. Ceci fournit un QP moyen pour l’image de texture, représentatif d’un niveau d’importance de l’image. An average of the QPs allocated to each block of a texture image is calculated, optionally using a weighting between blocks. This provides an average PQ for the texture image, representative of an importance level of the image.
Si le QP moyen obtenu est au-dessus d’un seuil déterminé, cela signifie que le débit visé est un bas débit. Le codeur décide alors de calculer la carte de profondeur pour cette image de texture à partir des textures non compressées de la vidéo multi-vues, de coder la carte de profondeur calculée et de la transmettre dans le flux de données. If the average QP obtained is above a determined threshold, this means that the target rate is a low rate. The encoder then decides to calculate the depth map for this image of texture from the uncompressed textures of the multiview video, encode the calculated depth map and pass it into the data stream.
Si le QP moyen est au-dessous ou égal au seuil déterminé, le débit visé est un haut débit. Le codeur ne calcule pas la profondeur pour cette image de texture et passe à l’image de texture suivante. Aucune profondeur n’est codée pour cette image, ni aucun indicateur n’est transmis au décodeur. If the average QP is below or equal to the determined threshold, the target speed is high speed. The encoder does not calculate the depth for this texture image and proceeds to the next texture image. No depth is encoded for this image, nor any indicator is transmitted to the decoder.
La figure 7B illustre un exemple d’une partie de flux de données codées selon ce mode particulier de réalisation de l'invention. FIG. 7B illustrates an example of a part of a data stream encoded according to this particular embodiment of the invention.
Le flux de données codées comprend notamment les textures codées pour chaque image, ici To et Ti Le flux de données codées comprend également des informations permettant d’obtenir le QP moyen de chaque image. Par exemple celui-ci peut être codé au niveau image, ou bien classiquement obtenu à partir des QPs codés pour chaque bloc dans le flux de données. The encoded data stream includes in particular the encoded textures for each image, here To and Ti. The encoded data stream also includes information making it possible to obtain the average QP of each image. For example, this can be coded at the image level, or else conventionally obtained from the QPs coded for each block in the data stream.
Pour chaque image de texture T0 et T 1 , le flux de données codées comprend également les données de profondeur calculées et codées D0 et/ou Di selon la décision prise au codeur. On remarque ici que les éléments de syntaxe d0 et di ne sont pas codés dans le flux de données. Lorsqu’il a été décidé d’estimer la profondeur pour une image de texture au décodeur, le flux de données peut comprendre des paramètres PAR à appliquer lors de l’estimation de la profondeur. Ces paramètres ont déjà été décrits plus haut. For each texture image T 0 and T 1, the coded data stream also comprises the calculated and coded depth data D 0 and / or Di according to the decision taken by the coder. It is noted here that the syntax elements d 0 and di are not encoded in the data stream. When it has been decided to estimate the depth for a texture image at the decoder, the data stream may include PAR parameters to be applied when estimating the depth. These parameters have already been described above.
Le décodeur DEC parcourt le flux de données codées et décode les images de textures T* 0 et T*i Le décodeur applique le même mécanisme de décision que le codeur, en calculant le QP moyen de chaque image de texture. Le décodeur en déduit ensuite, à l’aide du seuil déterminé, qui peut être transmis dans le flux de données ou bien connu du décodeur, si la profondeur pour une image de texture donnée doit être décodée ou bien estimée. The decoder DEC runs through the encoded data stream and decodes the texture images T * 0 and T * i. The decoder applies the same decision mechanism as the encoder, by calculating the average QP of each texture image. The decoder then deduces therefrom, using the determined threshold, which can be transmitted in the data stream or well known to the decoder, whether the depth for a given texture image must be decoded or else estimated.
Le décodeur fonctionne ensuite de manière similaire à ce qui a été décrit en relation avec le premier mode de réalisation de la figure 5. The decoder then operates in a manner similar to what has been described in relation to the first embodiment of FIG. 5.
La figure 8 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 décrit précédemment, notamment en relation avec les figures 2, 4A et 4B. Le codeur COD peut par exemple correspondre au codeur COD décrit en relation avec la figure 5. FIG. 8 presents 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 described above, in particular in relation to FIGS. 2, 4A and 4B. The COD encoder may for example correspond to the COD encoder described in relation to FIG. 5.
Selon un mode particulier de réalisation de l'invention, les étapes du 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, une unité de traitement UT, équipée par exemple d'un processeur PROC, et pilotée par le programme d'ordinateur PG stocké en mémoire MEM. Le programme d'ordinateur PG comprend des instructions pour mettre en oeuvre les étapes du procédé de codage tel que décrit ci-dessus, lorsque le programme est exécuté par le processeur PROC. According to a particular embodiment of the invention, the steps of the coding method are implemented by computer program instructions. For this, the coding device COD has the conventional architecture of a computer and comprises in particular a memory MEM, a processing unit UT, equipped for example with a processor PROC, and controlled by the computer program PG stored in memory MEM. The computer program PG comprises instructions for implementing the steps of the coding method as described above, when the program is executed by the processor PROC.
A l'initialisation, les instructions de code du programme d'ordinateur PG sont par exemple chargées dans une mémoire avant d'être exécutées par le processeur PROC. Le processeur PROC de l'unité de traitement UT met notamment en oeuvre les étapes du procédé de codage décrit ci-dessus, selon les instructions du programme d'ordinateur PG. On initialization, the code instructions of the computer program PG are for example loaded into a memory before being executed by the processor PROC. The processor PROC of the processing unit UT notably implements the steps of the coding method described above, according to the instructions of the computer program PG.
La figure 9 présente la structure simplifiée d’un dispositif de traitement de données de vidéo multi-vues DTV adapté pour mettre en oeuvre le procédé de traitement de données multi-vues selon l'un quelconque des modes particuliers de réalisation de l'invention décrit précédemment, notamment en relation avec les figures 2, 3A, et 3B. Le dispositif de traitement de données de vidéo multi-vues DTV peut par exemple correspondre au module de synthèse SYNTH décrit en relation avec la figure 5 ou à un dispositif comprenant le module de synthèse SYNTH et le décodeur DEC de la figure 5. FIG. 9 shows the simplified structure of a DTV multi-view video data processing device suitable for implementing the multi-view data processing method according to any one of the particular embodiments of the invention described. previously, in particular in relation to FIGS. 2, 3A, and 3B. The DTV multi-view video data processing device may for example correspond to the SYNTH synthesis module described in relation to FIG. 5 or to a device comprising the SYNTH synthesis module and the decoder DEC of FIG. 5.
Selon un mode particulier de réalisation de l'invention, le dispositif de traitement de données de vidéo multi-vues DTV a l'architecture classique d'un ordinateur et comprend notamment une mémoire MEMO, une unité de traitement UTO, équipée par exemple d'un processeur PROCO, et pilotée par le programme d'ordinateur PGO stocké en mémoire MEMO. Le programme d'ordinateur PGO comprend des instructions pour mettre en oeuvre les étapes du procédé de traitement de données de vidéo multi-vues tel que décrit ci-dessus, lorsque le programme est exécuté par le processeur PROCO. According to a particular embodiment of the invention, the DTV multi-view video data processing device has the conventional architecture of a computer and in particular comprises a MEMO memory, a UTO processing unit, equipped for example with a PROCO processor, and controlled by the computer program PGO stored in MEMO memory. The computer program PGO includes instructions for implementing the steps of the multi-view video data processing method as described above, when the program is executed by the PROCO processor.
A l'initialisation, les instructions de code du programme d'ordinateur PGO sont par exemple chargées dans une mémoire avant d'être exécutées par le processeur PROCO. Le processeur PROCO de l'unité de traitement UTO met notamment en oeuvre les étapes du procédé de traitement de données de vidéo multi-vues décrit ci-dessus, selon les instructions du programme d'ordinateur PGO. On initialization, the code instructions of the computer program PGO are for example loaded into a memory before being executed by the processor PROCO. The processor PROCO of the processing unit UTO notably implements the steps of the multi-view video data processing method described above, according to the instructions of the computer program PGO.
Selon un mode particulier de réalisation de l'invention, le dispositif de traitement de données de vidéo multi-vues DTV comprend un décodeur DEC adapté pour décoder un ou des flux de données codées représentatif d'une vidéo multi-vues. According to a particular embodiment of the invention, the DTV multi-view video data processing device comprises a decoder DEC suitable for decoding one or more coded data streams representative of a multi-view video.

Claims

Revendications Claims
1. Procédé de traitement de données d’une vidéo multi-vues, le procédé de traitement comprend: 1. A method of processing multi-view video data, the processing method comprises:
- l'obtention, pour au moins un bloc d’une image d’une vue codée dans un flux de données codées représentatif de la vidéo multi-vues, d’au moins une information indiquant un mode d’obtention d’au moins une donnée de synthèse, parmi un premier mode d’obtention et un deuxième mode d’obtention, ladite au moins une donnée de synthèse étant utilisée pour synthétiser au moins une image d’une vue intermédiaire de la vidéo multi-vues, ladite vue intermédiaire n’étant pas codée dans ledit flux de données codées, ledit premier mode d’obtention correspondant à un décodage d’au moins une information représentative de la au moins une donnée de synthèse à partir du flux de données codées, ledit deuxième mode d’obtention correspondant à une obtention de la au moins une donnée de synthèse à partir d’au moins ladite image codée reconstruite, obtaining, for at least one block of an image of a coded view in a coded data stream representative of the multi-view video, at least one item of information indicating a mode of obtaining at least one synthesis data, among a first mode of obtaining and a second mode of obtaining, said at least one data of synthesis being used to synthesize at least one image of an intermediate view of the multi-view video, said intermediate view n 'being not encoded in said encoded data stream, said first obtaining mode corresponding to a decoding of at least one item of information representative of the at least one summary data item from the encoded data stream, said second obtaining mode corresponding to obtaining the at least one synthetic data item from at least said reconstructed coded image,
- l’obtention de la au moins une donnée de synthèse selon le mode d’obtention indiqué par ladite au moins une information, - obtaining the at least one summary data item according to the method of obtaining indicated by said at least one item of information,
- la synthèse d'au moins une partie d’une image de ladite vue intermédiaire à partir d'au moins ladite image codée reconstruite et ladite au moins une donnée de synthèse obtenue. - The synthesis of at least part of an image of said intermediate view from at least said reconstructed coded image and said at least one synthesis data item obtained.
2. Procédé de traitement de données de vidéo multi-vues selon la revendication 1 , dans lequel ladite au moins une donnée de synthèse correspond à au moins une partie d'une carte de profondeur. 2. A method of processing multi-view video data according to claim 1, wherein said at least one summary data item corresponds to at least part of a depth map.
3. Procédé de traitement de données de vidéo multi-vues selon la revendication 1 ou la revendication 2, dans lequel ladite au moins une information indiquant un mode d’obtention de la donnée de synthèse est obtenue par le décodage d’un élément de syntaxe. 3. A method of processing multi-view video data according to claim 1 or claim 2, wherein said at least one item of information indicating a mode of obtaining the synthesis data is obtained by decoding a syntax element. .
4. Procédé de traitement de données de vidéo multi-vues selon la revendication 1 ou la revendication 2, dans lequel ladite au moins une information indiquant un mode d’obtention de la donnée de synthèse est obtenue à partir d’au moins une donnée codée pour l’image codée reconstruite. 4. A method of processing multi-view video data according to claim 1 or claim 2, wherein said at least one item of information indicating a mode of obtaining the synthetic data item is obtained from at least one coded data item. for the reconstructed coded image.
5. Procédé de traitement de données de vidéo multi-vues selon la revendication 4, dans lequel le mode d’obtention est sélectionné parmi le premier mode d’obtention et le deuxième mode d’obtention en fonction d’une valeur d’un paramètre de quantification utilisé pour coder au moins ledit bloc. The multi-view video data processing method according to claim 4, wherein the obtaining mode is selected from the first obtaining mode and the second mode. for obtaining as a function of a value of a quantization parameter used to code at least said block.
6. Procédé de traitement de données de vidéo multi-vues selon l'une quelconque des revendications 1 à 5, comprenant en outre, lorsque ladite au moins une information indique que la donnée de synthèse est obtenue selon le deuxième mode d’obtention : 6. A method of processing multi-view video data according to any one of claims 1 to 5, further comprising, when said at least one item of information indicates that the summary data item is obtained according to the second mode of obtaining:
- le décodage à partir d'un flux de données codées, d'au moins un paramètre de contrôle, - decoding from a coded data stream, of at least one control parameter,
- l'application dudit paramètre de contrôle lors de l'obtention de ladite donnée de synthèse selon le deuxième mode d’obtention. - the application of said control parameter when obtaining said summary data according to the second mode of obtaining.
7. Dispositif de traitement de données de vidéo multi-vues, comprenant un processeur configuré pour : 7. A multi-view video data processing device, comprising a processor configured to:
- obtenir, pour au moins un bloc d’une image d’une vue codée dans un flux de données codées représentatif de la vidéo multi-vues, au moins une information indiquant un mode d’obtention d’au moins une donnée de synthèse, parmi un premier mode d’obtention et un deuxième mode d’obtention, ladite au moins une donnée de synthèse étant utilisée pour synthétiser au moins une image d’une vue intermédiaire de la vidéo multi-vues, ladite vue intermédiaire n’étant pas codée dans ledit flux de données codées, ledit premier mode d’obtention correspondant à un décodage d’au moins une information représentative de la au moins une donnée de synthèse à partir du flux de données codées, ledit deuxième mode d’obtention correspondant à une obtention de la au moins une donnée de synthèse à partir d’au moins ladite image codée reconstruite, - obtain, for at least one block of an image of a view encoded in a stream of encoded data representative of the multi-view video, at least one item of information indicating a mode of obtaining at least one summary data item, from among a first mode of obtaining and a second mode of obtaining, said at least one synthesis data item being used to synthesize at least one image of an intermediate view of the multi-view video, said intermediate view not being coded in said coded data stream, said first obtaining mode corresponding to a decoding of at least one item of information representative of the at least one summary data item from the coded data stream, said second obtaining mode corresponding to an obtaining at least one data item synthesized from at least said reconstructed coded image,
- obtenir la au moins donnée de synthèse selon le mode d’obtention indiqué par ladite au moins une information, - obtain the at least summary data according to the method of obtaining indicated by said at least one item of information,
- synthétiser au moins une partie d’une image de ladite vue intermédiaire à partir d'au moins ladite image codée reconstruite et ladite au moins une donnée de synthèse obtenue. - synthesizing at least part of an image of said intermediate view from at least said reconstructed coded image and said at least one synthesis data item obtained.
8. Terminal comprenant un dispositif selon la revendication 7. 8. Terminal comprising a device according to claim 7.
9. Procédé de codage de données de vidéo multi-vues, le procédé de codage comprend : 9. Multi-view video data encoding method, the encoding method comprises:
- la détermination, pour au moins un bloc d’une image d’une vue dans un flux de données codées représentatif de la vidéo multi-vues, d’au moins une information indiquant un mode d’obtention d’au moins une donnée de synthèse, parmi un premier mode d’obtention et un deuxième mode d’obtention, ladite au moins une donnée de synthèse étant utilisée pour synthétiser au moins une image d’une vue intermédiaire de la vidéo multi-vues, ladite vue intermédiaire n’étant pas codée dans ledit flux de données codées, ledit premier mode d’obtention correspondant à un décodage d’au moins une information représentative de la au moins une donnée de synthèse à partir du flux de données codées, ledit deuxième mode d’obtention correspondant à une obtention de la au moins une donnée de synthèse à partir d’au moins ladite image codée reconstruite, the determination, for at least one block of an image of a view in a coded data stream representative of the multi-view video, of at least one item of information indicating a mode of obtaining at least one datum of synthesis, from among a first method of obtaining and a second method of obtaining, said at least one synthesis data item being used to synthesize at least one image of an intermediate view of the multi-view video, said intermediate view not being encoded in said encoded data stream, said first obtaining mode corresponding to decoding of at least one item of information representative of the at least one summary data item from the encoded data stream, said second obtaining mode corresponding to obtaining of the at least one summary item of data from at least said reconstructed coded image,
- le codage de ladite image dans le flux de données codées. the encoding of said image in the encoded data stream.
10. Procédé de codage de données de vidéo multi-vues selon la revendication 9, comprenant le codage dans le flux de données d’un élément de syntaxe associé à ladite information indiquant un mode d’obtention de la donnée de synthèse. 10. The multi-view video data encoding method according to claim 9, comprising encoding in the data stream a syntax element associated with said information indicating a mode of obtaining the summary data.
11. Procédé de codage de données de vidéo multi-vues selon l'une quelconque des revendications 9 à 10 comprenant en outre, lorsque l’information indique que la donnée de synthèse est obtenue selon le deuxième mode d’obtention : 11. A method of encoding multi-view video data according to any one of claims 9 to 10 further comprising, when the information indicates that the summary data is obtained according to the second mode of obtaining:
- le codage dans un flux de données codées, d'au moins un paramètre de contrôle à appliquer lors de l'obtention de ladite donnée de synthèse selon le deuxième mode d’obtention. - coding in an encoded data stream of at least one control parameter to be applied when obtaining said summary data according to the second mode of obtaining.
12. Dispositif de codage de données de vidéo multi-vues, comprenant un processeur et une mémoire configurés pour : 12. A device for encoding multi-view video data, comprising a processor and a memory configured to:
- déterminer, pour au moins un bloc d’une image d’une vue dans un flux de données codées représentatif de la vidéo multi-vues, au moins une information indiquant un mode d’obtention d’au moins une donnée de synthèse, parmi un premier mode d’obtention et un deuxième mode d’obtention, ladite au moins une donnée de synthèse étant utilisée pour synthétiser au moins une image d’une vue intermédiaire de la vidéo multi-vues, ladite vue intermédiaire n’étant pas codée dans ledit flux de données codées, ledit premier mode d’obtention correspondant à un décodage d’au moins une information représentative de la au moins une donnée de synthèse à partir du flux de données codées, ledit deuxième mode d’obtention correspondant à une obtention de la au moins une donnée de synthèse à partir d’au moins ladite image codée reconstruite, determining, for at least one block of an image of a view in an encoded data stream representative of the multi-view video, at least one item of information indicating a mode of obtaining at least one summary data item, from among a first mode of obtaining and a second mode of obtaining, said at least one synthesis datum being used to synthesize at least one image of an intermediate view of the multi-view video, said intermediate view not being coded in said encoded data stream, said first obtaining mode corresponding to a decoding of at least one item of information representative of the at least one summary data item from the encoded data stream, said second obtaining mode corresponding to an obtaining of the at least one data item synthesized from at least said reconstructed coded image,
- coder ladite image dans le flux de données codées. - encoding said image in the encoded data stream.
13. Programme d'ordinateur comportant des instructions pour la mise en oeuvre du procédé de traitement de données de vidéo multi-vues selon l'une quelconque des revendications 1 à 6, ou pour la mise en oeuvre du procédé de codage de données de vidéo multi-vues selon l’une quelconque des revendications 9 à 11 , lorsque le programme est exécuté par un processeur. 13. A computer program comprising instructions for implementing the multi-view video data processing method according to any one of claims 1 to. 6, or for the implementation of the multi-view video data encoding method according to any one of claims 9 to 11, when the program is executed by a processor.
14. Support d'enregistrement lisible par ordinateur, et comportant des instructions d'un programme d'ordinateur selon la revendication 13. 14. A recording medium readable by a computer, and comprising instructions of a computer program according to claim 13.
EP21707767.6A 2020-02-14 2021-02-04 Method and device for processing multi-view video data Pending EP4104446A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2001464A FR3107383A1 (en) 2020-02-14 2020-02-14 Multi-view video data processing method and device
PCT/FR2021/050207 WO2021160955A1 (en) 2020-02-14 2021-02-04 Method and device for processing multi-view video data

Publications (1)

Publication Number Publication Date
EP4104446A1 true EP4104446A1 (en) 2022-12-21

Family

ID=70804716

Family Applications (1)

Application Number Title Priority Date Filing Date
EP21707767.6A Pending EP4104446A1 (en) 2020-02-14 2021-02-04 Method and device for processing multi-view video data

Country Status (5)

Country Link
US (1) US20230065861A1 (en)
EP (1) EP4104446A1 (en)
CN (1) CN115104312A (en)
FR (1) FR3107383A1 (en)
WO (1) WO2021160955A1 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013159330A1 (en) * 2012-04-27 2013-10-31 Nokia Corporation An apparatus, a method and a computer program for video coding and decoding
JP6787667B2 (en) * 2012-09-21 2020-11-18 ノキア テクノロジーズ オサケユイチア Methods and equipment for video coding
US20150245063A1 (en) * 2012-10-09 2015-08-27 Nokia Technologies Oy Method and apparatus for video coding
US9930363B2 (en) * 2013-04-12 2018-03-27 Nokia Technologies Oy Harmonized inter-view and view synthesis prediction for 3D video coding

Also Published As

Publication number Publication date
WO2021160955A1 (en) 2021-08-19
CN115104312A (en) 2022-09-23
FR3107383A1 (en) 2021-08-20
US20230065861A1 (en) 2023-03-02

Similar Documents

Publication Publication Date Title
EP3788789A2 (en) Method and device for image processing, and suitable method and device for decoding a multi-view video
FR2974474A1 (en) METHODS AND APPARATUSES FOR GENERATING AND PROCESSING REPRESENTATIONS OF MULTIMEDIA SCENES
FR2959636A1 (en) Method for accessing spatio-temporal part of video image sequence in e.g. mobile telephone of Internet, involves obtaining selection zone updating information, where information is decoding function of data corresponding to selection zone
EP3198876B1 (en) Generation and encoding of residual integral images
EP4104446A1 (en) Method and device for processing multi-view video data
EP3158749B1 (en) Method for encoding and decoding images, device for encoding and decoding images, and corresponding computer programmes
WO2021214395A1 (en) Methods and devices for coding and decoding a multi-view video sequence
EP1596607B1 (en) Method and device for generating candidate vectors for image interpolation systems using motion estimation and compensation
WO2020188172A1 (en) Methods and devices for coding and decoding a multi-view video sequence
FR2934453A1 (en) ERROR MASKING METHOD AND DEVICE
EP2227908B1 (en) Method for the variable-complexity decoding of an image signal, and corresponding decoding terminal, encoding method, encoding device, signal and computer software products
WO2020070409A1 (en) Coding and decoding of an omnidirectional video
EP3725080A1 (en) Methods and devices for encoding and decoding a multi-view video sequence representative of an omnidirectional video
WO2020260034A1 (en) Method and device for processing multi-view video data
WO2019008253A1 (en) Method for encoding and decoding images, encoding and decoding device, and corresponding computer programs
EP4360319A1 (en) Method for constructing a depth image from a multiview video, method for decoding a data stream representative of a multiview video, encoding method, devices, system, terminal equipment, signal and computer programs corresponding thereto
WO2022069809A1 (en) Method for encoding and decoding a multi-view video
EP4085613A1 (en) Iterative synthesis of views from data of a multi-view video
CN117043820A (en) Depth estimation method in immersive video context
CN117426098A (en) Method, server and device for transmitting and rendering multiple views comprising non-diffuse objects
EP2962459A2 (en) Derivation of disparity motion vector, 3d video coding and decoding using such derivation
FR2938146A1 (en) Video image encoding rate optimizing method for video encoder, involves transmitting physical candidate weights of each physical candidate group into video flow for current image encoding purpose to minimize total square error
WO2006056720A1 (en) Video compression involving modification of quantisation by image areas

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20220705

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
RAP3 Party data changed (applicant data changed or rights of an application transferred)

Owner name: ORANGE