WO2023247208A1 - Procede de segmentation d'une pluralite de donnees, procede de codage, procede de decodage, dispositifs, systemes et programme d'ordinateur correspondants - Google Patents

Procede de segmentation d'une pluralite de donnees, procede de codage, procede de decodage, dispositifs, systemes et programme d'ordinateur correspondants Download PDF

Info

Publication number
WO2023247208A1
WO2023247208A1 PCT/EP2023/065446 EP2023065446W WO2023247208A1 WO 2023247208 A1 WO2023247208 A1 WO 2023247208A1 EP 2023065446 W EP2023065446 W EP 2023065446W WO 2023247208 A1 WO2023247208 A1 WO 2023247208A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
input data
processing
processed
segmentation information
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.)
Ceased
Application number
PCT/EP2023/065446
Other languages
English (en)
Inventor
Félix Henry
Marta MILOVANOVIC
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
Priority to US18/876,914 priority Critical patent/US20250380001A1/en
Priority to EP23733230.9A priority patent/EP4544779A1/fr
Priority to CN202380061046.1A priority patent/CN119678500A/zh
Publication of WO2023247208A1 publication Critical patent/WO2023247208A1/fr
Anticipated expiration legal-status Critical
Ceased 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • 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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/649Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding the transform being applied to non rectangular image segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234345Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment

Definitions

  • the present invention relates generally to the field of processing a plurality of data, such as for example 3D images, of the multi-view type of a scene acquired by a plurality of cameras or physiological data of a patient from a plurality of sensors.
  • the invention relates in particular to the segmentation of this plurality of data before their coding and then their transmission via a communication network to a processing device.
  • the SC scene is conventionally captured by a set of cameras, as illustrated in Figure 1.
  • These cameras can be of 2D type (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 from a point of view, or 360 type, that is to say they capture the entire scene at 360 degrees around the camera (camera C 360 in Figure 1), therefore from several different points of view.
  • the cameras can be arranged in an arc, rectangle, or any other configuration that allows for good coverage of the scene.
  • the MIV standard allows the transmission of videos suitable for immersive navigation.
  • the encoder chooses portions of each view (patches) that it wishes to transmit in order to maximize the quality of view synthesis from these patches, while reducing the quantity of data to transmit.
  • the patches are extracted from the views and gathered into one or more atlases, which are therefore images comprising an assembly of patches from different views.
  • the patches are generally arranged in an atlas so as to fill it with in the most complete way possible. With each atlas an occupancy map is transmitted, which is an image of which each pixel can take a first or a second value, distinct from the first (for example corresponding to the color “white”.
  • the MIV decoder can find the patches and arrange them in the view to which they belong. This view is then called “partial", since it does not contain all the pixel values of the original view as acquired by one of the cameras. However, if the encoder has efficiently selected the portions of views to transmit, they are sufficient to generate or synthesize any point of view of the scene. In this regard, view synthesis from decoded views is not specified by the MIV standard. It relies on occupancy maps to determine whether a pixel in a given view contains relevant information or not.
  • a disadvantage of this method, and more generally of current view synthesis methods, is that they require all of the views acquired by the cameras. This represents a large quantity of data to be transmitted and then decoded, which poses a problem of complexity at the decoder level, particularly when it is embedded in a mobile terminal such as a smartphone. ”) or an augmented reality headset.
  • the invention improves the situation.
  • the invention responds to this need by proposing a method for segmenting a plurality of data acquired by sensors, called input data, said method comprising:
  • segmentation information of said plurality of input data being valued at a first value or at a second value distinct from the first, as a function of said weights
  • the subset of data to be processed comprising the data of the plurality of associated input data to segmentation information equal to the first value.
  • the invention proposes a completely new and inventive approach to the segmentation of a plurality of input data before their processing by a given processing device, which consists of configuring weight values to be applied to the input data so that the quantity of data resulting from the segmentation and presented as input to the processing device, as well as the processing quality, are both optimized.
  • the values of the weights are determined from the plurality of input data themselves, therefore specifically chosen for them.
  • the criterion for optimizing a quantity of input data to be processed includes a minimization of a cumulative value of the weight values or of a number of weight values less than a given threshold. According to a variant, it includes a minimization of a cumulative value of the input data kept in the subset of data to be processed or of a number of these input data.
  • the criterion for optimizing processing quality includes minimizing a quadratic error between a result obtained from the plurality of input data and a result obtained from the subset of data to be processed. or even maximization of a signal to noise ratio or PSNR (for “Peak Signal to Noise Ratio”, in English).
  • the invention applies to any type of data acquired by any type of sensors.
  • a plurality of sensors is arranged around a scene, an object or a subject...
  • it is a plurality of cameras each having distinct points of view of the scene and configured to acquire a sequence of images or views of this scene.
  • the processing device can in this case be a device for synthesizing additional views from the original views acquired by the plurality of cameras and the segmentation of the original views according to the invention makes it possible to retain only the data useful for the synthesis of an additional view and remove redundant data.
  • the determination of the weight values carrying out the segmentation of the input data implements a technique for learning an artificial intelligence module using the plurality of input data themselves .
  • the artificial intelligence module which we will hereinafter refer to as the segmentation module, learns the best possible internal configuration of its weights, making it possible to optimize the quantity of data of the subset of data d input to be presented as input to the processing device and to optimize the quality of data processing.
  • the learning according to the invention is a combined learning of the segmentation module and the processing device. It includes an update of the configuration of the processing device so that it can optimally process the subset of data resulting from the segmentation of the plurality of input data.
  • the processing device is configured to synthesize an additional view associated with a given point of view and from at least one original view that it receives as input.
  • the plurality of data consists of temporal sequences of physiological measurements of a patient captured by a plurality of sensors of various types.
  • the processing device may include one or more diagnostic aid devices.
  • the invention also relates to a device for segmenting a plurality of data acquired by sensors, called input data, said device being configured to implement:
  • weight values to be applied to the plurality of input data before processing by at least one processing device configured to produce a processing result according to a criterion for optimizing a quality of the data processing result d input, said weight values being determined as a function of said criterion and a criterion for optimizing a quantity of input data to be processed,
  • segmentation information of said plurality of input data being valued at a first value or at a second value distinct from the first, as a function of said weights
  • the aforementioned device implements the segmentation method according to the invention in its different embodiments.
  • said segmentation device is integrated into server equipment configured to receive the plurality of input data and further comprising the aforementioned device for processing the plurality of input data.
  • the invention also relates to a method for coding a plurality of data acquired by sensors, called input data, comprising:
  • segmentation information of the plurality of input data and a subset of data to be processed by applying said segmentation information to the plurality of input data said segmentation comprising the determination of values of weight to be applied to the plurality of input data before processing by at least one processing device previously configured to produce a processing result according to an optimization criterion of a quality of the processing, said weight values being determined as a function of said criterion and another criterion for optimizing a quantity of input data to be processed, said segmentation information of said data being valued at a first or at a second value distinct from the first, as a function of said weight values, the subset (USS) of data to be processed comprising the data of the plurality of input data associated with segmentation information equal to the first value, and
  • the obtaining further comprises:
  • weights being intended to be applied to the input data by the processing device, values of said weights previously determined according to said optimization criterion of a quality of the processing result of the input data and for processing the plurality of input data, having been modified according to said criteria, for processing the subset of data to be processed,
  • the invention proposes to transmit in the coded data the modified weight values of the processing device on the transmitter side, with a view to updating the configuration of the processing device on the receiver side. This ensures that the processing device produces an optimal result within the meaning of the optimization criterion.
  • the invention also relates to a device for coding a plurality of data acquired by sensors, called input data, configured to implement:
  • segmentation information of the plurality of input data and a subset of data to be processed by applying said segmentation information to the plurality of input data said segmentation comprising the determination of values of weight to be applied to the plurality of input data before processing by at least one processing device (previously configured to produce a processing result according to a criterion for optimizing a quality of the processing, said weight values being determined as a function of said criterion and another criterion for optimizing a quantity of input data to be processed, said segmentation information of said data being valued at a first or a second value distinct from the first, depending on said weight values, the subset of data to be processed comprising the data of the plurality of input data associated with segmentation information equal to the first value, and - the coding of the segmentation information and the subset of data to be processed.
  • the aforementioned device implements the coding method according to the invention in its different embodiments.
  • said coding device is integrated into the aforementioned server equipment.
  • the invention also relates to a method for decoding coded data, comprising:
  • said coded data comprising segmentation information of a plurality of data acquired by sensors, called input data, a subset of data to be processed by a processing device configured to apply weights to the plurality of decoded input data and to produce a processing result according to a processing quality optimization criterion, said segmentation information of said input data being valued at a first value or to a second value distinct from the first, said subset of data to be processed having been obtained by applying said segmentation information to the plurality of input data, the subset of data to be processed comprising the data of the plurality of input data associated with said segmentation information equal to the first value, said coded data further comprising modified values of said weights, said modified values having been determined for the processing of the plurality of segmented input data, depending on the criterion for optimizing a quality of processing and a criterion for optimizing a quantity of data of the subset of data to be processed,
  • the invention also relates to a decoding device comprising:
  • said coded data comprising segmentation information of a plurality of data acquired by sensors, called input data, a subset of data to be processed by a processing device configured to apply weights to the plurality of decoded input data and to produce a processing result according to a processing quality optimization criterion, said segmentation information of said input data being valued at a first value or to a second distinct value of the first, said subset of data to be processed having been obtained by applying said segmentation information to the plurality of input data, the subset of data to be processed comprising the data of the plurality of input data associated with said segmentation information equal to the first value, said coded data further comprising modified values of said weights, said modified values having been determined for the processing of the plurality of segmented input data, as a function of the optimization criterion of a quality of processing and a criterion for optimizing a quantity of data from the subset of data to be processed,
  • the aforementioned device implements the decoding method according to the invention in its different embodiments.
  • said decoding device is integrated into terminal equipment configured to receive the coded data and further comprising the aforementioned processing device.
  • Said coded data further comprises modified values of said weights, said modified values having been determined for the processing of the plurality of segmented input data, according to the optimization criterion of a processing quality and a criterion of optimizing a quantity of data from the subset of data to be processed, and being intended to be used by said processing device to update said weights before processing the plurality of reconstructed decoded segmented input data.
  • the invention also relates to at least one recording medium readable by a computer on which the computer programs comprising program code instructions for the execution of the steps of the methods according to the invention as described are recorded. above.
  • the recording medium(s) may be one or more integrated circuits in which each program is incorporated, the circuit(s) being adapted to execute or to be used in the execution of the aforementioned methods.
  • the present technique is implemented by means of software and/or hardware components.
  • module can correspond in this document to a software component as well as to a hardware component or to a set of hardware and software components.
  • a software component corresponds to one or more computer programs, one or more subprograms of a program, or more generally to any element of a program or software capable of implementing a function or 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 capable of accessing the hardware resources of this physical entity (memories, recording media, communication buses, electronic input/output cards, user interfaces, etc.). Subsequently, by resources we mean all sets of hardware and/or software elements supporting a function or service, whether they are unitary or combined.
  • a hardware component corresponds to any element of a hardware assembly capable of implementing a function or a set of functions, according to what is described below for the module concerned. It may be a programmable hardware component or one with 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.
  • FIG. 1 schematically illustrates a plurality of images of the scene, captured by the plurality of cameras at a given time, according to the prior art
  • FIG 5 schematically illustrates a second example of architecture of a system according to one embodiment of the invention comprising a device for segmenting a plurality of input data, a coding device segmentation information and a subset of data to be processed resulting from the segmentation, a device for decoding coded data representative of the subset of data to be processed and associated segmentation information and a processing device decoded data, when the plurality of data includes physiological measurements of a patient acquired by a plurality of sensors;
  • FIG 6 describes in the form of a flowchart the steps of a process for segmenting a plurality of input data, according to an exemplary embodiment of the invention
  • FIG 7 describes in the form of a flowchart the steps of a method of coding data resulting from the segmentation of the plurality of data coded according to one embodiment of the invention
  • FIG 9 details a first example of implementation of the aforementioned segmentation and coding methods when the plurality of data includes a multi-view video
  • FIG 11 details a second example of implementation of the aforementioned segmentation and coding methods when the plurality of input data comprises a plurality of sequences of physiological measurements of a patient;
  • FIG 12 details a second example of implementation of the aforementioned decoding method when the plurality of input data comprises a plurality of sequences of physiological measurements of a patient;
  • FIG. 13 describes an example of hardware structure of a device for segmenting a plurality of data according to the invention
  • FIG 14 describes an example of hardware structure of a device for coding a plurality of data according to the invention.
  • FIG 15 describes an example of hardware structure of a device for decoding data resulting from segmentation and coding according to the invention.
  • the principle of the invention is based on the segmentation of a plurality of input data, acquired by sensors arranged around a scene, an object or a subject, with a view to their processing by a given processing device. Segmentation here refers to the fact of identifying among the plurality of input data those to be kept for a given subsequent processing and to bring them together into a subset of data to be processed.
  • the decision to prune or keep the input data is made on the basis of two criteria, a criterion for optimizing a quantity of segmented data, that is to say kept in the subset of data to be processed, and a criterion for optimizing a quality of processing given from the subset of data to be processed.
  • the segmentation is implemented by an artificial intelligence module placed upstream of the processing device and capable of being configured by machine learning (in English, “machine learning”).
  • the structure of the automatic segmentation module comprises a plurality of weights intended to be applied to the plurality of input data and learning a configuration of the automatic segmentation module consists of the module learning the best possible internal configuration of its weight, making it possible both to minimize the quantity of data of the subset of input data to be presented as input to the processing device and to maximize the quality of data processing.
  • this learning is on the one hand specific to the plurality of input data and on the other hand carried out by considering the result of the combination of the actions of the segmentation module and the processing device placed in downstream of the segmentation module, which therefore recovers as input the plurality of data weighted by the configuration weights of the automatic segmentation module, according to at least two criteria.
  • the first performance criterion relating to the segmentation module is to minimize a quantity of data to be provided to the processing device, which amounts to pruning the plurality of input data as much as possible.
  • the second performance criterion is linked to the processing device and requires maximizing a measure of quality of the processing carried out by the processing device.
  • the configuration values of the automatic segmentation module are then used to determine segmentation information of the plurality of data and a subset of data to be processed is finally obtained by applying the segmentation information to the plurality of data d 'entrance.
  • the invention thus makes it possible to reduce the quantity of data to be encoded and transmitted to remote receiver equipment carrying a processing device similar to those implemented by transmitter equipment, while preserving the quality of the processing of this data. .
  • the invention applies to any type of input data and is independent of the artificial intelligence technique implemented by the automatic segmentation module, provided that it can be configured using a plurality of configuration weights associated with the plurality of input data.
  • the invention finds a 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.
  • the processing includes the synthesis of an additional view, desired by the user of the terminal equipment, from the segmented data.
  • the invention is not limited to this use case, but can be applied to any other plurality of data acquired by sensors, such as for example sensors for physiological measurements of a patient.
  • scene in the broad sense refers to any object, subject or plurality of objects or subjects in their environment.
  • server equipment ES configured to receive input data acquired by a plurality of Cl, C2, ...CN sensors.
  • the input data received are a plurality of video sequences taken from different points of view of a scene SC, also called multi-view video VMV.
  • the server equipment ES comprises an E/R transmission-reception module, a segmentation device 100 according to the invention, a PROCI, SYNT1 processing device for the plurality of input data and a device 200 for coding segmented data according to the invention.
  • Such server equipment ES is configured to transmit the coded data, for example in the form of a STR data stream or F D file, using its E/R module. It also includes a memory M ES in which it stores, for example, the coded data.
  • the segmentation device 100 is configured to determine weight values to be applied to the plurality of input data before processing by at least one processing device (PROCI, SYNT1) configured to produce a result processing according to a criterion for maximizing a quality measure of the result of processing the input data, said weight values being determined as a function of said criterion and another criterion for minimizing a quantity of input data to process, determine segmentation information of said plurality of input data, said segmentation information of said data being valued at a first value or at a second value distinct from the first, depending on said weights, and obtain a sub -set of data to be processed by application of the determined segmentation information to said plurality of input data, the subset of data to be processed comprising the data of the plurality of input data associated with segmentation information equal to the first value.
  • PROCI processing device
  • the system S comprises an artificial intelligence module or segmentation module SEG1 comprising said weights and located upstream of the processing device PROCI, SYNT1.
  • the determination comprises learning said weight values, from said plurality of input data, by back-propagation of a gradient of a loss function combining the two criteria.
  • the module SEG1 is integrated into the device 100.
  • the device 100 thus implements the method of segmenting a plurality of data representative of a scene according to the invention which will be detailed below in relation to Figure 6.
  • the coding device 200 is configured to obtain segmentation information from the plurality of data and the subset of data to be processed produced by the segmentation device 100 and to code the subset of data to be processed and the segmentation information obtained.
  • the device 100 is independent of device 200, but according to a variant (not shown), it is integrated into device 200.
  • the system S also includes terminal equipment UE, for example a smartphone or an augmented reality headset, for example of the head device or HMD (Head Mounted Device) type. carried by a user UT, remote from the server equipment ES and for example connected to it via a communications network RC.
  • terminal equipment UE for example a smartphone or an augmented reality headset, for example of the head device or HMD (Head Mounted Device) type.
  • HMD Head Mounted Device
  • the prior configuration of the two monitoring devices PROCI, PROC2 processing (ES and UE side) is automatically learned from the same input database, for example labeled and under the constraint of a criterion of maximizing a quality measure of the processing result.
  • the memory M UE is for example used to store the additional view synthesized by the processing device PROC2, SYNT2.
  • the system S' also includes terminal equipment UE', remote from the server equipment ES' and connected to it via the communication network RC.
  • the equipment UE' has a structure similar to that of the terminal equipment UE previously described in relation to Figure 4. It comprises at least one decoding device 300' similar to the aforementioned decoding device 300 in relation to Figure 4, a processing device PROC2', DIAG2 previously configured to process the plurality of data from the sensors once decoded by the decoding device 300', an E/R transmission and reception module and a memory M UE-.
  • the device 300' is similar to the aforementioned device 300 and implements the method of decoding data representative of a scene according to the invention which will be detailed below in relation with Figure 8.
  • it further comprises a DISP display device, for example of the screen type, which is used by a DOC user to view the physiological measurements received and decoded by 300'.
  • SEG1' is an artificial intelligence module capable of learning, from input data SQl(t), SQ2(t), ..., SQN(t), those which are useful to a PROCI processing device (resp. PROC1') located downstream (the output of the SEG1 module (resp. SEG1') is connected to the input of the PROCI processing device (resp. PROC1')) and previously configured to apply predetermined processing to the plurality of input data, and those which are not.
  • the segmentation module SEG1 (resp. SEG1') is structured so as to apply weights to the plurality of input data, the value of which is determined during this learning.
  • these weights are distributed in successive layers associated with each of the N input data sequences at each of the Nt instants of each sequence .
  • the module SEG1 comprises N x Nt layers, with one layer per image or view and per time instant t, whose dimensions correspond respectively to those of the images of the N sequences .
  • learning is done on the basis of a first performance criterion of the segmentation module SEG1 (resp. SEG1'), which is here a criterion for optimizing a quantity of data to be present to the processing device PROC1 (resp. PROC1'), but also on the basis of a second performance criterion, specific to the processing device PROCI (resp. PROC1') itself, which is an optimization criterion of 'quality of treatment.
  • This taking into account the combination of the two successive treatments and the satisfaction of these two performance criteria make it possible to guarantee that the pruning of input data by the segmentation module SEG1 (resp. SEG1') is not done to the detriment of the performance of the processing device PROCI (resp. PROC1').
  • the first criterion includes a minimization of an amplitude of the cumulative values of the weights of the layers of the segmentation module SEG1, SEG1'.
  • it comprises a minimization of a number of weight values greater than a given threshold in said layers or a maximization of a number of weight values lower than said threshold.
  • it includes a minimization of the entropy of the input data at the output of the segmentation module SEG1, SEG1', that is to say once the weight values have been applied to them. of said layers.
  • it includes a minimization of an amplitude of the cumulative values of the input data kept in the subset of data to be processed.
  • the segmentation information associated with this image includes a segmentation map of the same dimension WxH, therefore the pixels are valued at a gray level corresponding to “white” when they correspond to data decided to be “useful” and to a gray level corresponding to “black”, otherwise.
  • the first value is equal to 1 and the second is zero.
  • the SGI segmentation information is stored in a memory Ml.
  • a subset of data to be processed USS is obtained by applying segmentation information to the plurality of input data SQ1, SQ2, ..., SQN and retaining only those which are associated with segmentation information valued at the first value.
  • the subset of data to be processed USS is stored in the memory Ml and can be provided to an encoder.
  • the PROCI processing device also comprises an artificial intelligence module having a layer structure comprising processing weights.
  • an artificial intelligence module having a layer structure comprising processing weights.
  • the processing weights of the processing device PROCI are fixed, that is to say their values are not modified by the determination 61 .
  • determination 61 also applies to the processing device PROCI (resp. PROC1') and has the effect of modifying the values of its processing weights.
  • the modified processing weight values MW are obtained at 64. They are supplied to an encoder or stored in the memory Ml.
  • the device 200, 200' obtains N temporal sequences of input data SQl(t), SQ2(t), ..., SQN(t), with N non-zero integer, acquired by N sensors placed around the object, subject or scene of interest. At 71, it obtains a segmentation of this data carried out by the segmentation method according to the invention which has just been described in relation to Figure 6. It is assumed that the device 200, 200' obtains at least the segmentation information SGI and the subset of data to be processed USS provided by the segmentation method according to the invention. Advantageously, it also obtains modified weight values MW intended for the processing device PROCI, PROC1'.
  • the coded data is decoded in a manner known per se.
  • a subset of USSD decoded data to be processed and SGID decoded segmentation information are obtained.
  • MWD decoded modified processing weight values intended for the processing device PROC2 are also obtained.
  • the processing to be applied to the input data corresponds here to a view synthesis.
  • it involves synthesizing an additional view associated with an additional point of view PVS distinct from the N points of view of the N cameras.
  • the synthesis device in question is configured to take as input all or part of the N images Tl(t), T2(t), ..., TN(t) and their intrinsic parameters (focal length, sensor resolution, number of components colors, etc.) and extrinsic (position in space, orientation, etc.) of the N cameras, as well as the coordinates of the additional point of view PVS of the scene, and to produce as output the image or additional view TS .
  • the module automatic segmentation SEG1 also has the structure of a layered neural network, also called relevance layers, because the values of its weights are intended to ultimately indicate a level of relevance or usefulness of 'input data for subsequent processing by the SYNT1 synthesis device.
  • the automatic segmentation module comprises as many layers LI, L2, ..., LN as there are input images Tl(t), T2(t), etc. ., TN(t) at a given time t.
  • Tl input images
  • T2(t) input images
  • TN TN
  • each layer Li has the same dimensions as the corresponding input image or view.
  • the layer Li is also of size WxH, that is to say it includes WxH weights, each weight being a unique multiplier coefficient of the scalar value ( gray level) or vector (RGB or YUV triplet) associated with the corresponding pixel of the input image.
  • the multiplier coefficient is a floating real.
  • the neural network of the segmentation module SEG1 is then subjected to learning, so as to assign adequate values to the weights of these different layers so that it executes the expected task (here, the synthesis of an additional view ) In an acceptable way.
  • A is a parameter set by the user which makes it possible to determine a choice between minimizing the size of the segmented areas (A. high) or the view synthesis performance (A. low). It is a positive real, which can be larger or smaller than 1.
  • PLj designates a vector concatenation of the WxH weights of the N Li layers.
  • the division into patches is carried out, for each view Tj, on the basis of the segmentation map SGIj produced from the values assigned to the weights of the automatic segmentation module at the end of the learning (61).
  • the atlases are filled with all the patches identified in all the views, the atlases are coded by a conventional encoder, for example conforming to the HEVC standard.
  • the configuration of the neural network of the synthesis device SYNT1 is fixed.
  • the configuration of the neural network of the synthesis device SYNT1 is modified by learning 61 and the modified values MWL'l, MWL'2,..., MWL'N of the weights of processing of the different layers L'1, L'2, ..., L'M of the neural network of the synthesis device SYNT1 which are also coded (for example with the MPEG NNR coding standard, from English "Neural Net Representation"), specified in part 17 of the MPEG-7 standard, for transmission to the corresponding SYNT2 synthesis device on the receiver side (UE).
  • the MPEG NNR coding standard from English "Neural Net Representation”
  • UE receiver side
  • the coded data is transmitted to receiver equipment, for example the terminal equipment UE of FIG. 4, via the communication network RC, for example in the form of a coded data stream. STR or an F D encoded data file.
  • the decoding device 300 which, according to this embodiment, performs decoding of the coded data relating to the complete or partial views Tl, T2, ..., TN in accordance with the MIV standard.
  • the segmented decoded views T1DS, T2DS, ..., TNDS are reconstructed (82), either completely or partially (depending on the information contained in the patches).
  • modified weight values MWL'l, MWL'2, ..., MWL'M are encoded, they are also decoded then used to update the configuration of the layers of the network of neurons of the SYNT2 processing device.
  • the N decoded views T1DS, T2DS, ..., TNDS are presented to the neural network corresponding to the device PROC2.
  • a user UT wishes to synthesize an additional view according to the additional point of view PVS.
  • the segmented decoded T1DS, T2DS, ..., TNDS views are presented at the input of the synthesis device SYNT2 (certain layers of which L'i could have been updated with the modified values of weights MWL'l, MWL'2, ..., MWL'M decoded, according to the embodiment considered.
  • the coordinates of the PVS point of view desired by the user UT are also entered.
  • the SYNT2 device finally produces the view additional synthesized TSj'.
  • these data are then processed by several neural networks RI, R2, ..., Rk, ..., RK, with K non-zero integer less than or equal to N, each specialized in a diagnostic or diagnostic assistance task.
  • these networks are each configured to take as input a subset of the N input data T1(Y), . .., Ti(y), ..., TN(Y) and to produce diagnostic information Di(Y) (for example, presence of a tumor, suspicion of epilepsy, etc.) or a diagnostic aid information (for example, segmentation, that is to say a geographical delimitation of an area likely to contain a tumor, etc.).
  • the subset of input data to be presented to each neural network Rk is selected by an algorithm external to the neural network considered and may include part of or all of the data Ti(Y).
  • Rk neural networks adapted to the diagnosis of particular pathologies are given in the document by Zhang et al., entitled “Multi-channel deep convolutional neural networks for multi-classifying thyroid disease”, published by the site https://arxiv .org/abs/2203.03627, in March 2022, in the document Dehghani et al., entitled “Joint brain tumor segmentation from multi MR sequences through a deep convolutional neural network”, published by the site https://arxiv.org/abs /2203.03338, in March 2022, and in the document by Salafian et al., entitled “CNN-Aided Factor Graphs with Estimated Mutual Information Characteristics for Seizure Detection”, published by the site https://arxiv.org/abs/2203.05950, in March 2022.
  • the processing to be applied to the input data of each of the networks Rk therefore corresponds here to diagnostic assistance processing.
  • each processing device DIAG11, DIAG12, ..., DIAG1K comprises a layered neural network RI, R2, ..., RK.
  • each of these networks Rk has a structure in successive layers, connected together so that the output of an upstream layer is presented as input to the following downstream layer.
  • Each layer has configuration weights whose values are adjusted during prior learning.
  • each segmentation module SEGlk' comprises as many layers LI, L2, ..., LN as input data intended for the network Rk.
  • the segmentation layers can be shared so that the segmentation module SEG1 has one layer Li per type of input data Ti and the corresponding segmented data is sent to each of the Rk networks which need it.
  • the network Rk which receives the data T3, T8 and T9, is connected as input to layers L3(y), L8(y) and L9(y).
  • training is carried out on the networks combining a certain number of layers Li(Y) and the layers (not shown) of the networks Rk, using a loss function which combines the related loss to the task of the networks Rk (namely the quality of the diagnosis) and a loss representative of the cumulative amplitude of the weights of the layers Ci(Y).
  • CRk the network obtained by combining the input layer(s) Li(Y) with the network Rk.
  • the learning known in itself, works in the following way. For each value k in 1, ..., K, we will try to maximize the diagnostic capacity of the CRk network from the data. Since we have the original diagnosis Dk(y), it is possible to calculate a difference between this original diagnosis and the network output CRk (for example, the digital diagnostic error). This difference is used to cal- culate a gradient which is back-propagated in the weights of the combined network CRk to be optimized, according to the known formula.
  • A is a parameter set by the user which makes it possible to determine a choice between minimizing the size of the segmented zones (A. high) or the diagnostic performance (A low) and APLi is a vector concatenation of the weights of K layers Li present in the neural network of the segmentation module SEGlk' at the input of the DIAGlk processing device. These are real positives that can be larger or smaller than 1.
  • the weights of the network Rk contained in the neural network CRk are fixed during learning, only the weights of the layers Li of the network of the segmentation module SEGlk' are optimized in the sense of the loss function explained above.
  • the weights of the layers of the network Rk are also modified by learning. Their modified values (not shown) are stored in memory.
  • the weight values are binary, they are directly copied into the corresponding SGIi segmentation map (the SGIi map is equal to the weight map of layer Ci).
  • segmentation card for example in the form of a series of binary values indicating for each parameter or measurement of the Ti sequence considered whether it is coded or not.
  • the encoded data is stored in memory and/or transmitted in a data file or a data stream.
  • the segmented decoded data sequences T1DS, T2DS, ..., TNDS are then reconstructed respectively (in 82, by CONST1, CONST2, ..., CONSTK) for each of the diagnostic devices DIAG21, DIAG22, ... , DIAG2K, whether complete (all the parameters of the data sequence can be reconstructed) or partial (the transmitted parameters only allow part of the sequence to be reconstructed) from the decoded subset of data to be processed USSD and decoded segmentation cards SGD1, SGD2, ..., SGDK.
  • the decoded data includes modified weight values for the Rk networks, these modified weight values are injected into the Rk networks concerned.
  • a user here a practitioner wishes to carry out a diagnosis using a network Rk of Figure 11, for example the network R2, and some of the reconstructed data sequences, for example T3D, T8D and T9D.
  • the segmented data T1DS, T2DS, ..., TNDS reconstructed during decoding (possibly partial) are entered into the layers Ci, themselves connected to the input of the network CRk of the DIAG2k device.
  • the Rk network can then produce its diagnosis from the segmented data alone.
  • a device 100 for segmenting a plurality of input data acquired by sensors comprising a module for determining weight values at applying to the plurality of input data before processing by at least one processing device configured to produce a processing result according to a criterion of maximizing a quality measure of the processing result of the input data, said weight values being determined as a function of said criterion and another criterion for minimizing a quantity of input data to be processed, a module for determining segmentation information of said plurality of input data, said segmentation information of said data being valued at a first value or at a second value distinct from the first, depending on said weights, and a module for obtaining a subset of data to be process by applying determined segmentation information to said plurality of input data, the subset of data to be processed comprising the data of the plurality of input data associated with segmentation information equal to the first value.
  • module can correspond as well to a software component as to a hardware component or a set of hardware and software components, a software component itself corresponding to one or more programs or subprograms of computer or more generally any element of a program capable of implementing a function or a set of functions.
  • such 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 of the aforementioned device 100, stored in a read only memory 101 (for example a ROM memory or a hard disk).
  • a computer program Pgl representative of the modules of the aforementioned device 100, stored in 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 RAM 103 before being executed by the processor of the processing unit 102.
  • the RAM 103 can also contain the segmentation information and the useful data subset.
  • Figure 13 illustrates only one particular way, among several possible, of producing the device 100, 100' so that it carries out the steps of the segmentation process as detailed above, in relation to Figures 6, 9 and 11 in its different embodiments. Indeed, these steps can be carried out indifferently 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.
  • FIG. 14 We also present, in relation to Figure 14, an example of hardware structure of a coding device 200, 200' of a plurality of input data according to the invention, comprising at least one module obtaining segmentation information of the plurality of input data and a subset of data to be processed by applying said segmentation information to the plurality of input data, said segmentation comprising determining weight values to be apply to the plurality of input data before processing by at least one processing device previously configured to produce a processing result according to a criterion for maximizing a processing quality measure, said weight values being determined in function of said criterion and another criterion of minimi- sation of a quantity of input data to be processed, said segmentation information of said data being valued at a first or a second value distinct from the first, depending on said weight values, the subset of data to be processing comprising the data of the plurality of input data associated with segmentation information equal to the first value, and a module for coding the segmentation information and the subset of data to be processed.
  • 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 segmentation and coding modules, stored in a read only memory 201 (for example a ROM memory or a hard disk).
  • a computer program Pg2 representative segmentation and coding modules, 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 RAM 203 before being executed by the processor of the processing unit 202.
  • the RAM 203 can also contain the coded information.
  • Figure 14 illustrates only one particular way, among several possible, of producing the device 200, 200' so that it carries out the steps of the coding process as detailed above, in relation to Figures 7, 9 and 11 in its different embodiments. Indeed, these steps can be carried out indifferently 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.
  • a device 300, 300' for decoding coded data comprising a module for decoding coded data comprising segmentation information of a plurality of data acquired by sensors, called input data, and a subset of data to be processed, said segmentation information of said input data being valued at a first value or at a second value distinct from the first, said subset of data to be processed having been obtained by applying said segmentation information to the plurality of input data, the subset of data to be processed comprising the data of the plurality of input data associated with said segmentation information equal to the first value, a module for constructing a plurality of segmented input data decoded from the subset of decoded data to be processed and decoded segmentation information, and a module for providing the plurality of decoded segmented input data to a processing device configured to produce a processing result based on a criterion for maximizing a processing quality measure.
  • such a device 300, 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 aforementioned modules, stored in a read only memory 301 (for example a ROM memory or a hard disk).
  • a computer program Pg3 representative of the aforementioned modules, stored in 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.
  • Figure 15 illustrates only one particular way, among several possible, of producing the device 300, 300' so that it carries out the steps of the decoding process as detailed above, in relation to Figures 8, 10 and 12 in its different embodiments. Indeed, these steps can be carried out indifferently 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 such as 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 an SD card, a USB key, a CD-ROM or a DVD-ROM
  • the invention which has just been described in its different embodiments has numerous advantages. It makes it possible to select, from among a plurality of data representative of a scene, an object or a subject, before their transmission in a communication network, those which will be really useful for the processing of this plurality of data by a device processing of receiving equipment. To this end, the invention uses machine learning techniques which it cleverly implements to specifically train, at the level of transmitting equipment, an automatic segmentation module to segment the plurality of input data so as to to minimize the quantity of data to be transmitted while maximizing the quality of processing.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Image Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

L'invention concerne un procédé de segmentation d'une pluralité de données d'entrée, comprenant : - la détermination (61) de valeurs de poids à appliquer à la pluralité de données d'entrée avant traitement par au moins un dispositif de traitement configuré pour produire un résultat de traitement selon un critère d'optimisation d'une qualité du résultat de traitement, en fonction dudit critère et d'un critère d'optimisation d'une quantité de données d'entrées à traiter, - la détermination (62) d'informations de segmentation de ladite pluralité de données d'entrée, valorisées à une première valeur ou à une deuxième valeur, en fonction desdits poids, et - l'obtention (63) d'un sous-ensemble de données à traiter par application des informations de segmentation à ladite pluralité de données d'entrée, comprenant les données de la pluralité de données d'entrée associées à une information de segmentation égale à la première valeur.

Description

Description
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
Domaine de l'invention
[0001] La présente invention se rapporte de manière générale au domaine du traitement d'une pluralité de données, comme par exemple des images 3D, de type multi-vues d'une scène acquises par une pluralité de caméras ou des données physiologiques d'un patient issues d'une pluralité de capteurs.
[0002] L'invention concerne en particulier la segmentation de cette pluralité de données avant leur codage puis leur transmission via un réseau de communication à un dispositif de traitement.
Art antérieur
[0003] 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.
[0004] 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 SC 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.
[0005] 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 VMV, comme illustré par la figure 3.
[0006] Le standard MIV (de l'anglais, « MPEG Immersive Video ») permet la transmission de vidéos adaptée à la navigation immersive. L'encodeur choisit des portions de chaque vue (patches) qu'il souhaite transmettre afin de maximiser la qualité de synthèse de vue à partir de ces patches, tout en réduisant la quantité de données à transmettre. Les patches sont extraits des vues et rassemblés dans un ou plusieurs atlas, qui sont donc des images comprenant un assemblage de patches provenant de différentes vues. Les patches sont généralement disposés dans un atlas de façon à le remplir de la façon la plus complète possible. Avec chaque atlas est transmis une carte d'occupation (en anglais, « occupancy map »), qui est une image dont chaque pixel peut prendre une première ou une deuxième valeur, distincte de la première (par exemple correspondant à la couleur « blanc » ou « noir ») pour indiquer si le pixel de l'atlas appartient ou non à un patch. Il est ainsi possible d'obtenir une segmentation des patches de l'atlas à partir de cette carte d'occupation. Par ailleurs, d'autres informations sont transmises pour chaque patch comprenant ses coordonnées dans l'atlas, ainsi que la vue à laquelle il est associé.
[0007] A partir des données transmises, le décodeur MIV peut retrouver les patches et les disposer dans la vue à laquelle ils appartiennent. Cette vue est alors appelée « partielle », puisqu'elle ne contient pas toutes les valeurs de pixels de la vue d'origine telle qu'acquise par une des caméras. Toutefois, si l'encodeur a sélectionné efficacement les portions de vues à transmettre, elles sont suffisantes pour générer ou synthétiser n'importe quel point de vue de la scène. A cet égard, la synthèse de vue à partir des vues décodées n'est pas spécifiée par la norme MIV. Elle s'appuie sur les cartes d'occupation pour déterminer si un pixel d'une vue donnée contient une information pertinente ou pas.
[0008] On connaît aussi du document de Wang et al., intitulé « IBRNet : Learning Multi-View Image-Based Rendering », publié par arXiv:2102.13090v2 en avril 2021, une méthode de synthèse de vue basée texture à partir de réseaux de neurones. En particulier, le document décrit un réseau de neurones, appelé IBRN, qui prend en entrée les paramètres des caméras, les images de texture capturées depuis les différents points de vue, et les coordonnées du point de vue de la scène que l'on souhaite synthétiser, et produit en sortie la vue synthétisée, correspondant à la vue qu'aurait capturé une caméra depuis le point de vue correspondant aux coordonnées fournies. Un avantage de cette méthode est qu'elle donne de très bons résultats qualitatifs.
[0009] Un inconvénient de cette méthode, et plus généralement des méthodes actuelles de synthèse de vue, est qu'elles nécessitent l'intégralité des vues acquises par les caméras. Ceci représente une grande quantité de données à transmettre, puis à décoder, ce qui pose un problème de complexité au niveau du décodeur, en particulier lorsqu'il est embarqué dans un terminal mobile tel qu'un téléphone intelligent (« en anglais, « smartphone ») ou un casque de réalité augmentée.
[0010] Il existe donc un besoin d'une solution pour réduire la quantité de données, et notamment le nombre de pixels à transmettre, tout en préservant au maximum la qualité de la synthèse de vue.
[0011] L'invention vient améliorer la situation.
Exposé de l'invention
[0012] L'invention répond à ce besoin en proposant un procédé de segmentation d'une pluralité de données acquises par des capteurs, dites données d'entrée, ledit procédé comprenant :
- la détermination de valeurs de poids à appliquer à la pluralité de données d'entrée avant traitement par au moins un dispositif de traitement configuré pour produire un résultat de traitement selon un critère d'optimisation d'une qualité du résultat de traitement des données d'entrée, lesdites valeurs de poids étant déterminées en fonction dudit critère et d'un critère d'optimisation d'une quantité de données d'entrées à traiter,
- la détermination d'informations de segmentation de ladite pluralité de données d'entrée, unedite information de segmentation d'unedite donnée étant valorisée à une première valeur ou à une deuxième valeur distincte de la première, en fonction desdits poids, et
- l'obtention d'un sous-ensemble de données à traiter par application des informations de segmentation déterminées à ladite pluralité de données d'entrée, le sous- ensemble de données à traiter comprenant les données de la pluralité de données d'entrée associées à une information de segmentation égale à la première valeur.
[0013] L'invention propose une approche tout-à-fait nouvelle et inventive de la segmentation d'une pluralité de données d'entrée avant leur traitement par un dispositif de traitement donné, qui consiste à configurer des valeurs de poids à appliquer aux données d'entrée de sorte que la quantité de données issue de la segmentation et présentée en entrée du dispositif de traitement, ainsi que la qualité de traitement, soient toutes les deux optimisées. Les valeurs des poids sont déterminées à partir de la pluralité de données d'entrée elles-mêmes, donc spécifiquement choisies pour elles.
[0014] Par exemple, le critère d'optimisation d'une quantité de données d'entrée à traiter comprend une minimisation d'une valeur cumulée des valeurs de poids ou d'un nombre de valeurs de poids inférieures à un seuil donné. Selon une variante, il comprend une minimisation d'une valeur cumulée des données d'entrées conservées dans le sous-ensemble de données à traiter ou d'un nombre de ces données d'entrée. Par exemple, le critère d'optimisation d'une qualité du traitement comprend une minimisation d'une erreur quadratique entre un résultat obtenu à partir de la pluralité de données d'entrée et un résultat obtenu à partir du sous-ensemble de données à traiter ou encore une maximisation d'un rapport signal à bruit ou PSNR (pour « Peak Signal to Noise Ratio », en anglais).
[0015] Les valeurs des poids de la configuration obtenue sont ensuite exploitées pour déterminer une ou plusieurs informations de segmentation de la pluralité de données d'entrée. Ces informations de segmentation indiquent :
- quelles données d'entrée sont à fournir en entrée du dispositif de traitement, parce qu'elles sont utiles pour qu'il produise un résultat de traitement conforme au critère d'optimisation d'une qualité du résultat de traitement des données d'entrée et
- quelles données d'entrée ne sont pas à présenter au dispositif de traitement, parce qu'elles ne sont pas utiles, au sens où elles ne contribuent pas à améliorer la qualité du résultat de traitement obtenu.
[0016] Les informations de segmentation ainsi déterminées permettent enfin d'obtenir le sous-ensemble de données à traiter. De la sorte, seul ce sous-ensemble de données à traiter pourra être codé et transmis à un récepteur intégrant un dispositif de traitement similaire, en termes de structure et de configuration.
[0017] Ainsi, l'invention ne propose pas simplement de réaliser une segmentation efficace de la pluralité de données d'entrée, mais elle prend aussi en compte, lors de la détermination de valeurs des poids qui réalisent la segmentation, l'impact des valeurs des poids du module de segmentation, qui réalise la segmentation, sur la sortie du dispositif de traitement. Elle ne considère donc pas un simple module de segmentation indépendant du dispositif de traitement, mais prend en compte la combinaison des deux, et plus précisément, leurs actions successives sur les données d'entrée.
[0018] L'invention s'applique à tout type de données acquises par tout type de capteurs. Par exemple, une pluralité de capteurs est disposée autour d'une scène, d'un objet ou d'un sujet... Par exemple, il s'agit d'une pluralité de caméras disposant chacune de points de vue distincts de la scène et configurées pour acquérir une séquence d'images ou vues de cette scène. Le dispositif de traitement peut être dans ce cas un dispositif de synthèse de vues additionnelles à partir des vues originales acquises par la pluralité de caméras et la segmentation des vues originales selon l'invention permet de ne conserver que les données utiles à la synthèse d'une vue additionnelle et de supprimer les données redondantes.
[0019] Selon un autre exemple, la pluralité de données est constituée de séquences temporelles de mesures physiologiques d'un patient captées par une pluralité de capteurs de natures diverses (ElectroCardioGramme (ECG), ElectroEncéphaloGramme (EEG), scanner, imagerie par résonance magnétique (IRM), image Rayon X, indicateur de composition sanguine, etc.). Dans cet autre exemple, le dispositif de traitement peut être un dispositif d'aide au diagnostic.
[0020] Selon un autre aspect de l'invention, la détermination comprend un apprentissage desdites valeurs de poids, à partir de ladite pluralité de données d'entrée, ledit apprentissage étant réalisé par rétro-propagation d'un gradient d'une fonction de perte combinant les deux critères.
[0021] Avantageusement, la détermination des valeurs de poids réalisant la segmentation des données d'entrée met en oeuvre une technique d'apprentissage d'un module d'intelligence artificielle à l'aide de la pluralité de données d'entrée elles-mêmes. Plus précisément, le module d'intelligence artificielle, qu'on désignera ci-après par module de segmentation, apprend la meilleure configuration interne possible de ses poids, permettant à la fois d'optimiser la quantité de données du sous-ensemble de données d'entrée à présenter en entrée du dispositif de traitement et d'optimiser la qualité du traitement des données.
[0022] L'invention va à l'encontre des pratiques habituelles en termes d'apprentissage machine, en ce qu'elle met en oeuvre un apprentissage spécifique à une pluralité de données d'entrée données. Ainsi elle ne nécessite pas l'acquisition préalable d'une large base de données d'apprentissage étiquetées, mais seulement la pluralité de données courantes à traiter.
[0023] Selon encore un autre aspect de l'invention, ledit dispositif de traitement comprend des poids, dits poids de traitement, des valeurs desdits poids de traitement ont été préalablement déterminées en fonction du critère d'optimisation de la qualité du résultat de traitement des données d'entrée et le procédé comprend en outre la détermination de valeurs modifiées desdits poids de traitement.
[0024] Avantageusement, le dispositif de traitement met lui aussi en oeuvre une technique d'intelligence artificielle, basée sur l'application de poids aux données d'entrée. Par exemple, ce dispositif de traitement a été préalablement entraîné, de façon classique, à partir d'une base de données étiquetées, à traiter la pluralité de données d'entrée de sorte à fournir en sortie un résultat conforme au critère d'optimisation de la qualité du traitement.
[0025] Avantageusement, l'apprentissage selon l'invention est un apprentissage combiné du module de segmentation et du dispositif de traitement. Il inclut une mise à jour de la configuration du dispositif de traitement de sorte à ce qu'il puisse traiter de façon optimale le sous-ensemble de données issu de la segmentation de la pluralité de données d'entrée.
[0026] Par exemple, le module de segmentation et le dispositif de traitement sont chacun organisés en couches comprenant des poids et la succession de leurs couches respectives forme un module d'intelligence artificielle, par exemple un réseau de neurones, entraîné pour segmenter les données d'entrée puis les traiter de façon optimale.
[0027] Selon encore un autre aspect de l'invention, ladite pluralité de données d'entrée comprend une pluralité de vues acquises par une pluralité de caméras, unedite vue comprend des pixels, lesdits poids sont compris dans une pluralité de couches, unedite couche est associée à unedite vue et comprenant undit poids par pixel, et les informations de segmentation comprennent une pluralité de cartes de segmentation, unedite carte étant associée à unedite vue.
[0028] L'invention s'applique tout particulièrement à des données d'entrée de type séquence vidéo multi-vues. Avantageusement, on considère un module de segmentation structuré en couches, avec une couche par vue et un poids par pixel, les poids de chaque couche permettant de dériver l'information de segmentation des pixels de la vue associée.
[0029] Par exemple, pour des images capturées par des caméras, les informations de segmentation peuvent prendre la forme de cartes de segmentation, de mêmes dimensions que les images d'entrée, et dont les pixels utiles sont valorisés à une première valeur (par exemple, correspondant au « blanc ») et les pixels non utiles à une deuxième valeur (par exemple, correspondant au « noir »).
[0030] Avantageusement, le dispositif de traitement est configuré pour synthétiser une vue supplémentaire associée à un point de vue donné et à partir d'au moins une vue originale qu'il reçoit en entrée.
[0031] On comprend que dans ce cas, l'apprentissage selon l'invention peut consister à présenter en entrée du module de segmentation, combiné au dispositif de traitement, la pluralité des vues acquises sauf une qui sera celle à synthétiser. De la sorte, la fonction de perte pourra être calculée en comparant la vue synthétisée à la vue originale. Avantageusement, cette procédure sera répétée pour chacune des vues acquises.
[0032] Selon un autre aspect de l'invention, ladite pluralité de données d'entrée comprend une pluralité de séquences de données de mesures acquises par une pluralité de capteurs, lesdits poids sont compris dans une pluralité de couches, unedite couche est associée à unedite séquence de données de mesures et comprend undit poids par donnée de mesures et les informations de segmentation comprennent une pluralité de séquences de segmentation, unedite séquence de segmentation étant associée à unedite séquence de données de mesure.
[0033] Selon cet autre exemple, la pluralité de données est constituée de séquences temporelles de mesures physiologiques d'un patient captées par une pluralité de capteurs de natures diverses. Dans cet autre exemple, le dispositif de traitement peut comprendre un ou plusieurs dispositifs d'aide au diagnostic.
[0034] Corrélativement, l'invention concerne aussi un dispositif de segmentation d'une pluralité de données acquises par des capteurs, dites données d'entrée, ledit dispositif étant configuré pour mettre en œuvre :
- la détermination de valeurs de poids à appliquer à la pluralité de données d'entrée avant traitement par au moins un dispositif de traitement configuré pour produire un résultat de traitement selon un critère d'optimisation d'une qualité du résultat de traitement des données d'entrée, lesdites valeurs de poids étant déterminées en fonction dudit critère et d'un critère d'optimisation d'une quantité de données d'entrée à traiter,
- la détermination d'informations de segmentation de ladite pluralité de données d'entrée, unedite information de segmentation d'unedite donnée étant valorisée à une première valeur ou à une deuxième valeur distincte de la première, en fonction desdits poids, et
- l'obtention d'un sous-ensemble de données à traiter par application des informations de segmentation déterminées à ladite pluralité de données d'entrée, le sous- ensemble de données à traiter comprenant les données de la pluralité de données d'entrée associées à une information de segmentation égale à la première valeur.
[0035] Le dispositif précité met en œuvre le procédé de segmentation selon l'invention dans ses différents modes de réalisations.
[0036] Avantageusement, ledit dispositif de segmentation est intégré dans un équipement serveur configuré pour recevoir la pluralité de données d'entrée et comprenant en outre le dispositif de traitement de la pluralité de données d'entrée précité.
[0037] L'invention concerne également un procédé de codage d'une pluralité de données acquises par des capteurs, dites données d'entrée, comprenant:
- l'obtention d'informations de segmentation de la pluralité de données d'entrée et d'un sous-ensemble de données à traiter par application desdites informations de segmentation à la pluralité de données d'entrée, ladite segmentation comprenant la détermination de valeurs de poids à appliquer à la pluralité de données d'entrée avant traitement par au moins un dispositif de traitement préalablement configuré pour produire un résultat de traitement en fonction d'un critère d'optimisation d'une qualité du traitement, lesdites valeurs de poids étant déterminées en fonction dudit critère et d'un autre critère d'optimisation d'une quantité de données d'entrée à traiter, unedite information de segmentation d'unedite donnée étant valorisée à une première ou à une deuxième valeur distincte de la première, en fonction desdites valeurs de poids, le sous-ensemble (USS) de données à traiter comprenant les données de la pluralité de données d'entrée associées à une information de segmentation égale à la première valeur, et
- le codage des informations de segmentation et du sous-ensemble de données à traiter.
[0038] Avec l'invention, les données codées contiennent toutes les informations permettant de reconstruire une pluralité de données d'entrée segmentées au niveau d'un récepteur comprenant un dispositif de traitement similaire à celui mis en oeuvre par l'émetteur, en termes de structure et de configuration.
[0039] Selon un autre aspect de l'invention, l'obtention comprend en outre :
- l'obtention de valeurs de poids modifiées, lesdits poids étant destinés à être appliqués aux données d'entrée par le dispositif de traitement, des valeurs desdits poids préalablement déterminées en fonction dudit critère d'optimisation d'une qualité du résultat de traitement des données d'entrée et pour le traitement de la pluralité de données d'entrée, ayant été modifiées en fonction desdits critères, pour le traitement du sous-ensemble de données à traiter,
- le codage desdites valeurs de poids modifiées.
[0040] Avantageusement, l'invention propose de transmettre dans les données codées les valeurs de poids modifiées du dispositif de traitement côté émetteur, en vue de la mise à jour de la configuration du dispositif de traitement côté récepteur. Ceci permet de garantir que le dispositif de traitement produit un résultat optimal au sens du critère d'optimisation.
[0041] Corrélativement, l'invention concerne aussi un dispositif de codage d'une pluralité de données acquises par des capteurs, dites données d'entrée, configuré pour mettre en oeuvre :
- l'obtention d'informations de segmentation de la pluralité de données d'entrée et d'un sous-ensemble de données à traiter par application desdites informations de segmentation à la pluralité de données d'entrée, ladite segmentation comprenant la détermination de valeurs de poids à appliquer à la pluralité de données d'entrée avant traitement par au moins un dispositif de traitement (préalablement configuré pour produire un résultat de traitement en fonction d'un critère d'optimisation d'une qualité du traitement, lesdites valeurs de poids étant déterminées en fonction dudit critère et d'un autre critère d'optimisation d'une quantité de données d'entrée à traiter, unedite information de segmentation d'unedite donnée étant valorisée à une première ou à une deuxième valeur distincte de la première, en fonction desdites valeurs de poids, le sous-ensemble de données à traiter comprenant les données de la pluralité de données d'entrée associées à une information de segmentation égale à la première valeur, et - le codage des informations de segmentation et du sous-ensemble de données à traiter.
[0042] Le dispositif précité met en oeuvre le procédé de codage selon l'invention dans ses différents modes de réalisations.
[0043] Avantageusement, ledit dispositif de codage est intégré dans l'équipement serveur précité.
[0044] L'invention concerne également un procédé de décodage de données codées, comprenant :
- le décodage de données codées, lesdites données codées comprenant des informations de segmentation d'une pluralité de données acquises par des capteurs, dites données d'entrée, un sous-ensemble de données à traiter par un dispositif de traitement configuré pour appliquer des poids à la pluralité de données d'entrée décodées et pour produire un résultat de traitement en fonction d'un critère d'optimisation d'une qualité du traitement, unedite information de segmentation d'unedite donnée d'entrée étant valorisée à une première valeur ou à une deuxième valeur distincte de la première, ledit sous-ensemble de données à traiter ayant été obtenu par application desdites informations de segmentation à la pluralité de données d'entrée, le sous-ensemble de données à traiter comprenant les données de la pluralité de données d'entrée associées à unedite information de segmentation égale à la première valeur, lesdites données codées comprenant en outre des valeurs modifiées desdits poids, lesdites valeurs modifiées ayant été déterminées pour le traitement de la pluralité de données d'entrée segmentées, en fonction du critère d'optimisation d'une qualité du traitement et d'un critère d'optimisation d'une quantité de données du sous-ensemble de données à traiter,
- la construction d'une pluralité de données d'entrée segmentées décodées à partir du sous-ensemble de données à traiter décodées et des informations de segmentation décodées, et
- la fourniture de la pluralité de données d'entrées segmentées décodées et des valeurs modifiées desdits poids au dispositif de traitement.
[0045] Avantageusement, l'invention propose de coder les valeurs de poids modifiées du dispositif de traitement côté émetteur, en vue de leur transmission à un récepteur et de la mise à jour de la configuration du dispositif traitement côté récepteur. Ceci permet de garantir que le dispositif de traitement produit un résultat optimal au sens du critère d'optimisation.
[0046] Corrélativement, l'invention concerne aussi un dispositif de décodage comprenant :
- le décodage de données codées, lesdites données codées comprenant des informations de segmentation d'une pluralité de données acquises par des capteurs, dites données d'entrée, un sous-ensemble de données à traiter par un dispositif de traitement configuré pour appliquer des poids à la pluralité de données d'entrée décodées et pour produire un résultat de traitement en fonction d'un critère d'optimisation d'une qualité du traitement, unedite information de segmentation d'unedite donnée d'entrée étant valorisée à une première valeur ou à une deuxième valeur distincte de la première, ledit sous-ensemble de données à traiter ayant été obtenu par application desdites informations de segmentation à la pluralité de données d'entrée, le sous-ensemble de données à traiter comprenant les données de la pluralité de données d'entrée associées à unedite information de segmentation égale à la première valeur, lesdites données codées comprenant en outre des valeurs modifiées desdits poids, lesdites valeurs modifiées ayant été déterminées pour le traitement de la pluralité de données d'entrée segmentées, en fonction du critère d'optimisation d'une qualité du traitement et d'un critère d'optimisation d'une quantité de données du sous-ensemble de données à traiter,
- la construction d'une pluralité de données d'entrée segmentées décodées à partir du sous-ensemble de données à traiter décodées et des informations de segmentation décodées, et
- la fourniture de la pluralité de données d'entrées segmentées décodées et des valeurs modifiées desdits poids au dispositif de traitement.
[0047] Le dispositif précité met en œuvre le procédé de décodage selon l'invention dans ses différents modes de réalisations.
[0048] Avantageusement, ledit dispositif de décodage est intégré dans un équipement terminal configuré pour recevoir les données codées et comprenant en outre le dispositif de traitement précité.
[0049] L'invention concerne également un signal portant des données codées. Lesdites données codées comprennent des informations de segmentation d'une pluralité de données acquises par des capteurs, dites données d'entrée, un sous-ensemble de données à traiter obtenu par application desdites informations de segmentation à ladite pluralité de données d'entrée, unedite information de segmentation d'unedite donnée d'entrée étant valorisée à une première valeur ou à une deuxième valeur distincte de la première, le sous-ensemble de données à traiter comprenant les données de la pluralité de données d'entrée associées à une information de segmentation égale à la première valeur, ledit sous-ensemble de données à traiter étant destiné à être décodé, puis utilisé pour reconstruire une pluralité de données d'entrée segmentées décodées à partir des informations de segmentation décodées, en vue du traitement de ladite pluralité de données d'entrée segmentées par un dispositif de traitement, configuré pour produire un résultat de traitement en fonction d'un critère d'optimisation d'une qualité du traitement, en appliquant des poids à la pluralité de données d'entrée lesdites. Lesdites données codées comprennent en outre des valeurs modifiées desdits poids, lesdites valeurs modifiées ayant été déterminées pour le traitement de la pluralité de données d'entrée segmentées, en fonction du critère d'optimisation d'une qualité du traitement et d'un critère d'optimisation d'une quantité de données du sous-ensemble de données à traiter, et étant destinées à être utilisées par ledit dispositif de traitement pour mettre à jour lesdits poids avant le traitement de la pluralité de donnée d'entrée segmentées décodées reconstruites.
[0050] L'invention concerne également un système comprenant le dispositif de segmentation, le dispositif de codage, le dispositif de décodage et le dispositif de traitement précité. Ce système, les dispositifs de segmentation, de codage et de décodage selon l'invention présentent au moins les mêmes avantages que ceux conférés par les procédés précités.
[0051] L'invention concerne enfin des produits programmes d'ordinateur comprenant des instructions de code de programme pour la mise en oeuvre respective des procédés de segmentation, codage et décodage précités, lorsqu'ils sont exécutés par un processeur.
[0052] Un tel 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.
[0053] L'invention vise également au moins un support d'enregistrement lisible par un ordinateur sur lequel sont enregistrés les programmes d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes des procédés selon l'invention tels que décrits ci-dessus.
[0054] 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.
[0055] 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 les programmes d'ordinateur qu'il contient est exécutable à distance. Les programmes selon l'invention peuvent être en particulier téléchargés sur un réseau par exemple le réseau Internet.
[0056] Alternativement, le ou les supports d'enregistrement peuvent être un ou des circuits intégrés dans lesquels chaque programme est incorporé, le ou les circuits étant adaptés pour exécuter ou pour être utilisé dans l'exécution des procédés précités.
[0057] 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.
[0058] 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 œuvre 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.
[0059] 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.
[0060] Chaque composante du système précédemment décrit met bien entendu en oeuvre ses propres modules logiciels.
[0061] Les différents modes de réalisation mentionnés ci-dessus sont combinables entre eux pour la mise en œuvre de la présente technique.
Brève description des dessins
[0062] D'autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessous, en référence aux dessins annexés qui en illustrent un exemple de réalisation dépourvu de tout caractère limitatif. Sur les figures :
[0063] [Fig 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 ;
[0064] [Fig 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;
[0065] [Fig 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 et formant la vidéo multi-vues originale, selon l'art antérieur;
[0066] [Fig 4] : illustre de façon schématique un premier exemple d'architecture d'un système selon un mode de réalisation de l'invention comprenant un dispositif de segmentation d'une pluralité de données d'entrée, un dispositif de codage d'informations de segmentation et d'un sous-ensemble de données à traiter issues de la segmentation, un dispositif de décodage de données codées représentatives du sous-en- semble de données à traiter et des informations de segmentation associées et un dispositif de traitement des données décodées, lorsque la pluralité de données est une vidéo multi-vues de la scène acquise par une pluralité de caméras;
[0067] [Fig 5] : illustre de façon schématique un deuxième exemple d'architecture d'un système selon un mode de réalisation de l'invention comprenant un dispositif de segmentation d'une pluralité de données d'entrée, un dispositif de codage d'informations de segmentation et d'un sous-ensemble de données à traiter issues de la segmentation, un dispositif de décodage de données codées représentatives du sous-en- semble de données à traiter et des informations de segmentation associées et un dispositif de traitement des données décodées, lorsque la pluralité de données comprend des mesures physiologiques d'un patient acquises par une pluralité de capteurs;
[0068] [Fig 6] : décrit sous forme d'un logigramme les étapes d'un procédé de segmentation d'une pluralité de données d'entrée, selon un exemple de réalisation de l'invention ; [0069] [Fig 7] : décrit sous forme d'un logigramme les étapes d'un procédé de codage des données issues de la segmentation de la pluralité de données codées selon un mode de réalisation de l'invention ;
[0070] [Fig 8] : décrit sous forme d'un logigramme les étapes d'un procédé de décodage des données issues de la segmentation de la pluralité de données selon un mode de réalisation de l'invention ;
[0071] [Fig 9] : détaille un premier exemple de mise en oeuvre des procédés de segmentation et de codage précités lorsque la pluralité de données comprend une vidéo multi- vues ;
[0072] [Fig 10] : détaille un premier exemple de mise en oeuvre du procédé de décodage précités lorsque la pluralité de données d'entrée comprend une vidéo multi-vues ;
[0073] [Fig 11] : détaille un deuxième exemple de mise en œuvre des procédés de segmentation et de codage précités lorsque la pluralité de données d'entrée comprend une pluralité de séquences de mesures physiologiques d'un patient ;
[0074] [Fig 12] : détaille un deuxième exemple de mise en œuvre du procédé de décodage précité lorsque la pluralité de données d'entrée comprend une pluralité de séquences de mesures physiologiques d'un patient ;
[0075] [Fig 13] : décrit un exemple de structure matérielle d'un dispositif de segmentation d'une pluralité de données selon l'invention ;
[0076] [Fig 14] : décrit un exemple de structure matérielle d'un dispositif de codage d'une pluralité de données selon l'invention ; et
[0077] [Fig 15] : décrit un exemple de structure matérielle d'un dispositif de décodage de données issues de la segmentation et du codage selon l'invention.
Description de l'invention
[0078] Le principe de l'invention repose sur la segmentation d'une pluralité de données d'entrée, acquises par des capteurs disposés autour d'une scène, d'un objet ou d'un sujet, en vue de leur traitement par un dispositif de traitement donné. On désigne ici par segmentation le fait d'identifier parmi la pluralité de données d'entrée celles à conserver pour un traitement ultérieur donné et de les rassembler en un sous-en- semble de données à traiter.
[0079] Autrement dit, il s'agit d'élaguer des données issues d'un ou plusieurs de ces capteurs, lorsqu'elles ne sont pas utiles ou pertinentes pour réaliser le traitement prévu par le dispositif de traitement, par exemple parce qu'elles sont redondantes avec celles acquises par un ou plusieurs autres de ces capteurs. Selon l'invention, la décision d'élaguer ou de conserver les données d'entrée se fait sur la base de deux critères, un critère d'optimisation d'une quantité de données segmentées, c'est-à-dire conservées dans le sous-ensemble de données à traiter, et un critère d'optimisation d'une qualité du traitement donné à partir du sous-ensemble de données à traiter.
[0080] Selon un mode de réalisation de l'invention, la segmentation est mise en œuvre par un module d'intelligence artificielle placé en amont du dispositif de traitement et capable de se configurer par apprentissage machine (en anglais, « machine learning »). La structure du module de segmentation automatique comprend une pluralité de poids destinés à être appliqués à la pluralité de données d'entrée et l'apprentissage d'une configuration du module de segmentation automatique consiste pour le module à apprendre la meilleure configuration interne possible de ses poids, permettant à la fois de minimiser la quantité de données du sous-ensemble de données d'entrée à présenter en entrée du dispositif de traitement et de maximiser la qualité du traitement des données.
[0081] Selon l'invention, cet apprentissage est d'une part spécifique à la pluralité de données d'entrée et d'autre part réalisé en considérant le résultat de la combinaison des actions du module de segmentation et du dispositif de traitement placé en aval du module de segmentation, qui récupère donc en entrée la pluralité de données pondérée par les poids de configuration du module de segmentation automatique, selon au moins deux critères. Le premier critère de performance relatif au module de segmentation, est de minimiser une quantité de données à fournir au dispositif de traitement, ce qui revient à élaguer au maximum la pluralité de données d'entrée. Le deuxième critère de performance est lié au dispositif de traitement et impose de maximiser une mesure de qualité du traitement réalisé par le dispositif de traitement.
[0082] Les valeurs de configuration du module de segmentation automatique sont ensuite exploitées pour déterminer des informations de segmentation de la pluralité de données et un sous-ensemble de données à traiter est enfin obtenu par application des informations de segmentation à la pluralité de données d'entrée.
[0083] L'invention permet ainsi de réduire la quantité de données à coder et à transmettre à un équipement récepteur distant embarquant un dispositif de traitement similaire à ceux mis en œuvre par un équipement émetteur, tout en préservant la qualité du traitement de ces données.
[0084] L'invention s'applique à tout type de données d'entrée et elle est indépendante de la technique d'intelligence artificielle mise en œuvre par le module de segmentation automatique, pourvu qu'il puisse être configuré à l'aide d'une pluralité de poids de configuration associés à la pluralité de données d'entrée.
[0085] 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. Dans ce cas, le traitement comprend la synthèse d'une vue supplémentaire, souhaitée par l'utilisateur de l'équipement terminal, à partir des données segmentées.
[0086] Bien sûr, l'invention ne se limite pas à ce cas d'usage, mais peut s'applique à toute autre pluralité de données acquises par des capteurs, comme par exemple des capteurs de mesures physiologiques d'un patient.
[0087] Dans la suite, nous nous attacherons à décrire des exemples de mise en œuvre de l'invention pour ces deux cas d'usage particuliers.
[0088] On désigne ci-après par scène au sens large tout objet, sujet ou pluralité d'objets ou sujets dans leur environnement. [0089] En relation avec la Figure 4, on s'attache maintenant à présenter un exemple d'architecture d'un système S selon l'invention, comprenant un équipement serveur ES configuré pour recevoir des données d'entrée acquises par une pluralité de capteurs Cl, C2, ...CN. En l'espèce, il s'agit d'une pluralité de caméras et les données d'entrée reçues sont une pluralité de séquences vidéo prises selon différents points de vue d'une scène SC, appelée aussi vidéo multi-vues VMV.
[0090] Dans cet exemple, l'équipement serveur ES comprend un module d'émission-réception E/R, un dispositif de segmentation 100 selon l'invention, un dispositif de traitement PROCI, SYNT1 de la pluralité de données d'entrée et un dispositif de codage 200 des données segmentées selon l'invention. Un tel équipement serveur ES est configuré pour émettre les données codées, par exemple sous forme de flux de données STR ou de fichier FD, à l'aide de son module E/R. Il comprend aussi une mémoire M ES dans laquelle il stocke par exemple les données codées.
[0091] Selon l'invention, le dispositif de segmentation 100 est configuré pour déterminer des valeurs de poids à appliquer à la pluralité de données d'entrée avant traitement par au moins un dispositif de traitement (PROCI, SYNT1) configuré pour produire un résultat de traitement selon un critère de maximisation d'une mesure de qualité du résultat de traitement des données d'entrée, lesdites valeurs de poids étant déterminées en fonction dudit critère et d'un autre critère de minimisation d'une quantité de données d'entrées à traiter, déterminer des informations de segmentation de ladite pluralité de données d'entrée, unedite information de segmentation d'unedite donnée étant valorisée à une première valeur ou à une deuxième valeur distincte de la première, en fonction desdits poids, et obtenir un sous-ensemble de données à traiter par application des informations de segmentation déterminées à ladite pluralité de données d'entrée, le sous-ensemble de données à traiter comprenant les données de la pluralité de données d'entrée associées à une information de segmentation égale à la première valeur.
[0092] Dans cet exemple, le système S comprend un module d'intelligence artificielle ou module de segmentation SEG1 comprenant lesdits poids et situé en amont du dispositif de traitement PROCI, SYNT1. Avantageusement, la détermination comprend un apprentissage desdites valeurs de poids, à partir de ladite pluralité de données d'entrée, par rétro-propagation d'un gradient d'une fonction de perte combinant les deux critères.
[0093] En variante, le module SEG1 est intégré dans le dispositif 100.
[0094] Le dispositif 100 met ainsi en œuvre le procédé de segmentation d'une pluralité de données représentatives d'une scène selon l'invention qui sera détaillé ci-après en relation avec la figure 6.
[0095] Selon l'invention, le dispositif de codage 200 est configuré pour obtenir des informations de segmentation de la pluralité de données et le sous-ensemble de données à traiter produit par le dispositif de segmentation 100 et pour coder le sous-ensemble de données à traiter et les informations de segmentation obtenues. Sur la figure 4, le dispositif 100 est indépendant du dispositif 200, mais selon une variante (non représentée), il est intégré dans le dispositif 200.
[0096] Le dispositif 200 met ainsi en oeuvre le procédé de codage de données représentatives d'une scène selon l'invention qui sera détaillé ci-après en relation avec la figure 7.
[0097] Dans cet exemple, le dispositif de traitement PROCI, SYNT1 est configuré pour synthétiser une vue choisie par un utilisateur à partir des vues d'entrée décodées, lorsque celle-ci ne correspond à aucune des vues de la vidéo multi-vues qui ont été transmises dans le flux ou le fichier de données codées STR, FD. On comprend que selon l'invention, le dispositif de traitement PROCI, SYNT1 mis en oeuvre dans l'équipement serveur ES n'est utilisé qu'à des fins d'apprentissage du module de segmentation automatique SEG1.
[0098] Dans cet exemple, le système S comprend aussi un équipement terminal UE, par exemple un téléphone intelligent ou un casque de réalité augmentée, par exemple de type dispositif de tête ou HMD (de l'anglais, « Head Mounted Device ») porté par un utilisateur UT, distant de l'équipement serveur ES et par exemple connecté à lui par l'intermédiaire d'un réseau de communications RC.
[0099] Selon l'invention, l'équipement terminal UE comprend un module E/R d'émission/ré- ception, apte à recevoir le flux ou le fichier de données codées STR, FD par l'intermédiaire du réseau de communication RC, un dispositif 300 de décodage des données codées reçues, un dispositif de traitement PROC2, SYNT2 des données segmentées, similaire à celui de l'équipement ES, en termes de structure et de configuration, et une mémoire M UE-
[0100] Dans cet exemple, le dispositif 300 est configuré pour décoder les données codées reçues et les mettre à disposition du dispositif de traitement PROC2, SYNT2. Selon l'invention, les données codées comprennent les informations de segmentation de la pluralité de données d'entrée (ici la vidéo multi-vues VMV) et le sous-ensemble de données - à traiter, résultant de l'application des informations de segmentation déterminées à ladite pluralité de données d'entrée, produits par le dispositif 100 de l'équipement ES, comme précédemment décrit.
[0101] Le dispositif 300 met ainsi en oeuvre le procédé de décodage selon l'invention qui sera détaillé ci-après en relation avec la figure 8.
[0102] Dans l'exemple de la figure 4, le dispositif de traitement PROC2, SYNT2 de l'équipement terminal UE est donc configuré pour synthétiser la vue choisie par un utilisateur à partir des autres vues décodées de la vidéo multi-vues, lorsque celle-ci ne correspond à aucune des vues de la vidéo multi-vues transmise dans le flux ou le fichier de données codées STR, FD. Il est similaire au dispositif PROCI, SYNT1 de l'équipement serveur ES, en ce qu'il présente la même structure et la même configuration. Dans un mode de réalisation particulier, les dispositifs de traitement PROCI, PROC2 comprennent eux aussi un module d'intelligence artificielle comprenant une structure de poids, dont les valeurs sont configurées à l'aide d'une technique d'apprentissage machine. Selon ce mode de réalisation, la configuration préalable des deux dispositifs de traitement PROCI, PROC2 (côté ES et UE) est automatiquement apprise à partir d'une même base de données d'entrée par exemple étiquetée et sous la contrainte d'un critère de maximisation d'une mesure de qualité du résultat de traitement.
[0103] La mémoire M UE est par exemple utilisée pour stocker la vue supplémentaire synthétisée par le dispositif de traitement PROC2, SYNT2.
[0104] En relation avec la Figure 5, on présente maintenant un autre exemple d'architecture d'un système S' selon l'invention, comprenant un équipement serveur ES' configuré pour recevoir des données d'entrée acquises par une pluralité de capteurs SI, S2, ...SN, de natures diverses, par exemple ECG, EEG, scanner, IRM, analyse de composition sanguine, radio, etc. En l'espèce, il s'agit d'une pluralité de capteurs physiologiques placés sur ou à proximité d'un patient SB et les données d'entrée reçues sont une pluralité de séquences de mesures physiologiques acquises à différents instants successifs par la pluralité de capteurs. Selon cet exemple, l'équipement serveur ES' a une structure similaire à celle de l'équipement serveur ES précédemment décrit en relation avec la figure 4. Il comprend un dispositif 100' de segmentation de la pluralité de mesures physiologiques selon l'invention, un module de segmentation SEG1' des données d'entrée, configuré par le dispositif 100' pour segmenter les données d'entrée selon l'invention, un dispositif de traitement PROCI,' DIAG1 des données issues de la segmentation par le module SEG1', un dispositif 200' de codage des données segmentées selon l'invention, un module d'émission/réception E/R et une mémoire M ES-. Les dispositifs 100' et 200' sont similaires aux dispositifs 100 et 200 précités. Le dispositif 100' met ainsi en oeuvre le procédé de segmentation de données d'entrée (ici, des mesures physiologiques du patient SB) selon l'invention qui sera détaillé ci-après en relation avec la figure 6. Le dispositif 200' met ainsi en œuvre le procédé de codage de données d'entrée selon l'invention qui sera détaillé ci-après en relation avec la figure 7.
[0105] Dans cet exemple, le dispositif de traitement PROCI', DIAG1 est configuré pour traiter les mesures physiologiques fournies par les capteurs pour réaliser un traitement d'aide au diagnostic. On comprend que selon l'invention, côté équipement serveur ES', ce dispositif de traitement PROCI', DIAG1 n'est utilisé ici que pour réaliser la configuration du module de segmentation SEG1' du dispositif 100' selon l'invention.
[0106] Le système S' comprend aussi un équipement terminal UE', distant de l'équipement serveur ES' et connecté à lui par l'intermédiaire du réseau de communication RC. L'équipement UE' a une structure similaire à celle de l'équipement terminal UE précédemment décrit en relation avec la figure 4. Il comprend au moins un dispositif de décodage 300' similaire au dispositif de décodage 300 précité en relation avec la figure 4, un dispositif de traitement PROC2', DIAG2 préalablement configuré pour traiter la pluralité de données issues des capteurs une fois décodées par le dispositif de décodage 300', un module d'émission réception E/R et une mémoire M UE-. Le dispositif 300' est similaire au dispositif 300 précité et met en œuvre le procédé de décodage de données représentatives d'une scène selon l'invention qui sera détaillé ci-après en relation avec la figure 8. Avantageusement, il comprend en outre un dispositif d'affichage DISP, par exemple de type écran, qui est utilisé par un utilisateur DOC pour visualiser les mesures physiologiques reçues et décodées par 300'.
[0107] 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 segmentation d'une pluralité de données d'entrée selon un mode de réalisation de l'invention. Avantageusement, ce procédé est mis en oeuvre par le dispositif 100 ou 100' précité.
[0108] On désigne ici par SQl(t), SQ2(t), ..., SQN(t), avec N entier non nul, N séquences temporelles de données acquises par N capteurs placés autour de l'objet, du sujet ou de la scène d'intérêt à Nt instants temporels successifs, avec Nt entier non nul, par exemple la scène SC ou le patient SB des figures 4 et 5. On suppose que les N séquences sont obtenues en 60. En 61, les valeurs de poids d'un module de segmentation SEG1 (resp. SEG1'), à appliquer aux données d'entrée, sont déterminées. Par exemple, le module SEG1 (resp. SEG1') est un module d'intelligence artificielle capable d'apprendre, à partir des données d'entrées SQl(t), SQ2(t), ..., SQN(t), celles qui sont utiles à un dispositif de traitement PROCI (resp. PROC1') situé en aval (la sortie du module SEG1 (resp. SEG1') est connectée à l'entrée du dispositif de traitement PROCI (resp. PROC1')) et préalablement configuré pour appliquer un traitement prédéterminé à la pluralité de données d'entrée, et celles qui ne le sont pas. Selon l'invention, le module de segmentation SEG1 (resp. SEG1') est structuré de sorte à appliquer des poids à la pluralité de données d'entrée, dont la valeur est déterminée au cours de cet apprentissage. Avantageusement, le module de segmentation SEG1 (resp. SEG1') comprend autant de poids que de données d'entrée. Ces poids ont par exemple des valeurs flottantes comprises entre 0 et 1 et leur application (multiplication) à la valeur d'une donnée d'entrée a pour effet de maintenir « allumée » ou « d'éteindre » cette donnée, avant sa prise en compte par le dispositif de traitement PROCI (resp. PROC1').
[0109] Par exemple, dans une configuration particulière du module de segmentation automatique SEG1 (resp. SEG1'), ces poids sont répartis dans des couches successives associées à chacune des N séquences de données d'entrée à chacun des Nt instants de chaque séquence. Par exemple, lorsque les séquences d'entrée sont des séquences d'images, le module SEG1 comprend N x Nt couches, avec une couche par image ou vue et par instant temporel t, dont les dimensions correspondent respectivement à celles des images des N séquences.
[0110] Selon l'invention, l'apprentissage se fait sur la base d'un premier critère de performance du module de segmentation SEG1 (resp. SEG1'), qui est ici un critère d'optimisation d'une quantité de données à présenter au dispositif de traitement PROC1 (resp. PROC1'), mais aussi sur la base d'un deuxième critère de performance, propre au dispositif de traitement PROCI (resp. PROC1') lui-même, qui est un critère d'optimisation d'une qualité du traitement. Cette prise en compte de la combinaison des deux traitements successifs et la satisfaction de ces deux critères de performance permettent de garantir que l'élagage de données d'entrée par le module de segmentation SEG1 (resp. SEG1') ne se fait pas au détriment des performances du dispositif de traitement PROCI (resp. PROC1').
[0111] Par exemple, le premier critère comprend une minimisation d'une amplitude des valeurs cumulées des poids des couches du module de segmentation SEG1, SEG1'. Selon une variante, il comprend une minimisation d'un nombre de valeurs de poids supérieures à un seuil donné dans lesdites couches ou une maximisation d'un nombre de valeurs de poids inférieures audit seuil. Selon encore une autre variante, il comprend une minimisation de l'entropie des données d'entrée à la sortie du module de segmentation SEG1, SEG1', c'est-à-dire une fois qu'on leur a appliqué les valeurs des poids desdites couches. Selon une autre variante, il comprend une minimisation d'une amplitude des valeurs cumulées des données d'entrée conservées dans le sous- ensemble de données à traiter. Selon encore une autre variante, il comprend une minimisation d'un nombre de données d'entrée conservées dans le sous-ensemble de données d'entrées à traiter. Selon encore une autre variante, il comprend une minimisation d'une entropie des valeurs de données d'entrées conservées dans le sous-en- semble de données d'entrées à traiter. Bien sûr, le premier critère peut comprendre aussi une combinaison de plusieurs de ces différents critères.
[0112] En 62, des informations de segmentation SGI des données d'entrée sont déterminées à partir des valeurs des poids déterminées pour le module SEG1 (resp. SEG1'). Pour une donnée d'entrée, l'information de segmentation SGI correspondante est positionnée à une première ou à une deuxième valeur distincte de la première, en fonction de la valeur du poids correspondant. Par exemple, la première valeur est supérieure à la deuxième valeur. La valeur du poids est comparée à un seuil donné. Lorsque la valeur du poids est supérieure au seuil, l'information de segmentation est valorisée à la première valeur (qui signifie « utile » donc « allumée »), et à la deuxième valeur (qui signifie « inutile » donc « éteinte ») sinon. Par exemple, pour des données d'entrée de type image de dimension largeur W x hauteur H, les informations de segmentation associées à cette image comprennent une carte de segmentation de même dimension WxH, donc les pixels sont valorisés à un niveau de gris correspondant à « blanc » lorsqu'ils correspondent à des données décidées « utiles » et à un niveau de gris correspondant à « noir », sinon. En variante, la première valeur est égale à 1 et la deuxième est nulle. Les informations de segmentation SGI sont stockées dans une mémoire Ml.
[0113] En 63, un sous-ensemble de données à traiter USS est obtenu par application des informations de segmentation à la pluralité de données d'entrée SQ1, SQ2, ..., SQN et en ne conservant que celles qui sont associées à une information de segmentation valorisée à la première valeur. Par exemple, le sous-ensemble de données à traiter USS est stocké dans la mémoire Ml et pourra être fourni à un codeur.
[0114] Optionnellement, selon un mode de réalisation particulier de l'invention, le dispositif de traitement PROCI (resp. PROC1') comprend lui aussi un module d'intelligence artificielle présentant une structure de couches comprenant des poids de traitement. On suppose qu'il a été préalablement entraîné, à l'aide d'une base d'apprentissage et de façon connue en soi, à traiter des données d'entrée du type des N séquences temporelles SQl(t), SQ2(t), ..., SQN(t), selon le critère de maximisation d'une mesure de qualité de traitement., On suppose donc que les valeurs de ses poids de traitement ont déjà été déterminées au cours de cet apprentissage préalable.
[0115] Selon un premier mode de réalisation de l'invention, les poids de traitement du dispositif de traitement PROCI (resp. PROC1') sont figés, c'est-à-dire que leurs valeurs ne sont pas modifiées par la détermination 61.
[0116] Selon un deuxième mode de réalisation de l'invention, la détermination 61 s'applique aussi au dispositif de traitement PROCI (resp. PROC1') et a pour effet de modifier les valeurs de ses poids de traitement. Les valeurs de poids de traitement modifiées MW sont obtenues en 64. Elles sont fournies à un codeur ou stockées dans la mémoire Ml.
[0117] Des exemples de mise en œuvre de l'invention dans des cas d'usage particulier seront détaillés ci-après en relation avec les figures 9 à 11.
[0118] On présente désormais, en relation avec la figure 7, sous une forme de logigramme, un exemple de mise en œuvre d'un procédé de codage d'une pluralité de données d'entrée selon un mode de réalisation de l'invention. Avantageusement, ce procédé est mis en œuvre par le dispositif 200 ou 200' précité.
[0119] En 70, le dispositif 200, 200' obtient N séquences temporelles de données d'entrée SQl(t), SQ2(t), ..., SQN(t), avec N entier non nul, acquises par N capteurs placés autour de l'objet, du sujet ou de la scène d'intérêt. En 71, il obtient une segmentation de ces données réalisée par le procédé de segmentation selon l'invention qui vient d'être décrit en relation avec la figure 6. On suppose que le dispositif 200, 200' obtient au moins les informations de segmentation SGI et le sous-ensemble de données à traiter USS fournis par le procédé de segmentation selon l'invention. Avantageusement, il obtient aussi des valeurs de poids modifiées MW destinées au dispositif de traitement PROCI, PROC1'.
[0120] On note que le dispositif 100, 100' peut être intégré ou non au dispositif 200, 200' d'encodage. Dans le premier cas, le dispositif 200, 200' met directement en œuvre le procédé de segmentation selon l'invention. Dans le deuxième cas, il commande la segmentation des données d'entrée au dispositif 100, 100' et reçoit les données segmentées en réponse.
[0121] En 72, le dispositif 200, 200' code les données obtenues SGI, USS de façon classique, connue en soi. En 73, les données codées sont stockées en mémoire M2 dans un fichier de données FD ou transmises dans un flux de données STR, à un équipement distant, par exemple l'équipement terminal UE, UE' des figures 4 et 5.
[0122] On présente désormais, en relation avec la figure 8, sous une forme de logigramme, un exemple de mise en œuvre d'un procédé de décodage de données acquises par une pluralité de capteurs selon un mode de réalisation de l'invention. Avantageusement, ce procédé est mis en œuvre par le dispositif 300 ou 300' précité.
[0123] En 80, les données codées sont obtenues, par exemple d'une mémoire M3 ou bien elles sont reçues par l'intermédiaire d'un réseau de communication, comme par exemple le réseau RC des figures 4 et 5.
[0124] Selon l'invention, les données codées comprennent au moins les informations de segmentation SGI et le sous-ensemble de données à traiter USS, les informations de segmentation SGI permettant d'identifier les données à traiter du sous-ensemble USS dans les N séquences de données d'entrée attendues par le décodeur.
[0125] En 81, les données codées sont décodées de façon connue en soi. Un sous ensemble de données à traiter décodées USSD et des informations de segmentation décodées SGID sont obtenues. Optionnellement, dans un mode de réalisation particulier, des valeurs de poids de traitement modifiées décodées MWD destinées au dispositif de traitement PROC2 (resp. PROC2') sont aussi obtenues.
[0126] En 82, les informations de segmentation décodées SGID et le sous ensemble de données à traiter décodées USSD sont utilisés pour construire des séquences de données décodées segmentées SQlDS(t), SQ2DS (t), ..., SQNDS(t) à présenter au dispositif de traitement PROC2, PROC2'. Si des valeurs modifiées de poids décodées MWD ont été obtenues, elles sont préalablement appliquées à un dispositif de traitement PROC2, PROC2' de structure et de configuration initiale similaires au dispositif de traitement PROCI, PROC1' côté encodeur. Une fois la configuration effectuée, les séquences de données décodées segmentées SQlDS(t), SQ2DS(t), ..., SQNDS(t) sont fournies au dispositif PROC2, PROC2' pour traitement.
[0127] On s'attache désormais à décrire un premier exemple de mise en oeuvre de l'invention, en relation avec les figures 9 et 10.
[0128] Comme dans les figures 1 et 4, on considère une scène SC capturée par un ensemble de N caméras Cl, C2, ..., CN. Chaque caméra observe la scène depuis un point de vue donnée et génère à Nt instants t successifs une image ou vue de texture Tl, T2, ..., TN correspondant à ce point de vue.
[0129] Le traitement à appliquer aux données d'entrée correspond ici à une synthèse de vue. Il s'agit en particulier de synthétiser une vue supplémentaire associée à un point de vue supplémentaire PVS distinct des N points de vue des N caméras. Le dispositif de synthèse en question est configuré pour prendre en entrée tout ou partie des N images Tl(t), T2(t), ..., TN(t) et leurs paramètres intrinsèques (focale, résolution du capteur, nombre de composantes de couleurs, etc.) et extrinsèques (position dans l'espace, orientation, etc.) des N caméras, ainsi que les coordonnées du point de vue supplémentaire PVS de la scène, et pour produire en sortie l'image ou vue supplémentaire TS. Dans cet exemple, on suppose que le dispositif de synthèse SYNT1, SYNT2 comprend un réseau de neurones de type IBRNet. Un tel réseau présente une structure en M couches successives L'1, L'2, ..., L'M, avec M entier non nul, connectées entre elles de sorte que la sortie d'une couche amont soit présentée en entrée de la couche aval suivante. Chaque couche présente des poids de configuration WjL'i, avec i entier compris entre 1 et M et j entier compris entre 1 et un nombre de poids de traitement associé à la couche i, dont les valeurs sont déterminées au cours d'un apprentissage préalable. [0130] En relation avec la figure 9, on décrit d'abord les opérations mises en oeuvre côté encodeur, c'est-à-dire au niveau de l'équipement serveur ES de la figure 4. Selon l'invention, le module de segmentation automatique SEG1 présente lui aussi la structure d'un réseau de neurones en couches, qu'on appelle aussi couches de pertinence, du fait que les valeurs de ses poids sont destinées à indiquer in fine un niveau de pertinence ou d'utilité d'une donnée d'entrée en vue de son traitement ultérieur par le dispositif de synthèse SYNT1.
[0131] Selon ce mode de réalisation de l'invention, le module de segmentation automatique comprend autant de couches LI, L2, ..., LN que d'images d'entrée Tl(t), T2(t), ..., TN(t) à un instant donné t. Par simplicité, dans la suite, on se place à cet instant t donné et on désignera par Tl, T2, ..., TN la séquences d'images d'entrée correspondante.
[0132] Avantageusement, chaque couche Li, avec i compris entre 1 et N, présente les mêmes dimensions que l'image ou vue d'entrée correspondante. Par exemple, si les images d'entrée sont de taille WxH pixels, la couche Li est également de taille WxH, c'est-à- dire qu'elle comprend WxH poids, chaque poids étant un unique coefficient multiplicateur de la valeur scalaire (niveau de gris) ou vectorielle (triplet RGB ou YUV) associé au pixel correspondant de l'image d'entrée. Avantageusement, le coefficient multiplicateur est un réel flottant.
[0133] En variante, les poids de chaque couche Li prennent des valeurs binaires. Si le bit de poids a la valeur 1, le pixel associé est transmis sans changement à l'entrée du dispositif de traitement SYNT1, sinon le pixel associé n'est pas transmis au dispositif de traitement SYNT1 ou bien il est transmis avec une valeur prédéfinie (par exemple -1) pour indiquer qu'il n'est pas utile.
[0134] Le réseau de neurones du module de segmentation SEG1 est ensuite soumis à un apprentissage, de sorte à affecter des valeurs adéquates aux poids de ces différentes couches afin qu'il exécute la tâche attendue (ici, la synthèse d'une vue supplémentaire) de façon satisfaisante.
[0135] Selon ce mode de réalisation de l'invention, en réalité, c'est un réseau de neurones CRN1 combinant les N couches LI, L2, ..., LN du module de segmentation SEG1 et les M couches L'1, L'2, ..., L'M du dispositif de traitement PROC1 qui est soumis à cet apprentissage. A cette fin, on utilise deux critères de performance distincts, ici appelés fonctions de perte. Le premier critère concerne une perte liée à la tâche du réseau de neurones du dispositif de synthèse SYNT1, et mesure une qualité de l'image synthétisée et le deuxième concerne une perte liée à la segmentation des données d'entrée par le réseau de neurones du module SEG1 et mesure l'amplitude cumulée des valeurs des poids de ses couches Ll, ..., LN. On définit une fonction de perte globale prenant en compte ces deux critères. Un exemple est détaillé ci-après.
[0136] Concrètement, l'apprentissage est similaire à celui décrit dans le document de Wang et al. déjà cité. Brièvement, cet apprentissage fonctionne de la manière suivante : pour chaque valeur j dans 1, ..., N, on demande au réseau combiné CRN1 de générer la vue Tj à partir des autres vues. Puisqu'on dispose de la vue originale Tj associée au point de vue PVj, il est possible d'évaluer la qualité de la synthèse réalisée par le dispositif PROC1, par exemple en calculant une différence (par exemple, basée sur l'erreur quadratique moyenne) entre la vue synthétisée TSj et la vue originale Tj. Cette différence est ensuite utilisée pour calculer un gradient qui est rétro-propagé jusqu'à la couche Lj du module SEG1 de façon connue en soi. On note que lorsque le dispositif de synthèse n'est pas basé sur une méthode d'intelligence artificielle, le gradient calculé est simplement propagé dans la couche Lj.
[0137] Par exemple, la fonction de perte globale à minimiser est la suivante (où | | . | | est la norme L2), basée sur la racine carrée de la somme des carrés des coordonnées d'un vecteur) :
Figure imgf000024_0001
A est un paramètre fixé par l'utilisateur qui permet de déterminer un choix entre la minimisation de la taille des zones segmentées (A. élevé) ou la performance de synthèse de vue (A faible). Il s'agit d'un réel positif, qui peut être plus grand ou plus petit que 1. PLj désigne une concaténation vectorielle des WxH poids des N couches Li.
[0139] Selon une première option, les poids du réseau de neurones du dispositif de synthèse SYNT1 sont fixes et ne sont pas modifiés par l'apprentissage du module SEG1. Autrement dit, seuls les poids des couches LI, L2, ..., LN du module SEG1 sont optimisés au sens de la fonction de perte.
[0140] En variante, les poids des couches du réseau du dispositif de traitement SYNT1 peuvent varier. Avantageusement, ils sont optimisés au cours de l'apprentissage du module SEG1, qui devient un apprentissage de la combinaison du module SEG1 et du dispositif SYNT1. Dans ce cas, les valeurs modifiées MWL'l, MWL'2, ..., MWL'M des poids de traitement du dispositif SYNT1 sont obtenues et stockées en vue de leur transmission, par exemple à l'équipement terminal UE de la figure 4.
[0141] Une fois l'apprentissage (61) terminé, on détermine en 62 les informations de segmentation SGI des données d'entrée Tl, T2, ..., TN.
[0142] Selon ce mode de réalisation de l'invention, chaque couche LI, L2, ..., LN du module SEG1 est transformée en une carte de segmentation SGI1, SGI2, ..., SGIN de la vue Tl, T2, ..., TN associée. On note que dans cet exemple, une carte de segmentation d'une image ou vue donnée est une carte présentant les mêmes dimensions que cette image, et dont les éléments ou pixels sont valorisés à une première valeur par exemple la valeur 1, signifiant que le pixel associé dans l'image Tj est utile pour la tâche ultérieure du dispositif de traitement PROC1, la valeur 0 signifiant que le pixel associé dans l'image Tj n'est pas utile pour ce dispositif de traitement.
[0143] Avantageusement, lorsque les valeurs des poids des couches LI, L2, ..., LN sont des réels flottants, par exemple compris entre 0 et 1, la détermination de la valeur correspondante de la carte de segmentation se fait par comparaison de chaque poids à un seuil donné, par exemple égal à 0.01. Si la valeur du poids est inférieure à ce seuil, alors le pixel correspondant de la carte de segmentation est mis à 0, sinon ce pixel est mis à 1. [0144] En variante, lorsque les valeurs des poids sont binaires, elles sont directement copiées dans la carte de segmentation SGIi correspondante (la carte SGIi est égale à la carte des poids de la couche Li).
[0145] Les vues Tl, T2, ..., TN sont ensuite codées (72) par le dispositif de codage 200 à l'aide des cartes de segmentation SGI, SG2, ..., SGN. Avantageusement, on utilise une méthode de codage d'une vidéo multi-vues, préférentiellement le standard MIV. En variante on peut recourir à d'autres standards comme par exemple MV-HEVC ou encore 3D HEVC.
[0146] Selon le standard MIV, à un instant t, des parties de vues Tl(t), T2(t), ..., TN(t), appelées patches, sont disposées dans une grande image commune, appelée atlas. Classiquement, ces parties correspondent par exemple au résultat d'une segmentation préalable des vues acquises par les N caméras, destinée à ne conserver que les informations non redondantes entre vues. Par exemple, une partie d'un objet de la scène qui serait visible sur une vue donnée et qui est transmise dans un patch de cette vue n'a plus besoin d'être transmise dans un patch d'une autre vue.
[0147] Les atlas correspondant aux différents instants de la vidéo sont ensuite codés comme des vidéo 2D classiques, à l'aide par exemple du standard de codage vidéo HEVC. Le standard IV fournit en effet une syntaxe qui permet au décodeur d'identifier les patches à l'intérieur des atlas et de les redisposer dans les vues initiales. Les vues décodées puis reconstruites côté décodeur sont donc partielles.
[0148] Selon l'invention, la division en patches est effectuée, pour chaque vue Tj, sur la base de la carte de segmentation SGIj produite à partir des valeurs affectées aux poids du module de segmentation automatique à l'issue de l'apprentissage (61).
[0149] A cet égard, on note qu'il existe plusieurs façons de créer des patches à partir d'une même carte de segmentation. Par exemple, on constitue autant de patches que de groupes de pixels connexes ayant la valeur « utile » dans la carte de segmentation considérée. En variante, on peut imposer une limite minimale pour constituer un patch à partir d'un tel groupe de pixels connexes. Par exemple, si un groupe de pixels segmentés contient un nombre de pixels inférieur à un premier seuil (par exemple égal à 100 pixels, il ne sera pas pris en compte pour constituer un nouveau patch, mais on cherchera à le rattacher à un groupe de pixels segmentés voisins jusqu'à dépasser cette limite. Selon une autre variante, il est aussi possible de simplement omettre de prendre en compte les groupes de pixels segmentés dont le nombre de pixels est inférieur à un deuxième seuil, inférieur au premier, et par exemple égal à 5.
[0150] Les patches ainsi constitués pour une vue donnée Ti(t) sont incorporés dans un atlas avec d'autres patches provenant éventuellement d'autre vues Tj(t) associées au même instant t. Afin de pouvoir reconstituer les vues partielles côté décodeur, il est requis de lui transmettre, donc de coder les informations suivantes :
[0151] - la vue à laquelle le patch est associé,
- les coordonnées du patch dans l'atlas,
- une carte d'occupation (en anglais, « Occupancy Map ») du patch dans l'atlas. [0152] On note donc que le standard MIV permet déjà la prise en compte des cartes de segmentation des vues dans le schéma de codage d'une vidéo multi-vues de sorte à ce que seules les données d'entrée du sous-ensemble de données à traiter USS soient codées et transmises à un récepteur (UE).
[0153] Une fois les atlas remplis avec tous les patches identifiés dans toutes les vues, les atlas sont codés par un encodeur classique, par exemple conforme au standard HEVC.
[0154] Dans un mode de réalisation, la configuration du réseau de neurones du dispositif de synthèse SYNT1 est figée.
[0155] Dans un autre mode de réalisation, la configuration du réseau de neurones du dispositif de synthèse SYNT1 est modifiée par l'apprentissage 61 et les valeurs modifiées MWL'l, MWL'2,..., MWL'N des poids de traitement des différentes couches L'1, L'2, ..., L'M du réseau de neurones du dispositif de synthèse SYNT1 qui sont également codées (par exemple avec le standard de codage MPEG NNR, de l'anglais « Neural Net Representation »), spécifié dans la partie 17 de la norme MPEG-7, en vue de leur transmission au dispositif de synthèse SYNT2 correspondant côté récepteur (UE). On note qu'ici plusieurs valeurs de poids de traitement modifiées MWL'i peuvent être transmises pour la couche L'i et que cet ensemble de valeurs MWL'i peut prendre la forme d'une carte ou d'une image dont les dimensions sont identiques à celle de la couche L'i concernée.
[0156] On suppose que les données codées sont transmises à un équipement récepteur, par exemple l'équipement terminal UE de la figure 4, par l'intermédiaire du réseau de communication RC, par exemple sous la forme d'un flux de données codées STR ou d'un fichier de données codées FD.
[0157] Elles sont reçues par le dispositif de décodage 300 qui, selon ce mode de réalisation, effectue un décodage des données codées relatives aux vues complètes ou partielles Tl, T2, ..., TN conformément au standard MIV.
[0158] Ce décodage produit les données décodées suivantes :
- une série ou séquence d'atlas,
-pour chaque atlas, des données représentatives des patches qu'il contient et, pour chacun de ces patches :
- la vue à laquelle le patch est associé,
- les coordonnées du patch dans l'atlas, et
- une carte d'occupation du patch dans l'atlas.
[0159] A partir de ces données décodées, les vues décodées segmentées T1DS, T2DS, ..., TNDS sont reconstruites (82), soit de façon complète ou partielle (selon les informations contenues dans les patches).
[0160] Dans le mode de réalisation selon lequel des valeurs de poids MWL'l, MWL'2, ..., MWL'M modifiées sont codées, elles sont également décodées puis utilisées pour mettre à jour la configuration des couches du réseau de neurones du dispositif de traitement SYNT2.
[0161] Ensuite, les N vues T1DS, T2DS, ..., TNDS décodées sont présentées au réseau de neurones correspondant au dispositif PROC2. [0162] On suppose qu'un utilisateur UT souhaite synthétiser une vue supplémentaire selon le point de vue supplémentaire PVS. Dans ce cas, selon l'invention, les vues T1DS, T2DS, ..., TNDS décodées segmentées sont présentées à l'entrée du dispositif de synthèse SYNT2 (dont certaines couches L'i ont pu être mises à jour avec les valeurs modifiées de poids MWL'l, MWL'2, ..., MWL'M décodées, selon le mode de réalisation considéré. Les coordonnées du point de vue PVS souhaité par l'utilisateur UT sont aussi entrées. Le dispositif SYNT2 produit enfin la vue supplémentaire synthétisée TSj'.
[0163] On s'attache désormais à décrire un deuxième exemple de mise en oeuvre de l'invention, en relation avec les figures 11 et 12.
[0164] En relation avec les figures 5 et 11, on considère un patient SB entouré d'une pluralité de capteurs SI, S2, ..., Si, ..., SN de natures diverses (ECG, EEG, Scanner, IRM, analyses chimiques, radio, ...). Chaque capteur acquiert au moins une donnée T1(Y), T2(Y), ..., Ti(Y), ..., TN(Y) de type mesure physiologique, image, etc.
[0165] Par ailleurs, on suppose que ces données sont ensuite traitées par plusieurs réseaux de neurones RI, R2, ..., Rk, ..., RK, avec K entier non nul inférieur ou égal à N, spécialisés chacun dans une tâche de diagnostic ou d'aide au diagnostic. Par exemple, on considère que l'ensemble de ces réseaux forme le dispositif de traitement DIAG1 de la figure 5. Ces réseaux sont chacun configurés pour prendre en entrée un sous-en- semble des N données d'entrée T1(Y), ..., Ti(y), ..., TN(Y) et pour produire en sortie une information de diagnostic Di(Y) (par exemple, présence d'une tumeur, suspicion d'épilepsie, ...) ou une information d'aide au diagnostic (par exemple, une segmentation, c'est-à-dire une délimitation géographique d'une zone susceptible de contenir une tumeur, etc.). Le sous-ensemble de données d'entrée à présenter à chaque réseau de neurones Rk est sélectionné par un algorithme extérieur au réseau de neurones considéré et peut comprendre une partie des ou toutes les données Ti(Y). Des exemples de réseaux de neurones Rk adaptés au diagnostic de pathologies particulières sont donnés dans le document de Zhang et al., intitulé « Multi-channel deep convolutional neural networks for multi-classifying thyroid disease", publié par le site https://arxiv.org/abs/2203.03627, en mars 2022, dans le document Dehghani et al., intitulé « Joint brain tumor segmentation from multi MR sequences through a deep convolutional neural network", publié par le site https://arxiv.org/abs/2203.03338, en mars 2022, et dans le document de Salafian et al., intitulé « CNN-Aided Factor Graphs with Estimated Mutual Information Features for Seizure Detection", publié par le site https://arxiv.org/abs/2203.05950, en mars 2022.
[0166] Le traitement à appliquer aux données d'entrée de chacun des réseaux Rk correspond donc ici à un traitement d'aide au diagnostic.
[0167] Dans cet exemple, on suppose que chaque dispositif de traitement DIAG11, DIAG12, ..., DIAG1K comprend un réseau de neurones en couches RI, R2, ..., RK. chacun de ces réseaux Rk présente une structure en couches successives, connectées entre elles de sorte que la sortie d'une couche amont soit présentée en entrée de la couche aval suivante. Chaque couche présente des poids de configuration dont les valeurs sont ajustées au cours d'un apprentissage préalable.
[0168] En relation avec la figure 11, on décrit d'abord les opérations mises en oeuvre côté encodeur, c'est-à-dire au niveau de l'équipement serveur ES' de la figure 5. Dans cet exemple, on considère K modules de segmentation SEG11', SEGlk', ..., SEG1K', présentant chacun la structure d'un réseau de neurones en couches, ou couches de pertinence, du fait que les valeurs de ses poids sont destinées à indiquer in fine un niveau de pertinence ou d'utilité d'une donnée d'entrée en vue de son traitement ultérieur par le réseau de neurones RI, R2, ..., RK correspondant du dispositif de traitement concerné DIAG11, DIAGlk, ..., DIAG1K.
[0169] Selon ce mode de réalisation de l'invention, chaque module de segmentation SEGlk' comprend autant de couches LI, L2, ..., LN que données d'entrée destinées au réseau Rk. Selon une variante non représentée, on peut mutualiser les couches de segmentation de sorte que le module de segmentation SEG1 compte une couche Li par type de donnée d'entrée Ti et que les données segmentées correspondantes soient adressées à chacun des réseaux Rk qui en ont besoin. Par exemple, dans la figure 11, le réseau Rk, qui reçoit les données T3, T8 et T9, est connecté en entrée aux couches L3(y), L8(y) et L9(y).
[0170] Avantageusement, chaque couche Lik(y) du module SEGlk' a la même taille que la donnée d'entrée associée. Par exemple, si les données d'entrée sont de taille H paramètres, la couche Li(y) est également de taille H poids, chaque poids étant un unique coefficient multiplicateur associé à une donnée (cette donnée ayant par exemple une valeur scalaire ou vectorielle).
[0171] Dans un mode de réalisation particulier, les poids de chaque couche Lik(y) du module de segmentation SEGlk' prennent des valeurs binaires. Si le bit de poids a la valeur 1, la donnée ou paramètre associée est transmise au réseau Rk, sinon elle n'est pas transmise. On note que, dans ce dernier cas, une valeur prédéfinie (par exemple égale à -1) est transmise au dispositif de traitement DIAGlk.
[0172] Selon l'invention, on effectue un apprentissage des réseaux combinant un certain nombre de couches Li(Y) et les couches (non représentées) des réseaux Rk, à l'aide d'une fonction de perte qui combine la perte liée à la tâche des réseaux Rk (à savoir la qualité du diagnostic) et une perte représentative de l'amplitude cumulée des poids des couches Ci(Y). On appelle CRk le réseau obtenu en combinant la ou les couches d'entrée Li(Y) avec le réseau Rk. Avant de réaliser cet apprentissage des réseaux des modules de segmentation SEGlk', on présente la séquence de données d'entrée Tl(y), T2(y)...(TN(y) à chacun des réseaux Rk de sorte à obtenir des diagnostics originaux Dk(y).
[0173] Ensuite, l'apprentissage, connu en soi, fonctionne de la façon suivante. Pour chaque valeur k dans 1, ..., K, on va essayer de maximiser la capacité de diagnostic du réseau CRk à partir des données. Puisqu'on dispose du diagnostic original Dk(y), il est possible de calculer une différence entre ce diagnostic original et la sortie du réseau CRk (par exemple, l'erreur numérique de diagnostic). Cette différence est utilisée pour cal- culer un gradient qui est rétro-propagé dans les poids du réseau combiné CRk à optimiser, selon la formule connue.
[0174] On désigne ci-après par Destk la valeur du diagnostic généré par CRk(Y) et Dk(y) le diagnostic original. La fonction de perte à minimiser est la suivante (où | | . | | est la norme L2) peut s'exprimer comme suit :
| | Destk-Dk(y) | | + A. | | PLi | |
[0175] Où
A est un paramètre fixé par l'utilisateur qui permet de déterminer un choix entre la minimisation de la taille des zones segmentées (A. élevé) ou la performance de diagnostic (A faible) et APLi est une concaténation vectorielle des poids de K couches Li présentes dans le réseau de neurones du module de segmentation SEGlk' en entrée du dispositif de traitement DIAGlk. Il s'agit de réels positifs qui peuvent être plus grands ou plus petits que 1.
[0176] Dans un premier mode de réalisation de réalisation, les poids du réseau Rk contenu dans le réseau de neurones CRk sont fixes lors de l'apprentissage, seuls les poids des couches Li du réseau du module de segmentation SEGlk' sont optimisés au sens de la fonction de perte explicitée ci-dessus.
[0177] Dans un deuxième mode de réalisation, les poids des couches du réseau Rk sont elles aussi modifiées par l'apprentissage. Leurs valeurs modifiées (non représentées) sont stockées en mémoire.
[0178] On transforme ensuite chaque couche Lik du réseau SEGlk' issue de l'apprentissage en une carte de segmentation SGIi des données associées. Une carte de segmentation est une carte de la même taille que les données, contenant pour chaque paramètre de la donnée la valeur 0 ou 1, 0 signifiant que le paramètre associé dans la donnée n'est pas utilisé pour la tâche ultérieure de diagnostic, la valeur 1 signifiant le contraire.
[0179] Avantageusement, lorsque les valeurs des poids des couches Li sont des réels flottants, par exemple compris entre 0 et 1, la détermination de la valeur correspondante de la carte de segmentation se fait par comparaison de chaque poids à un seuil donné, par exemple égal à 0.01. Si la valeur du poids est inférieure à ce seuil, alors la donnée correspondante de la carte de segmentation est mise à 0, sinon elle est mise à 1.
[0180] En variante, lorsque les valeurs des poids sont binaires, elles sont directement copiées dans la carte de segmentation SGIi correspondante (la carte SGIi est égale à la carte des poids de la couche Ci).
[0181] On code ensuite les parties segmentées des données d'entrée Tl(y), T2(y), ..., TN(y), c'est-à-dire l'ensemble de données à traiter USS obtenu en appliquant les cartes de segmentation SGIi obtenues à chacune des N séquences de données d'entrée. Par exemple, on utilise un standard de type MPEG NNR ou gzip.
[0182] Il est aussi nécessaire de coder également la carte de segmentation, sous forme par exemple d'une série de valeurs binaires indiquant pour chaque paramètre ou mesure de la séquence Ti considérée s'il/elle est codée ou non. [0183] Les données codées sont stockées en mémoire et/ou transmises dans un fichier de données ou un flux de données.
[0184] En relation avec la figure 12, on considère maintenant un récepteur du flux de données codées STR ou du fichier de données codées FD, par exemple l'équipement terminal UE' de la figure 5, ledit récepteur effectuant un décodage des données codées reçues dans le flux STR ou dans le fichier FD. On décode les cartes de segmentation SGD1, SGD2, SGDN indiquant quels paramètres des N séquences Tl, T2, ..., TN ont été transmis et sont donc contenus dans le sous-ensemble de données à traiter, puis on décode les valeurs des paramètres en question (contenues dans le sous-ensemble de données à traiter codé), à l'aide d'une méthode de décodage adaptée et réciproque de celle utilisée lors du codage (décodage MPEG NNR, ou décodage gzip). On obtient un sous-ensemble de données à traiter décodé USSD.
[0185] Les séquences de données décodées segmentées T1DS, T2DS, ..., TNDS sont ensuite reconstruites respectivement (en 82, par CONST1, CONST2, ..., CONSTK) pour chacun des dispositifs de diagnostic DIAG21, DIAG22, ..., DIAG2K, qu'elles soient complètes (tous les paramètres de la séquence de données peuvent être reconstruits) ou partielles (les paramètre transmis ne permettent de reconstruire qu'une partie de la séquence) à partir du sous-ensemble de données à traiter décodé USSD et des cartes de segmentation décodées SGD1, SGD2, ..., SGDK. Optionnellement, lorsque les données décodées comprennent des valeurs de poids modifiées pour les réseaux Rk, ces valeurs de poids modifiées sont injectées dans les réseaux Rk concernés.
[0186] On réalise maintenant un traitement d'aide au diagnostic à l'aide du dispositif DIAG2 de la figure 5. Dans cet exemple, un utilisateur (ici un praticien) souhaite effectuer un diagnostic à l'aide d'un réseau Rk de la figure 11, par exemple le réseau R2, et de certaines des séquences de données reconstruites, par exemple T3D, T8D et T9D. Les données segmentées T1DS, T2DS, ..., TNDS reconstruites au décodage (éventuellement partielles) sont entrées dans les couches Ci, elles-mêmes connectées à l'entrée du réseau CRk du dispositif DIAG2k. Le réseau Rk peut alors produire son diagnostic à partir des seules données segmentées.
[0187] On présente maintenant, en relation avec la figure 13, un exemple de structure matérielle d'un dispositif 100 de segmentation d'une pluralité de données d'entrée acquises par des capteurs, comprenant un module de détermination de valeurs de poids à appliquer à la pluralité de données d'entrée avant traitement par au moins un dispositif de traitement configuré pour produire un résultat de traitement selon un critère de maximisation d'une mesure de qualité du résultat de traitement des données d'entrée, lesdites valeurs de poids étant déterminées en fonction dudit critère et d'un autre critère de minimisation d'une quantité de données d'entrée à traiter, un module de détermination d'informations de segmentation de ladite pluralité de données d'entrée, unedite information de segmentation d'unedite donnée étant valorisée à une première valeur ou à une deuxième valeur distincte de la première, en fonction desdits poids, et un module d'obtention d'un sous-ensemble de données à traiter par application des informations de segmentation déterminées à ladite pluralité de données d'entrée, le sous-ensemble de données à traiter comprenant les données de la pluralité de données d'entrée associées à une information de segmentation égale à la première valeur.
[0188] 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-pro- grammes 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.
[0189] 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 du dispositif 100 précité, 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 les informations de segmentation et le sous-ensemble de données utiles.
[0190] La figure 13 illustre seulement une manière particulière, parmi plusieurs possibles, de réaliser le dispositif 100, 100' afin qu'il effectue les étapes du procédé de segmentation tel que détaillé ci-dessus, en relation avec les figures 6, 9 et 11 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).
[0191] 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.
[0192] On présente aussi, en relation avec la figure 14, un exemple de structure matérielle d'un dispositif de codage 200, 200' d'une pluralité de données d'entrée selon l'invention, comprenant au moins un module d'obtention d'informations de segmentation de la pluralité de données d'entrée et d'un sous-ensemble de données à traiter par application desdites informations de segmentation à la pluralité de données d'entrée, ladite segmentation comprenant la détermination de valeurs de poids à appliquer à la pluralité de données d'entrée avant traitement par au moins un dispositif de traitement préalablement configuré pour produire un résultat de traitement en fonction d'un critère de maximisation d'une mesure de qualité du traitement, lesdites valeurs de poids étant déterminées en fonction dudit critère et d'un autre critère de minimi- sation d'une quantité de données d'entrée à traiter, unedite information de segmentation d'unedite donnée étant valorisée à une première ou à une deuxième valeur distincte de la première, en fonction desdites valeurs de poids, le sous-ensemble de données à traiter comprenant les données de la pluralité de données d'entrée associées à une information de segmentation égale à la première valeur, et un module de codage des informations de segmentation et du sous-ensemble de données à traiter.
[0193] 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-pro- grammes d'ordinateur ou de manière plus générale à tout élément d'un programme apte à mettre en œuvre une fonction ou un ensemble de fonctions.
[0194] 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 segmentation et de codage, 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 codées.
[0195] La figure 14 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 codage tel que détaillé ci-dessus, en relation avec les figures 7, 9 et 11 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).
[0196] 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.
[0197] On présente enfin, en relation avec la figure 15, un exemple de structure matérielle d'un dispositif 300, 300' de décodage de données codées, comprenant un module de décodage de données codées comprenant des informations de segmentation d'une pluralité de données acquises par des capteurs, dites données d'entrée, et un sous- ensemble de données à traiter, unedite information de segmentation d'unedite donnée d'entrée étant valorisée à une première valeur ou à une deuxième valeur distincte de la première, ledit sous-ensemble de données à traiter ayant été obtenu par application desdites informations de segmentation à la pluralité de données d'entrée, le sous-ensemble de données à traiter comprenant les données de la pluralité de données d'entrée associées à unedite information de segmentation égale à la première valeur, un module de construction d'une pluralité de données d'entrée segmentées décodées à partir du sous-ensemble de données à traiter décodées et des informations de segmentation décodées, et un module de fourniture de la pluralité de données d'entrées segmentées décodées à un dispositif de traitement configuré pour produire un résultat de traitement en fonction d'un critère de maximisation d'une mesure de qualité du traitement.
[0198] 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-pro- grammes 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.
[0199] Plus généralement, un tel dispositif 300, 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 précités, 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.
[0200] La figure 15 illustre seulement une manière particulière, parmi plusieurs possibles, de réaliser le dispositif 300, 300' afin qu'il effectue les étapes du procédé de décodage tel que détaillé ci-dessus, en relation avec les figures 8, 10 et 12 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).
[0201] Dans le cas où le dispositif 300, 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.
[0202] L'invention qui vient d'être décrite dans ses différents modes de réalisation présente de nombreux avantages. Elle permet de sélectionner, parmi une pluralité de données représentatives d'une scène, d'un objet ou d'un sujet, avant leur transmission dans un réseau de communication, celles qui seront réellement utiles au traitement de cette pluralité de données par un dispositif de traitement d'un équipement récepteur. L'invention a recours à cette fin à des techniques d'apprentissage machine qu'elle met en œuvre de façon astucieuse pour entraîner spécifiquement au niveau d'un équipement émetteur un module de segmentation automatique à segmenter la pluralité de données d'entrée de sorte à minimiser la quantité de données à transmettre tout en maximisant la qualité du traitement.

Claims

Revendications
[Revendication 1] Procédé de segmentation d'une pluralité de données acquises par des capteurs, dites données d'entrée, ledit procédé comprenant :
- la détermination (61) de valeurs de poids à appliquer à la pluralité de données d'entrée avant traitement par au moins un dispositif de traitement (PROCI, SYNT1, DIAG1) configuré pour produire un résultat de traitement selon un critère d'optimisation d'une qualité du résultat de traitement des données d'entrée, lesdites valeurs de poids étant déterminées en fonction dudit critère et d'un autre critère d'optimisation d'une quantité de données d'entrées à traiter,
- la détermination (62) d'informations de segmentation (SGI) de ladite pluralité de données d'entrée, unedite information de segmentation d'unedite donnée étant valorisée à une première valeur ou à une deuxième valeur distincte de la première, en fonction desdits poids, et
- l'obtention (63) d'un sous-ensemble de données à traiter par application des informations de segmentation déterminées à ladite pluralité de données d'entrée, le sous-ensemble de données à traiter comprenant les données de la pluralité de données d'entrée associées à une information de segmentation égale à la première valeur.
[Revendication 2] Procédé de segmentation selon la revendication précédente, caractérisé en ce que la détermination (61) comprend un apprentissage desdites valeurs de poids, à partir de ladite pluralité de données d'entrée, ledit apprentissage étant réalisé par rétro-propagation d'un gradient d'une fonction de perte combinant les deux critères.
[Revendication 3] Procédé de segmentation selon l'une quelconque des revendications 1 et 2, caractérisé en ce que, ledit dispositif de traitement (PROCI, SYNT1, DIAG1) comprenant des poids, dits poids de traitement, des valeurs desdits poids de traitement ayant été préalablement déterminées en fonction du critère d'optimisation de la qualité du résultat de traitement des données d'entrée, le procédé comprend en outre la détermination (64) de valeurs modifiées desdits poids de traitement.
[Revendication 4] Procédé de segmentation d'une pluralité de données selon l'une quelconque des revendications 2 et 3, caractérisé en ce que ladite pluralité de données d'entrée comprenant une pluralité de vues acquises par une pluralité de caméras, unedite vue comprenant des pixels, lesdits poids étant compris dans une pluralité de couches, unedite couche étant associée à unedite vue et comprenant undit poids par pixel, et en ce que les informations de segmentation comprennent une pluralité de cartes de segmentation, unedite carte étant associée à unedite vue.
[Revendication 5] Procédé de segmentation d'une pluralité de données selon l'une quelconque des revendications 2 et 3, caractérisé en ce que la dite pluralité de données d'entrée comprenant une pluralité de séquences de données de mesures acquises par une pluralité de capteurs, lesdits poids étant compris dans une pluralité de couches, unedite couche étant associée à unedite séquence de données de mesures et comprenant undit poids par donnée de mesures et en ce que les informations de segmentation comprennent une pluralité de séquences de segmentation, unedite séquence de segmentation étant associée à unedite séquence de données de mesure.
[Revendication 6] Procédé de codage d'une pluralité de données acquises par des capteurs, dites données d'entrée, caractérisé en ce qu'il comprend :
- l'obtention (71) d'informations de segmentation (SGI) de la pluralité de données d'entrée et d'un sous-ensemble de données (USS) à traiter par application desdites informations de segmentation à la pluralité de données d'entrée, ladite segmentation comprenant la détermination de valeurs de poids à appliquer à la pluralité de données d'entrée avant traitement par au moins un dispositif de traitement (PROCI, SYNT1, DIAG1) préalablement configuré pour produire un résultat de traitement en fonction d'un critère d'optimisation d'une qualité du traitement, lesdites valeurs de poids étant déterminées en fonction dudit critère et d'un critère d'optimisation d'une quantité de données d'entrée à traiter, unedite information de segmentation d'unedite donnée étant valorisée à une première ou à une deuxième valeur distincte de la première, en fonction desdites valeurs de poids, le sous-ensemble (USS) de données à traiter comprenant les données de la pluralité de données d'entrée associées à une information de segmentation égale à la première valeur, et
- le codage (72) des informations de segmentation et du sous-ensemble de données à traiter.
[Revendication 7] Procédé de codage selon la revendication précédente, caractérisé en ce que l'obtention comprend en outre :
- l'obtention (71) de valeurs de poids modifiées (MW), lesdits poids étant destinés à être appliqués aux données d'entrée par le dispositif de traitement (PROCI, SYNT1, DIAG1), des valeurs desdits poids préalablement déterminées en fonction dudit critère d'optimisation d'une qualité du résultat de traitement des données d'entrée et pour le traitement de la pluralité de données d'entrée, ayant été modifiées en fonction desdits critères, pour le traitement du sous-ensemble de données à traiter,
- le codage (72) desdites valeurs de poids modifiées.
[Revendication 8] Procédé de décodage de données codées, caractérisé en ce qu'il comprend :
- le décodage (81) de données codées, lesdites données codées comprenant des informations de segmentation (SGI) d'une pluralité de données acquises par des capteurs, dites données d'entrée, un sous- ensemble (USS) de données à traiter par un dispositif de traitement configuré pour appliquer des poids à la pluralité de données d'entrée décodées et pour produire un résultat de traitement en fonction d'un critère d'optimisation d'une qualité du traitement, unedite information de segmentation d'unedite donnée d'entrée étant valorisée à une première valeur ou à une deuxième valeur distincte de la première, ledit sous-ensemble de données à traiter ayant été obtenu par application desdites informations de segmentation à la pluralité de données d'entrée, le sous-ensemble de données à traiter comprenant les données de la pluralité de données d'entrée associées à unedite information de segmentation égale à la première valeur, lesdites données codées comprenant en outre des valeurs modifiées desdits poids, lesdites valeurs modifiées ayant été déterminées pour le traitement de la pluralité de données d'entrée segmentées, en fonction du critère d'optimisation d'une qualité du traitement et d'un critère d'optimisation d'une quantité de données du sous-ensemble de données à traiter,
- la construction (82) d'une pluralité de données d'entrée segmentées (SQlDS(t), SQ2DS (t), ..., SQNDS(t)) décodées à partir du sous-ensemble de données à traiter décodées et des informations de segmentation décodées, et
- la fourniture (83) de la pluralité de données d'entrées segmentées décodées et des valeurs modifiées desdits poids au dispositif de traitement.
[Revendication 9] Signal portant des données codées, lesdites données codées comprenant des informations de segmentation d'une pluralité de données acquises par des capteurs, dites données d'entrée, un sous-ensemble de données à traiter obtenu par application desdites informations de segmentation à ladite pluralité de données d'entrée, unedite information de segmentation d'unedite donnée d'entrée étant valorisée à une première valeur ou à une deuxième valeur distincte de la première, le sous- ensemble de données à traiter comprenant les données de la pluralité de données d'entrée associées à une information de segmentation égale à la première valeur, ledit sous-ensemble de données à traiter étant destiné à être décodé, puis utilisé pour reconstruire une pluralité de données d'entrée segmentées décodées à partir des informations de segmentation décodées, en vue du traitement de ladite pluralité de données d'entrée segmentées par un dispositif de traitement, configuré pour produire un résultat de traitement en fonction d'un critère d'optimisation d'une qualité du traitement, en appliquant des poids à la pluralité de données d'entrée lesdites, lesdites données codées comprenant en outre des valeurs modifiées desdits poids, lesdites valeurs modifiées ayant été déterminées pour le traitement de la pluralité de données d'entrée segmentées, en fonction du critère d'optimisation d'une qualité du traitement et d'un critère d'optimisation d'une quantité de données du sous-ensemble de données à traiter, et étant destinées à être utilisées par ledit dispositif de traitement pour mettre à jour lesdits poids avant le traitement de la pluralité de donnée d'entrée segmentées décodées reconstruites.
[Revendication 10] Dispositif (100) de segmentation d'une pluralité de données acquises par des capteurs, dites données d'entrée, ledit dispositif étant configuré pour mettre en œuvre :
- la détermination de valeurs de poids à appliquer à la pluralité de données d'entrée avant traitement par au moins un dispositif de traitement (PROCI, SYNT1, DIAG1) configuré pour produire un résultat de traitement selon un critère d'optimisation d'une qualité du résultat de traitement des données d'entrée, lesdites valeurs de poids étant déterminées en fonction dudit critère et d'un critère d'optimisation d'une quantité de données d'entrée à traiter,
- la détermination d'informations de segmentation de ladite pluralité de données d'entrée, unedite information de segmentation d'unedite donnée étant valorisée à une première valeur ou à une deuxième valeur distincte de la première, en fonction desdits poids, et
- l'obtention d'un sous-ensemble de données à traiter par application des informations de segmentation déterminées à ladite pluralité de données d'entrée, le sous-ensemble de données à traiter comprenant les données de la pluralité de données d'entrée associées à une information de segmentation égale à la première valeur.
[Revendication 11] Dispositif (200) de codage d'une pluralité de données acquises par des capteurs, dites données d'entrée, caractérisé en ce qu'il est configuré pour mettre en œuvre :
- l'obtention d'informations de segmentation (SGI) de la pluralité de données d'entrée et d'un sous-ensemble de données à traiter par application desdites informations de segmentation à la pluralité de données d'entrée, ladite segmentation comprenant la détermination de valeurs de poids à appliquer à la pluralité de données d'entrée avant traitement par au moins un dispositif de traitement (PROCI, SYNT1, DIAG1) préalablement configuré pour produire un résultat de traitement en fonction d'un critère d'optimisation d'une qualité du traitement, lesdites valeurs de poids étant déterminées en fonction dudit critère et d'un autre critère d'optimisation d'une quantité de données d'entrée à traiter, unedite information de segmentation d'unedite donnée étant valorisée à une première ou à une deuxième valeur distincte de la première, en fonction desdites valeurs de poids, le sous-ensemble de données à traiter comprenant les données de la pluralité de données d'entrée associées à une information de segmentation égale à la première valeur, et
- le codage des informations de segmentation et du sous-ensemble de données à traiter.
[Revendication 12] Dispositif (300) de décodage de données codées, caractérisé en ce qu'il est configuré pour mettre en oeuvre :
- le décodage de données codées, lesdites données codées comprenant des informations de segmentation (SGI) d'une pluralité de données acquises par des capteurs, dites données d'entrée, un sous-ensemble (USS) de données à traiter par un dispositif de traitement configuré pour appliquer des poids à la pluralité de données d'entrée décodées et pour produire un résultat de traitement en fonction d'un critère d'optimisation d'une qualité du traitement, unedite information de segmentation d'unedite donnée d'entrée étant valorisée à une première valeur ou à une deuxième valeur distincte de la première, ledit sous-ensemble de données à traiter ayant été obtenu par application desdites informations de segmentation à la pluralité de données d'entrée, le sous-ensemble de données à traiter comprenant les données de la pluralité de données d'entrée associées à unedite information de segmentation égale à la première valeur, lesdites données codées comprenant en outre des valeurs modifiées desdits poids, lesdites valeurs modifiées ayant été déterminées pour le traitement de la pluralité de données d'entrée segmentées, en fonction du critère d'optimisation d'une qualité du traitement et d'un critère d'optimisation d'une quantité de données du sous-ensemble de données à traiter,
- la construction d'une pluralité de données d'entrée segmentées (SQlDS(t), SQ2DS (t), ..., SQNDS(t)) décodées à partir du sous-ensemble de données à traiter décodées et des informations de segmentation décodées, et
- la fourniture de la pluralité de données d'entrées segmentées décodées et des valeurs modifiées desdits poids au dispositif de traitement.
[Revendication 13] Système (S), caractérisé en ce qu'il comprend :
- un dispositif de segmentation (100) d'une pluralité de données, conforme à la revendication 10, configuré pour produire une pluralité de données segmentées ;
- un dispositif de codage (200) de la pluralité de données segmentées conforme à la revendication 11 ; un dispositif de décodage (300) de données codées conforme à la revendication 12 ; et
- un dispositif de traitement (PROC2, SYNT2, DIAG2) configuré pour traiter une pluralité de données segmentées décodées reconstruites par le dispositif de décodage (300). [Revendication 14] Produit 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 à 8, lorsqu'il est exécuté par un processeur.
PCT/EP2023/065446 2022-06-22 2023-06-09 Procede de segmentation d'une pluralite de donnees, procede de codage, procede de decodage, dispositifs, systemes et programme d'ordinateur correspondants Ceased WO2023247208A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US18/876,914 US20250380001A1 (en) 2022-06-22 2023-06-09 Method for segmenting a plurality of data, and corresponding coding method, decoding method, devices, systems and computer program
EP23733230.9A EP4544779A1 (fr) 2022-06-22 2023-06-09 Procede de segmentation d'une pluralite de donnees, procede de codage, procede de decodage, dispositifs, systemes et programme d'ordinateur correspondants
CN202380061046.1A CN119678500A (zh) 2022-06-22 2023-06-09 用于分段多个数据的方法以及相应的编码方法、解码方法、设备、系统和计算机程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2206177A FR3137240A1 (fr) 2022-06-22 2022-06-22 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
FRFR2206177 2022-06-22

Publications (1)

Publication Number Publication Date
WO2023247208A1 true WO2023247208A1 (fr) 2023-12-28

Family

ID=82943302

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2023/065446 Ceased WO2023247208A1 (fr) 2022-06-22 2023-06-09 Procede de segmentation d'une pluralite de donnees, procede de codage, procede de decodage, dispositifs, systemes et programme d'ordinateur correspondants

Country Status (5)

Country Link
US (1) US20250380001A1 (fr)
EP (1) EP4544779A1 (fr)
CN (1) CN119678500A (fr)
FR (1) FR3137240A1 (fr)
WO (1) WO2023247208A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021038202A1 (fr) * 2019-08-23 2021-03-04 Oxford University Innovation Limited Traitement d'images en tomographie assistée par ordinateur
US20210383534A1 (en) * 2020-06-03 2021-12-09 GE Precision Healthcare LLC System and methods for image segmentation and classification using reduced depth convolutional neural networks
EP3979644A1 (fr) * 2020-10-02 2022-04-06 Koninklijke Philips N.V. Procédé et appareil de codage et de décodage d'une ou de plusieurs vues d'une scène

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021038202A1 (fr) * 2019-08-23 2021-03-04 Oxford University Innovation Limited Traitement d'images en tomographie assistée par ordinateur
US20210383534A1 (en) * 2020-06-03 2021-12-09 GE Precision Healthcare LLC System and methods for image segmentation and classification using reduced depth convolutional neural networks
EP3979644A1 (fr) * 2020-10-02 2022-04-06 Koninklijke Philips N.V. Procédé et appareil de codage et de décodage d'une ou de plusieurs vues d'une scène

Also Published As

Publication number Publication date
US20250380001A1 (en) 2025-12-11
FR3137240A1 (fr) 2023-12-29
CN119678500A (zh) 2025-03-21
EP4544779A1 (fr) 2025-04-30

Similar Documents

Publication Publication Date Title
EP3225029B1 (fr) Procede d'encodage d'image et equipement pour la mise en oeuvre du procede
EP3939304B1 (fr) Procédés et dispositifs de codage et de décodage d'une séquence vidéo multi-vues
EP0722251B1 (fr) Procédé d'interpolation d'images
EP3449634A1 (fr) Procédé de composition contextuelle d'une représentation vidéo intermédiaire
WO2009133307A1 (fr) Dispositif de traitement d'images amélioré
FR3088755A1 (fr) Procede de defloutage d’une image
EP0545475B1 (fr) Méthodes et dispositifs de synthèse de signaux de texture
EP4544779A1 (fr) Procede de segmentation d'une pluralite de donnees, procede de codage, procede de decodage, dispositifs, systemes et programme d'ordinateur correspondants
EP4140136A1 (fr) Procédés et dispositifs de codage et de décodage d'une séquence vidéo multi-vues
FR2933520A1 (fr) Procede et dispositif de restauration d'une sequence video
EP3991401A1 (fr) Procédé et dispositif de traitement de données de video multi-vues
WO2020157733A1 (fr) Procédé dynamique d'imagerie tridimensionnelle
FR3057130B1 (fr) Procede de codage d'une image, procede de decodage, dispositifs, equipement terminal et programmes d'ordinateurs associes
WO2022269163A1 (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
WO2022263297A1 (fr) Procédés et dispositifs de décodage d'une partie au moins d'un flux de données, programme d'ordinateur et flux de données associés
FR2817697A1 (fr) Procede et dispositif de traitement d'un ensemble de donnees representatives de grandeurs physiques
EP4078959B1 (fr) Procede d'encodage d'une image numerique en vue de sa compression
EP2737452B1 (fr) PROCÉDÉ DE CODAGE D'UNE IMAGE APRÈS REDIMENSIONNEMENT PAR SUPPRESSION DE PIXELS et procédé de transmission d'image entre une entité émettrice et une entité réceptrice
WO2021136895A1 (fr) Synthese iterative de vues a partir de donnees d'une video multi-vues
FR2929431A1 (fr) Procede et dispositif de classification des echantillons representatifs d'un signal numerique d'image
FR3054347A1 (fr) Procede et dispositif d'aide a la navigation d'un vehicule
FR3107383A1 (fr) Procédé et dispositif de traitement de données de vidéo multi-vues
Kodaganti Image Denoising Using Deep Learning
FR3141582A1 (fr) Procédé et dispositif de codage d’un ensemble de coefficients, procédé et dispositif de décodage d’un ensemble de coefficients, flux de données et programme d’ordinateur associés
FR3036016A1 (fr) Codage/decodage predictif d'images comportant un artefact, utilisant une extrapolation

Legal Events

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

Ref document number: 23733230

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18876914

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2023733230

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2023733230

Country of ref document: EP

Effective date: 20250122

WWE Wipo information: entry into national phase

Ref document number: 202380061046.1

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 202380061046.1

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2023733230

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 18876914

Country of ref document: US