Method and device for encoding and decoding a signal

By segmenting and encoding digital images or videos into independently decodable areas, the method addresses limitations in neural network-based encoding, enhancing interaction with semantic content and enabling parallel decoding.

WO2026003351A1PCT designated stage Publication Date: 2026-01-02ORANGE SA
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2025/068403
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-27
Filing Date
2025-06-27
Publication Date
2026-01-02

AI Technical Summary

Technical Problem

Existing neural network-based encoding methods for digital images and videos do not allow for the creation of independently decodable areas, limiting interaction with semantic content and memory requirements at the decoder level, as well as parallel decoding possibilities.

Method used

A method of encoding a signal by segmenting it into areas, determining an expanded characteristic area using a rule, and encoding data associated with these areas, allowing independent and parallel decoding.

Benefits of technology

Enables interaction with the semantic content of the coded signal and facilitates parallel decoding processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025068403_02012026_PF_FP_ABST
    Figure EP2025068403_02012026_PF_FP_ABST
Patent Text Reader

Abstract

The invention relates to a method for decoding a data stream representative of a zone (Zodj) of a signal (I(Pdn)) segmented into a plurality of zones, the method comprising: - a step of decoding at least one feature map comprising a characteristic zone corresponding to the zone of the signal, the decoding step comprising: • determining (F23) an enlarged characteristic zone (ZCDj) in the at least one feature map (FMD) by applying a rule to the characteristic zone; • decoding (F24) the data associated with the points of the enlarged characteristic zone (ZCDj); and - synthesising (F29) the zone of the signal (Zodj) on the basis of the decoded data associated with the points of the enlarged characteristic zone.
Need to check novelty before this filing date? Find Prior Art

Description

Description TITLE: Method and device for encoding and decoding a signal. Prior art

[0001] The invention relates to the general field of coding one-dimensional or multidimensional signals. It relates more particularly to the compression of digital images or videos.

[0002] Digital videos are generally encoded using source code to compress them and reduce the resources required for transmission and / or storage. Numerous encoding standards exist, such as those of the ITU / MPEG organizations (H.264 / AVC, H.265 / HEVC, H.266 / VVC, etc.) and their extensions (MVC, SVC, 3D-HEVC, etc.). In these approaches, image encoding is typically performed by predicting pixels using previously encoded and decoded pixels present in the image being encoded—in which case it is called "intra-prediction"—or previously encoded images—in which case it is called "inter-prediction."

[0003] In addition to these traditional approaches, approaches based on artificial intelligence, and in particular neural networks, are tending to develop.

[0004] Some neural network approaches use an input signal, such as an image, to train a synthetic neural network on characteristic vectors associated with a position in a sample of the input signal to be encoded. These characteristic vectors are constructed from feature maps, which may be at the resolution of the input signal or at a lower resolution. During training, or construction, the neural network parameters and the values ​​of the points on the feature maps (hereafter simply called feature map values ​​or characteristic values) are updated based on a performance metric, such as data rate-distortion.Once training is complete, meaning the performance measurement is satisfactory, the actual encoding of the synthetic neural network parameters and the feature map values ​​can be performed and stored or transmitted to the decoder. The encoded signal is then decoded by applying the synthetic neural network to the feature maps.

[0005] One drawback of classical and previously described neural approaches is that they do not allow the creation of independently decodable areas in the coded signal, which limits not only the ability to interact with the semantic content of the coded signal but also the possibility of limiting the memory required at the decoder level or parallelizing the decoding of this coded signal.

[0006] Therefore, there is a need for a solution that improves upon the classical and neural approaches described above. Summary of the invention

[0007] The invention relates to a method of encoding an area of ​​a signal segmented into a plurality of areas, said encoding method comprising: obtaining at least one characteristic map representative of said signal, said at least one characteristic map comprising a characteristic area corresponding to said area of ​​the signal, determining an expanded characteristic area in said at least one characteristic map by applying a rule to said characteristic area, and encoding data associated with the points of said expanded characteristic area.

[0008] The invention also relates to a method for decoding a data stream representative of an area of ​​a signal segmented into a plurality of areas, said decoding method comprising: decoding at least one characteristic map representative of at least said area of ​​the signal comprising: • the determination of an extended characteristic area in said at least one characteristic map by applying a rule to a characteristic area of ​​said at least one characteristic map (FMDj) corresponding to said signal area, • the decoding of the data associated with the points of said enlarged characteristic area, and the synthesis of said signal area from the decoded data.

[0009] For the purposes of this invention, encoding, or "coding," refers to the operation of representing one or more values ​​or a set of samples in a compact form carried by a data stream, for example, a digital binary stream. Decoding refers to the operation of processing a data stream, for example, a digital binary stream, to recover one or more decoded values ​​or samples.

[0010] A "sample" of the signal refers to a value taken from the signal. Sampling the signal produces a sequence of discrete values ​​called samples. In the case of an image signal, the sample is called a pixel, which can be, for example, a color pixel traditionally represented by a triplet of values, such as (R, G, B) or (Y, U, V). The position of the sample is identified by its x-coordinate (abscissa) and y-coordinate (ordinate) in the image.

[0011] The term "signal" refers to a signal with one (audio, sound), two (image), or more than two (stereoscopic, multiscopic, depth-mapped images, video, etc.) dimensions. Depending on its dimensionality, the sample has one, two, or more coordinates within the signal. In the case of an image signal, the sample's position is identified by its x-coordinate (abscissa) and y-coordinate (ordinate).

[0012] By "signal area," we mean a set of signal samples. For example, in the case of an audio signal, an area might correspond to a succession of units representing silences, noises, phonemes, words, etc. Similarly, in the case of an image signal, an area might correspond to a set of pixels, grouped according to criteria such as intensity, spatial distribution, etc. For example, a segmentation operation can identify two different areas within the image signal, one corresponding to the background and the other to the foreground.

[0013] Feature maps are abstract representations of signals containing a plurality of variable scalar data, discrete or non-discrete, also called values, such as real or integer numbers, signed or unsigned. These maps are also commonly referred to as latent representations, latent domain representations, or transformed domain representations.

[0014] By "characteristic area" we mean a part of a characteristic map corresponding to an area of ​​the signal, defined in particular by its shape, size, etc.

[0015] By "rule," or sometimes "expansion rule," we mean a procedure for transforming an area by increasing its size (one-dimensional area), surface area (two-dimensional area), volume (two-dimensional area), or space (higher-dimensional area). A rule is, for example, the Minkowski sum, which defines the morphological expansion of an area by a structural element, or a number of pixels to be added to the area's boundary. Such a rule may be known to the decoder. Therefore, it is not always transmitted to the decoder.

[0016] An "extended feature area" refers to a portion of a feature map obtained by applying the rule to a feature area. Such an extended feature area is also called an "enlarged feature area" or "dilated feature area".

[0017] Generally, the steps of an encoding or decoding process should not be interpreted as being linked to a notion of temporal succession. In other words, the steps can be carried out in a different order than that indicated in the independent encoding or decoding claim, or even in parallel.

[0018] The coding method according to the invention encodes a region of a signal from a representation of that signal in the form of characteristic maps by identifying in these characteristic maps the set of values ​​necessary to subsequently decode said region. In other words, encoding this set of values, defined by an expanded characteristic region, makes it possible to obtain a coded representation of the signal region that can subsequently be decoded independently of any other part of the signal.

[0019] Thus, such a coding / decoding process improves the ability to interact with the semantic content of the coded signal and offers the possibility of parallelizing the decoding process of the entire signal.

[0020] The coding process may also include one or more of the following optional features, taken individually or in any technically possible combination.

[0021] According to a particular embodiment, the coding process further includes obtaining at least one segmentation information.

[0022] Segmentation information refers to any information that identifies one or more areas requiring specific encoding or synthesis for decoding. Such segmentation information can identify an area within the signal, or similarly, within a feature map representing the signal. For example, in the case of an image signal, segmentation information might indicate a division of the image into a plurality of areas. For instance, the signal areas might be regular, of identical size and shape. In particular, the image might be divided into rectangular areas with horizontal and vertical boundaries, or into areas corresponding to samples (or blocks) processed in a lexicographical order. In this case, the segmentation information can indicate the beginning and / or end of the set, for example, by using one or more flags. As another example, a region can be of arbitrary size and shape. In this case, the segmentation information can indicate the shape and size of the region, for example, in the form of a segmentation mask. Such a division of the signal into a plurality of regions can be known to the decoder (especially if regions of identical shape and size are considered). Therefore, the segmentation information is not always transmitted to the decoder.

[0023] According to a particular embodiment, the coding process further includes obtaining the rule enabling the enlarged characteristic area to be obtained from the characteristic area.

[0024] According to a particular embodiment, said characteristic area corresponding to said signal area is obtained from said at least one segmentation information.

[0025] According to a particular embodiment, the coding process further includes the coding of said at least one segmentation information.

[0026] According to a particular embodiment, the coding process further comprises coding said at least one characteristic card and decoding said at least one coded characteristic card.

[0027] According to a particular embodiment, at least one segmentation piece of information is a mask. The expanded characteristic area can thus be determined using a mask of the area under consideration in the signal domain and depends predictably on the type of encoding and / or decoding used to encode and / or decode the characteristic maps.

[0028] According to one embodiment of the coding process, obtaining at least one coding process characteristic map comprises: - for at least one sample of the signal, associated with a position in the signal: o the construction of a characteristic vector from said at least one feature map, as a function of said position of said sample, and o the processing of said characteristic vector by a neural network, to provide a vector representative of the sample, and - the updating of at least one piece of data associated with a point on said at least one feature map and / or at least one parameter of said network, based on a coding performance measurement.

[0029] A "feature vector" constructed from feature maps based on a position is defined as a vector consisting of one or more elements, or data points, preferably discrete. These data points are constructed from feature maps at a position determined by the position of the sample being processed within the signal. This characteristic vector is applied to the input of the neural network. For example, in the case of a one-dimensional audio signal, such a vector can be constructed from a plurality of values ​​taken from each of the feature maps at the same coordinate as the sample to be encoded or in a neighborhood thereof. In the case of an image, such a vector can be constructed from a plurality of values ​​taken from each of the feature maps at the same x- and y-coordinates as the sample to be encoded (or decoded).Once these values ​​are taken from the feature maps, they can be processed to form the feature vector, before entering the neural network, for example by quantization, filtering, interpolation, etc.

[0030] By "neural network", we mean a neural network such as a convolutional neural network, a multilayer perceptron, an LSTM (for "Long Short Term Memory"), etc. The neural network is defined for example by a plurality of layers of artificial neurons and by a set of activation, weighting and addition functions (for example, a layer can calculate y = f (Ax+b), where y and b are vectors of dimension N, x a vector of dimension M, A is a matrix of dimension MxN, and f is the activation function).

[0031] By "neural network parameter" we mean one of the values ​​that characterizes the neural network, for example a weight associated with one of the neurons (filter coefficient, weighting, bias, value affecting the functioning of non-linearity, etc.)

[0032] "Neural network processing" refers to the application of a function expressed by a neural network to the input characteristic vector to produce an output vector representative of the sample to be encoded (or decoded). This output vector may contain one or more data points representative of the sample.

[0033] A "performance measure" is defined as a measurement between at least one value in a sample to be encoded and a decoded value in that sample. The measure might assess, for example, distortion or perceptual error. It can be performed on one or more samples (e.g., a running sample, the current image, etc.). The measure may also include a measurement of throughput, particularly associated with the encoding of the neural network and / or the encoding of the feature maps in the first group. The measure may be a combined measurement of throughput and distortion through their weighting. As is well known in the state of the art, the value of this measure is generally minimized until a target value is reached.

[0034] By "construction," we mean a step that aims to build the parameters representative of the image, before their actual encoding. The construction substeps can be repeated as many times as necessary to obtain an acceptable performance measurement.

[0035] The decoding process may also include one or more of the following optional features, taken individually or in any technically possible combination.

[0036] According to a particular embodiment, said synthesis takes into account at least one segmentation information.

[0037] According to a particular embodiment, the decoding process further includes decoding said at least one segmentation information identifying said signal area, or, similarly, identifying said characteristic area in said at least one characteristic map.

[0038] According to a particular embodiment, the decoding process further includes obtaining the rule for determining said enlarged characteristic zone from said characteristic zone.

[0039] According to one embodiment of the decoding process, the rule includes the expansion of the characteristic area by a structuring element.

[0040] According to one embodiment of the decoding process, dilation by a structuring element is a morphological dilation.

[0041] According to one embodiment of the decoding process, the structuring element comprises at least a maximum distance, the enlarged characteristic area comprising said characteristic area and the points of said at least one feature map located at a distance from an edge of said characteristic area in at least one direction outwards from said characteristic area less than and / or equal to said maximum distance.

[0042] According to one embodiment of the decoding process, said rule is defined by a number of parameters equal to twice the dimension of said signal, each direction of one of the dimensions of said signal being associated with a parameter, the enlarged characteristic area being obtained by adding to said characteristic area, in at least one direction of a dimension of said signal, a number of points equal to said parameter associated with said at least one direction of a dimension of said signal.

[0043] According to one embodiment of the decoding process, said at least one characteristic map is representative of said signal (I(Pd n )) in a transformed domain, for example associated with a direct discrete cosine transform or a wavelet transform and the synthesis includes the application to the decoded data of an inverse transform associated with the (direct) transform.

[0044] According to one embodiment of the decoding process, said at least one characteristic map is representative of said signal (I(Pd n )) in a latent domain and the decoding process further includes decoding the parameters of a neural network and the synthesis includes, for at least one sample of the signal, associated with a position in the signal: the construction of a characteristic vector from said decoded data as a function of said position of the current sample, and the processing of the characteristic vector by the neural network defined by the decoded parameters to provide a representative vector of the sample.

[0045] Correspondingly, the invention also relates to a corresponding coding device.

[0046] Correspondingly, the invention also relates to a corresponding decoding device.

[0047] The characteristics and advantages of the coding or decoding process apply in the same way to the coding or decoding device according to the invention and vice versa.

[0048] The invention also relates to a computer program on a recording medium, this program being capable of being implemented in a computer or an encoding or decoding device according to the invention. This program includes instructions adapted to the implementation of the corresponding method. This program may use any programming language and be in the form of source code, object code, or code intermediate between source and object code, such as in a partially compiled form, or in any other desirable form.

[0049] The invention also relates to a computer-readable information or recording medium containing the aforementioned computer program instructions. The information or recording medium can be any entity or device capable of storing programs. For example, the medium may include a storage means, such as a ROM (e.g., a CD-ROM or a microelectronic circuit ROM), or a magnetic recording means, such as a floppy disk or hard drive, a DNA sequence, or flash memory. Furthermore, the information or recording medium may be a transmissible medium, such as an electrical or optical signal, which can be transmitted via an electrical or optical cable, by radio link, wireless optical link, or by other means.

[0050] The program according to the invention can in particular be downloaded onto an Internet-type network.

[0051] Alternatively, each information or recording medium can be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of a process according to the invention. Brief description of the figures

[0052] The invention will be better understood with the aid of the following description, given solely by way of example and made with reference to the accompanying drawings in which: Figure 1 schematically represents an coding device according to a first embodiment of the invention, Figure 2 schematically represents a decoding device according to the first embodiment of the invention, Figure 3 illustrates an example of a synthetic artificial neural network used in the context of the invention, Figure 4 schematically represents an example of determining an enlarged feature area using the encoding device of Figure 1 or the decoding device of Figure 2. Figure 5 is a flowchart representing an example of an encoding process that can be implemented by the encoding device of Figure 1. Figure 6 illustrates an encoding process used by the encoding device of Figure 1. Figure 7 is a flowchart representing an example of a decoding process that can be implemented by the decoding device of Figure 2. Figure 8 illustrates a decoding process used by the decoding device of Figure 2. Figure 9 is a flowchart representing a method for encoding feature maps that can be implemented by the encoding device of Figure 1. 1 and by the coding method of Figure 5, Figure 10 is a flowchart representing a method for decoding feature maps that can be implemented by the decoding device of Figure 2 and by the decoding method of Figure 7, Figure 11 schematically represents a transcoding device according to a first embodiment of the invention, Figure 12 schematically represents a coding device according to a second embodiment of the invention, Figure 13 schematically represents a decoding device according to the second embodiment of the invention, Figure 14 schematically represents an example of determining an enlarged feature area by the coding device of Figure 12 or by the decoding device of Figure 13, Figure 15 is a flowchart representing an example of a coding method that can be implemented by the coding device of Figure 12,Figure 16 is a flowchart representing an example of a decoding process that can be implemented by the decoding device in Figure 13. Detailed description of the invention

[0053] Figure 1 schematically represents, according to a first embodiment, an ENC coding device for at least one region of a signal (I(P n )) segmented into a plurality of zones. In the example described here, the signal I(P n ) is segmented into a set of J zones and All zones are coded independently. Alternatively, only one zone or only a few zones can be coded independently.

[0054] In one embodiment, this ENC coding device includes a GEN module for generating feature maps, an SE module for transformation, an XTR module for data extraction, a TT module for processing and quantification, an NNSYN module corresponding to a synthetic artificial neural network, an NNC module for coding a neural network capable of coding the synthetic neural network, an FMC module for coding feature maps, an EVAL module for evaluating coding performance, and a MAJ module for updating.

[0055] In this embodiment, the ENC coding device also includes an FMD decoding module for feature maps, a SEG module for obtaining a segmentation into zones, a CSEG module for coding these zones, an OES module for obtaining a structuring element, an optional CES module for coding this structuring element, a DZCD module for determining extended characteristic zones in the feature maps and a CE module for coding the value of the points of the extended characteristic zones.

[0056] The ENC coding device can be implemented by means of an electronic device comprising a processor and a memory, not shown; each of the modules mentioned above can then be realized by the cooperation of the processor and computer program instructions stored in the aforementioned memory and designed to perform the functionalities of the module concerned, in particular as described below, when these instructions are executed by the processor.

[0057] The ENC coding device in Figure 1 receives as input a succession of samples to be coded, denoted P n , for example a temporal sequence of sound samples, or a set of image data denoted I(P n ). In this second case, the image signal I(P n ) can represent a two-dimensional image, or a plurality of two-dimensional images (video, color components, stereoscopic components, multiscopic components, etc.). P ndenotes a sample n of the input signal comprising N samples. In one embodiment, the signal is a color image signal represented by means of at least one two-dimensional representation, such as a pixel matrix, each pixel comprising a red (R), green (G), blue (B) component, or, alternatively, a luminance (Y) component and at least one chrominance (U, V) component. The location of each pixel is defined by its x and y coordinates in the image. In one embodiment, the image is represented in grayscale using of a two-dimensional representation, such as a pixel matrix, each pixel having a component of grey levels, or luminance.

[0058] The GEN feature map generation module is configured to generate a plurality of M feature maps denoted FMi, forming for example a first group of feature maps.

[0059] In one embodiment, the SE module performs a transformation of the first group of FM characteristic maps; to generate a second group of FMSi characteristic maps at the same resolution as the input signal.

[0060] The optional SE module can perform quantification of the data extracted from this set of M FMi cards, or from the Z vector nconstructed from this data. Recall that quantizing a value refers to mapping that value to a member of a discrete set of possible code symbols. For example, the set of possible code symbols may consist of integers, and the quantization system performs a simple rounding of a real value to an integer. In another example, quantization involves multiplication by a given value followed by rounding. The SE module then performs a transformation of the values ​​in at least one of the feature maps, for example, oversampling, interpolation, filtering, etc. After the transformation, a transformed feature map from the second group has the same resolution as the images in the input sequence.Advantageously, according to this method, the feature maps that are coded can be of lower resolution than the images to be coded, while the maps of the second group, which are used to construct the feature vectors, are at the same resolution as the image sequence, which facilitates the extraction of values.

[0061] In one embodiment, the SE module is absent; in this case, the values ​​that will be used to construct the characteristic vector are extracted from the first group of characteristic maps.

[0062] The XTR module performs value extraction from the FM (and / or FMSi) feature maps for a current sample P n to be encoded, depending on its coordinates in the input signal. For example, if we want to encode sample P n at coordinates (x n , y nFrom an input image, the XTR module performs an extraction of values ​​in the maps at positions imposed by the coordinates (x n , y n ).

[0063] In one embodiment, the extracted values ​​constitute the vector Z n . Z n is an L-tuple, meaning it contains L elements, or data Zi. For example, in one embodiment, L=M, meaning that only one value is extracted for each FMi feature card. In another embodiment, L>M, meaning that Several values ​​are extracted for at least one FM feature map; The dimension L of the vector depends on the topology of the NNSYN synthesis neural network and more particularly on the topology of the input layer of this NNSYN synthesis neural network.

[0064] The vector Z n index n refers to the characteristic vector of pixel P' n .

[0065] In one embodiment, the optional TT module processes the extracted values ​​to generate the vector Z n The TT module can perform quantification of the data extracted from the feature set. The processing may include other operations, such as filtering, scaling, etc. In particular, if the SE module is not used and if the feature maps in the first group have lower resolutions than the images in the sequence, the TT module can take into account the coordinates of the values ​​in the lower-resolution maps.

[0066] It should be noted that at least one of the SE or TT modules advantageously performs a quantification of the characteristic maps.

[0067] The NNSYN module is a synthetic neural network defined by K parameters Wk, capable of processing the vector Z n, or L-Tuple, as input, to generate as output a second vector representative of the sample P n to code.

[0068] An example of a synthetic neural network is presented later with reference to Figure 3.

[0069] The NNC module performs the encoding of the synthetic neural network, specifically its parameters Wk. During the training, or construction, process of the encoding—that is, until the performance evaluation stage is satisfactory—the NNC module performs a coding simulation, followed by decoding, for the evaluation module. Subsequently, it performs the actual encoding of the synthetic neural network parameters Wk. The encoded parameters are denoted Wck. As is known, the coding simulation can be identical to the actual encoding, or it can approximate it.

[0070] The FMC module performs the encoding of the FMi maps, that is, the values ​​of the feature maps from the first group (excluding the maps from the second group, which may optionally result from oversampling by the SE module). During the encoding training, or construction, process—that is, until the performance evaluation step is satisfactory—the FMC module performs a coding simulation, followed by decoding, for the evaluation module. Subsequently, it performs the actual encoding of the FM map values. The encoded maps are denoted FMc. As is known, the coding simulation can be identical to the actual encoding, or it can approximate it. The coding module quantifies, if necessary, the latent representation of the map values. The first group uses a quantifier to generate an ordered collection of quantified values. Then the encoding module compresses the quantized data, using an encoding that takes into account the neighborhood of a value to be encoded in the feature map.

[0071] The EVAL module performs an evaluation and minimization of coding performance. The evaluation function is, for example, of the rate-distortion type. Minimization can be performed by gradient descent, or any other method within the grasp of a person skilled in the art.

[0072] The MAJ module performs an update of the values ​​of the EM cards; to be encoded and / or the parameters of the Wk synthesis neural network, according to the results of the performance function.

[0073] When the evaluation function is minimized, or a predefined number of iterations have been performed, the coded values ​​EMc and Wck constitute the compressed representation of the input signal I(P n ). At this stage, it is not possible to decode a specific area of ​​the coded signal from this compressed representation without decoding the entire coded signal.

[0074] To achieve this functionality, the LMD module decodes the EMc-encoded values. The cards decoded by the LMD module, numbering M, are labeled EMdi.

[0075] The SEG module performs a segmentation into J (greater than or equal to 2) zones Zo> of the sequence of samples to be coded P nThis segmentation operation allows the samples to be grouped into different homogeneous sets based on one or more predefined criteria. For example, in the case of a temporal sequence of sound samples, the segmentation operation allows us to obtain sequences of units corresponding to silences, noises, phonemes, words, etc. Similarly, in the case of an image signal I(P n ), the segmentation operation allows the pixels P to be grouped together n of the image signal in J homogeneous zones according to criteria, notably intensity or spatial. For example, the segmentation operation can make it possible to identify in the image signal I(P nTwo different zones (J=2) correspond, one to the background of the image and the other to the foreground. In the embodiments described below, segmentation is represented, for example, as a set of J masks MZo', each allowing the identification of a zone Zo', each mask being associated with a value different from that associated with the other masks. In other embodiments, simpler segmentation information can be considered, such as an indicator identifying the first and last samples of a signal zone, or the first sample of a zone and the size of the zone, or the shape of the zone, etc.

[0076] Optionally, the CSEG module performs lossless encoding of the segmentation information. This encoding can be achieved by encoding the segmentation map corresponding to the J MZo' masks (for example, using the JPEG-LS algorithm defined by the international standard ISO / IEC 14495-1), or alternatively, by independently encoding each MZo' mask, or in yet another alternative, by independently encoding the contours of the J MZo' masks, or in yet another alternative, by encoding a size or position data for an area, for example, a rectangle. The encoded segmentation is denoted MZoc'.

[0077] The OES module derives a rule for constructing an expanded characteristic region from a standard characteristic region. Subsequently, the terms "region" and "area" are used interchangeably to refer to a portion of the signal in the signal domain, or a portion of the feature maps in the transformed or latent domain. This rule is specified, for example, by means of a structuring element ES that depends on the topology of the NNSYN synthesis neural network. It should be noted that this structuring element ES can be determined deterministically based on the NNSYN synthesis neural network topology. This structuring element ES can be defined globally for all FMdi maps or individually for each FMdi map.

[0078] The optional CES module performs the encoding, for example lossless, of the structure element ES. The encoded structure element is denoted ESc. Such an ESc element can, for example, be an index used to reference a structure element from a list of structure elements known to the decoder. In other words, the CES module encodes the rule by encoding the structure element ES. Alternatively, no rule encoding is performed.

[0079] From this structuring element ES, for each zone Zo', an extended characteristic zone ZCD' of the FMdi maps is determined. This extended characteristic zone ZCD' includes at least all the points of the FMdi maps necessary to decode the sample values ​​of a given zone Zo'.

[0080] The determination of the extended characteristic zones ZCD' in the FMdi characteristic maps for the Zo' zones is carried out by the DZCD module.

[0081] The CE module performs the entropic coding for each zone Zo' of the value of the points of the extended characteristic zones ZCD' in the form of coded EcJ data different for each zone Zo'.

[0082] In a first example of implementation, the CE module only codes the values ​​of the points in the extended characteristic zone ZCD' to the exclusion of any other point in the FMdi characteristic maps.

[0083] Alternatively, the CE module creates a secondary FM2d feature map for each extended feature zone ZCD'. The value of a point on the secondary FM2d feature map is equal to the value of the point on the FMdi map if that point belongs to the extended feature zone ZCD', and to a predetermined value, for example, zero, otherwise. The CE module then encodes the entire FM2d feature map to obtain the different EcJ-encoded data for each Zo> zone.

[0084] Thus, the coded values ​​Wck, EcJ and MZocj (and optionally ESc) constitute the compressed representation of the Zo> region of the input signal I(P n These coded values ​​are represented as binary streams B1, B2' and optionally B3'. Thus, according to this example, the binary stream B1 includes the coded values ​​Wck, the binary stream B2' the coded values ​​EcJ and the binary stream B3' the coded values ​​MZocj (and optionally ESc).

[0085] Thus, thanks to the invention, each zone Zo> is coded independently of the other zones, which allows their subsequent decoding to be carried out independently and possibly in parallel.

[0086] It should be noted that the ENC coding device of an area of ​​an I(P) signal n ) described above includes the successive application of a signal coding device I(P n) in its entirety in order to produce a B0 stream comprising the FMc-coded values; and a transcoding device for this globally coded signal into a code for one or more area(s) of the signal I(P n ), the said zone(s) being decodable independently of each other.

[0087] According to this embodiment, the transcoding device includes the FMD decoding module for feature maps, the SEG module for obtaining a segmentation into zones, the CSEG module for encoding these zones, the OES module for obtaining a structuring element, the CES module for encoding this structuring element, the DZCD module for determining extended characteristic zones in the feature maps and the CE module for encoding the value of the points of the extended characteristic zones.

[0088] Figure 2 schematically represents a DEC decoding device for a data stream representative of a Zod' zone of a signal segmented into several zones, said Zod' signal zone comprising a plurality of samples Pd n to decode.

[0089] The DEC decoding device in Figure 2 receives input data streams B1, B2', and optionally B3'. Stream B1 comprises the encoded parameters Wck of the synthesis neural network NNSYN'. Stream B2' comprises a set of encoded data EcJ corresponding to the M FMd! feature maps representative of the area of the Zod' signal and the B3' stream includes the encoded parameters of an MZoc' mask of said Zod' signal zone (and optionally the encoded parameters of an ESc structuring element).

[0090] In one embodiment, this decoding device DEC comprises a neural network decoding module NND capable of decoding the synthetic neural network NNSYN', a DSEG module capable of decoding segmentation information to identify said signal area Zod', for example a mask MZo' or one or more flags, a DES module capable of decoding a structuring element ES, a DZCD module capable of determining an extended characteristic area ZCD' in the M feature maps, a DE module for decoding the feature maps from the characteristic area ZCD' and the encoded data group EcJ, a data extraction module XTR', an inverse transformation module SE', an inverse processing and quantization module TT', an NNSYN' module corresponding to a synthetic neural network, and an EXTR module for extracting samples belonging to the Zod' area (P ri ).

[0091] According to one embodiment, the DEC decoder produces at output a decoded area of ​​the image Zod'lPd,,) comprising a plurality of decoded samples Pd n .

[0092] The DES module obtains a structuring element ES. This can be achieved by decoding the encoded parameters ESc if they are available in the B3' stream. Alternatively, the DES module deduces the structuring element ES from the topology of the synthesis neural network NNSYN' after decoding it by the NND module.

[0093] The DSEG module optionally decodes segmentation information, for example the Mzo' mask from the encoded MZoc' parameters. If the segmentation information is not decoded, it can be inferred by the decoder (for example, because it is static, or because the decoder knows the size of the rectangular areas corresponding to the tiles or the number of blocks in the slices, etc.).

[0094] The DZCD module performs the determination of the extended characteristic zone ZCD' in the FMdJ characteristic maps.

[0095] The DE module performs the decoding of the point values ​​of the extended characteristic zone ZCD' from the coded EcJ data and the extended characteristic zone ZCD' (for example, the shape of the extended characteristic zone) in order to obtain the FMdJ characteristic maps.

[0096] The parameters of the NNSYN' synthesis neural network decoded by the NND module are noted Wdk.

[0097] In one embodiment, the SE' module performs a transformation of the first group of decoded FMdJ characteristic cards to generate a second group of cards The SE' module optionally performs inverse quantization, corresponding to the quantization performed by the encoder. Inverse quantization is not necessary if the encoder's quantizer Q simply rounded the input values. It is also unnecessary if the neural network can handle quantization of its input data. Otherwise, the decoder can perform the inverse operation of quantizer Q. The SE' module then transforms the feature map values, using techniques such as oversampling, interpolation, and filtering, similar to those performed by the encoder. After the transformation, a transformed feature map from the second group has the same resolution as the images in the sequence to be decoded.

[0098] In one embodiment, the SE' module is absent; in this case, the values ​​that will be used to construct the characteristic vector are extracted from the first group of characteristic maps.

[0099] The XTR' module is identical to the XTR module in Figure 1. It performs an extraction of values ​​from the M FMdJ (and / or FMS'J) feature maps, depending on one of the embodiments described previously, for a sample Pd n to be decoded according to its coordinates in the signal to be decoded.

[0100] In one embodiment, the extracted values ​​constitute the vector Zd n . Zd n is an L-tuple, that is to say it contains L elements, or zdi data.

[0101] In one embodiment, the optional TT' module processes the extracted values ​​to generate the vector Zd nThe TT module can perform inverse quantization of the data extracted from the feature set. The processing can include other operations, such as filtering, scaling, etc., similar to those performed by the encoder.

[0102] The NNSYN' module is a so-called synthetic neural network, defined by K parameters Wdk, capable of processing the vector Zd n , or L-Tuple, as input, to generate as output a second vector representative of the sample Pd n To be decoded, generally speaking, is a vector containing A elements. In one embodiment, A=3 and the output vector is the triplet (R, G, B) of pixel Pd n decoded. The NNSYN' module has the same structure as the NNSYN module, and its parameters are either identical if the encoding of its Wk parameters is lossless, or different if the encoding is done with losses.

[0103] The DEC decoding device can be successively implemented to decode all Zod zones J in order to reconstruct all the samples to be decoded from the signal, i.e., from the image I(Pd n ).

[0104] Alternatively, multiple DEC decoding devices can be implemented in parallel, so as to decode the different areas of the image simultaneously. Once all areas are decoded, the image can be reconstructed by combining the different areas.

[0105] The DEC decoding device can be implemented using an electronic device comprising a processor and memory, not shown. Each of the modules mentioned above can then be implemented through the cooperation of the processor and computer program instructions stored in the aforementioned memory and designed to perform the functionalities of the module in question, particularly as described below, when these instructions are executed by the processor. The DEC device can also include multiple processors, with each processor dedicated to the parallel decoding of image areas.

[0106] Figure 3 illustrates an example of a synthetic artificial neural network used for encoding and decoding in embodiments of the invention.

[0107] The synthetic artificial neural network used for encoding, NNSYN, and the synthetic artificial neural network used for decoding, NNSYN', are defined by an identical structure, including for example a plurality of layers of artificial neurons, and by a set of weights and activation functions associated respectively with the artificial neurons of the network concerned.

[0108] The synthetic neural network is, in one embodiment, an MLP, or Multi-Layer Perceptron, followed by one or more convolutional neural network(s) Ci, ... C n , each of the convolutional neural networks being associated with a filtering mask of predefined size, for example size 3x3.

[0109] MLP consists of an input layer adapted to the input format (the L-tuple), optionally one or more hidden layers, and an output layer providing an intermediate output vector Vs nFor example, a vector containing A' elements. The intermediate output vector is then successively processed by the convolutional neural network(s) to provide an output vector also containing A elements.

[0110] Thus, a vector representation of a current sample (a vector Z) n or Zd n (derived from the EMi / EMSi feature maps at the encoder or FMdJ / FMS'J at the decoder) is applied to the input (i.e., the input layer) of the NNSYN or NNSYN' synthetic artificial neural network, which produces the output vector. In one embodiment, A is equal to 3 and the output vector is the triplet (R, G, B) of pixel P' n encoded then decoded or pixel Pd n decoded by the decoder. [OR I] The concatenation of all these reconstructed pixels in an image constitutes the reconstructed signal Zod> (Pd n), according to an example, an image I containing only the Zod area J .

[0112] At the encoder, the NNSYN synthetic artificial neural network is trained on the image, so as to minimize the differences between the input representation of the current image I (P n ) and its representation I (P' n ) at the output, while also minimizing the amount of data to be encoded. The EVAL module performs a performance measurement in this regard.

[0113] Once the encoder training is complete, the network parameters are encoded, either losslessly, in which case the NNSYN' neural network is identical to NNSYN, or lossily, in which case the NNSYN' network may be slightly different from NNSYN.

[0114] With reference to Figure 4, we will now describe an example of determining an expanded characteristic zone (ACZ) 1 associated with a Zo zone 1 in the case of an image signal I(Pn ) segmented into three zones Zo 1 Zo 2 Zo 3 identified by their MZo mask 1 , MZo 2 and MZo 3 Figure 4 thus presents two steps (1)-(2) of determining the enlarged characteristic zone corresponding to the Zo zone 1 .

[0115] In the example described, the expanded characteristic area is determined in four input maps FMdi, FMcL, FMcL, and FMcL of the NNSYN / NNSYN' synthesis network. Furthermore, this example assumes that the NNSYN / NNSYN' synthesis network has only one convolutional neural network Ci whose convolution kernel is a 3x3 convolutional kernel.

[0116] This determination includes, in a step (1), obtaining a region R 1 including all points of the FMdi, FMcL, FMcL maps co-located with samples belonging to the MZo mask 1 of the Zo zone 1 .

[0117] When the FMdi, FMcL, FMcL, and FMd4 feature maps have the same resolution as the I(Pn) image, as in the example shown, the boundary of this region in each FMdi, FMcL, FMcL, and FMd4 feature map is identical to the boundary of the MZo mask. 1 .

[0118] This region is then expanded, in a step (2), by a structuring element ES which may depend on the topology of the synthesis neural network NNSYN / NNSYN'.

[0119] Thus, in the example presented, the decoding of a sample Pd ni typically requires access not only to the point values ​​of the FMdi, FMcL, FMdg, and FMcL maps co-located with this sample Pd ni but also to the point values ​​of the FMdi, FMcL, FMdg, FMd4 maps co-located with the Pd samples n 2 belonging to the neighborhood used during filtering by the neural network Ci, from this point Pd ni. In other words, when the sample Pd ni is on the edge of the Zo zone 1 Its decoding requires access to points on the FMdi, FMcL, FMd3, and FMcL maps co-located with a Pd sample. n 2 belonging to a Zo zone 2 different from the Zo zone 1 The complete set of points on the FMdi, FMdz, FMdg, and FMd4 maps is needed to decode the Zo zone. 1 defines the extended characteristic zone ZCD 1 of these FMdi, FMdz, FMdg. FMd cards.

[0120] In the example described here, the structuring element ES can be defined for each map FMdi, FMdz, FMdg. FMdg is a 3x3 square corresponding to the convolution kernel used within the neural network Ci. In this example, the ZCD area 1 is thus obtained in each FMdi, FMdz, FMdg, FMcL map by a morphological dilation of the trace of the R region 1in each FMdi, FMdz, FMdg, FMcL map by a 3x3 square structuring element, i.e. the size of the convolution kernel.

[0121] Alternatively, the structuring element ES can be defined in the case of an image I(P n ) by four values ​​indicating the number of points from the FMdi, FMdz, FMdg, FMd4 maps to be added to the border of region R 1 along both horizontal and vertical directions. In the example provided, all four values ​​are equal to one. It should be noted that depending on the value chosen, the expanded characteristic zone ZCD 1 FMdi, FMdz, FMdg, and FMd4 maps may possibly include, depending on the shape of the Zo zone outline. 1 more points than all the points on the FMdi, FMdz, and FMdg maps combined. FMdg is strictly necessary to decode the Zo zone. 1 .

[0122] In another variant, the structuring element can be defined by a scale factor indicating proportionality to the size of the Zo zone 1 the number of points on the FMdi, FMdz, FMdg, FMd4 maps to be added to the border of region R 1 to obtain the expanded characteristic zone ZCD 1 .

[0123] In the previous example, the FMdi, FMdz, FMdg, FMd4 feature maps have the same resolution as the I(P) image. n ) but it should be noted that the determination of the extended characteristic zone associated with the Zo zone 1 when the FMdi, FMdz, FMdg, FMd4 feature cards have different resolutions of the I(P) image n ) is carried out in a similar way. Simply, the determination of the boundary of region R 1 and the structuring element takes into account the image resolution transition function I(P n) to that of the FMdi, FMdz, FMdg, FMcL feature maps. For example, if the FMdi, FMdg, FMdg, FMcL feature maps have a lower resolution, the location of the boundary of region R 1 is located between the points whose samples are colocalized in the image I(P n ) is located on either side of the Zo zone border 1 .

[0124] Figure 5 is a logic diagram representing an example of a method for encoding at least one area of ​​a signal (I(P n )) which can be implemented by the coding device in Figure 1.

[0125] According to this embodiment, the signal is a two-dimensional image; each sample to be coded is therefore a pixel P n coordinates (x n , y n ).

[0126] The encoding process takes place in several phases.

[0127] In the first phase, called the construction phase, a learning process is carried out in order to determine, for an input signal I(P nThe values ​​of the FM maps and Wk parameters are used to optimize an overall cost function. Learning is performed, for example, by gradient descent, followed by updating the parameters of the NNSYN synthesis neural network and the values ​​of the FM feature maps. As is known in the prior art, the cost function can be rate-distortion, rate-distortion, or perceptual. To measure the throughput R, it is necessary to simulate the encoding of the FM maps and then measure the associated encoding throughput (the size of the B0 stream). In one embodiment, the encoding of the Wk parameters is not simulated because their influence is less significant than that of the feature maps. In another embodiment, the encoding of the Wk parameters is also simulated, and the associated throughput (the size of the B1 stream) is measured.To measure the distortion D, it is necessary to simulate the encoding and then the decoding of at least part of the image I, to obtain at least one pixel P'. n resulting from a simulation of encoding and then decoding, then measuring the difference between this part of the image I (P n ) as input and a corresponding part of the image I (P' n ) encoded then decoded.

[0128] Then, in a second phase, called the encoding phase, the parameters Wk, the FM dj maps, optionally the segmentation information (for example, the MZoj masks), and optionally the ES structuring element are encoded to produce the encoded values ​​Wck, EcJ, ESc, and MZocj before transmission or storage. These constitute the compressed representation of the Zo' region of the input signal I(P n ).

[0129] Naturally, the first phase and the second phase correspond to two independent processes that can be carried out on different devices.

[0130] We will now describe the steps of a process for encoding a region Zo' of an input signal I(P n ) according to the first embodiment of the invention.

[0131] During an E20 step, a signal I (P n ) to be coded, comprising a plurality of N samples P n is provided as input to the process.

[0132] During step E21, the M FM maps of the first group and the Wk parameters of the synthesis neural network are initialized. Subsequently, the Wk parameters of the NNSYN synthesis neural network and the values ​​of the FM maps must be optimized during the construction phase.

[0133] According to one embodiment, the FM cards have the same resolution as the input signal I(P n) and therefore each have the same number of values ​​N as there are samples P n to code.

[0134] According to one embodiment, the FM cards have a resolution less than or equal to that of the input signal I (P n ) and therefore include, for at least one of them, a number N' of values ​​to be coded less than N. According to a variant, the first FMi card is at the resolution of the images and each subsequent card is at half the resolution of the previous one.

[0135] According to one embodiment, several FMi cards have the same resolution, lower than that of the input signal I (P n ).

[0136] In one embodiment, the FMi maps are transformed to provide a second group of transformed FMSi feature maps. In this embodiment, the feature vectors are preferably extracted from the transformed maps of the second group, and not directly from the maps of the first group. Therefore, in this embodiment, the feature vectors are indirectly extracted from the maps of the first group. The maps of the second group are not coded; they are used solely for constructing the feature vectors.

[0137] According to one embodiment, FMi cards are initialized with predefined constant values.

[0138] According to another embodiment, the feature maps are initialized by a set of random real values.

[0139] The FMi feature maps of the first group are subsequently updated, or refined, during an E22 step, by the encoder's MAJ update module during its learning.

[0140] During step E23, the FMi cards of the first group are encoded by the FMC module of the encoder. During the build phase, this operation is a coding simulation. During the actual encoding phase, this operation is the actual encoding, and the encoded values ​​constitute the B0 stream. The simulation may be identical to the actual encoding, but it may also be different (for example, simplified). For this encoding, a technique is used to predict a feature card value based on its neighborhood, as will be described, for example, in support of Figure 9. These parameters are subsequently updated, or refined, during the build phase, in later iterations of the process.

[0141] In one embodiment, the FMi maps are coded in the order (FMi, FM2, ..., FMM), and the point values ​​of each map are in a predefined order, for example, lexicographical. Each map undergoes entropy coding. The entropy coding produces a compressed stream B0 whose throughput is subsequently measured during a step E29.

[0142] In a step E24, according to one embodiment, the M cards of the first group FM; are transformed by the SE module to generate cards of the second group FMSi at the resolution of the images of the input sequence.

[0143] According to one embodiment, M FMSi cards are generated.

[0144] According to one embodiment, each FM card; is transformed into an FMSi card.

[0145] In one embodiment, at least one FM1 map has a lower resolution than the images in the sequence to be encoded, and the transformation operation includes oversampling so that the transformed FM1 map has the same number of samples as the images in the sequence. This oversampling consists of adding values ​​to the FM1 maps to achieve the resolution of the input sequence images. It can be simple (by nearest neighbor replication) or involve interpolation (linear, polynomial, filtered, etc.).

[0146] Apart from step E25, values ​​are extracted by the XTR module from the FM cards; or possibly transformed FMSi cards. This extraction is performed based on the coordinates (x n , y n ) of sample P n of the input signal. It can also be done according to the resolution of the card in question.

[0147] According to one embodiment, the vector Z n This characteristic results directly from this extraction.

[0148] The samples to be coded are, for example, processed in sequential order, from n=1 to n=N.

[0149] According to one embodiment, during step E26, the vector Z n The characteristic is constructed by the TT module from the values ​​extracted from the FM maps; or FMSi for each sample P n coordinates (x n , y n ) of the input signal. This processing may involve quantizing the values ​​extracted from the FM cards; or from the Z vector n constituted, if necessary. This processing may include other operations, such as filtering, scaling, the application of any function, preferably monotonic, etc.

[0150] In one embodiment, Z n It contains as many values ​​as there are FMi or FMSi cards in the input. In this case, E=M.

[0151] In one embodiment, Z n is an E-tuple (zi, Z2, ..., Zj), consisting of the values ​​of the FM or FMSi cards located at the coordinates (x n , y n ) of the current pixel P n as will be illustrated in support of figure 6.

[0152] In one embodiment, Z n is an E-tuple constructed from values ​​taken from FMi maps at coordinates that may differ between maps. For example, if the FMi maps have different resolutions because they were undersampled, the coordinates are adjusted (by scaling) to match the resolution of each map.

[0153] In one embodiment, Z nis an L-tuple constructed from values ​​taken from the FM maps; by applying processing to one or more values ​​from the maps, for example, filtering out values ​​close to the target value in a map. For example, for a current sample P n in an FM card; which is at the same resolution as the input signal, one can extract the values ​​located at the coordinates (x n , y n ), (x n -l, y n ), (x n , y n -l) and (x n -l, y n -l) and apply processing to these values ​​(filtering, averaging, interpolation, etc.) to obtain the final value (zQ of element i of the vector Z) n relating to this FM card; According to another example, in an FM card; which is at half the resolution of the input signal, we can consider the values ​​located at the coordinates (x n / 2, y n / 2), (x n / 2-l, y n / 2), (x n / 2, yn / 2-l) and (Xn / 2-1, y n / 2-l) and apply processing to these values ​​(filtering, averaging, interpolation, etc.) to obtain the final value (zQ of element i of the vector Z) n relating to this FM card;

[0154] During step E27, the vector Z n is processed by the NNSYN synthesis neural network to generate as output a vector representative of the sample P n to code, according to one embodiment, the triplet (R, G, B) of the sample P' n (sample P) n (encoded then decoded).

[0155] The structure and Wk parameters of the synthesis neural network are initialized, for example, during the first iteration of this step. These parameters are subsequently updated, or refined, during the construction phase, in later iterations of the process.

[0156] According to one embodiment, the parameters of the synthetic neural network are initialized by predefined values ​​known to give a satisfactory result (for example, following training on a corpus of images).

[0157] According to another embodiment, the parameters of the synthesis neural network are initialized by a set of random values.

[0158] During step E28, the Wk parameters of the NNSYN synthetic neural network are quantized and encoded. During the construction phase, this operation is a coding simulation. During the encoding phase, this operation is the actual encoding, and the encoded values ​​constitute the B1 stream. The simulation can be identical to the actual encoding, but it can also be different (for example, simplified). Any known technique can be used for this purpose, for example, the neural network coding standard proposed by the MPEG-7 Part 17 standard, also called NNR (Neural Network Representation). Note that in this case, the amount of degradation that the encoding introduces to the Wk weights must be chosen.

[0159] During an E29 step, a performance measure is evaluated.

[0160] For this purpose, the coding simulation rates associated with the characteristic maps of the first group (simulation of the B0 flow by coding the FMi maps) and optionally with parameters of the neural network (simulation of the B 1 flow by encoding of the Wk parameters) are measured.

[0161] In one embodiment, the cost function is of the rate-distortion type, denoted (D+L*R), where D, for example, is the root mean square error measured between the input signal and the decoded signal (or the error measured on a subset of the signal samples). In another example, D is calculated from a perceptual function such as SSIM (for Structural SIMUarity) or MSSSIM (for Multi-scale Structural SIMUarity). In one embodiment, R is the simulated rate of stream B0. In another embodiment, R is the total rate used to encode this image, i.e., the sum of the simulated rates of B0 and B1. L is a parameter that controls the rate-distortion trade-off. Other cost functions are possible.

[0162] As long as the cost function has not reached its minimum, or a predefined number of iterations has not been reached, the performance measurement is not satisfactory, and the process is repeated from step E22. This minimization can be performed by a mechanism known as gradient descent with parameter updates during step E22 for the feature map values ​​and E23, E27 for the network parameters.

[0163] During step E30, if the cost function has reached its minimum, or if the desired number of iterations has been reached, training stops. If a coded version corresponding to the last simulation of the synthesis neural network parameters Wk and the feature maps FM; is available, the streams B0 and B1 can be constructed from it. According to another embodiment, the actual coding of the updated synthesis neural network parameters Wk and the values ​​of the feature maps FM; is performed at this step to produce the encoded parameters Wcket FMc; which constitute the streams B0 and B1.

[0164] At this stage, it is not possible to decode a specific area of ​​the coded signal from the B0 and B1 streams without decoding the entire coded signal.

[0165] To achieve this functionality, according to one embodiment, the coding process performs the steps described below. These steps correspond to a transcoding, or re-encoding, of the B0 stream into a new zone-decodable stream.

[0166] During an E31 step, the FMc coded values ​​are decoded by the FMD module to generate the FMdi maps.

[0167] During an E32 step, the segmentation of the signal I(P n ) in J (greater than or equal to 2) zones Zo> is carried out.

[0168] According to a first example of segmentation, the image is divided into J regular zones, for example, of identical size and shape (except possibly at the edges of the image). For example, the image can be divided into rectangular zones whose borders are horizontal and vertical. This division corresponds to the concept of "tiles" implemented by encoding standards such as H.264 / AVC, H.265 / HEVC, and H.266 / VVC. Segmentation information allows these rectangular areas to be identified, for example, by indicating a vertical and horizontal size, the coordinates of a rectangle, etc.

[0169] In a second example of segmentation, the image is divided into J zones corresponding to samples (or blocks) scanned in a lexicographical order. This division corresponds to the concept of "slices" implemented by encoding standards such as H.264 / AVC, H.265 / HEVC, and H.266 / VVC. Segmentation information allows these zones to be identified, for example, by indicating the number of blocks.

[0170] In a third segmentation example, the image is divided into semantic zones, such as a background and a foreground. This can be done manually by an operator. Segmentation can also be automatic or semi-automatic, depending on the segmentation algorithm used. It's worth noting that there are no restrictions related to the type of segmentation algorithm used. The segmentation information allows these zones to be identified, for example, through a segmentation mask.

[0171] Advantageously, such a division into zones allows, during the subsequent decoding of the I(Pd) signal n ) to parallelize the decoding of the Zod' zones to be decoded by distributing the decoding load equally on each of the decoders and / or processors.

[0172] At the end of step E32, this segmentation is represented in the form of segmentation information. We consider below a set of J masks MZo>, each allowing the identification of a Zo> zone.

[0173] For a given Zo> zone, the coding process then performs steps E33 to E38.

[0174] During step E33, a region R' comprising all points of the EMdi maps co-located with samples belonging to the MZo' mask of the Zo' area is obtained. The region R', also called the feature area, is a part of the feature map(s) corresponding to the area of ​​the signal being processed.

[0175] During step E34, a rule defined, for example, by a structuring element ES can be obtained, and during step E35, from this structuring element ES, an extended characteristic zone ZCD' of the EMdi cards is determined. This extended characteristic zone ZCD' includes at least all the points of the FMdi cards necessary to decode a given zone Zo'.

[0176] According to one embodiment, the structuring element ES is defined for each FMdi, FMdz, FMdg map as a square whose size is a function of the size of the convolutional kernels used by the convolutional neural networks of the NNSYN synthesis neural network. The ZCD' area is obtained, for example, in each FMdi map by a dilation morphological trace of the region R' in each FMdi map by the structuring element ES.

[0177] According to another embodiment, the structuring element ES is defined by a number of numerical values ​​equal to twice the dimension of the signal. Thus, there are four numerical values ​​for a 2-dimensional signal such that an image I(P n ) corresponding to a dilation in each of the two vertical and horizontal directions. The ZCD' zone is obtained in each FMdi map by adding a number of points to the edge of the R' region in the two directions associated with each dimension of the signal. In other words, for a 2-dimensional signal such as an I(P) image n pixels are added in both horizontal directions and both vertical directions.

[0178] In another embodiment, the structuring element ES is defined by a scale factor. The ZCD' zone is obtained in each FMdi map by adding a number of points to the edge of the R' region proportionally to the size of the Zo zone. J .

[0179] During step E36, the CE module performs the encoding for each zone Zo> of the point values ​​of the extended characteristic zones ZCD' in the form of coded data EcJ. The coded EcJ values ​​constitute the flux B2' associated with the zone Zo'. Note that this encoding is entropic in nature, and preferably lossless.

[0180] During an E37 step, the MZo> mask of the Zo> zone is encoded as an MZoc' stream.

[0181] According to one embodiment, the MZocj stream is obtained by losslessly encoding the segmentation map corresponding to the J masks MZo' (for example using the JPEG-LS algorithm defined by the international standard ISO / IEC 14495-1).

[0182] According to another embodiment, the MZoc' stream is obtained by encoding the contours of the MZo' mask.

[0183] During an E38 step, the structural element ES is optionally coded in a form denoted ESc.

[0184] The coded values ​​MZoc' and ESc constitute the B3' flow associated with the Zo' zone.

[0185] Thus, the coded values ​​ESc, EcJ, MZocj and Wck constitute, according to the illustrated embodiment, the compressed representation of the Zo' region of the input signal I(P n ).

[0186] It should be noted that steps E31 to E38 can be analyzed as steps in a transcoding process of a stream B0 representing a coded image (obtained during a preliminary step EP) into two streams B2' and optionally B3' representing the encoding of a region Zo' of the coded image. The preliminary step EP can correspond to the encoding steps (E20-E30) described previously, or to any other encoding process resulting in a coded representation of a set of feature maps (and a synthetic neural network).

[0187] Figure 6 illustrates a method for encoding an I(P) signal. n) used in an embodiment of the invention.

[0188] In this embodiment, there are 4 FM cards generated. In a preferred mode, there are 7.

[0189] The first FMi card has the same resolution as the I(P) image n ), and therefore comprises WxH points, where W represents the image width in pixels, and H its height. The second FM2 map has half the resolution (in each dimension) of the FM1 map. Each additional map has half the resolution of the previous map. This structure reduces the number of points in the feature maps, which facilitates coding and learning while minimizing coding cost.

[0190] The FM2 map is oversampled by the SE module by a factor of 2 in each dimension, according to a procedure illustrated in Figure 6. The FM3 map is oversampled by a factor of 4 in each dimension, and the FM4 map by a factor of 8 in each dimension. The FMi map is not affected by the oversampling. (FMSi=FMi).

[0191] The resulting FMSi maps have the same resolution as the I(P) image. n ), and therefore each have WxH values, where W represents the width of the image in pixels and H its height (N=WxH).

[0192] Other types of structure are possible, for example one can use a different reduction rate than half between cards (a quarter, or a third, etc.).

[0193] In this embodiment, the vector Z n is a 4-tuple (Z1...Z4) consisting of the values ​​extracted from the FMSi maps located at the coordinates (x n , y n ) of the current pixel P nThe vector Z n consisting of the extracted (quantified) values ​​from the FMSi maps is processed by the NNSYN synthesis neural network to generate a second output vector; in this example, the output vector is the triplet (R, G, B) of pixel P'. n encoded then decoded. The triplet is inserted into the decoded image I (P' n ) at positions (x n , y n ) of the color components (R', G', B').

[0194] In another embodiment, not shown, the vector Z n is extracted directly from the FMi layers, with positions recalculated according to map size, then the extracted values ​​are possibly processed and quantified after extraction.

[0195] Figure 7 is a flowchart representing an example of a process for decoding a zone (Zod) j ) of a signal (I(Pd n)) which can be implemented by the DEC decoding device in Figure 2 when the NNSYN' synthesis neural network is, for example, the one shown in Figure 3.

[0196] During an F20 step, the Bl, B2' and optionally B3' streams are extracted from the encoded stream. They contain respectively the Wck parameters, the coded representations EcJ of the points of the extended characteristic zones ZCD' and the coded values ​​MZoc' and optionally ESc.

[0197] Optionally, during an F21 step, the ES structuring element and the segmentation information (e.g., the MZo> mask) of the Zod' zone are generated by decoding the encoded ESc and MZoc' values. In the case where the ESc parameters are not encoded in the B3 stream J During this F21 step, the structuring element can be determined from the topology of the synthesis neural network NNSYN'. In the case where the segmentation information is not encoded in the B3 streamJ , it can be obtained from decoder parameters (size or known position of slices or tiles, etc.).

[0198] Optionally, during an F22 step, FMdJ maps are initialized (for example with mile values) and a region R' comprising all points of the FMdJ maps co-located (possibly taking into account a scale factor) with samples belonging to the mask MZo' of the Zo' zone is obtained.

[0199] During an F23 step, an extended characteristic area ZCD' of the FMdJ maps is determined from the region R' and the structuring element ES.

[0200] According to embodiments such as those described for the encoder: the ZCD' zone is obtained in each FMdJ map by a morphological expansion of the trace of the R' region in each FMdJ map by the structuring element ES. The ZCD' zone is obtained in each FMdJ map by adding a number of points to the edge of the R' region in the two directions associated with each dimension of the signal. The ES element corresponds in this case to a set (vector) of four integer values, for example (1,2, 1,2) to indicate an expansion of 1 point (pixel) to the left, 2 to the right, 1 upwards, 2 downwards. This vector can be predefined, or defined for a set / type of images, in which case it does not need to be transmitted. The ZCD' zone is obtained in each FMdJ map by adding a number of points to the edge of the R' region proportionally to the size of the Z0 zone. The ES element in this case corresponds, for example, to a percentage.

[0201] During step F24, the FMdJ maps are generated by decoding the Ec values ​​of the points in the extended characteristic zones ZCD'. In one embodiment, the FMdJ cards are decoded in order (FMdi, FMcF. . . . FMd4), and the values ​​of each card in a predefined order, for example lexicographical.

[0202] According to embodiments such as those described for the encoder: the FMdJ cards have the same resolution as the I(P) signal n ) coded, that is to say they contain N=WxH values. FMdJ cards have a resolution less than or equal to that of the I(P) signal n ) coded. Several FMdJ cards have the same resolution, lower than the resolution of the I(P) signal n ) coded.

[0203] During a step F25, according to one embodiment, the M cards of the first group FMdJ are transformed by the module SE' to generate cards of the second group FMS'J at the resolution of the input images.

[0204] This step is similar to step E24, which was described for the encoder in support of Figure 5, and the embodiments apply. In particular: according to one embodiment, M FMS'J cards are generated; according to another embodiment, each FMd card is transformed into a card In one embodiment, at least one FMS'j map has a resolution lower than that of the images in the image to be encoded, and the transformation operation includes oversampling so that the transformed FMS'j map has the same number of samples as the input image. Oversampling consists of adding values ​​to the FMS'j maps to achieve the resolution of the input image. It can be simple (by nearest neighbor replication) or involve interpolation (linear, polynomial, filtered, etc.).

[0205] The transformation may optionally include inverse quantization of the extracted values, if necessary. However, inverse quantization is not mandatory.

[0206] During step E26, values ​​are extracted by the XTR' module from the FMdJ or possibly transformed FMS'J maps. This extraction is performed based on the coordinates (x n , y n ) of a sample to be decoded Pd n It can also be performed depending on the resolution of the map in question. This step is similar to step E25, which was described for the encoder in support of Figure 5, and the embodiments apply. In particular:

[0207] According to one embodiment, the vector Zd n This characteristic results directly from this extraction.

[0208] In one embodiment, Zd nis an L-tuple (zi, Z2, ..., Zj), consisting of the values ​​of the FMdJ or FMS'J maps located at the coordinates (x n , y n ) of a current pixel Pd n as will be illustrated in support of figure 8.

[0209] The samples to be decoded Pd n for example, they are processed in sequential order according to the Mzod' mask.

[0210] According to one embodiment, during a step F27, a vector Zd n is constructed by the TT' module from the values ​​extracted from the FMd'J maps of the first group or the FM S' maps of the second group, for each sample Pd n coordinates (x n , y n ) to decode, based on the coordinates (x n , y nThis step is similar to step E26, which was described for the encoder in support of Figure 5, and the described embodiments apply. The extraction may involve inverse quantization of the extracted values ​​or of the vector Zd n constituted, if necessary.

[0211] During step F28, the Wdk parameters of the NNSYN' synthesis neural network are generated by decoding the Wck values ​​of the Bl stream. Any known decoding technique corresponding to the encoding technique used by the encoder can be used for this purpose. The NNSYN' synthesis neural network is similar to the NNSYN synthesis network; that is, it has the same structure and parameters, except for the encoding, which can be performed with or without loss.

[0212] According to one embodiment, the B2 stream is decoded before the Bl stream, in order to have the NNSYN' synthesis neural network available before starting to decode the samples.

[0213] During step F29, the vector Zd n is processed by the NNSYN' synthesis neural network to generate as output a vector representative of the sample Pd n to decode, according to one embodiment, a triplet that is injected into the decoded image Zod J (Pd n ) at positions (x n , y n ) of the color components (Rd, Gd, Bd). This step is similar to step E27 which was described for the encoder in support of Figure 5.

[0214] Figure 8 illustrates a method for decoding a Zod zone. j (Pd n ) of a signal I(Pd n ) used in an embodiment of the invention.

[0215] In this embodiment, there are 4 FMdJ decoded cards. In a preferred mode, there are 7.

[0216] In this embodiment, the first FMd^ card has the same resolution as image I, and therefore comprises WxH points, where W represents the width of the image in pixels, and H Its height. The second FMd2 map has half the resolution (in each dimension) of the FMd^ map. Each additional map has half the resolution of the previous map. This structure reduces the number of points on the feature maps, which facilitates decoding while minimizing the encoding cost.

[0217] The FMd2 map is oversampled by a factor of 2 in each dimension, using any oversampling method available to a person skilled in the art. The FMd map J 3est is oversampled by a factor of 4 in each dimension, and the FMd^ map by a factor of 8 in each dimension.

[0218] The FMS'J cards have the same resolution as the image to be decoded, and therefore include WxH values, where W represents the width of the image in pixels, and H its height.

[0219] In this embodiment, the vector Zd n is a 4-tuple (Z1...Z4) consisting of the values ​​of the FMS'J cards located at the coordinates (x n , y n ) of the current pixel Pd n The vector Zd n is optionally dequantized and then processed by the NNSYN' synthesis neural network to generate the (R, G, B) triplet representative of the Pd sample. n to be decoded. The triplet (R, G, B) is inserted into the decoded image I (Pd n ) at the coordinates (x n , y n ) in the color components (Rd, Gd, Bd).

[0220] Figure 9 is a flowchart representing an entropic coding method for feature maps that can be implemented by the coding device of Figure 1 and by the coding process of Figure 5.

[0221] These steps are substeps of step E36 described earlier, supported by Figure 5. Their purpose is to encode a current value V n from a point in an expanded characteristic zone ZCD' of a feature map FMdJ of the first group being processed using neighborhood values.

[0222] During a substep E361, a neighborhood vector (C n ) is established, including values ​​close to the value V nThese neighboring values ​​can be located in the same map and / or in a different map from the plurality M of FMdJ maps. This neighborhood vector consists of a number C of values, or data, corresponding to neighborhood values ​​(for example, C=10). These values ​​must be known to the encoder and the decoder; therefore, they must be located in a causal neighborhood of the value V n .

[0223] According to a first embodiment, these values ​​are used to determine the context of an entropy encoder to encode the current value during an E363 step. This encoder can be a CAB AC (Context-adaptive binary arithmetic coding) type encoder. This type of encoder is well known to those skilled in the art. It is notably used in the standard H.265 / HEVC video compression is an arithmetic encoder with lossless compression. It decomposes all non-binary symbols into binary symbols. Then, for each bit, the encoder selects the most suitable probability model and uses a context to optimize the probability estimate. This context can be defined by information from neighboring elements. Adaptive or non-adaptive arithmetic coding is then applied to compress the resulting data. As is known to those skilled in the art, there are several ways to use the neighborhood vector to generate context information. For example, one can count the number of non-zero neighboring values ​​and associate a context with each number.Alternatively, one can perform comparisons between several neighboring values, and associate a given context with an order configuration between neighboring values, for example by ranking the neighboring values ​​in ascending order, and associating a context with each possible order.

[0224] In a second embodiment, the neighborhood is used to predict, during step E362, the current value from an autoregressive model. Recall that an autoregressive model predicts a sample from a series based on its past values. In this embodiment, the past values ​​are constituted by the context, and the difference between the predicted variable and the actual value is quantified and then entropically coded during step E363.

[0225] At the end of the process, the current coded value Vc n The FMdJ card currently being processed is coded.

[0226] Figure 10 is a flowchart representing a method for decoding feature cards that can be implemented by the decoding device in Figure 2 and by the decoding process in Figure 7.

[0227] These steps are sub-steps of step F24 described previously in support of figure 7. They aim to decode a current value of a point of an extended characteristic area ZCD> of a feature map FMdJ of the first group being processed using neighborhood values.

[0228] During a substep F241, a neighborhood vector (Cd n ) is established, including values ​​close to the value Vd nThis step is similar to step E361 described earlier, and the same embodiments apply. This neighborhood vector consists of a number C of values, or data, corresponding to neighborhood values ​​(e.g., C=10) located in the same map and / or in a different map from the plurality M of maps of a point in an expanded characteristic area ZCD J of an FMd characteristic map... These values ​​are located in a causal neighborhood of the Vd value n are known to the decoder.

[0229] According to a first embodiment, these values ​​are used to determine the context of an entropy decoder for decoding the current value during an F243 step. This decoding is similar to that used in the encoder, for example, CABAC. The use of the neighborhood to produce context information is similar to that chosen for the encoder. For example, one can count the number of non-zero neighboring values ​​and associate a context with each number. Alternatively, one can perform comparisons between several neighboring values ​​and associate a given context with an ordering configuration among the neighboring values, for example, by sorting the neighboring values ​​in ascending order and associating a context with each possible order.

[0230] In a second embodiment, the neighborhood is used to predict the current value from an autoregressive model during step F242. In this mode, the past values ​​are constituted by the context, and the difference between the predicted variable and the actual value is decoded and then entropically dequantized during step F243.

[0231] At the end of the process, the current value Vd n The FMdi card being processed is decoded.

[0232] Figure 11 schematically represents a TRANSC transcoding device for a coded representation of a signal in the form of an independent J-stream B2> and optionally B3 Jinto a single stream B0. The advantage of such transcoding is to obtain the most compact possible representation of the stream, in cases where the image is not to be decoded by zones, but in its entirety. Indeed, the zone-coded representation, as described previously, contains redundant information, particularly coded samples that belong to several zones because they are located within zone boundaries.

[0233] The TRANSC transcoding device in Figure 11 receives as input the J data streams B2' and optionally B3 J corresponding to the J zones Zo' segmenting the signal I(P n ).

[0234] In one embodiment, this TRANSC transcoding device includes a DSEG module capable of decoding segmentation information to identify a signal area, for example a mask MZo', a DES module capable of decoding a structuring element ES, a DZCD module capable of determining an extended characteristic area ZCD' in the M characteristic maps, a DE module for decoding the characteristic maps from the characteristic area ZCD' and the encoded data group EcJ, a COMP module for composing the characteristic maps FMdJ and an FMC module for encoding the characteristic maps FMdj.

[0235] With the exception of the COMP module, the other modules of the TRANSC transcoding device correspond to the modules of the decoding device in Figure 2, referenced in a similar way, and are not described again here.

[0236] The COMP module receives as input the J sets of FMdj characteristic maps associated with the Zo' zones of the I signal, as well as the R' associated regions (these regions are provided, for example, by the DZCD module). From this data, the COMP module will construct a set of FMdj characteristic maps by assigning, to each point in a region of an FMdj characteristic map co-located with a region Rj, the value of the corresponding point in the FMdj map.

[0237] The cards are then coded by the FMC module to produce the FMci data that constitutes the B0 flow.

[0238] We will now describe a second embodiment based not on a neural approach but on a classical approach using a discrete cosine transform.

[0239] Figure 12 schematically represents, according to this second embodiment, an ENC coding device.

[0240] In one embodiment, this ENC coding device includes a TRANS module for generating a feature map associated with a discrete cosine transform, a Q module for quantizing the feature map, and an EC module for encoding the feature map after its quantization.

[0241] In one embodiment, the ENC coding device also includes a DC decoding module for the encoded feature map, a SEG module for obtaining a segmentation into zones, a CSEG module for encoding these zones, an OES module for obtaining a structuring element, an optional CES module for encoding this structuring element, a DZCD module for determining extended feature zones in the feature maps and a CE module for encoding the value of the points of the extended feature zones.

[0242] The ENC coding device can be implemented by means of an electronic device comprising a processor and a memory, not shown; each of the modules mentioned above can then be realized by the cooperation of the processor and computer program instructions stored in the aforementioned memory and designed to perform the functionalities of the module concerned, in particular as described below, when these instructions are executed by the processor.

[0243] The ENC coding device in Figure 12 receives as input a succession of samples to be coded, denoted P n , for example a dataset of a greyscale image denoted I(P n ).

[0244] The TRANS module for generating a feature map associated with a discrete cosine transform is configured to generate a feature map denoted FMi. For this, the TRANS module partitions, for example, the image I(P n ) in an 8*8 block and transforms each block by applying a discrete cosine transform, called two-dimensional, by applying a one-dimensional discrete cosine transform first to the rows and then to the columns of the block or vice versa.

[0245] The Q module performs a quantification of the data from the FMi cards, for example by using a uniform quantifier.

[0246] The EC module performs entropic coding of the quantized values ​​of each of the transformed blocks of the FMi card according to a predetermined traversal order to obtain the coded FMci values ​​which constitute the compressed representation of the input signal I(P n ).

[0247] To obtain a compressed representation of the input signal I(P n) in the form of a set of J independently coded zones, the DC module performs the decoding of the FMci coded values. The card decoded by the DC module is labeled FMdi.

[0248] The SEG module performs a segmentation into J (greater than or equal to 2) zones Zo' of the image to be coded I(P n The optional CSEG module performs the actual encoding of the segmentation information. In the embodiments described below, segmentation is represented, for example, as a set of J masks MZo>, each identifying a Zo> zone, with each mask associated with a value different from that associated with the other masks. In other embodiments, other segmentation information can be considered, such as an indicator identifying the first and last samples of a zone, or the first sample of a zone and the size of the zone, or the shape of the zone, etc.

[0249] The OES module obtains a structuring element ES. This structuring element ES is determined in this example implementation by the definition of the discrete cosine transform and by a filtering operation (presented later with reference to figure 13) performed during the decoding of a Zo' zone.

[0250] The CES module optionally performs lossless encoding of the ES structuring element. In this case, the encoded structuring element is denoted ESc.

[0251] From this structuring element ES, for each zone Zo', an extended characteristic zone ZCD' of the FMdi map is determined. This extended characteristic zone ZCD' includes at least all the points of the FMdi map necessary to decode a given zone Zo'.

[0252] The determination of the extended characteristic zones ZCD' in the FMdi characteristic map for the Zo> zones is carried out by the DZCD module.

[0253] The CE module performs the coding for each zone Zo> of the value of the points of the extended characteristic zone ZCD' in the form of coded EcJ data different for each zone Zo'.

[0254] In a first embodiment, the CE module only encodes the values ​​of points in the extended characteristic zone ZCD', excluding any other points in the FMdi characteristic map. In this case, the actual segmentation encoding is performed losslessly by the CSEG module.

[0255] Alternatively, the CE module creates an FMD^ feature map for each extended characteristic zone ZCD'. The value of a point on the FMD^ feature map is equal to the value of the point on the FMDi map if that point belongs to the extended characteristic zone ZCD', and to a predetermined value, for example, zero, otherwise. The CE module then encodes the entire FMD^ feature map to obtain the different EcJ-encoded data for each Zo> zone.

[0256] Thus, regardless of the implementation example chosen, the coded values ​​ESc, EcJ and MZocj constitute the compressed representation of the Zo' region of the image signal I(P n ).

[0257] Thus, each Zo' zone is coded independently of the other zones, which allows them to be decoded later independently and possibly in parallel.

[0258] Figure 13 schematically represents a DEC decoding device for a data stream representative of a Zod' area of ​​an I(P) image n ) in greyscale, said signal area Zod' comprising a plurality of samples Pd n to decode.

[0259] In one embodiment, this DEC decoding device comprises a DSEG module capable of decoding a mask MZo> of said signal area Zod', a DES module capable of decoding a structuring element ES, a DZCD module capable of determining an extended characteristic area ZCD' in the characteristic map FMd^, a DE module for decoding the characteristic map FMd^ from the characteristic area ZCD' and the encoded data group Ec^, a Q module 1 of inverse quantization of the values ​​of the FMd^ characteristic map, a TRANS module 1image generation by applying an inverse discrete cosine transform to the feature map obtained at the output of module Q', a low-pass filtering module FILT and an EXT module for extracting samples belonging to the Zod'(P) zone ri ) of the image I(Pd n ).

[0260] The DEC decoding device receives as input a group of encoded data EcJ corresponding to the FMd^ characteristic map representing the area to be decoded Zod', the MZoc' encoded parameters of a mask of said signal zone Zod' and the ESC encoded parameters of a structuring element.

[0261] The DES module obtains a structuring element ES, for example by decoding the encoded parameters ESc if these have been encoded by the ENC encoder in Figure 12.

[0262] The DSEG module optionally decodes segmentation information, for example the Mzod' mask from the encoded MZoc' parameters. Alternatively, this segmentation information is known to the decoder or obtained from decoder parameters (known size or position of slices or tiles, etc.).

[0263] The DZCD module performs the determination of the extended characteristic zone ZCD' in the FMdi characteristic map.

[0264] The DE module performs the decoding of the point values ​​of the extended characteristic zone ZCD' from the coded data EcJ and the extended characteristic zone ZCD' in order to obtain the FMd^ characteristic map.

[0265] The Q module 1 performs an inverse quantization corresponding to the quantization performed at the encoder and the TRANS module 1 generates an intermediate image Ii(P n) by applying to each block of the FMd^ characteristic map a two-dimensional inverse discrete cosine transform.

[0266] The FILT module applies a low-pass filter along the blocks of the signal area Zod' (Pd n ) of the intermediate image Ii(P n ) in order to reduce the discontinuities induced along these blocks by the quantification of the coefficients resulting from the discrete cosine transform of these blocks.

[0267] In the example shown, the filter is of length 5 and the associated weights are represented as a vector (1 / 16, 3 / 16, 8 / 26, 3 / 16, 1 / 16) associated with a filter mask of dimension 5. Obviously, filters with different filter masks, for example two-dimensional or with different lengths, can be applied.

[0268] At the end of this filtering phase, the EXT module retains the samples belonging to the Mzod' mask while the others are removed, the resulting signal then corresponding to the Zod'(P) zone ri ) of the image I(Pd n ).

[0269] The DEC decoding device can be implemented by means of an electronic device comprising a processor and a memory, not shown; each of the modules mentioned above can then be realized by the cooperation of the processor and computer program instructions stored in the aforementioned memory and designed to perform the functionalities of the module concerned, in particular as described below, when these instructions are executed by the processor.

[0270] With reference to Figure 14, we will now describe an example of determining the expanded characteristic zone ZCD 1 associated with a Zo zone 1in the case of an image signal I(P n ) segmented into three zones Zo 1 Zo 2 Zo 3 identified by their MZo mask 1 , MZo 2 and MZo 3 according to the second embodiment described with reference to Figures 12 and 13. Figure 14 thus presents two steps (1)-(2) of determining the enlarged characteristic zone corresponding to the Zo zone 1 .

[0271] This determination includes, in a step (1), obtaining a region R 1 including all points on the FMdi map co-located with samples belonging to the MZo mask 1 of the Zo zone 1 In the example shown, the boundary of this region R 1 is in the FMdi characteristic map identical to the MZo mask boundary 1 in the image I(P n ).

[0272] This region R' is then expanded, in a step (2), by applying a rule to this region R.

[0273] This rule includes the selection of all transformed blocks of the FMdi feature map that include a point co-located with a sample belonging to the MZo mask. 1 of the Zo zone 1 , the definition of a structuring element ES defining four values ​​indicating the number of FMdi map blocks to be added to the edge of the region defined by the blocks selected according to the two horizontal and vertical directions of the image I(P n )) and the addition of the indicated blocks.

[0274] Alternatively, the rule includes obtaining a structuring element ES defining four values ​​indicating the number of points from the FMdi map to be added to the edge of the region R' in both horizontal and vertical directions to obtain an extended characteristic area ZCD> from the region R' and selecting all transformed blocks from the FMdi characteristic map including a point belonging to the extended characteristic area ZCD'.

[0275] Regardless of the variant chosen, the structuring element is defined based on the characteristics of the low-pass filter that will be applied by the FILT module of the DEC decoder during the decoding of zone Zo J . For this reason, the structuring element may not be coded by the ENC encoder and may be obtained independently by the DEC decoder.

[0276] Figure 15 is a flowchart representing an example of a coding process that can be implemented by the ENC coding device of Figure 12.

[0277] During a G20 step, a succession of samples to be coded, denoted P n , for example a dataset of a greyscale image denoted I(P n ) is provided as input to the process.

[0278] During a G21 step, an FMdi feature map associated with a discrete cosine transform is created by the TRANS module.

[0279] During a G22 step, the FMdi feature chart data is quantized by the Q module, for example using a uniform quantizer.

[0280] During a G23 step, the EC module performs entropic coding of the quantized values ​​of each of the transformed blocks of the FMi card according to a predetermined traversal order to obtain the coded FMci values ​​which constitute a compressed representation of the input signal I(P n ).

[0281] Apart from a G24 step, the segmentation of the signal I (P n ) in J (greater than or equal to 2) Zo' zones is performed. At the end of step G34, this segmentation is represented as a set of J masks MZo' each allowing the identification of a Zo' zone.

[0282] For a given Zo' zone, the coding process then performs steps G25 to G30.

[0283] Fors of a G25 step, a region R' comprising all points of the FMdi map co-located with samples belonging to the MZo' mask of the Zo' zone is obtained.

[0284] Apart from a G26 step, a structuring element ES is obtained.

[0285] Apart from a G27 step, for each zone Zo>, an extended characteristic zone ZCD' of the FMdi map is determined from the mask MZo> and the structuring element ES.

[0286] Apart from a G28 step, the CE module performs the coding for each zone Zo> of the value of the points of the extended characteristic zone ZCD' in the form of coded EcJ data different for each zone Zo'.

[0287] Apart from a G29 step, the MZo' mask of the Zo' zone is encoded as an MZoc' stream.

[0288] Apart from a G30 step, the structuring element ES is coded in a form denoted ESc.

[0289] Figure 16 is a flowchart representing an example of a decoding process that can be implemented by the DEC decoding device in Figure 13.

[0290] Apart from step H20, the BP and B2' streams are extracted from the encoded stream. They contain the coded representations EcJ and the coded values ​​MZoc' and ESc.

[0291] Apart from a step H21, the structuring element ES and the mask MZo' of the Zod' zone are generated by decoding the coded values ​​ESc and MZoc'.

[0292] Apart from a step H22, the DE module performs the decoding of the value of the points of the extended characteristic zone ZCD' from the coded data EcJ and possibly of the extended characteristic zone ZCD' in order to obtain the characteristic map FMd^.

[0293] According to implementation examples such as those described for the encoder: the coded data Ecj represents a complete FMd^ feature map which is then decoded by the DE module. The Ecj-coded data represents only the values ​​of points in the extended characteristic zone ZCD', excluding any other points in the FMd^ feature map. In this case, the FMd^ map is decoded using the EcJ-coded data and the extended characteristic zone ZCD'.

[0294] During an H23 step, an inverse quantization of the values ​​of the points of the FMd^ map is performed by the module Q'.

[0295] During a 24-hour phase, the TRANS module 1 generates an intermediate image L(P n ) by applying to each block of the FMd^ characteristic map a two-dimensional inverse discrete cosine transform.

[0296] During an H25 step, the FILT module applies a low-pass filter along the intermediate image Ii(P n ).

[0297] During step H26, the EXT module extracts only the samples belonging to the Mzod' mask in order to obtain the decoded Zod signalj (Pd n ) corresponding to the Zo' zone of the image I(Pd n ).

[0298] It should also be noted that the invention is not limited to the embodiments described above. Indeed, it will be apparent to those skilled in the art that various modifications can be made to the embodiments described above, in light of the information just disclosed to them.

[0299] For example, the encoding and decoding processes described above may use a wavelet transform instead of a discrete cosine transform or a neural coding method.

[0300] Furthermore, the invention can be implemented with NNSYN / NNSYN' synthetic neural networks different from those previously presented. For example, the NNSYN / NNSYN' synthetic neural networks can be recurrent neural networks. In another example, the synthetic neural networks can consist of one or more convolutional neural networks, followed by an MLP, and then followed by one or more convolutional neural networks. In these examples, obtaining the Z vectors n / Zd n and / or intermediate output vectors Vs n is adapted to the topology of the NNSYN / NNSYN' synthesis neural networks.

[0301] Other implementation methods of the coding process are presented below.

[0302] In one embodiment, the method of encoding a zone (Zc) of a signal (I(P) n )), said coding area, said coding area comprising a plurality of samples (Pn ) to be coded, involves the following steps: - a step (E31) of obtaining a group of at least one characteristic map (FMi) representative of said signal (I(P n )), - a step (E32, E34) of obtaining a mask (MZo') in said signal (I(P n )) of said zone to be coded (Zo>) and a rule for expanding a region of the group by at least one feature map, - a step (E33) of obtaining a characteristic zone (R j ) of the group of at least one feature map (FMi) according to said mask (MZo>), - a step (E35) of determining a characteristic dilated zone (CDZ) j ) in said group of at least one feature chart (FMi) by application of said dilation rule to said feature area (R j ), - a step (E36) of encoding the value of the points of said dilated characteristic zone (ZCD>), and - a step (E37) of encoding said mask.

[0303] In a particular embodiment, the step of obtaining a group of at least one feature card (FMi) includes, for at least one sample, called the current sample (P n ), of the signal to be encoded, associated with a position (x n , y n ) in the signal to be encoded: - a construction step (E25) of a characteristic vector (Z n ) from said group of at least one feature card (FMi), depending on said position (x n , y n ) of said current sample (P n ) and a processing step of said characteristic vector (Z n ) by an artificial neural network, called a synthetic neural network (NNSYN) defined by a set of parameters (Wk), to provide a vector (P' n ) representative of a decoded value from the current sample, and - an update step (E22, E27) of at least one value of the group of said at least one feature card and / or of at least one parameter of said network, based on a coding performance measure.

[0304] Other implementation methods of the decoding process are presented below.

[0305] In one embodiment, the method of decoding a zone (Zod>) of a signal (I(Pd n )), said decoding area, said decoding area comprising a plurality of samples (Pd n ) to decode, involves the following steps: - a step (F21) of decoding a mask (MZo>) of said zone to be decoded (Zod j ), a step of obtaining (F21) a dilation rule for a region of the group of at least one feature map (FMDj), - a step (F23) of determining a dilated characteristic zone (ZCD') in said group of at least one feature map (FMDj) according to said dilation rule and said mask (MZo>), - a step (F24) of decoding the value of the points of said dilated characteristic zone (ZCD'). and - a synthesis step (F29) of said zone to be decoded (Zod j ) from said decoded values ​​and said mask (MZo>).

[0306] The decoding process (and symmetrically the encoding process) may further include one or more of the following optional features, taken individually or in any technically possible combination.

[0307] Thus, in a particular embodiment, said dilation rule of a region of the group of at least one feature map (FMDj) includes the dilation of said region by a structuring element (ES).

[0308] In a particular embodiment, said dilation by a structuring element (SE) is a morphological dilation.

[0309] In a particular embodiment, the structuring element (SE) comprises at least one maximum distance, the expanded region comprising said region and the points of said region and at least one feature map of said group located at a distance from an edge of said region in at least one direction outwards from said region less than and / or equal to said maximum distance.

[0310] In a particular embodiment, said dilation rule is defined by a number of parameters equal to twice the dimension of said signal (I(Pd n)), each direction of one of the dimensions of said signal being associated with a parameter, the dilated region being obtained by adding to said region, in at least one direction of a dimension of said signal, a number of points equal to said parameter associated with said at least one direction of a dimension of said signal.

[0311] In a particular embodiment, said characteristic values ​​are representative of said area to be decoded in a transformed domain, for example associated with a direct discrete cosine transform or a wavelet transform, and in which said synthesis step includes the application of said characteristic values ​​of an inverse transform associated with said direct transform.

[0312] In a particular embodiment, said characteristic values ​​are representative of said area to be decoded in a latent domain, in which said decoding process further comprises a step of decoding the parameters (Wdk) of a neural network (NNSYN'), called a synthesis neural network, and in which said step of synthesis includes, for at least one sample, called the current sample (Pd n ), of the signal to be decoded, associated with a position (x n , y n ) in the signal to be decoded: a step in constructing a characteristic vector (Zd n ) from said characteristic values ​​as a function of said position (xn, y n ) of said current sample, and a processing step of said characteristic vector (Zd n ) by the synthetic neural network (NNSYN') defined by the decoded parameters (Wdk) to provide a decoded value of the current sample (Pd n ).

[0313] In the detailed presentation of the invention given above, the terms used shall not be interpreted as limiting the invention to the embodiments set forth in this description, but shall be interpreted as including all equivalents which can be foreseen by a person skilled in the art by applying their general knowledge to the implementation of the teaching which has just been disclosed to them.

Claims

Demands [1] Method for encoding a zone (Zo>) of a signal (I(P n )) segmented into a plurality of zones, said coding process comprising: obtaining (E31) at least one characteristic map (FMi) representative of said signal (I(P n )), said at least one characteristic map including a characteristic area corresponding to said signal area, the determination (E35) of an extended characteristic area (ZCD j ) in said at least one feature map (FMi) by applying a rule to said feature area (R j ), and the coding (E36) of data associated with the points of said extended characteristic zone (ECZ) j ). [2] Method for decoding a data stream representative of an area (Zod j ) of a signal (I(Pd nsegmented into a plurality of zones, said decoding process comprising: the decoding of at least one characteristic map representative of at least said zone of the signal comprising: • the determination (F23) of an extended characteristic zone (ECZ) j ) in said at least one characteristic map (FMDj) by applying a rule to a characteristic area of ​​said at least one characteristic map (FMDj) corresponding to said signal area, • the decoding (F24) of the data associated with the points of said extended characteristic zone (ZCD') and the synthesis (F29) of said signal zone (Zod j ) from the decoded data (MZo>). [3] Decoding method according to claim 2, wherein said synthesis takes into account at least one segmentation information (MZo>). [4] Decoding method according to claim 3 further comprising decoding said at least one segmentation information. [5] Decoding method according to any one of claims 3 and 4, wherein said at least one segmentation information is a mask. [6] Decoding method further comprising obtaining said rule for determining said enlarged characteristic area from said characteristic area. [7] Decoding method according to any one of claims 2 to 6 wherein said rule comprises the expansion of said characteristic zone by a structuring element (ES). [8] Decoding method according to the preceding claim wherein said dilation by a structuring element (SE) is a morphological dilation. [9] Decoding method according to claim 7 wherein the structuring element (SE) comprises at least one maximum distance, the enlarged characteristic area comprising said characteristic area and points of said at least one feature map located at a distance from an edge of said characteristic area in at least one direction outwards from said characteristic area less than and / or equal to said maximum distance. [10] A decoding method according to claim 7, wherein said rule is defined by a number of parameters equal to twice the dimension of said signal (I(Pd n )), each direction of one of the dimensions of said signal being associated with a parameter, the expanded characteristic area being obtained by adding to said characteristic area, in at least one direction of a dimension of said signal, a number of points equal to said parameter associated with said at least one direction of a dimension of said signal. [11] A decoding method according to any one of claims 2 to 10, wherein said at least one characteristic map is representative of said signal (I(Pd n )) in a transformed domain, for example associated with a direct discrete cosine transform, a Fourier transform, or a wavelet transform, and in which said synthesis includes the application to said decoded data of an inverse transform associated with said transform. [12] A method according to any one of claims 2 to 10 wherein said at least one characteristic map is representative of said signal (I(Pd n )) in a latent domain, wherein said decoding process further comprises decoding the parameters (Wdk) of a neural network (NNSYN'), and wherein said synthesis comprises, for at least one sample (Pd n ) of said signal associated with a position (x n , y n) in the signal: the construction of a characteristic vector (Zd n ) from the decoded data according to said position (xn, y n ) of said sample, and the processing of said characteristic vector (Zd n ) by the neural network (NNSYN') defined by the decoded parameters (Wdk), to provide a representative sample vector (Pd n ). [13] Encoding device for a zone (Zo>) of a signal (I(P n )) segmented into a plurality of zones, characterized in that said coding device is configured to: - obtain at least one characteristic map (FMi) representative of said signal (I(P n )), said at least one characteristic map including a characteristic area corresponding to said signal area, - determine an extended characteristic zone (ZCD') in said at least one characteristic map (FMi) by applying a rule to said characteristic zone (R j ), And - code data associated with the points of said extended characteristic zone (ECZ) j ). [14] Device for decoding a data stream representative of an area (Zod j ) of a signal (I(Pd n segmented into a plurality of zones, characterized in that said decoding device is configured to: - decode at least one characteristic map representative of at least said zone of the signal comprising: • determine (F23) an extended characteristic area IZCD') in said at least one characteristic map (FMDj) by applying a rule to a characteristic area of ​​said at least one characteristic map (FMDj) corresponding to said signal area, • decode (F24) data associated with points of said extended characteristic zone (ZCD>), and synthesize (F29) said signal zone (Zod>) from the decoded data. [15] Computer program comprising instructions for carrying out the steps of a coding process according to claim 1 or a decoding process according to any one of claims 2 to 12 when said program is executed by a computer.

Citation Information

Patent Citations

  • Method and device for encoding and decoding images.

    FR3143245A1

  • Residual coding method and device, video coding method and device, and storage medium

    US20240064309A1

  • Pre-analysis based image compression methods

    US20240121445A1