EP4360319A1 - Procédé de construction d'une image de profondeur d'une vidéo multi-vues, procédé de décodage d'un flux de données représentatif d'une vidéo multi-vues, procédé de codage, dispositifs, système, équipement terminal, signal et programmes d'ordinateur correspondants - Google Patents

Procédé de construction d'une image de profondeur d'une vidéo multi-vues, procédé de décodage d'un flux de données représentatif d'une vidéo multi-vues, procédé de codage, dispositifs, système, équipement terminal, signal et programmes d'ordinateur correspondants

Info

Publication number
EP4360319A1
EP4360319A1 EP22735220.0A EP22735220A EP4360319A1 EP 4360319 A1 EP4360319 A1 EP 4360319A1 EP 22735220 A EP22735220 A EP 22735220A EP 4360319 A1 EP4360319 A1 EP 4360319A1
Authority
EP
European Patent Office
Prior art keywords
image
block
view
depth image
depth
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
EP22735220.0A
Other languages
German (de)
English (en)
Inventor
Félix Henry
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 EP4360319A1 publication Critical patent/EP4360319A1/fr
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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • Method for constructing a depth image of a multi-view video Method for constructing a depth image of a multi-view video, method for decoding a data stream representative of a multi-view video, encoding method, devices, system, terminal equipment, signal and programs for corresponding computer
  • the present invention relates generally to the field of 3D image processing, and more specifically to the decoding of multi-view image sequences and, in particular, to the construction of a depth image associated with a current view, from information coded in the data stream and representative of a texture image of the same current view.
  • a device such as a Virtual Reality Headset
  • viewpoint is a viewpoint captured by a camera or a viewpoint that has not been captured by a camera.
  • Such a view which has not been captured by the camera is also called a virtual view or an intermediate view because it is between views captured by the camera and must be synthesized for the rendering of the scene to the viewer from the captured views.
  • the scene is conventionally captured by a set of cameras, as shown in Figure 1.
  • These cameras can be of the 2D (cameras Ci, C 2 ...C N , with N non-zero integer of figure 1), that is to say that each of them captures a view according to a point of view, or of the 360 type , ie they capture the whole scene at 360 degrees around the camera (C360 camera in figure 1), so from several different points of view.
  • the cameras can be arranged in an arc, a rectangle, or any other configuration that provides good coverage of the scene.
  • a set of images representing the scene according to different views is obtained at a given instant.
  • videos a temporal sampling of the captured images is carried out (for example at 30 frames per second), in order to produce an original multi-view video, as shown in Figure 3.
  • the information captured by these cameras is encoded in a data stream and transmitted to a decoder, which will decode all or part of these views. Then, a view synthesis is applied in order to synthesize the view requested by the user at a given moment, according to his position and his angle of view of the scene.
  • DIBR free viewpoint Depth-lmage-BasedRendering
  • DIBR Depth-Based Image Rendering
  • each view contains a texture component (i.e. the image in the classical sense) and a depth component (i.e. a depth map, for which the intensity of each pixel is associated with the depth of the scene at that location).
  • a texture component i.e. the image in the classical sense
  • a depth component i.e. a depth map, for which the intensity of each pixel is associated with the depth of the scene at that location.
  • Techniques are also known for estimating the depth of a pixel of a texture image from one or more other texture images, such as for example the DERS technique (for "Depth Estimation Reference Software", in English), described in particular in the document entitled “Enhanced Depth Estimation Reference Software (DERS) for Free-viewpoint T elevision”, by Stankiewicz et al., published in October 2013, by the ISO and available at the following link https:/ /www.researchgate.net/publication/271851694_Enhanced_Depth_Estimation_Reference_Sof tware_DERS_for_Free-viewpoint_Television), the IVDE technique (for “Immersive Video Depth Estimation”, in English), described in the document entitled “Depth Map Refinement for Immersive Video”, by D.
  • DERS Depth Estimation Reference Software
  • This standard describes in particular a coding and decoding profile called “Geometry Absent”, according to which (FIG. 4, where only the views at a time T are represented), only the components or images of original textures TO are coded. No depth information is therefore transmitted in the coded data stream.
  • a decoded version T D of the texture images is obtained from the information coded in the data stream.
  • the depth components P E of one or more views are then estimated from the decoded texture images T D .
  • the decoded texture images and the estimated depth images are available for any subsequent DIBR synthesis of a view V, to respond to the user's request at time T.
  • the depth component is not transmitted, which reduces the quantity of data to be processed (encoding, transmission and decoding) and makes it possible to save calculation resources and bandwidth;
  • the depth component is not captured during the acquisition of the multi-view video of the scene, so it is not necessary to resort to specific detection and distance estimation devices such as LIDARs (for “Laser Imaging Detection And Ranging”, in English), based on the analysis of the properties of a beam of light returned to its emitter.
  • LIDARs for “Laser Imaging Detection And Ranging”, in English
  • a major drawback of this approach is that it requires, on the other hand, an estimation of this depth component in the decoding device.
  • the invention meets this need by proposing a method for constructing a depth image associated with a view of a multi-view video, called current view, from a data stream representative of said video, said stream comprising information representative of the motion vectors of a texture image associated with said current view with respect to at least one reference texture image, said texture image having been cut into blocks.
  • Said method comprises:
  • the motion compensation of a block of the depth image, co-located with the current block from said at least one motion vector and from at least one available reference depth image, said reference depth image being associated with the same view as said reference texture image.
  • the invention proposes an entirely new and inventive approach for constructing a depth image of a view of a multi-view video, when the latter has not been transmitted in the data stream. It consists in exploiting the motion vectors transmitted in the stream for the texture image associated with the same view to compensate in motion at least part of this depth image from an available reference depth image (already decoded or built in accordance with the construction method according to the invention) and associated with the same view as the reference texture image.
  • Such motion compensation is much less complex to implement than an estimation of the depth image from the texture images according to one of the aforementioned prior art techniques, such as DERS, IVDE, GaNet, etc.
  • the resources of the receiving terminal are therefore preserved.
  • the invention finds particular application in the case of the “Geometry Absent” profile defined by the MIV coding standard, according to which no depth information is transmitted in the coded data stream.
  • the method when no motion vector has been decoded for said at least one block of the texture image, for example according to the INTRA coding mode or another coding mode which does not use a motion vector, the method does not trigger the implementation of said motion compensation of said at least one block and comprises estimating said at least one block of the depth image from at least one previously processed texture image.
  • the method comprises obtaining a motion compensation indicator from information coded in the stream, said indicator being associated with said block of the depth image and the method comprises the decision to implement said motion compensation when the indicator is positioned at a predetermined value.
  • An advantage is that it is possible to decide on the coder side for which elements of the depth image the reconstruction of the depth image is authorized by motion compensation and to transmit this decision by means of this indicator.
  • This embodiment applies advantageously to the case where the depth image of the current view has actually been captured on the encoder side, then used to evaluate a performance level of motion compensation for this image, for example by comparing the motion compensated depth image to the actual captured depth image. Such a comparison makes it possible to calculate an error, for example a quantity of energy of a residue between the depth image actually captured and the motion-compensated depth image from the motion vectors of the associated texture image to current view.
  • the indicator is positioned at the predetermined value, for example equal to 1, otherwise l indicator is set to another value, for example equal to 0.
  • the method comprises obtaining an identifier of the reference texture image from information encoded in the data stream and obtaining the depth image of reference from said identifier.
  • the invention also relates to a device for constructing a depth image associated with a view of a multi-view video, called current view, from a data stream representing said video, said stream comprising coded information representative of the motion vectors of a texture image associated with said current view with respect to at least one reference texture image, said texture image having been cut into blocks.
  • Said device is configured to implement:
  • the motion compensation of a block of the depth image co-located with the current block from said at least one motion vector and at least one image of available reference depth, said reference depth image being associated with a same view as said reference texture image.
  • said device is configured to implement the steps of the construction method as described previously in its various embodiments.
  • the construction device has in combination all or part of the characteristics set out throughout this document.
  • the invention also relates to a method for decoding a data stream representative of a multi-view video, said stream comprising coded information representative of motion vectors of a texture image of a current view with respect to to a reference texture image, said texture image having been cut into blocks, said method comprising:
  • the motion compensation of a block of the depth image, co-located with the current block from said at least one motion vector and from at least one available reference depth image, said reference depth image being associated with the same view as said reference texture image.
  • the invention relates to a method for decoding a data stream representative of a multi-view video, said stream comprising coded information representative of motion vectors of a texture image of a current view by relative to a reference texture image, said texture image having been cut into blocks, said method comprising:
  • the decoding method comprises the characteristics of the aforementioned construction method.
  • the decoding method further comprises the decoding of coded information representing a motion compensation indicator of said at least one block of said depth image, said construction being implemented for said block when the indicator is positioned at a predetermined value.
  • the invention also relates to a device for decoding a data stream representing a multi-view video, said stream comprising current view in relation to a reference texture image, said texture image having been cut into blocks, said device being configured to implement:
  • said device is configured to implement the steps of the decoding method as described previously in its different embodiments.
  • the construction device is itself integrated into the decoding device.
  • the aforementioned construction and decoding devices are integrated into a free navigation system in a multi-view video of a scene.
  • said system further comprises a module for synthesizing a view according to a point of view chosen by a user from the decoded texture images and the constructed depth images.
  • the aforementioned free navigation system is integrated into terminal equipment configured to receive a stream of coded data representative of a multi-view video.
  • the terminal equipment and the free navigation system have at least the same advantages as those conferred by the aforementioned construction and decoding methods.
  • the invention also relates to a method for coding a data stream representative of a multi-view video and comprising:
  • captured depth image Obtaining a depth image associated with said current view, captured by a depth camera, called captured depth image
  • the motion compensation of at least one block of a depth image associated with the current view called depth image constructed, said block being co-located with said block of the texture image, from said at least one motion vector and from at least one available reference depth image, said reference depth image being associated with the same view as said reference texture image;
  • the invention also relates to a device for coding a data stream representative of a multi-view video and configured to implement:
  • captured depth image Obtaining a depth image associated with said current view, captured by a depth camera, called captured depth image
  • the motion compensation of at least one block of a depth image associated with the current view called depth image constructed, said block being co-located with said block of the texture image, from said at least one motion vector and from at least one available reference depth image, said reference depth image being associated with the same view as said reference texture image;
  • said device is configured to implement the steps of the coding method as described previously in its various embodiments.
  • the invention also relates to a signal carrying a stream of coded data representative of a multi-view video, said stream comprising coded data representative of motion vectors of a texture image of a current view with respect to to a reference texture image, said texture image having been cut into blocks.
  • said stream comprises coded data representative of a motion compensation indicator, said indicator being associated with said at least one block of a depth image associated with said current view and said indicator is intended, when it is positioned at a predetermined value, to be used to implement a motion compensation of said block of the depth image, from at least one decoded motion vector and from at least one available reference depth image, said reference depth image being associated with the same view as said reference texture image.
  • the invention also relates to computer program products comprising program code instructions for implementing the methods as described previously, when they are executed by a processor.
  • a program may 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 partially compiled form, or in any other desirable form.
  • the invention also relates to a recording medium readable by a computer on which are recorded computer programs comprising program code instructions for the execution of the steps of the methods according to the invention as described above.
  • Such recording medium can be any entity or device capable of storing the program.
  • the medium may include a storage medium, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or else a magnetic recording medium, for example a mobile medium (memory card) or a hard drive or SSD.
  • such a recording medium may be a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means, so that the program computer it contains is executable remotely.
  • the program according to the invention can in particular be downloaded on a network, for example the Internet network.
  • the recording medium may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the aforementioned construction, coding and/or decoding methods.
  • the present technique is implemented by means of software and/or hardware components.
  • the term "module" may correspond in this document to a software component, a hardware component or a set of hardware and software components.
  • a software component corresponds to one or more computer programs, one or more sub-programs of a program, or more generally to any element of a program or software capable of implementing a function or a set of functions, as described below for the module concerned.
  • Such a software component is executed by a data processor of a physical entity (terminal, server, gateway, set-top-box, router, etc.) and is likely to access the hardware resources of this physical entity (memories, recording media, communication bus, electronic input/output cards, interfaces user, etc).
  • resources means all sets of hardware and/or software elements supporting a function or a service, whether unitary or combined.
  • a hardware component corresponds to any element of a hardware assembly (or hardware) able to implement a function or a set of functions, according to what is described below for the module concerned. It can be a hardware component that can be programmed or has an integrated processor for executing software, for example an integrated circuit, a smart card, a memory card, an electronic card for executing firmware ( “firmware” in English), etc.
  • Figure 1 shows an example of an arrangement of a plurality of cameras forming a system for acquiring multi-view video of a scene, according to the prior art
  • Figure 2 schematically illustrates a plurality of images of the scene, captured by the plurality of cameras at a given instant, according to the prior art
  • FIG. 3 schematically illustrates a sequence of the plurality of images, captured by the plurality of cameras at several successive instants, forming the original multi-view video, according to the prior art
  • FIG. 4 schematically illustrates an example of processing of a coded data stream representative of a multi-view video by terminal equipment according to the prior art
  • Figure 5 schematically illustrates an example of architecture of a terminal equipment comprising a system for free navigation in a multi-view video comprising a device for decoding a stream of coded data representative of a multi-view video and a device for constructing a depth image associated with a view of said video according to one embodiment of the invention
  • FIG. 6 describes in the form of a flowchart the steps of a method for decoding a stream of coded data representative of a multi-view video, according to an example embodiment of the invention
  • FIG. 7 describes in the form of a flowchart the steps of a method for constructing a depth image of a view of a multi-view video according to one embodiment of the invention
  • FIG. 8 describes in the form of a flowchart the steps of a method for encoding a stream of encoded data representative of a multi-view video according to one embodiment of the invention
  • Figure 9 details an example of implementation of the aforementioned methods according to one embodiment of the invention.
  • FIG. 10 describes an example of the hardware structure of a device for constructing a depth image according to the invention.
  • FIG. 11 describes an example of hardware structure of a device for decoding a multi-view video according to the invention.
  • FIG. 12 describes an example of hardware structure of a multi-view video coding device according to the invention.
  • the principle of the invention is based on the decoding of motion vectors of a texture image associated with a current view of a multi-view video with respect to a reference texture image and on the construction of at least one block of a depth image associated with said current view, by motion compensation of this block from the decoded motion vector for a co-located block of the texture image and an available reference depth image ( decoded conventionally or constructed according to the invention), said reference depth image being associated with the same view as said reference texture image.
  • the invention finds particular application in a free navigation system within a multi-view video, for example embedded in terminal equipment, for example of the mobile telephone or virtual reality headset type.
  • a free navigation system within a multi-view video, for example embedded in terminal equipment, for example of the mobile telephone or virtual reality headset type.
  • the depth images associated with the views are used in association with the decoded texture images to synthesize the view desired by the user.
  • FIG. 5 an example is presented of the architecture of a terminal equipment UE, UE′ comprising a virtual reality headset HMD according to one embodiment of the invention.
  • Such terminal equipment is configured to receive and process a coded F D data stream representative of a multi-view video of a scene as well as to display on a display device DISP, for example the screen of the HMD helmet, any view of the scene chosen by the UT user.
  • the terminal equipment UE, UE′ integrates a system S, S′ of free navigation in the multi-view video of the scene according to the invention.
  • the terminal equipment UE comprises a device 100 for constructing a depth image associated with the current view, a device 200, 200' for decoding a coded data stream representative of the multi-view video and a SYNT synthesis module for a view chosen by the user.
  • the device 100 is configured to obtain from the data stream F D motion vectors of a texture image associated with the current view with respect to at least one reference texture image, and to compensate in motion at least one block of the depth image from at least one decoded motion vector and at least one already constructed reference depth image, said reference depth image being associated with the same view as said reference texture image.
  • the device 100 thus implements the method for constructing a depth image according to the invention which will be detailed below in relation to FIG. 7.
  • the device 200, 200' for decoding the coded data stream F D representative of the multi-view video is configured to decode coded information representative of the motion vectors of the texture image associated with said current view and to transmit at least said decoded information to the aforementioned construction device 100.
  • the device 200, 200' thus implements the method for decoding a coded data stream representative of a multi-view video according to the invention which will be detailed in relation to FIG. 6.
  • the data stream F D has been coded by a coding device 300, for example integrated into a remote server equipment ES which has transmitted it via its transmission-reception module E/R to that of the terminal equipment UE or UE' via a communication network RC.
  • the SYNT synthesis module is configured to generate the view chosen by the user from the decoded texture images and the constructed depth images, when this does not correspond to any of the views of the multi-view video transmitted in the stream of data F D .
  • the terminal equipment UE′ which integrates a free navigation system S′ in the multi-view video comprising the device 200′ for decoding a stream of coded data and a SYNT synthesis module.
  • the device 200′ incorporates the aforementioned device 100.
  • the coding device 300 is configured to code information representative of motion vectors of a texture image of a current view with respect to a reference texture image, to obtain an image depth associated with said current view, captured by a depth camera, called captured depth image, compensating in motion at least one block of a depth image associated with the current view, called constructed depth image, from at least one decoded motion vector and at least one already constructed reference depth image, said reference depth being associated with the same view as said reference texture image, evaluating said constructed depth image by comparison with the captured depth image, a compensation error being obtained; and encoding information representative of a motion compensation indicator of said at least one element of said depth image as a function of a predetermined error criterion, said indicator being positioned at a first value when the error criterion is satisfied .
  • the device 300 thus implements the coding method according to the invention which will be detailed below in relation to FIG. 8.
  • an image is conventionally designated by an array of pixels, generally rectangular. Such an image can associate with each pixel of the table a texture value or a depth value.
  • view designates the image or images acquired by a camera according to a particular point of view of the scene.
  • a view can be represented by a texture image and/or a depth image, which form the components of this view.
  • the texture component TO is conventionally divided into blocks of pixels, for example of dimensions 16 ⁇ 16, 8 ⁇ 8, 4 ⁇ 4 or other and the coding is carried out block by block, in a conventional manner.
  • the invention is not limited to this particular case and also applies to another division or to coding per pixel.
  • the encoder chooses in a manner known per se for each block of a current texture image, if it is going to be coded according to a so-called INTER mode, that is to say by motion compensation (in which case a reference image and at least one motion vector are signaled in the coded data stream) or according to a so-called INTRA mode or any other mode which does not include a motion vector.
  • INTER mode that is to say by motion compensation (in which case a reference image and at least one motion vector are signaled in the coded data stream) or according to a so-called INTRA mode or any other mode which does not include a motion vector.
  • the motion vector or vectors are encoded in the data stream F D as well as an identifier of the reference texture image ID_T R .
  • a terminal equipment UE, UE′ and of a device 200, 200′ for decoding a stream of coded data FD received by this terminal equipment.
  • FIG. 6 in the form of a flowchart, an example of implementation of a method for decoding the data stream F D according to one embodiment of the invention.
  • this method is implemented by the aforementioned device 200 or 200'.
  • a current view Vc and a current block Bc of the texture image TOc associated with this view Vc are considered.
  • a decoding for example of FIEVC type is carried out. It comprises at 60 the reading and decoding of syntax elements included in the information of the stream F D .
  • these syntax elements comprise a prediction mode MP used for the current block Bc. This mode can be of the INTER, INTRA or other type. From this prediction mode information, it is deduced whether a motion vector MV is encoded in the stream F D .
  • the prediction mode MP is of the INTER type.
  • the motion vector MV associated with the current block Bc is decoded. This motion vector is representative of a motion of the current texture image TOc relative to a reference image T R .
  • this motion vector information MV and reference texture image identifier are stored in a memory M2 then transmitted at 64 to the device 100 for constructing a depth image associated with the current view Vc according to the invention.
  • This device 100 may or may not be integrated into the decoding device 200, 200', as illustrated by FIG. 5 already described.
  • a motion compensation indicator Fcm is decoded at 63. It can take at least a first value VI for example equal to 1 to indicate that motion compensation of the depth image Pc is to be implemented or a second value V2 for example equal to zero to indicate on the contrary that motion compensation should not be implemented.
  • This indicator when it is decoded, is then transmitted at 64 to the device 100 according to the invention.
  • the motion vector MV of the current block Bc is obtained. For example, it is received from the decoding device 200 or 200'.
  • the identifier ID_T R of the reference texture image used to estimate said motion vector MV is obtained. For example, it is received from the decoding device 200 or 200'.
  • This reference texture image is associated with a view V R .
  • a motion compensation indicator Fcm is obtained and stored in memory M1. For example, it is encoded in the stream F D and received from the decoding device 200 or 200'.
  • first predetermined value for example equal to 1
  • second predetermined value for example equal to 0
  • an information field Mij is filled in according to the information previously obtained. It is for example positioned at 1 when a motion vector MV has been obtained for the current block and when the indicator Fcm is received with the first predetermined value.
  • the current depth block BPc is motion compensated. Such a decision is made based on whether or not a motion vector MV has been obtained for the current texture block Bc or when the Fcm flag has been received, based on the value of the Fcm flag or again, in the embodiment where the Mij information field is used, based on the value of Mij.
  • a reference depth image P R is obtained from the identifier ID_T R .
  • This is a depth image previously constructed by the device 100 according to the invention and in particular that which is associated with the same view V R as the reference texture image T R .
  • the current block BPc of the depth image Pc is constructed by motion compensation CM of the block of the reference depth image P R pointed to by the motion vector MV.
  • the device 100 constructs the depth image Pc of the current view Vc block by block, as it obtains the decoded information from the data stream F D from the device 200 or 200'.
  • it waits to have received all the decoded information to build the current depth image P.
  • FIG. 8 we now present, in the form of a flowchart, an example of implementation of a method for coding a depth image of a current view according to an embodiment of the invention.
  • this method is implemented by the aforementioned device 300.
  • this image is divided into blocks and that the blocks of the image are scanned according to a predetermined scanning order, for example a so-called zigzag mode (which corresponds to the lexicographical order).
  • the prediction mode MP to be used for this current block is determined.
  • the encoding device chooses whether the current block of the image is going to be encoded in INTER mode, by motion compensation (in which case a reference texture image T R and a motion vector MV are signaled in the flow of coded data F D ) or in intra mode or any other mode which does not include a motion vector.
  • the prediction mode MP chosen for the current block Bc is a mode for which a motion vector MV is calculated.
  • the motion vector MV of the current block is calculated with respect to a reference texture image T R . It is associated with a view V R .
  • the motion vector is coded and the coded information obtained is inserted into a stream of coded data F D .
  • an original depth image POc is captured by a depth camera associated with the camera arranged to capture the texture image TOc of the current view Vc.
  • a previously constructed depth image referred to as the reference depth image P R , and associated with the same view V R as the reference texture image T R is obtained, for example from a memory M3.
  • a block BPc corresponding to the current block Bc in an image of depth Pc associated with the current view Vc is constructed by motion compensation of the block of the reference depth image P R pointed to by the motion vector MV.
  • the coding device performs identical motion compensation of the co-located depth block in the associated depth image at the same view Vc.
  • the current texture block BTOc, of coordinates (i,j) in the texture image TOc at time t is motion compensated by a block of the reference image T R at time t' , with a motion vector of components (MVx,MVy)
  • the coding device performs at 84 a motion compensation of the block of depth BPc, of coordinates (i,j) of the current depth image Pc at using the depth block BP R of the depth image P R associated with the reference texture image TO R at time t', with the motion vector of components (MVx,MVy).
  • the same motion compensation is applied to the current depth block BPc as to the co-located texture block associated with the same current view Vc and a compensated depth block is thus obtained.
  • the compensated block BPc is evaluated by comparison with the block co-located at i,j of the original depth image POc. For example, a quantity of energy of a residue between the actually captured depth image POc and the motion-compensated depth image PCc is calculated.
  • a motion compensation indicator Fcm is determined as a function of a positioning of this quantity of energy with respect to a predetermined threshold.
  • the indicator is positioned at the first value, for example equal to 1, to indicate that the current block is motion compensated for its depth component. Otherwise the indicator is positioned at a second value, for example equal to 0, which means that the current block is not motion compensated for its depth component.
  • the indicator Fcm is then encoded in the stream F D .
  • the depth indicator Fcm is not transmitted for a depth block associated with a texture block which has no motion vector (for example, because it is coded according to the intra mode).
  • the data stream F D obtained is for example stored in memory M3 or transmitted in a signal to one or more terminal equipment via the communication network RC.
  • FIG. 9 an example of decoding of a data stream representative of a multi-view video and construction of a depth image Pc of a current view Vc of this video according to a mode of carrying out the invention.
  • a data stream F D is obtained. For example, it is received by the decoding device 200 via the communication network RC. It is assumed that the depth image associated with the same current view Vc is not coded in the stream F D .
  • the block DEC for decoding the current texture image Te and information relating to the processing of the current depth image Pc It is considered that the current texture image Te is for example divided into blocks. The blocks of this image are processed according to a predetermined processing order, for example in zigzag mode, which corresponds to the lexicographic order.
  • the information coded in the data stream F D is read at 60-63.
  • the prediction mode MP of this block if applicable the motion vector MV and an identifier ID_T R of the reference texture image are obtained.
  • a movement compensation indicator Fcm of the co-located block in the depth image Pc is read.
  • the current block Bc of the current texture image Te is decoded.
  • a motion vector MV of the current texture block is obtained, as well as at 71, an identifier ID_T R of the reference texture image.
  • an information field Mij is populated with a first value indicating that the current depth block should be motion compensated.
  • the motion vector and the identifier of the reference texture image are stored in memory.
  • the information field Mij is filled with a second value indicating that the current depth block should not be motion compensated.
  • a motion compensation identifier Fcm is also obtained at 72 and stored in memory.
  • Fcm motion compensation identifier
  • a decision to implement or not to implement motion compensation of the current depth block is made based on previously obtained information.
  • the indicator Fcm prevails, that is to say that, when it has been obtained, the decision is made according to its value. In other words, if the indicator is positioned at the first value, it is decided to compensate in motion the current depth block. Otherwise, the decision depends on the presence or absence of a motion vector for the co-located texture block associated with the current view.
  • a reference depth image P R is obtained at 75 from the identifier ID_T R of the reference texture image. This is the depth image associated with the same view as the reference texture image T R .
  • the current depth block BPc is motion compensated according to a conventional motion compensation technique, from the block of the reference depth image co-located with that pointed to by the motion vector in the image of reference texture T R .
  • a conventional estimation is implemented at 77 for example using one of the techniques DERS, IVDE or GANet mentioned above.
  • the decoded texture images T D and the constructed depth images Pc NST S are then advantageously exploited by a synthesis module to generate, for example according to a DIBR type technique, the view chosen by the user UT of the restitution system d a multi-view video according to the invention, for example according to its point of view of the scene.
  • an example of the hardware structure of a device 100 for constructing a depth image of a current view of a multi-view video comprising at least one module for obtaining of motion vectors of a texture image associated with the current view, from a coded data stream representative of the multi-view video, and a motion compensation module of at least one element of said image of depth, configured to be implemented when at least one motion vector has been obtained for said at least one element.
  • the device 100 further comprises obtaining a motion compensation indicator from information coded in the stream, said indicator being associated with said at least one element of the depth image and a decision module to implement said motion compensation when the indicator is positioned at a first value.
  • it also comprises a module for obtaining an identifier of the reference texture image and a module for obtaining the reference depth image P R from said identifier.
  • module can correspond both to a software component and to a hardware component or a set of hardware and software components, a software component itself corresponding to one or more computer programs or sub-programs or in a more general to any element of a program capable of implementing a function or a set of functions.
  • a device 100 comprises a random access memory 103 (for example a RAM memory), a processing unit 102 equipped for example with a processor, and controlled by a computer program Pgl, representative of the modules for obtaining, motion decision and compensation, stored in a read only memory 101 (for example a ROM memory or a hard disk).
  • a read only memory 101 for example a ROM memory or a hard disk.
  • the code instructions of the computer program are for example loaded into the random access memory 103 before being executed by the processor of the processing unit 102.
  • the random access memory 103 can also contain the motion vector , reference texture image id, motion compensation indicator, etc.
  • FIG. 10 only illustrates one particular way, among several possible, of making the device 100 so that it carries out the steps of the method for constructing a depth image as detailed above, in relation to FIGS. 7 and 9 in its different embodiments. Indeed, these steps can be carried out either on a reprogrammable calculation machine (a PC computer, a DSP processor or a microcontroller) executing a program comprising a sequence of instructions, or on a dedicated calculation machine (for example a set of logic gates like an FPGA or an ASIC, or any other hardware module).
  • a reprogrammable calculation machine a PC computer, a DSP processor or a microcontroller
  • a dedicated calculation machine for example a set of logic gates like an FPGA or an ASIC, or any other hardware module.
  • the corresponding program (that is to say the sequence of instructions) could be stored in a removable storage medium (such as for example an SD card , a USB key, a CD-ROM or a DVD-ROM) or not, this storage medium being partially or totally readable by a computer or a processor.
  • a removable storage medium such as for example an SD card , a USB key, a CD-ROM or a DVD-ROM
  • a device 100 integrated in a terminal equipment item for example a mobile telephone or a virtual reality headset.
  • a device 200, 200' for decoding a stream of coded data comprising at least one module for decoding coded information representing motion vectors of a texture image associated with said current view, a module for transmitting said information to an aforementioned device 100 for constructing a depth image associated with the current view.
  • the device 200, 200' comprises a module for decoding coded information representative of an identifier of a reference texture image associated with the motion vectors and a module for decoding a motion compensation indicator of at least one element of the depth image.
  • the transmission module is replaced by the aforementioned device 100.
  • the device 100 is integrated into the device 200' and connected to its decoding module.
  • the term "module" can correspond both to a software component and to a hardware component or a set of hardware and software components, a software component itself corresponding to one or more computer programs or sub-programs or in a more general to any element of a program capable of implementing a function or a set of functions.
  • such a device 200, 200' comprises a random access memory 203 (for example a RAM memory), a processing unit 202 equipped for example with a processor, and controlled by a computer program Pg2, representative of the modules of decoding and transmission stored in a read only memory 201 (for example a ROM memory or a hard disk).
  • a random access memory 203 for example a RAM memory
  • a processing unit 202 equipped for example with a processor
  • a computer program Pg2 representative of the modules of decoding and transmission stored in a read only memory 201 (for example a ROM memory or a hard disk).
  • the code instructions of the computer program are for example loaded into the random access memory 203 before being executed by the processor of the processing unit 202.
  • the random access memory 203 can also contain the decoded information.
  • FIG. 11 only illustrates one particular way, among several possible ones, of making the device 200, 200' so that it performs the steps of the decoding method as detailed above, in relation to FIGS. 6 and 9 in its different embodiments. Indeed, these steps can be carried out either on a reprogrammable calculation machine (a PC computer, a DSP processor or a microcontroller) executing a program comprising a sequence of instructions, or on a dedicated calculation machine (for example a set of logic gates like an FPGA or an ASIC, or any other hardware module).
  • a reprogrammable calculation machine a PC computer, a DSP processor or a microcontroller
  • a dedicated calculation machine for example a set of logic gates like an FPGA or an ASIC, or any other hardware module.
  • the corresponding program (that is to say the sequence of instructions) could be stored in a removable storage medium (such as for example an SD card, a USB key, a CD-ROM or a DVD-ROM) or not, this storage medium being partially or totally readable by a computer or a processor.
  • a removable storage medium such as for example an SD card, a USB key, a CD-ROM or a DVD-ROM
  • an example of the hardware structure of a device 300 for coding a data stream representative of a multi-view video comprising a module for determining motion vectors of a texture image associated with a view of the multi-view video, called the current view, with respect to a reference texture image, a module for coding the motion vectors in the data stream, a module for obtaining a depth image associated with said current view, captured by a depth camera, called captured depth image, a motion compensation module of at least one block of a depth image associated with the current view, called depth image constructed, configured to be implemented when at least one motion vector has been obtained for at least one block of the texture image, said motion compensation being implemented from said at least one motion vector and from at least one image reference depth available, said reference depth image being associated with the same view as said reference texture image; a module for evaluating a motion-compensated block of said reconstructed depth image by comparison with the co-located block of the captured depth image, a compensation error being obtained and a module
  • module can correspond both to a software component and to a hardware component or a set of hardware and software components, a software component itself corresponding to one or more computer programs or sub-programs or in a more general to any element of a program capable of implementing a function or a set of functions.
  • such a device 300 comprises a random access memory 303 (for example a RAM memory), a processing unit 302 equipped for example with a processor, and controlled by a computer program Pg3, representative of the coding modules, compensation in motion, evaluation and coding, stored in a read only memory 301 (for example a ROM memory or a hard disk).
  • a random access memory 303 for example a RAM memory
  • a processing unit 302 equipped for example with a processor
  • Pg3 representative of the coding modules, compensation in motion, evaluation and coding
  • a read only memory 301 for example a ROM memory or a hard disk.
  • the code instructions of the computer program are for example loaded into the RAM 303 before being executed by the processor of the processing unit 302.
  • FIG. 12 only illustrates one particular way, among several possible, of making the device 300 so that it performs the steps of the method of coding a data stream representative of a multi-view video as detailed above, in relation to Figures 8 and 9 in its various embodiments. Indeed, these steps can be carried out either on a reprogrammable calculation machine (a PC computer, a DSP processor or a microcontroller) executing a program comprising a sequence of instructions, or on a dedicated calculation machine (for example a set of logic gates like an FPGA or an ASIC, or any other hardware module).
  • a reprogrammable calculation machine a PC computer, a DSP processor or a microcontroller
  • a program comprising a sequence of instructions
  • a dedicated calculation machine for example a set of logic gates like an FPGA or an ASIC, or any other hardware module.
  • the corresponding program (that is to say the sequence of instructions) can be stored in a removable storage medium (such as for example an SD card , a USB key, a CD-ROM or a DVD-ROM) or not, this storage medium being partially or totally readable by a computer or a processor.
  • a removable storage medium such as for example an SD card , a USB key, a CD-ROM or a DVD-ROM
  • the invention which has just been described in its various embodiments has numerous advantages. By offering an alternative solution to conventional techniques for estimating a depth image from one or more decoded texture images, it contributes to reducing the complexity of the processing of a data stream representing a multi-view video by a receiver terminal equipment. This advantage is made possible by resorting to motion compensation of the depth image of a current view which reuses the motion vectors transmitted in the data stream for the corresponding texture image, associated with the same view.

Landscapes

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

Abstract

L'invention concerne un procédé de construction d'une image de profondeur associée à une vue d'une vidéo multi-vues, dite vue courante, à partir d'un flux de données (FD) représentatif de ladite vidéo, ledit flux comprenant des informations représentatives des vecteurs de mouvement d'une image de texture associée à ladite vue courante par rapport à au moins une image de texture de référence (TR), ladite image de texture ayant été découpée en blocs, caractérisé en ce que ledit procédé comprend : l'obtention (70) desdits vecteurs de mouvement à partir des informations codées dans le flux; lorsqu'au moins un vecteur de mouvement (MV) a été obtenu pour au moins un bloc, dit bloc courant, de l'image de texture, la compensation en mouvement (76) d'un bloc (BPc) de l'image de profondeur, co-localisé avec le bloc courant, à partir dudit au moins un vecteur de mouvement (MV) et d'au moins une image de profondeur de référence (PR) disponible, ladite image de profondeur de référence (PR) étant associée à une même vue que ladite image de texture de référence (TR).

Description

Procédé de construction d'une image de profondeur d'une vidéo multi-vues, procédé de décodage d'un flux de données représentatif d'une vidéo multi-vues, procédé de codage, dispositifs, système, équipement terminal, signal et programmes d'ordinateur correspondants
Domaine technique de l'invention
La présente invention se rapporte de manière générale au domaine du traitement d'images 3D, et plus précisément au décodage de séquences d'images multi-vues et, en particulier, à la construction d'une image de profondeur associée à une vue courante, à partir d'informations codées dans le flux de données et représentatives d'une image de texture de la même vue courante.
Art antérieur
Dans le domaine de la réalité virtuelle et de la vidéo immersive, la navigation libre permet au spectateur de regarder, à l'aide d'un dispositif de type Casque de Réalité Virtuelle, une scène de n’importe quel point de vue, que ce point de vue corresponde à un point de vue capturé par une caméra ou à un point de vue qui n’a pas été capturé par une caméra. Une telle vue qui n’a pas été capturée par la caméra est aussi appelée vue virtuelle ou vue intermédiaire car elle se situe entre des vues capturées par la caméra et doit être synthétisée pour la restitution de la scène au spectateur à partir des vues capturées.
Dans un contexte de vidéo immersive, c'est à dire où le spectateur a la sensation d'être immergé dans la scène, la scène est classiquement capturée par un ensemble de caméras, comme illustré par la figure 1. Ces caméras peuvent être de type 2D (caméras Ci, C2 ...CN, avec N entier non nul de la figure 1), c'est-à-dire que chacune d'entre elles capture une vue selon un point de vue, ou de type 360, c'est à dire qu'elles capturent toute la scène à 360 degrés autour de la caméra (caméra C360 de la figure 1), donc selon plusieurs points de vue différents. Les caméras peuvent être disposées en arc, en rectangle, ou toute autre configuration qui permet de bien couvrir la scène.
En relation avec la figure 2, on obtient, à un instant donné, un ensemble d'images représentant la scène selon différentes vues. Comme il s'agit de vidéos, un échantillonnage temporel des images capturées est réalisé (par exemple à 30 images par seconde), afin de produire une vidéo multi-vues originale, comme illustré par la figure 3.
L'information capturée par ces caméras est encodée dans un flux de données et transmise à un décodeur, qui va décoder tout ou partie de ces vues. Ensuite, une synthèse de vue est appliquée afin de synthétiser la vue demandée par l'utilisateur à un instant donné, en fonction de sa position et de son angle de vue de la scène. On connaît du document intitulé « An overview of free viewpoint Depth-lmage-BasedRendering (DIBR) », par Wenxiu SUN, Lingfeng XU, Oscar C. AU, Sung Him CHUI, Chun Wing, KWOK The Hong Kong University of Science and Technology, publié dans les Proceedings of the Second APSIPA Annual Summit and Conférence, pages 1023-1030, Biopolis, Singapore, qui s'est tenue les 14-17 Décembre 2010, disponible à l'adresse http://www.apsipa.org/proceedings_2010/pdf/APSIPA197.pdf, une technique de synthèse d'images appelée « Depth-Based Image Rendering » (DIBR).
Selon cette technique, on dispose de plusieurs vues de la scène, et chaque vue contient une composante de texture (c'est-à-dire l'image au sens classique) et une composante de profondeur (c'est-à-dire une carte de profondeur, pour laquelle l'intensité de chaque pixel est associée à la profondeur de la scène à cet endroit). Ainsi, on connaît à la fois la couleur en chaque endroit de la scène mais aussi la géométrie des objets. Depuis un point de vue, on connaît une géométrie partielle de la scène (on ne peut connaître la géométrie de ce qui est derrière un objet, c'est-à-dire les zones occluses), mais en multipliant les points de vue, il est possible d'obtenir une couverture presque totale de la géométrie de la scène. Lorsque le spectateur demande à voir la scène depuis un point de vue particulier, une projection des pixels d'une ou plusieurs vues est réalisée à l'aide de la composante de profondeur, éventuellement en recombinant les projections issues de plusieurs vues afin de résoudre les occlusions.
On connaît aussi des techniques d'estimation de la profondeur d'un pixel d'une image de texture à partir d'une ou plusieurs autres images de texture, telles que par exemple la technique DERS (pour « Depth Estimation Reference Software », en anglais), décrite notamment dans le document intitulé « Enhanced Depth Estimation Reference Software (DERS) for Free-viewpoint T elevision », par Stankiewicz et al., publié en octobre 2013, par l'ISO et disponible sur le lien suivant https://www.researchgate.net/publication/271851694_Enhanced_Depth_Estimation_Reference_Sof tware_DERS_for_Free-viewpoint_Television), la technique IVDE (pour « Immersive Video Depth Estimation », en anglais), décrite dans le document intitulé «Depth Map Refinement for Immersive Video », par D. Mieloch, publié le 11 janvier 2021 par IEEE et disponible sur le lien suivant : https://www.researchgate.net/publication/348408067_Depth_Map_Refinement_for_lmmersive_Vi deo), ou encore une technique basée sur une approche neuronale, comme GANet, décrite par exemple dans le document disponible sur le lien suivant :https://github.com/feihuzhang/GANet) ou enfin GWCNet décrite par exemple dans le document intitulé « Group-wise Corrélation Stéréo Network » par Guo et al., publié en mars 2019 et disponible sur le lien suivant : https://arxiv.org/pdf/1903.04025.pdf). Ces différentes techniques cherchent à estimer la disparité d'un pixel entre deux ou de multiples vues. La disparité est le déplacement du pixel dans l'image lorsque l'on change de vue. Lorsque l'on connaît la disparité d'un pixel et les paramètres de position, d'orientation et les caractéristiques des caméras qui ont capturé chacune de ces vues, on peut en déduire simplement la profondeur.
On connaît enfin de la norme MPEG-I partie 12, aussi appelée MIV (pour « MPEG Immersive Video », en anglais), décrite dans le document intitulé MPEG Immersive Video Coding Standard, par J. M. Boyce et al., publié par IEEE en février 2019 et disponible à l'adresse https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9374648, une technique de codage et de décodage d'une vidéo multi-vues. Cette norme décrit en particulier un profil de codage et de décodage appelé « Geometry Absent », selon lequel (Figure 4, où seules les vues à un instant T sont représentées), seules les composantes ou images de textures originales TO sont codées. Aucune information de profondeur n'est donc transmise dans le flux de données codées. Côté décodeur, une version décodée TD des images de textures est obtenue à partir des informations codées dans le flux de données. Les composantes de profondeur PEd'une ou plusieurs vues sont ensuite estimées à partir des images de textures décodées TD. De la sorte, les images de textures décodées et les images de profondeurs estimées sont disponibles pour une éventuelle synthèse DIBR ultérieure d'une vue V, pour répondre à la demande de l'utilisateur à l'instant T.
Le profil « Geometry Absent » de la norme MIV présente plusieurs avantages :
- la composante de profondeur n'est pas transmise, ce qui réduit la quantité de données à traiter (encodage, transmission et décodage) et permet d'économiser des ressources de calcul et de bande passante ;
- la composante de profondeur n'est pas capturée lors de l'acquisition de la vidéo multi-vues de la scène, donc il n'est pas nécessaire de recourir à des dispositifs spécifiques de détection et d'estimation de la distance comme des LIDAR (pour « Laser Imaging Détection And Ranging », en anglais), basée sur l’analyse des propriétés d’un faisceau de lumière renvoyé vers son émetteur. Toutefois, un inconvénient majeur de cette approche est qu'elle nécessite en contrepartie une estimation de cette composante de profondeur dans le dispositif de décodage. Or, cette estimation est très coûteuse en ressources de calculs, ce qui pose problème lorsque le dispositif de décodage est embarqué dans un terminal utilisateur plus léger et contraint en ressources que le dispositif d'encodage, tel qu'un téléphone intelligent (pour « smartphone », en anglais), un terminal vidéo (pour « Set-Top-Box », en anglais), un casque de réalité virtuelle (pour « Head Mounted Display », en anglais) ou plus généralement un objet connecté.
Il existe donc un besoin d'une solution moins complexe et plus économe en ressources de calculs. L'invention vient améliorer la situation.
Présentation de l’invention L'invention répond à ce besoin en proposant un procédé de construction d'une image de profondeur associée à une vue d'une vidéo multi-vues, dite vue courante, à partir d'un flux de données représentatif de ladite vidéo, ledit flux comprenant des informations représentatives des vecteurs de mouvement d'une image de texture associée à ladite vue courante par rapport à au moins une image de texture de référence, ladite image de texture ayant été découpée en blocs.
Ledit procédé comprend :
- l'obtention desdits vecteurs de mouvement à partir des informations codées dans le flux;
- lorsqu'au moins un vecteur de mouvement a été obtenu pour au moins un bloc, dit bloc courant de l'image de texture, la compensation en mouvement d'un bloc de l'image de profondeur, co-localisé avec le bloc courant, à partir dudit au moins un vecteur de mouvement et d'au moins une image de profondeur de référence disponible, ladite image de profondeur de référence étant associée à une même vue que ladite image de texture de référence.
L'invention propose une approche tout-à-fait nouvelle et inventive pour construire une image de profondeur d'une vue d'une vidéo multi-vues, lorsque celle-ci n'a pas été transmise dans le flux de données. Elle consiste à exploiter les vecteurs de mouvement transmis dans le flux pour l'image de texture associée à la même vue pour compenser en mouvement au moins une partie de cette image de profondeur à partir d'une image de profondeur de référence disponible (déjà décodée ou construite conformément au procédé de construction selon l'invention) et associée à la même vue que l'image de texture de référence.
Une telle compensation en mouvement est beaucoup moins complexe à mettre en oeuvre qu'une estimation de l'image de profondeur à partir des images de texture selon une des techniques de l'art antérieur précitées, telles que DERS, IVDE, GaNet etc. Les ressources du terminal récepteur sont donc préservées.
L'invention trouve une application particulière dans le cas du profil « Geometry Absent » défini par la norme de codage MIV, selon laquelle aucune information de profondeur n'est transmise dans le flux de données codées.
Avantageusement, lorsqu'aucun vecteur de mouvement n'a été décodé pour ledit au moins un bloc de l'image de texture, par exemple selon le mode de codage INTRA ou un autre mode de codage qui n'utilise pas de vecteur de mouvement, le procédé ne déclenche pas la mise en oeuvre de ladite compensation en mouvement dudit au moins un bloc et comprend l'estimation dudit au moins un bloc de l'image de profondeur à partir d'au moins une image de texture précédemment traitée.
Selon un aspect de l'invention, le procédé comprend l'obtention d'un indicateur de compensation de mouvement à partir d'une information codée dans le flux, ledit indicateur étant associé audit bloc de l'image de profondeur et le procédé comprend la décision de mettre en oeuvre ladite compensation de mouvement lorsque l'indicateur est positionné à une valeur prédéterminée.
Un avantage est qu'on peut décider côté codeur pour quels éléments de l'image de profondeur on autorise la reconstruction de l'image de profondeur par compensation de mouvement et transmettre cette décision par le biais de cet indicateur. Ce mode de réalisation s'applique avantageusement au cas où l'image de profondeur de la vue courante a été effectivement capturée coté codeur, puis utilisée pour évaluer un niveau de performance de la compensation en mouvement pour cette image, par exemple en comparant l'image de profondeur compensée en mouvement à l'image de profondeur réellement capturée. Une telle comparaison permet de calculer une erreur, par exemple une quantité d'énergie d'un résidu entre l'image de profondeur effectivement capturée et l'image de profondeur compensée en mouvement à partir des vecteurs de mouvement de l'image de texture associée à la vue courante. Dans ce cas, si l'erreur satisfait un critère d'erreur prédéterminé, par exemple si la quantité d'énergie calculée est inférieure à un seuil prédéterminé, l'indicateur est positionné à la valeur prédéterminée, par exemple égale à 1, sinon l'indicateur est positionné à une autre valeur, par exemple égale à 0.
De la sorte, la compensation en mouvement n'est mise en oeuvre pour tout ou partie de l'image de profondeur que lorsqu'elle est suffisamment performante en termes de qualité. Lorsque ce n'est pas le cas, une estimation classique de la ou des autres parties de l'image de profondeur, l'estimation classique prend le relais.
Selon un autre aspect de l'invention, le procédé comprend l'obtention d'un identifiant de l'image de texture de référence à partir d'une information codée dans le flux de données et l'obtention de l'image de profondeur de référence à partir dudit identifiant.
De la sorte, il est possible de retrouver l'image de profondeur de référence associée à la même vue que cette image de texture de référence pour la compensation en mouvement d'une image de profondeur associée à la vue courante.
L'invention concerne également un dispositif de construction d'une image de profondeur associée à une vue d'une vidéo multi-vues, dite vue courante, à partir d'un flux de données représentatif de ladite vidéo, ledit flux comprenant des informations codées représentatives des vecteurs de mouvement d'une image de texture associée à ladite vue courante par rapport à au moins une image de texture de référence, ladite image de texture ayant été découpée en blocs. Ledit dispositif est configuré pour mettre en oeuvre :
- l'obtention desdits vecteurs de mouvement à partir des informations codées dans le flux;
- lorsqu'au moins un vecteur de mouvement a été obtenu pour au moins un bloc, dit bloc courant de l'image de texture, la compensation en mouvement d'un bloc de l'image de profondeur, co-localisé avec le bloc courant à partir dudit au moins un vecteur de mouvement et d'au moins une image de profondeur de référence disponible, ladite image de profondeur de référence étant associée à une même vue que ladite image de texture de référence.
Avantageusement, ledit dispositif est configuré pour mettre en oeuvre les étapes du procédé de construction tel que décrit précédemment dans ses différents modes de réalisation. Le dispositif de construction présente en combinaison tout ou partie des caractéristiques exposées dans l'ensemble de ce document.
Corrélativement, l'invention concerne aussi un procédé de décodage d'un flux de données représentatif d'une vidéo multi-vues, ledit flux comprenant des informations codées représentatives de vecteurs de mouvement d'une image de texture d'une vue courante par rapport à une image de texture de référence, ladite image de texture ayant été découpée en blocs, ledit procédé comprenant :
- le décodage des informations codées représentatives des vecteurs de mouvement d'une image de texture associée à ladite vue courante ; et
- la transmission desdites informations à un dispositif de construction d'une image de profondeur associée à la vue courante , ledit dispositif étant configuré pour mettre en oeuvre:
- l'obtention desdits vecteurs de mouvement à partir desdites informations;
- lorsqu'au moins un vecteur de mouvement a été obtenu pour au moins un bloc, dit bloc courant de l'image de texture, la compensation en mouvement d'un bloc de l'image de profondeur, co-localisé avec le bloc courant, à partir dudit au moins un vecteur de mouvement et d'au moins une image de profondeur de référence disponible, ladite image de profondeur de référence étant associée à une même vue que ladite image de texture de référence.
Selon une variante, l'invention concerne un procédé de décodage d'un flux de données représentatif d'une vidéo multi-vues, ledit flux comprenant des informations codées représentatives de vecteurs de mouvement d'une image de texture d'une vue courante par rapport à une image de texture de référence, ladite image de texture ayant été découpée en blocs, ledit procédé comprenant:
- le décodage des informations codées représentatives des vecteurs de mouvement d'une image de texture associée à ladite vue courante ; et
- la construction d'au moins un bloc d'une image de profondeur associée à la vue courante au moins à partir des vecteurs de mouvements décodés selon le procédé de construction précité. Avantageusement, le procédé de décodage comprend les caractéristiques du procédé de construction précité.
Selon un autre aspect, le procédé de décodage comprend en outre le décodage d'une information codée représentative d'un indicateur de compensation de mouvement dudit au moins un bloc de ladite image de profondeur, ladite construction étant mise en oeuvre pour ledit bloc lorsque l'indicateur est positionné à une valeur prédéterminée. L'invention concerne également un dispositif de décodage d'un flux de données représentatif d'une vidéo multi-vues, ledit flux comprenant vue courante par rapport à une image de texture de référence, ladite image de texture ayant été découpée en blocs, ledit dispositif étant configuré pour mettre en oeuvre:
- le décodage des informations codées représentatives des vecteurs de mouvement d'une image de texture associée à ladite vue courante ; et
- la transmission desdites informations au dispositif de construction d'une image de profondeur associée à la vue courante précité.
Avantageusement, ledit dispositif est configuré pour mettre en oeuvre les étapes du procédé de décodage tel que décrit précédemment dans ses différents modes de réalisation.
Selon une variante, le dispositif de construction est lui-même intégré au dispositif de décodage. Avantageusement, les dispositifs de construction et de décodage précités sont intégrés à un système de navigation libre dans une vidéo multi-vues d'une scène. Selon l'invention, ledit système comprend en outre un module de synthèse d'une vue selon un point de vue choisi par un utilisateur à partir des images de texture décodées et des images de profondeur construites.
Avantageusement, le système de navigation libre précité est intégré à un équipement terminal configuré pour recevoir un flux de données codées représentatif d'une vidéo multi-vues. L'équipement terminal et le système de navigation libre présentent au moins les mêmes avantages que ceux conférés par les procédés de construction et de décodage précités.
Corrélativement, l'invention concerne aussi un procédé de codage d'un flux de données représentatif d'une vidéo multi-vues et comprenant :
- la détermination de vecteurs de mouvement d'une image de texture associée à une vue de la vidéo multi-vues, dite vue courante, par rapport à une image de texture de référence, ladite image de texture ayant été découpée en blocs ;
- le codage des vecteurs de mouvement dans le flux de données ;
- l'obtention d'une image de profondeur associée à ladite vue courante, capturée par une caméra de profondeur, dite image de profondeur capturée ;
- lorsqu'au moins un vecteur de mouvement a été obtenu pour au moins un bloc de l'image de texture, la compensation en mouvement d'au moins un bloc d'une image de profondeur associée à la vue courante, dite image de profondeur construite, ledit bloc étant co-localisé avec ledit bloc de l'image de texture, à partir dudit au moins un vecteur de mouvement et d'au moins une image de profondeur de référence disponible, ladite image de profondeur de référence étant associée à la même vue que ladite image de texture de référence ;
- l'évaluation d'un bloc compensé en mouvement de ladite image de profondeur reconstruite par comparaison avec le bloc co-localisé de l'image de profondeur capturée, une erreur de compensation étant obtenue ; et
- le codage d'une information représentative d'un indicateur de compensation de mouvement dudit au moins un bloc de ladite image de profondeur en fonction d'un critère d'erreur prédéterminé, ledit indicateur étant positionné à une valeur prédéterminée lorsque le critère d'erreur est satisfait. L'invention concerne aussi un dispositif de codage d'un flux de données représentatif d'une vidéo multi-vues et configuré pour mettre en oeuvre :
- la détermination de vecteurs de mouvement d'une image de texture associée à une vue de la vidéo multi-vues, dite vue courante, par rapport à une image de texture de référence, ladite image de texture ayant été découpée en blocs ;
- le codage des vecteurs de mouvement dans le flux de données;
- l'obtention d'une image de profondeur associée à ladite vue courante, capturée par une caméra de profondeur, dite image de profondeur capturée ;
- lorsqu'au moins un vecteur de mouvement a été obtenu pour au moins un bloc de l'image de texture, la compensation en mouvement d'au moins un bloc d'une image de profondeur associée à la vue courante, dite image de profondeur construite, ledit bloc étant co-localisé avec ledit bloc de l'image de texture, à partir dudit au moins un vecteur de mouvement et d'au moins une image de profondeur de référence disponible, ladite image de profondeur de référence étant associée à la même vue que ladite image de texture de référence ;
- l'évaluation d'un bloc compensé en mouvement de ladite image de profondeur reconstruite par comparaison avec le bloc co-localisé de l'image de profondeur capturée, une erreur de compensation étant obtenue ; et
- le codage d'une information représentative d'un indicateur de compensation de mouvement dudit au moins un bloc de ladite image de profondeur en fonction d'un critère d'erreur prédéterminé, ledit indicateur étant positionné à une valeur prédéterminée lorsque le critère d'erreur est satisfait. Avantageusement, ledit dispositif est configuré pour mettre en oeuvre les étapes du procédé de codage tel que décrit précédemment dans ses différents modes de réalisation.
Corrélativement, l'invention concerne aussi un signal porteur d'un flux de données codées représentatif d'une vidéo multi-vues, ledit flux comprenant des données codées représentatives de vecteurs de mouvement d'une image de texture d'une vue courante par rapport à une image de texture de référence, ladite image de texture ayant été découpée en blocs. Selon l'invention, ledit flux comprend des données codées représentatives d'un indicateur de compensation de mouvement, ledit indicateur étant associé audit au moins un bloc d'une image de profondeur associée à ladite vue courante et ledit indicateur est destiné, lorsqu'il est positionné à une valeur prédéterminée, à être utilisé pour mettre en oeuvre une compensation de mouvement dudit bloc de l'image de profondeur, à partir d'au moins un vecteur de mouvement décodé et d'au moins une image de profondeur de référence disponible, ladite image de profondeur de référence étant associée à la même vue que ladite image de texture de référence.
L'invention concerne également des produits programme d’ordinateur comprenant des instructions de code de programme pour la mise en oeuvre des procédés tels que décrits précédemment, lorsqu'ils sont exécutés par un processeur.
Un programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable.
L'invention vise également un support d'enregistrement lisible par un ordinateur sur lequel sont enregistré des programmes d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes des procédés selon l'invention tel que décrits ci-dessus.
Un tel support d’enregistrement peut être n’importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu’une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d’enregistrement magnétique, par exemple un support mobile (carte mémoire) ou un disque dur ou un SSD.
D’autre part, un tel support d’enregistrement peut être un support transmissible tel qu’un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d’autres moyens, de sorte que le programme d'ordinateur qu'il contient est exécutable à distance. Le programme selon l’invention peut être en particulier téléchargé sur un réseau par exemple le réseau Internet.
Alternativement, le support d’enregistrement peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l’exécution des procédés de construction, de codage et/ou de décodage précités.
Selon un exemple de réalisation, la présente technique est mise en oeuvre au moyen de composants logiciels et/ou matériels. Dans cette optique, le terme "module" peut correspondre dans ce document aussi bien à un composant logiciel, qu’à un composant matériel ou à un ensemble de composants matériels et logiciels.
Un composant logiciel correspond à un ou plusieurs programmes d’ordinateur, un ou plusieurs sous- programmes d’un programme, ou de manière plus générale à tout élément d’un programme ou d’un logiciel apte à mettre en oeuvre une fonction ou un ensemble de fonctions, selon ce qui est décrit ci- dessous pour le module concerné. Un tel composant logiciel est exécuté par un processeur de données d’une entité physique (terminal, serveur, passerelle, set-top-box, routeur, etc.) et est susceptible d’accéder aux ressources matérielles de cette entité physique (mémoires, supports d’enregistrement, bus de communication, cartes électroniques d'entrées/sorties, interfaces utilisateur, etc.). Par la suite, on entend par ressources tous ensembles d'éléments matériels et/ou logiciels support d'une fonction ou d'un service, qu'ils soient unitaires ou combinés.
De la même manière, un composant matériel correspond à tout élément d’un ensemble matériel (ou hardware) apte à mettre en oeuvre une fonction ou un ensemble de fonctions, selon ce qui est décrit ci-dessous pour le module concerné. Il peut s'agir d'un composant matériel programmable ou avec processeur intégré pour l'exécution de logiciel, par exemple un circuit intégré, une carte à puce, une carte à mémoire, une carte électronique pour l'exécution d'un micrologiciel (« firmware » en anglais), etc.
Chaque composante du système précédemment décrit met bien entendu en oeuvre ses propres modules logiciels.
Les différents modes de réalisation mentionnés ci-dessus sont combinables entre eux pour la mise en oeuvre de la présente technique.
Brève description des figures
D'autres buts, caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante, donnée à titre de simple exemple illustratif, et non limitatif, en relation avec les figures, parmi lesquelles :
Figure 1 : présente un exemple d'agencement d'une pluralité de caméras formant un système d'acquisition d'une vidéo multi-vues d'une scène, selon l'art antérieur ;
Figure 2 : illustre de façon schématique une pluralité d'images de la scène, capturées par la pluralité de caméras à un instant donné, selon l'art antérieur ;
Figure 3 : illustre de façon schématique une séquence de la pluralité d'images, capturées par la pluralité de caméras à plusieurs instants successifs, formant la vidéo multi-vues originale, selon l'art antérieur ;
Figure 4 : illustre de façon schématique un exemple de traitement d'un flux de données codées représentatif d'une vidéo multi-vues par un équipement terminal selon l'art antérieur ;
Figure 5 : illustre de façon schématique un exemple d'architecture d'un équipement terminal comprenant un système de navigation libre dans une vidéo multi-vues comprenant un dispositif de décodage d'un flux de données codées représentatif d'une vidéo multi-vues et un dispositif de construction d'une image de profondeur associée à une vue de ladite vidéo selon un mode de réalisation de l'invention ;
Figure 6 : décrit sous forme d'un logigramme les étapes d'un procédé de décodage d'un flux de données codées représentatif d'une vidéo multi-vues, selon un exemple de réalisation de l'invention ; Figure 7 : décrit sous forme d'un logigramme les étapes d'un procédé de construction d'une image de profondeur d'une vue d'une vidéo multi-vues selon un mode de réalisation de l'invention ;
Figure 8 : décrit sous forme d'un logigramme les étapes d'un procédé de codage d'un flux de données codées représentatif d'une vidéo multi-vues selon un mode de réalisation de l'invention ; Figure 9 : détaille un exemple de mise en oeuvre des procédés précités selon un mode de réalisation de l'invention ;
Figure 10 : décrit un exemple de structure matérielle d'un dispositif de construction d'une image de profondeur selon l'invention ;
Figure 11 : décrit un exemple de structure matérielle d'un dispositif de décodage d'une vidéo multi- vues selon l'invention ; et
Figure 12 : décrit un exemple de structure matérielle d'un dispositif de codage d'une vidéo multi- vues selon l'invention.
Description détaillée de l'invention
Le principe de l'invention repose sur le décodage de vecteurs de mouvement d'une image de texture associée à une vue courante d'une vidéo multi-vues par rapport à une image de texture de référence et sur la construction d'au moins un bloc d'une image de profondeur associée à ladite vue courante, par compensation en mouvement de ce bloc à partir du vecteur de mouvement décodé pour un bloc co-localisé de l'image de texture et d'une image de profondeur de référence disponible (décodée classiquement ou construite selon l'invention), ladite image de profondeur de référence étant associée à une même vue que ladite image de texture de référence.
L'invention trouve une application particulière dans un système de navigation libre au sein d'une vidéo multi-vues, par exemple embarqué dans un équipement terminal, par exemple de type téléphone mobile ou casque de réalité virtuelle. En effet, dans un tel système, les images de profondeur associées aux vues sont utilisées en association avec les images de textures décodées pour synthétiser la vue souhaitée par l'utilisateur.
En relation avec la Figure 5, on présente un exemple l'architecture d'un équipement terminal UE, UE' comprenant un casque de réalité virtuelle HMD selon un mode de réalisation de l'invention. Un tel équipement terminal est configuré pour recevoir et traiter un flux de données FD codées représentatif d'une vidéo multi-vues d'une scène ainsi que pour afficher sur un dispositif d'affichage DISP, par exemple l'écran du casque HMD, n'importe quelle vue de la scène choisie par l'utilisateur UT.
Pour ce faire, l'équipement terminal UE, UE' intègre un système S, S'de navigation libre dans la vidéo multi-vues de la scène selon l'invention. Selon un premier exemple, l'équipement terminal UE comprend un dispositif 100 de construction d'une image de profondeur associée à la vue courante, un dispositif 200, 200' de décodage d'un flux de données codées représentatif de la vidéo multi-vues et un module de synthèse SYNT d'une vue choisie par l'utilisateur. Le dispositif 100 est configuré pour obtenir du flux de données FDdes vecteurs de mouvement d'une image de texture associée à la vue courante par rapport à au moins une image de texture de référence, et pour compenser en mouvement au moins un bloc de l'image de profondeur à partir d'au moins un vecteur de mouvement décodé et d'au moins une image de profondeur de référence déjà construite, ladite image de profondeur de référence étant associée à une même vue que ladite image de texture de référence.
Le dispositif 100 met ainsi en oeuvre le procédé de construction d'une image de profondeur selon l'invention qui sera détaillé ci-après en relation avec la figure 7.
Le dispositif 200, 200' de décodage du flux de données codées FD représentatif de la vidéo multi-vues est configuré pour décoder des informations codées représentatives des vecteurs de mouvement de l'image de texture associée à ladite vue courante et pour transmettre au moins lesdites informations décodées au dispositif de construction 100 précité.
Le dispositif 200, 200' met ainsi en oeuvre le procédé de décodage d'un flux de données codées représentatif d'une vidéo multi-vues selon l'invention qui sera détaillé en relation avec la figure 6.
Le flux de données FD a été codé par un dispositif de codage 300, par exemple intégré à un équipement serveur ES distant qui l'a transmis par l'intermédiaire de son module d'émission- réception E/R à celui de l'équipement terminal UE ou UE' par l'intermédiaire d'un réseau de communication RC.
Le module de synthèse SYNT est configuré pour générer la vue choisie par l'utilisateur à partir des images de texture décodées et des images de profondeur construites, lorsque celle-ci ne correspond à aucune des vues de la vidéo multi-vues transmise dans le flux de données FD.
Selon un deuxième exemple de réalisation de l'invention, on considère l'équipement terminal UE' qui intègre un système de navigation libre S' dans la vidéo multi-vues comprenant le dispositif 200' de décodage d'un flux de données codées et un module de synthèse SYNT. Selon cette variante, le dispositif 200' intègre le dispositif 100 précité.
Selon un exemple de réalisation de l'invention, le dispositif de codage 300 est configuré pour coder des informations représentatives de vecteurs de mouvement d'une image de texture d'une vue courante par rapport à une image de texture de référence, obtenir une image de profondeur associée à ladite vue courante, capturée par une caméra de profondeur, dite image de profondeur capturée, compenser en mouvement au moins un bloc d'une image de profondeur associée à la vue courante, dite image de profondeur construite, à partir d'au moins un vecteur de mouvement décodé et au moins une image de profondeur de référence déjà construite, ladite image de profondeur de référence étant associée à la même vue que ladite image de texture de référence, évaluer ladite image de profondeur construite par comparaison avec l'image de profondeur capturée, une erreur de compensation étant obtenue ; et coder une information représentative d'un indicateur de compensation de mouvement dudit au moins un élément de ladite image de profondeur en fonction d'un critère d'erreur prédéterminé, ledit indicateur étant positionné à une première valeur lorsque le critère d'erreur est satisfait.
Le dispositif 300 met ainsi en oeuvre le procédé de codage selon l'invention qui sera détaillé ci-après en relation avec la figure 8.
Dans la suite, on considère un flux de données codées FD représentatif d'une vidéo multi-vues VMV, reçu par l'équipement terminal UE de la figure 5.
Dans la suite, on désigne de façon classique une image par un tableau de pixels, généralement rectangulaire. Une telle image peut associer à chaque pixel du tableau une valeur de texture ou une valeur de profondeur.
On désigne par vue, la ou les images acquises par une caméra selon un point de vue particulier de la scène. Une vue peut être représentée par une image de texture et/ou une image de profondeur, qui forment les composantes de cette vue.
Dans la suite, on se place dans le cas d'une vidéo multi-vues d'une scène SC acquise par un ensemble de caméras tel que celui de la figure 1. On considère un encodeur vidéo classique, conforme à une norme de codage, telle que HEVC par exemple, et configuré pour produire un flux de données codées FD représentatif de la vidéo multi-vues. En particulier, on suppose que cet encodage est réalisé selon le profil de type « Geometry Absent » précité. Autrement dit, seule la composante de texture TO de chaque vue V de la vidéo multi-vues est encodée dans le flux de données FD. Pour le codage, la composante de texture TO est classiquement découpée en blocs de pixels, par exemple de dimensions 16x16, 8x8, 4x4 ou autre et le codage est réalisé bloc par bloc, de façon classique. Bien sûr, l'invention n'est pas limitée à ce cas particulier et s'applique aussi à un autre découpage ou à un codage par pixel.
Lors de ce codage, l'encodeur choisit de façon connue en soi pour chaque bloc d'une image de texture courante, s'il va être codé selon un mode dit INTER, c'est-à-dire par compensation de mouvement (auquel cas une image de référence et au moins un vecteur de mouvement sont signalés dans le flux de données codés) ou selon un mode dit INTRA ou tout autre mode qui ne comporte pas de vecteur de mouvement.
Pour chaque bloc de l'image de texture courante, le ou les vecteurs de mouvement sont codés dans le flux de données FD ainsi qu'un identifiant de l'image de texture de référence ID_TR. On se place maintenant au niveau d'un équipement terminal UE, UE' et d'un dispositif 200, 200' de décodage d'un flux de données codées FD reçu par cet équipement terminal.
On présente désormais, en relation avec la figure 6, sous une forme de logigramme, un exemple de mise en oeuvre d'un procédé de décodage du flux de données FD selon un mode de réalisation de l'invention. Avantageusement, ce procédé est mis en oeuvre par le dispositif 200 ou 200' précité.
On considère une vue courante Vc et un bloc courant Bc de l'image de texture TOc associée à cette vue Vc.
Pour chaque bloc Bc, un décodage par exemple de type FIEVC est effectué. Il comprend en 60 la lecture et le décodage d'éléments de syntaxe compris dans les informations du flux FD. Classiquement, ces éléments de syntaxe comprennent un mode de prédiction MP utilisé pour le bloc courant Bc. Ce mode peut être de type INTER, INTRA ou autre. A partir de cette information de mode de prédiction, on déduit si un vecteur de mouvement MV est codé dans le flux FD.
On suppose par exemple que le mode de prédiction MP est de type INTER. En 61, le vecteur de mouvement MV associé au bloc courant Bc est décodé. Ce vecteur de mouvement est représentatif d'un mouvement de l'image de texture TOc courante par rapport à une image de référence TR.
En 62, une information représentative d'un identifiant ID_TR de cette image de texture de référence est décodée.
Avantageusement, ces informations de vecteur de mouvement MV et d'identifiant d'image de texture de référence sont stockées dans une mémoire M2 puis transmises en 64 au dispositif 100 de construction d'une image de profondeur associée à la vue courante Vc selon l'invention. Ce dispositif 100 peut être intégré ou non au dispositif de décodage 200, 200', comme illustré par la figure 5 déjà décrite.
Optionnellement, un indicateur Fcm de compensation de mouvement est décodé en 63. Il peut prendre au moins une première valeur VI par exemple égale à 1 pour indiquer qu'une compensation en mouvement de l'image de profondeur Pc est à mettre en oeuvre ou une deuxième valeur V2 par exemple égale à zéro pour indiquer au contraire qu'il ne faut pas mettre en oeuvre de compensation de mouvement. Cet indicateur, lorsqu'il est décodé, est ensuite transmis en 64 au dispositif 100 selon l'invention.
On présente maintenant, en relation avec la figure 7, sous une forme de logigramme, un exemple de mise en oeuvre d'un procédé de construction d'une image de profondeur d'une vue courante selon un mode de réalisation de l'invention. Avantageusement, ce procédé est mis en oeuvre par le dispositif 100 précité.
Comme aucune information de profondeur n'a été transmise dans le flux de données FD pour la vue courante Vc, il s'agit de la construire. On décrit le procédé selon l'invention pour le bloc courant : En 70, le vecteur de mouvement MV du bloc courant Bc est obtenu. Par exemple, il est reçu du dispositif de décodage 200 ou 200'. En 71, l'identifiant ID_TRde l'image de texture de référence utilisée pour estimer ledit vecteur de mouvement MV est obtenu. Par exemple, il est reçu du dispositif de décodage 200 ou 200'. Cette image de texture de référence est associée à une vue VR. Optionnellement, en 72, un indicateur Fcm de compensation de mouvement est obtenu et stocké en mémoire Ml. Par exemple, il est codé dans le flux FD et reçu du dispositif de décodage 200 ou 200'. Il est positionné à une première valeur prédéterminée, par exemple égale à 1, pour indiquer que le bloc de profondeur BPc co-localisé avec le bloc de texture courant Bc doit être compensé en mouvement et à une deuxième valeur prédéterminée, par exemple égale à 0, pour indiquer au contraire que le bloc de profondeur BPc ne doit pas être compensé en mouvement.
Optionnellement, en 73, un champ d'information Mij est renseigné en fonction des informations précédemment obtenues. Il est par exemple positionné à 1 lorsqu'un vecteur de mouvement MV a été obtenu pour le bloc courant et lorsque l'indicateur Fcm est reçu avec la première valeur prédéterminée.
En 74, on décide en fonction des informations reçues si le bloc de profondeur courant BPc est compensé en mouvement. Une telle décision est prise sur la base de l'obtention ou non d'un vecteur de mouvement MV pour le bloc de texture courant Bc ou lorsque l'indicateur Fcm a été reçu, sur la base de la valeur de l'indicateur Fcm ou encore, dans le mode de réalisation où le champ d'informations Mij est utilisé, sur la base de la valeur de Mij.
En 75, une image de profondeur de référence PR est obtenue à partir de l'identifiant ID_TR. Il s'agit d'une image de profondeur précédemment construite par le dispositif 100 selon l'invention et en particulier celle qui est associée à la même vue VR que l'image de texture de référence TR.
En 76, on construit le bloc BPc courant de l'image de profondeur Pc par compensation en mouvement CM du bloc de l'image de profondeur de référence PR pointé par le vecteur de mouvement MV.
Les étapes qui viennent d'être décrites sont répétées pour les blocs suivants de l'image de profondeur, et ce jusqu'au dernier.
A cet égard, on note que deux modes de fonctionnement sont possibles. Selon un premier mode, dit au fil de l'eau, le dispositif 100 construit l'image de profondeur Pc de la vue courante Vc bloc par bloc, au fur et à mesure qu'il obtient les informations décodées du flux de données FD de la part du dispositif 200 ou 200'. Selon un deuxième mode de réalisation de l'invention, il attend d'avoir reçu toutes les informations décodées pour construire l'image de profondeur courante P. En relation avec la figure 8, on présente maintenant, sous une forme de logigramme, un exemple de mise en oeuvre d'un procédé de codage d'une image de profondeur d'une vue courante selon un mode de réalisation de l'invention. Avantageusement, ce procédé est mis en oeuvre par le dispositif 300 précité.
Selon ce mode de réalisation de l'invention, on suppose que les images de profondeurs originales PO des vues de la vidéo multi-vues ont été capturées, mais qu'elles ne sont pas codées dans le flux de données FD.
On considère en particulier une vue courante Vc et le codage de son image de texture originale TOc à un instant donné t.
Comme précédemment, on suppose que cette image est découpée en blocs et que les blocs de l'image sont balayés selon un ordre de balayage prédéterminé, par exemple un mode dit zigzag (qui correspond à l'ordre lexicographique).
On détaille le codage du bloc courant Bc de l'image de texture TOc associée à la vue courante Vc.
En 80, on détermine le mode de prédiction MP à utiliser pour ce bloc courant. Autrement dit, le dispositif d'encodage choisit si le bloc courant de l'image va être codé en mode INTER, par compensation de mouvement (auquel cas une image de texture de référence TR et un vecteur de mouvement MV sont signalés dans le flux de données codées FD) ou en mode intra ou tout autre mode qui ne comporte pas de vecteur de mouvement.
On suppose dans la suite que le mode de prédiction MP choisi pour le bloc courant Bc est un mode pour lequel un vecteur de mouvement MV est calculé.
En 81, le vecteur de mouvement MV du bloc courant est calculé par rapport à une image de texture de référence TR. Elle est associée à une vue VR. En 81, le vecteur de mouvement est codé et l'information codée obtenue est insérée dans un flux de données codées FD.
En 82, une image de profondeur originale POc est capturée par une caméra de profondeur associée à la caméra agencée pour capturer l'image de texture TOc de la vue courante Vc.
En 83, une image de profondeur précédemment construite, dite image de profondeur de référence PR, et associée à la même vue VR que l'image de texture de référence TR est obtenue, par exemple d'une mémoire M3.
En 84, un bloc BPc correspondant au bloc courant Bc dans une image de profondeur Pc associée à la vue courante Vc est construit par compensation en mouvement du bloc de l'image de profondeur de référence PR pointé par le vecteur de mouvement MV.
Autrement dit, selon ce mode de réalisation de l'invention, si le bloc courant de texture est codé par compensation de mouvement, le dispositif de codage effectue une compensation de mouvement identique du bloc de profondeur co-localisé dans l'image de profondeur associée à la même vue Vc. Ainsi, si le bloc de texture courant BTOc, de cordonnées (i,j) dans l'image de texture TOc à l'instant t est compensé en mouvement par un bloc de l'image de référence TR à l'instant t', avec un vecteur de mouvement de composantes (MVx,MVy), alors le dispositif de codage effectue en 84 une compensation en mouvement du bloc de profondeur BPc, de cordonnées (i,j) de l'image de profondeur courante Pc à l'aide du bloc de profondeur BPRde l'image de profondeur PR associée à l'image de texture de référence TOR à l'instant t', avec le vecteur de mouvement de composantes (MVx,MVy). De la sorte, on applique la même compensation de mouvement au bloc de profondeur courant BPc qu'au bloc de texture co-localisé associé à la même vue courante Vc et on obtient ainsi un bloc de profondeur compensé.
En 85, le bloc BPc compensé est évalué par comparaison avec le bloc co-localisé en i,j de l'image de profondeur originale POc. Par exemple, une quantité d'énergie d'un résidu entre l'image de profondeur POc effectivement capturée et l'image de profondeur compensée en mouvement PCc est calculée.
En 86, un indicateur Fcm de compensation de mouvement est déterminé en fonction d'un positionnement de cette quantité d'énergie par rapport à un seuil prédéterminé. Avantageusement, si elle est inférieure au seuil, l'indicateur est positionné à la première valeur, par exemple égale à 1, pour indiquer que le bloc courant est compensé en mouvement pour sa composante de profondeur. Sinon l'indicateur est positionné à une deuxième valeur, par exemple égale à 0, ce qui signifie que le bloc courant n'est pas compensé en mouvement pour sa composante de profondeur. L'indicateur Fcm est ensuite codé dans le flux FD.
On note que l'indicateur de profondeur Fcm n'est pas transmis pour un bloc de profondeur associé à un bloc de texture qui n'a pas de vecteur de mouvement (par exemple, parce qu'il est codé selon le mode intra).
Les étapes qui viennent d'être décrites sont répétées pour chacun des blocs de l'image de texture de la vue courante.
Une fois encodé, le flux de données FD obtenu est par exemple stocké en mémoire M3 ou transmis dans un signal à un ou plusieurs équipements terminaux par l'intermédiaire du réseau de communication RC.
On détaille maintenant, en relation avec la figure 9 un exemple de décodage d'un flux de données représentatif d'une vidéo multi-vues et de construction d'une image de profondeur Pc d'une vue courante Vc de cette vidéo selon un mode de réalisation de l'invention.
Un flux de données FD est obtenu. Par exemple, il est reçu par le dispositif de décodage 200 par l'intermédiaire du réseau de communication RC. On suppose que l'image de profondeur associée à la même vue courante Vc n'est pas codée dans le flux FD. On détaille d'abord le bloc DEC de décodage de l'image de texture courante Te et d'informations relatives au traitement de l'image de profondeur courante Pc. On considère que l'image de texture courante Te est par exemple découpée en blocs. Les blocs de cette image sont traités selon un ordre de traitement prédéterminé, par exemple en mode zigzag, qui correspond à l'ordre lexicographique. Pour un bloc courant Bc de l'image de texture courante TOc, les informations codées dans le flux de données FD sont lues en 60-63. En particulier, le mode de prédiction MP de ce bloc, le cas échéant le vecteur de mouvement MV et un identifiant ID_TR de l'image de texture de référence sont obtenus. Selon un mode de réalisation de l'invention, un indicateur Fcm de compensation de mouvement du bloc co-localisé dans l'image de profondeur Pc est lu.
Le bloc courant Bc de l'image de texture courante Te est décodé.
On considère maintenant le bloc CNST de construction du bloc co-localisé de l'image de profondeur courante Pc.
Selon un premier cas, en 70, un vecteur de mouvement MV du bloc de texture courant est obtenu, ainsi qu'en 71, un identifiant ID_TR de l'image de texture de référence. En 74, un champ d'information Mij est renseigné à une première valeur indiquant que le bloc de profondeur courant doit être compensé en mouvement. Le vecteur de mouvement et l'identifiant de l'image de texture de référence sont stockés en mémoire.
Selon un deuxième cas, aucun vecteur de mouvement MV du bloc de texture courant n'est obtenu, ni d'identifiant d'image de texture de référence. En 74, le champ d'information Mij est renseigné à une deuxième valeur indiquant que le bloc de profondeur courant ne doit pas être compensé en mouvement.
Optionnellement un identifiant Fcm de compensation de mouvement est aussi obtenu en 72 et stocké en mémoire. Comme précédemment décrit, selon un mode de réalisation particulier, il a été avantageusement positionné par le dispositif d'encodage selon l'invention à une première ou une deuxième valeur, en fonction d'un critère de performance de la compensation de mouvement du bloc de profondeur évalué par rapport à une image de profondeur originale capturée par une caméra de profondeur, mais non transmise.
En 73, une décision de mettre en oeuvre ou de ne pas mettre en oeuvre une compensation de mouvement du bloc de profondeur courant est prise en fonction des informations obtenues précédemment. On note que l'indicateur Fcm prévaut, c'est-à-dire que, lorsqu'il a été obtenu, la décision est prise en fonction de sa valeur. Autrement dit, si l'indicateur est positionné à la première valeur, il est décidé de compenser en mouvement le bloc de profondeur courant. Sinon, la décision dépend de la présence ou de l'absence de vecteur de mouvement pour le bloc de texture co-localisé associé à la vue courante. Lorsqu'il a été décidé de compenser le bloc de profondeur courant, une image de profondeur de référence PR est obtenue en 75 à partir de l'identifiant ID_TR de l'image de texture de référence. Il s'agit de l'image de profondeur associée à la même vue que l'image de texture de référence TR.
En 76, le bloc de profondeur courant BPc est compensé en mouvement selon une technique classique de compensation de mouvement, à partir du bloc de l'image de profondeur de référence co-localisé avec celui pointé par le vecteur de mouvement dans l'image de texture de référence TR. Lorsqu'au contraire il a été décidé de ne pas compenser en mouvement le bloc de profondeur courante BPc, une estimation classique est mise en oeuvre en 77 par exemple à l'aide d'une des techniques DERS, IVDE ou GANet citées précédemment.
Les opérations décrites sont répétées pour chacun des blocs de l'image de texture courante Te puis de l'image de profondeur courante Pc de la vue courante, puis la vue suivante est traitée, etc.
Les images de textures décodées TD et les images de profondeur construites PcNST Sont ensuite avantageusement exploitées par un module de synthèse pour générer, par exemple selon une technique de type DIBR, la vue choisie par l'utilisateur UT du système de restitution d'une vidéo multi-vues selon l'invention, par exemple en fonction de son point de vue de la scène.
On présente maintenant, en relation avec la figure 10, un exemple de structure matérielle d'un dispositif 100 de construction d'une image de profondeur d'une vue courante d'une vidéo multi- vues, comprenant au moins un module d'obtention de vecteurs de mouvement d'une image de texture associée à la vue courante, à partir d'un flux de données codées représentatif de la vidéo multi-vues, et un module de compensation en mouvement d'au moins un élément de ladite image de profondeur, configuré pour être mis en oeuvre lorsqu'au moins un vecteur de mouvement a été obtenu pour ledit au moins un élément.
Avantageusement, le dispositif 100 comprend en outre l'obtention d'un indicateur de compensation de mouvement à partir d'une information codée dans le flux, ledit indicateur étant associé audit au moins un élément de l'image de profondeur et un module de décision de mettre en oeuvre ladite compensation de mouvement lorsque l'indicateur est positionné à une première valeur. Avantageusement il comprend aussi un module d'obtention d'un identifiant de l'image de texture de référence et un module d'obtention de l'image de profondeur de référence PR à partir dudit identifiant.
Le terme « module » peut correspondre aussi bien à un composant logiciel qu'à un composant matériel ou un ensemble de composants matériels et logiciels, un composant logiciel correspondant lui-même à un ou plusieurs programmes ou sous-programmes d'ordinateur ou de manière plus générale à tout élément d'un programme apte à mettre en oeuvre une fonction ou un ensemble de fonctions. Plus généralement, un tel dispositif 100 comprend une mémoire vive 103 (par exemple une mémoire RAM), une unité de traitement 102 équipée par exemple d'un processeur, et pilotée par un programme d'ordinateur Pgl, représentatif des modules d'obtention, de décision et de compensation en mouvement, stocké dans une mémoire morte 101 (par exemple une mémoire ROM ou un disque dur). A l’initialisation, les instructions de code du programme d’ordinateur sont par exemple chargées dans la mémoire vive 103 avant d’être exécutées par le processeur de l’unité de traitement 102. La mémoire vive 103 peut aussi contenir le vecteur de mouvement, l'identifiant de l'image de texture de référence, l'indicateur de compensation en mouvement, etc.
La figure 10 illustre seulement une manière particulière, parmi plusieurs possibles, de réaliser le dispositif 100 afin qu'il effectue les étapes du procédé de construction d'une image de profondeur tel que détaillé ci-dessus, en relation avec les figures 7 et 9 dans ses différents modes de réalisation. En effet, ces étapes peuvent être réalisées indifféremment sur une machine de calcul reprogrammable (un ordinateur PC, un processeur DSP ou un microcontrôleur) exécutant un programme comprenant une séquence d'instructions, ou sur une machine de calcul dédiée (par exemple un ensemble de portes logiques comme un FPGA ou un ASIC, ou tout autre module matériel).
Dans le cas où le dispositif 100 est réalisé avec une machine de calcul reprogrammable, le programme correspondant (c'est-à-dire la séquence d'instructions) pourra être stocké dans un médium de stockage amovible (tel que par exemple une carte SD, une clé USB, un CD-ROM ou un DVD-ROM) ou non, ce médium de stockage étant lisible partiellement ou totalement par un ordinateur ou un processeur.
Les différents modes de réalisation ont été décrits ci-avant en relation avec un dispositif 100 intégré dans un équipement terminal, par exemple un téléphone mobile ou un casque de réalité virtuelle.
On présente aussi, en relation avec la figure 11, un exemple de structure matérielle d'un dispositif de décodage 200, 200' d'un flux de données codées selon l'invention, comprenant au moins un module de décodage d'informations codées représentatives des vecteurs de mouvement d'une image de texture associée à ladite vue courante, un module de transmission desdites informations à un dispositif 100 précité de construction d'une image de profondeur associée à la vue courante. Avantageusement, le dispositif 200, 200' comprend un module de décodage d'informations codées représentatives d'un identifiant d'une image de texture de référence associée aux vecteurs de mouvement et un module de décodage d'un indicateur de compensation en mouvement d'au moins un élément de l'image de profondeur.
En alternative, le module de transmission est remplacé par le dispositif 100 précité. Autrement dit, le dispositif 100 est intégré au dispositif 200' et connecté à son module de décodage. Le terme « module » peut correspondre aussi bien à un composant logiciel qu'à un composant matériel ou un ensemble de composants matériels et logiciels, un composant logiciel correspondant lui-même à un ou plusieurs programmes ou sous-programmes d'ordinateur ou de manière plus générale à tout élément d'un programme apte à mettre en oeuvre une fonction ou un ensemble de fonctions.
Plus généralement, un tel dispositif 200, 200' comprend une mémoire vive 203 (par exemple une mémoire RAM), une unité de traitement 202 équipée par exemple d’un processeur, et pilotée par un programme d’ordinateur Pg2, représentatif des modules de décodage et de transmission stocké dans une mémoire morte 201 (par exemple une mémoire ROM ou un disque dur). A l’initialisation, les instructions de code du programme d’ordinateur sont par exemple chargées dans la mémoire vive 203 avant d’être exécutées par le processeur de l’unité de traitement 202. La mémoire vive 203 peut aussi contenir les informations décodées.
La figure 11 illustre seulement une manière particulière, parmi plusieurs possibles, de réaliser le dispositif 200, 200' afin qu'il effectue les étapes du procédé de décodage tel que détaillé ci-dessus, en relation avec les figures 6 et 9 dans ses différents modes de réalisation. En effet, ces étapes peuvent être réalisées indifféremment sur une machine de calcul reprogrammable (un ordinateur PC, un processeur DSP ou un microcontrôleur) exécutant un programme comprenant une séquence d'instructions, ou sur une machine de calcul dédiée (par exemple un ensemble de portes logiques comme un FPGA ou un ASIC, ou tout autre module matériel).
Dans le cas où le dispositif 200, 200' est réalisé avec une machine de calcul reprogrammable, le programme correspondant (c'est-à-dire la séquence d'instructions) pourra être stocké dans un médium de stockage amovible (tel que par exemple une carte SD, une clé USB, un CD-ROM ou un DVD-ROM) ou non, ce médium de stockage étant lisible partiellement ou totalement par un ordinateur ou un processeur.
On présente enfin, en relation avec la figure 12, un exemple de structure matérielle d'un dispositif 300 de codage d'un flux de données représentatif d'une vidéo multi-vues, comprenant un module de détermination de vecteurs de mouvement d'une image de texture associée à une vue de la vidéo multi-vues, dite vue courante, par rapport à une image de texture de référence, un module de codage des vecteurs de mouvement dans le flux de données, un module d'obtention d'une image de profondeur associée à ladite vue courante, capturée par une caméra de profondeur, dite image de profondeur capturée, un module de compensation en mouvement d'au moins un bloc d'une image de profondeur associée à la vue courante, dite image de profondeur construite, configuré pour être mis en oeuvre lorsqu'au moins un vecteur de mouvement a été obtenu pour au moins un bloc de l'image de texture, ladite compensation en mouvement étant mise en oeuvre à partir dudit au moins un vecteur de mouvement et d'au moins une image de profondeur de référence disponible, ladite image de profondeur de référence étant associée à la même vue que ladite image de texture de référence ; un module d'évaluation d'un bloc compensé en mouvement de ladite image de profondeur reconstruite par comparaison avec le bloc co-localisé de l'image de profondeur capturée, une erreur de compensation étant obtenue et un module de codage d'une information représentative d'un indicateur de compensation de mouvement dudit au moins un bloc de ladite image de profondeur en fonction d'un critère d'erreur prédéterminé, ledit indicateur étant positionné à une valeur prédéterminée lorsque le critère d'erreur est satisfait.
Le terme « module » peut correspondre aussi bien à un composant logiciel qu'à un composant matériel ou un ensemble de composants matériels et logiciels, un composant logiciel correspondant lui-même à un ou plusieurs programmes ou sous-programmes d'ordinateur ou de manière plus générale à tout élément d'un programme apte à mettre en oeuvre une fonction ou un ensemble de fonctions.
Plus généralement, un tel dispositif 300 comprend une mémoire vive 303 (par exemple une mémoire RAM), une unité de traitement 302 équipée par exemple d’un processeur, et pilotée par un programme d’ordinateur Pg3, représentatif des modules de codage, compensation en mouvement, évaluation et codage, stocké dans une mémoire morte 301 (par exemple une mémoire ROM ou un disque dur). A l’initialisation, les instructions de code du programme d’ordinateur sont par exemple chargées dans la mémoire vive 303 avant d’être exécutées par le processeur de l’unité de traitement 302.
La figure 12 illustre seulement une manière particulière, parmi plusieurs possibles, de réaliser le dispositif 300 afin qu'il effectue les étapes du procédé de codage d'un flux de données représentatif d'une vidéo multi-vues tel que détaillé ci-dessus, en relation avec les figures 8 et 9 dans ses différents modes de réalisation. En effet, ces étapes peuvent être réalisées indifféremment sur une machine de calcul reprogrammable (un ordinateur PC, un processeur DSP ou un microcontrôleur) exécutant un programme comprenant une séquence d'instructions, ou sur une machine de calcul dédiée (par exemple un ensemble de portes logiques comme un FPGA ou un ASIC, ou tout autre module matériel).
Dans le cas où le dispositif 300 est réalisé avec une machine de calcul reprogrammable, le programme correspondant (c'est-à-dire la séquence d'instructions) pourra être stocké dans un médium de stockage amovible (tel que par exemple une carte SD, une clé USB, un CD-ROM ou un DVD-ROM) ou non, ce médium de stockage étant lisible partiellement ou totalement par un ordinateur ou un processeur.
L'invention qui vient d'être décrite dans ses différents modes de réalisation présente de nombreux avantages. En proposant une solution alternative aux techniques classiques d'estimation d'une image de profondeur à partir d'une ou plusieurs images de textures décodées, elle contribue à réduire la complexité du traitement d'un flux de données représentatif d'une vidéo multi-vues par un équipement terminal récepteur. Cet avantage est permis par le recours à une compensation en mouvement de l'image de profondeur d'une vue courante qui réutilise les vecteurs de mouvement transmis dans le flux de données pour l'image de texture correspondante, associée à la même vue.
De la sorte, les calculs sont considérablement simplifiés et les ressources du récepteur préservées, ce qui est particulièrement intéressant pour des équipements terminaux dits légers, comme un téléphone mobile ou un casque de réalité virtuelle, dont les ressources sont limitées.

Claims

REVENDICATIONS
1. Procédé de construction d'une image de profondeur (Pc) associée à une vue d'une vidéo multi- vues (VMV), dite vue courante (Vc), à partir d'un flux de données (FD) représentatif de ladite vidéo, ledit flux comprenant des informations représentatives des vecteurs de mouvement d'une image de texture (TOc) associée à ladite vue courante (Vc) par rapport à au moins une image de texture de référence (TR), ladite image de texture ayant été découpée en blocs, caractérisé en ce que ledit procédé comprend :
- l'obtention (70) desdits vecteurs de mouvement à partir des informations codées dans le flux;
- lorsqu'au moins un vecteur de mouvement (MV) a été obtenu pour au moins un bloc, dit bloc courant (Bc), de l'image de texture (TOc), la compensation en mouvement (76) d'un bloc (BPc) de l'image de profondeur, co-localisé avec le bloc courant (Bc), à partir dudit au moins un vecteur de mouvement (MV) et d'au moins une image de profondeur de référence (PR) disponible, ladite image de profondeur de référence (PR) étant associée à une même vue que ladite image de texture de référence (TR).
2. Procédé de construction selon la revendication précédente, caractérisé en ce qu'il comprend l'obtention (72) d'un indicateur de compensation de mouvement (Fcm) à partir d'une information codée dans le flux, ledit indicateur étant associé audit bloc (BPc) de l'image de profondeur et en ce que le procédé décide (74) de mettre en oeuvre ladite compensation de mouvement lorsque l'indicateur (Fcm) est positionné à une valeur prédéterminée.
3. Procédé de construction selon l'une des revendications précédentes, caractérisé en ce qu'il comprend l'obtention (71) d'un identifiant (ID_TR) de l'image de texture de référence par décodage d'une information codée dans le flux de données et l'obtention (75) de l'image de profondeur de référence (PR) à partir dudit identifiant.
4. Procédé de décodage d'un flux de données (FD) représentatif d'une vidéo multi-vues, ledit flux comprenant des informations codées représentatives de vecteurs de mouvement d'une image de texture d'une vue courante par rapport à une image de texture de référence, ladite image de texture ayant été découpée en blocs, caractérisé en ce qu'il comprend : le décodage (60) des informations codées représentatives des vecteurs de mouvement d'une image de texture associée à ladite vue courante ; et la construction d'au moins un bloc d'une image de profondeur (Pc) associée à la vue courante au moins à partir des vecteurs de mouvements décodés selon un procédé conforme à l'une quelconque des revendications 1 à 3.
5. Procédé de décodage d'un flux de données selon la revendication 4, caractérisé en ce qu'il comprend en outre le décodage (63) d'une information codée représentative d'un indicateur (Fcm) de compensation de mouvement dudit au moins un bloc de ladite image de profondeur, ladite construction étant mise en oeuvre pour ledit bloc (BPc) lorsque l'indicateur (Fcm) est positionné à une valeur prédéterminée.
6. Procédé de codage d'un flux de données (FD) représentatif d'une vidéo multi-vues (VMV), caractérisé en ce qu'il comprend: la détermination (80) de vecteurs de mouvement d'une image de texture (TOc) associée à une vue de la vidéo multi-vues, dite vue courante, par rapport à une image de texture de référence (TR), ladite image de texture ayant été découpée en blocs ; le codage (81) des vecteurs de mouvement dans le flux de données (FD) ; l'obtention (82) d'une image de profondeur associée à ladite vue courante, capturée par une caméra de profondeur, dite image de profondeur capturée (POc) ; la construction d'au moins un bloc compensé en mouvement (BCMP) d'une image de profondeur (P) associée à la vue courante, à partir d'au moins un vecteur de mouvement déterminé pour un au moins un bloc de l'image de texture co-localisé avec le bloc (BCMP), selon un procédé conforme à l'une quelconque des revendications 1 à 3 ; l'évaluation (85) du bloc (BCMP) compensé en mouvement de ladite image de profondeur - construite (P) par comparaison avec le bloc (BPc) co-localisé de l'image de profondeur capturée (POc), une erreur de compensation étant obtenue ; et le codage (86) d'une information représentative d'un indicateur (Fcm) de compensation de mouvement dudit au moins un bloc de ladite image de profondeur en fonction d'un critère d'erreur prédéterminé, ledit indicateur étant positionné à une valeur prédéterminée lorsque le critère d'erreur est satisfait.
7. Dispositif (100) de construction d'une image de profondeur (Pc) associée à une vue d'une vidéo multi-vues (VMV), dite vue courante (Vc), à partir d'un flux de données (FD) représentatif de ladite vidéo, ledit flux comprenant des informations codées représentatives des vecteurs de mouvement d'une image de texture (TOc) associée à ladite vue courante (Vc) par rapport à au moins une image de texture de référence (TR), ladite image de texture ayant été découpée en blocs, caractérisé en ce que ledit dispositif est configuré pour mettre en oeuvre : l'obtention (70) desdits vecteurs de mouvement par décodage des informations codées dans le flux ; lorsqu'au moins un vecteur de mouvement (MV) a été obtenu pour au moins un bloc, dit bloc courant (Bc), de l'image de texture (TOc), la compensation en mouvement (76) d'un bloc (BPc) de l'image de profondeur, co-localisé avec le bloc courant (Bc) à partir dudit au moins un vecteur de mouvement (MV) et d'au moins une image de profondeur de référence (PR) disponible, ladite image de profondeur de référence (PR) étant associée à une même vue que ladite image de texture de référence (TR).
8. Dispositif (200) de décodage d'un flux de données représentatif d'une vidéo multi-vues, ledit flux comprenant des informations codées représentatives de vecteurs de mouvement d'une image de texture d'une vue courante par rapport à une image de texture de référence, ladite image de texture ayant été découpée en blocs, caractérisé en ce qu'il est configuré pour mettre en oeuvre: le décodage des informations codées représentatives des vecteurs de mouvement d'une image de texture associée à ladite vue courante ; la transmission desdites informations à un dispositif (100) de construction d'une image de profondeur associée à la vue courante, ledit dispositif (100) étant conforme à la revendication 7.
9. Dispositif (200') de décodage d'un flux de données (FD) représentatif d'une vidéo multi-vues, ledit flux comprenant des informations codées représentatives de vecteurs de mouvement d'une image de texture d'une vue courante par rapport à une image de texture de référence, ladite image de texture ayant été découpée en blocs, caractérisé en ce qu'il est configuré pour mettre en oeuvre : le décodage (60) des informations codées représentatives des vecteurs de mouvement d'une image de texture associée à ladite vue courante ; et la construction d'au moins un bloc d'une image de profondeur (Pc) associée à la vue courante au moins à partir des vecteurs de mouvements décodés selon un dispositif (100) conforme à la revendication 7.
10. Dispositif (300) de codage d'un flux de données (FD) représentatif d'une vidéo multi-vues (VMV), caractérisé en ce qu'il est configuré pour mettre en oeuvre : la détermination de vecteurs de mouvement d'une image de texture (TOc) associée à une vue de la vidéo multi-vues, dite vue courante, par rapport à une image de texture de référence (TR), ladite image de texture ayant été découpée en blocs ; le codage des vecteurs de mouvement dans le flux de données (FD) ; l'obtention d'une image de profondeur associée à ladite vue courante, capturée par une caméra de profondeur, dite image de profondeur capturée (POc) ; la construction d'au moins un bloc compensé en mouvement (BCMP) d'une image de profondeur (P) associée à la vue courante, à partir du au moins un vecteur de mouvement déterminé pour un au moins un bloc de l'image de texture co-localisé avec le bloc (BCMP), par un dispositif (100) conforme à la revendication 7 ; l'évaluation du bloc (BCMP) compensé en mouvement de ladite image de profondeur construite par comparaison avec le bloc (BPc) co-localisé de l'image de profondeur capturée (POc), une erreur de compensation étant obtenue ; et le codage d'une information représentative d'un indicateur (Fcm) de compensation de mouvement dudit au moins un bloc de ladite image de profondeur en fonction d'un critère d'erreur prédéterminé, ledit indicateur étant positionné à une valeur prédéterminée lorsque le critère d'erreur est satisfait.
11. Système (S ; S') de navigation libre dans une vidéo multi-vues d'une scène, caractérisé en ce qu'il comprend un dispositif (200) de décodage de ladite vidéo selon la revendication 8 et un dispositif (100) de construction d'images de profondeur selon la revendication 7 ou un dispositif de décodage (200') selon la revendication 9, et un module (SYNT) de synthèse d'une vue selon un point de vue choisi par un utilisateur à partir des images de texture décodées et des images de profondeur construites.
12. Equipement terminal (UE, UE') configuré pour recevoir un flux de données codées (FD) représentatif d'une vidéo multi-vues, caractérisé en ce qu'il comprend un système de navigation libre (S, S') dans ladite vidéo multi-vues selon la revendication 11.
13. Signal porteur d'un flux de données codées (FD) représentatif d'une vidéo multi-vues, ledit flux comprenant des données codées représentatives de vecteurs de mouvement d'une image de texture d'une vue courante par rapport à une image de texture de référence, ladite image de texture étant découpée en blocs, caractérisé en ce que ledit flux comprend des données codées représentatives d'un indicateur de compensation de mouvement (Fcm) obtenu par un procédé de codage conforme à la revendication 6, ledit indicateur étant associé audit au moins un bloc d'une image de profondeur (Pc) associée à ladite vue courante (Vc) et en ce que ledit indicateur (Fcm) est destiné, lorsqu'il est positionné à une valeur prédéterminée, à être utilisé pour mettre en oeuvre une compensation de mouvement dudit bloc de l'image de profondeur, à partir d'au moins un vecteur de mouvement décodé pour un bloc de l'image de texture co-localisé avec ledit bloc et d'au moins une image de profondeur de référence disponible, ladite image de profondeur de référence étant associée à la même vue que ladite image de texture de référence.
14. Programme d'ordinateur comprenant des instructions de code de programme pour la mise en oeuvre d'un procédé selon l’une quelconque des revendications 1 à 6, lorsqu'il est exécuté par un processeur.
EP22735220.0A 2021-06-25 2022-06-13 Procédé de construction d'une image de profondeur d'une vidéo multi-vues, procédé de décodage d'un flux de données représentatif d'une vidéo multi-vues, procédé de codage, dispositifs, système, équipement terminal, signal et programmes d'ordinateur correspondants Pending EP4360319A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2106867A FR3124301A1 (fr) 2021-06-25 2021-06-25 Procédé de construction d’une image de profondeur d’une vidéo multi-vues, procédé de décodage d’un flux de données représentatif d’une vidéo multi-vues, procédé de codage, dispositifs, système, équipement terminal, signal et programmes d’ordinateur correspondants.
PCT/FR2022/051126 WO2022269163A1 (fr) 2021-06-25 2022-06-13 Procédé de construction d'une image de profondeur d'une vidéo multi-vues, procédé de décodage d'un flux de données représentatif d'une vidéo multi-vues, procédé de codage, dispositifs, système, équipement terminal, signal et programmes d'ordinateur correspondants

Publications (1)

Publication Number Publication Date
EP4360319A1 true EP4360319A1 (fr) 2024-05-01

Family

ID=78820837

Family Applications (1)

Application Number Title Priority Date Filing Date
EP22735220.0A Pending EP4360319A1 (fr) 2021-06-25 2022-06-13 Procédé de construction d'une image de profondeur d'une vidéo multi-vues, procédé de décodage d'un flux de données représentatif d'une vidéo multi-vues, procédé de codage, dispositifs, système, équipement terminal, signal et programmes d'ordinateur correspondants

Country Status (5)

Country Link
EP (1) EP4360319A1 (fr)
KR (1) KR20240026942A (fr)
CN (1) CN117561716A (fr)
FR (1) FR3124301A1 (fr)
WO (1) WO2022269163A1 (fr)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2232875A2 (fr) * 2008-01-11 2010-09-29 Thomson Licensing Codage vidéo et de profondeur

Also Published As

Publication number Publication date
KR20240026942A (ko) 2024-02-29
CN117561716A (zh) 2024-02-13
FR3124301A1 (fr) 2022-12-23
WO2022269163A1 (fr) 2022-12-29

Similar Documents

Publication Publication Date Title
EP3061246B1 (fr) Procédé de codage et de décodage d'images, dispositif de codage et de décodage d'images et programmes d'ordinateur correspondants
FR2907575A1 (fr) Procede et dispositif de codage d'images representant des vues d'une meme scene
EP3788789A2 (fr) Procede et dispositif de traitement d'images et procede et dispositif de decodage d'une video multi-vue adaptés
EP2705666A1 (fr) Procédé de codage et de décodage d'images intégrales, dispositif de codage et de décodage d'images intégrales et programmes d'ordinateur correspondants
FR3012004A1 (fr) Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
WO2010043809A1 (fr) Prediction d'une image par compensation en mouvement en avant
EP3649778A1 (fr) Procédé de codage et décodage d'images, dispositif de codage et décodage et programmes d'ordinateur correspondants
EP4360319A1 (fr) Procédé de construction d'une image de profondeur d'une vidéo multi-vues, procédé de décodage d'un flux de données représentatif d'une vidéo multi-vues, procédé de codage, dispositifs, système, équipement terminal, signal et programmes d'ordinateur correspondants
EP3725080B1 (fr) Procédés et dispositifs de codage et de décodage d'une séquence vidéo multi-vues représentative d'une vidéo omnidirectionnelle
EP3158749B1 (fr) Procédé de codage et de décodage d'images, dispositif de codage et de décodage d'images et programmes d'ordinateur correspondants
EP3360328A1 (fr) Codage et décodage multi-vues
WO2021214395A1 (fr) Procédés et dispositifs de codage et de décodage d'une séquence vidéo multi-vues
WO2020070409A1 (fr) Codage et décodage d'une vidéo omnidirectionnelle
WO2015044581A1 (fr) Codage et décodage vidéo par héritage d'un champ de vecteurs de mouvement
WO2019008253A1 (fr) Procédé de codage et décodage d'images, dispositif de codage et décodage et programmes d'ordinateur correspondants
WO2021160955A1 (fr) Procédé et dispositif de traitement de données de vidéo multi-vues
EP4222950A1 (fr) Codage et decodage d'une video multi-vues
EP3542533B1 (fr) Procédé et dispositif de codage et de décodage d'une séquence multi-vues
EP2962459B1 (fr) Dérivation de vecteur de mouvement de disparité, codage et décodage vidéo 3d utilisant une telle dérivation
WO2010086562A1 (fr) Procede et dispositif de codage d'images mettant en oeuvre des modes de codage distincts, procede et dispositif de decodage, et programmes d'ordinateur correspondants
EP4085613A1 (fr) Synthese iterative de vues a partir de donnees d'une video multi-vues
FR3137240A1 (fr) Procédé de segmentation d’une pluralité de données, procédé de codage, procédé de décodage, dispositifs, systèmes et programme d’ordinateur correspondants

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: 20231201

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