EP4183133A1 - Decodage video parallelise utilisant un reseau de neurones - Google Patents
Decodage video parallelise utilisant un reseau de neuronesInfo
- Publication number
- EP4183133A1 EP4183133A1 EP21745307.5A EP21745307A EP4183133A1 EP 4183133 A1 EP4183133 A1 EP 4183133A1 EP 21745307 A EP21745307 A EP 21745307A EP 4183133 A1 EP4183133 A1 EP 4183133A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- data
- artificial neural
- neural network
- fet
- decoding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/002—Image coding using neural networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Definitions
- the present invention relates to the technical field of decoding content, in particular audio or video content.
- It relates in particular to a method and an electronic device for decoding a data stream, as well as an associated data stream.
- a processor generally a central processing unit of the electronic device, or CPU for "Central Processing Unit”
- a parallelized processing unit designed to perform in parallel at a given time a plurality of operations of the same type.
- a parallelized processing unit is for example a graphics processing unit or GPU (for "Graphical Processing Unit"), or a tensor processing unit or TPU (for "Tensor Processing Unit'), as described for example in the article "Google's Tensor Processing Unit explained: this is what the future of computing looks ///ce", by Joe Osborne, Techradar, August 22, 2016.
- the present invention proposes a method for decoding a data stream by means of an electronic device comprising a processor, and a parallelized processing unit designed to perform in parallel at a given instant a plurality of operations of the same type, characterized in that the data stream comprises a first set of data and a second set of data representing audio or video content, and in that the method comprises the following steps: - data processing of the first set of data by the processor;
- the processing of the data of the second set by means of the artificial neural network implemented by the parallelized processing unit can thus be adapted according to the data of the first set contained in the data stream.
- a flexible and efficient processing of the second data is thus obtained with a view to their decoding by an artificial neural network.
- the method can thus for example comprise a step of configuring the parallelized processing unit as a function of at least part of the data of the first set of data.
- the configuration of the parallel processing unit may comprise a parallel processing unit memory allocation and/or a parallel processing unit memory instantiation and/or an assignment of values (depending on said part at least data from the first set of data) to the processing implemented on the parallelized processing unit (here in practice an assignment of weights and/or activation functions defining the artificial neural network, these weights and/or functions d activation being determined as a function of said at least part of the data of the first set of data).
- the first set of data can comprise descriptive data of the artificial neural network (for example coding data of the artificial neural network).
- the processor can configure the parallelized processing unit based on this descriptive data.
- the electronic device can comprise a unit for storing a plurality of sets of parameters respectively defining a plurality of artificial neural networks.
- the first set of data can in this case comprise an identifier.
- the processor can then configure the parallelized processing unit on the basis of a set of parameters associated with this identifier from among the plurality of sets of parameters.
- the processor is for example a microprocessor; the processor can thus successively execute a plurality of instructions of a computer program.
- the processing of the data of the first set of data can in this case be at least partly carried out due to the execution of at least part of these instructions.
- the step of configuring the parallelized processing unit can then be performed due to the execution of at least part of these instructions.
- the decoding method may further comprise a step of identifying the first set of data and the second set of data within the data stream (for example by using a predetermined bit length for the first set of data and/or the second set of data, or through the use of a boundary indicator between the first set of data and the second set of data).
- the first set of data can also comprise data representative of characteristics of the format of the content encoded by the data stream.
- the processing of the data of the second set can produce for example at least one raster representation of at least part of an image (for example a block of the image or of a component of the image, or else the entire image).
- the artificial neural network can receive as input (that is to say at the level of an input layer of the artificial neural network) data from the second set of data.
- the artificial neural network can also produce as output (that is to say at the level of an output layer of the artificial neural network) the aforementioned matrix representation.
- the artificial neural network can also receive as input (i.e. at the level of the aforementioned input layer) data produced beforehand as output (i.e. at the output layer) of the artificial neural network.
- the invention also proposes an electronic device for decoding a data stream comprising a first set of data and a second set of data representing audio or video content, the electronic device comprising:
- processor adapted to process the data of the first set of data
- a parallelized processing unit designed to perform in parallel at a given instant a plurality of operations of the same type and adapted to obtain the audio or video content by processing the data of the second set of data according to a process depending on a party at the less of the data of the first set and using an artificial neural network implemented by the parallelized processing unit.
- the processor can also be adapted to configure the parallelized processing unit according to at least part of the data of the first set of data.
- the parallelized processing unit can itself be adapted to produce at least one raster representation of at least part of an image.
- the invention finally proposes a data stream comprising a first set of data and a second set of data representative of an audio or video content, in which the first set of data comprises data defining at least in part a process for processing the data from the second data set using an artificial neural network.
- this data defining at least in part the processing process can be an identifier of the artificial neural network (among a predetermined set of artificial neural networks) or descriptive data (for example coding) of the artificial neural network.
- FIG. 2 is a flowchart representing the steps of an encoding method implemented within the electronic encoding device of Figure 1;
- FIG. 3 is a first example of data flow obtained by the method of Figure 2;
- FIG. 4 is a second example of data flow obtained by the method of Figure 2;
- FIG. 5 is a third example of data flow obtained by the method of Figure 2;
- FIG. 6 is a fourth example of data stream obtained by the method of Figure 2;
- FIG. 7 shows an electronic coding device according to one embodiment of the invention.
- FIG. 8 is a flowchart representing the steps of a decoding method implemented within the electronic decoding device of Figure 7.
- FIG. 1 represents an electronic coding device 2 using at least one artificial neural network 8.
- This electronic coding device 2 comprises a processor 4 (for example a microprocessor) and a parallelized processing unit 6, for example a graphics processing unit (or GPU for "Graphical Processing Unit') or a tensor processing unit (or TPU for "Tensor Processing Unit”).
- a processor 4 for example a microprocessor
- a parallelized processing unit 6 for example a graphics processing unit (or GPU for "Graphical Processing Unit') or a tensor processing unit (or TPU for "Tensor Processing Unit”).
- processor 4 receives data P, B representing audio or video content to be compressed, here format data P and content data B.
- the format data P indicates characteristics of the format of representation of the audio or video content, for example for a video content the dimensions (in pixels) of the images, the frame rate, the bit depth of the luminance information and the depth in bits of the chrominance information.
- the content data B forms a representation (here uncompressed) of the audio or video content.
- the content data includes, for each pixel of each frame of a sequence images, data representing a luminance value of the pixel and data representing chrominance values of the pixel.
- the parallelized processing unit 6 is designed to implement an artificial neural network 8 after having been configured by the processor 4. To do this, the parallelized processing unit is designed to perform in parallel at a given instant a plurality operations of the same type.
- the artificial neural network 8 is used within the framework of a processing of content data B aimed at obtaining compressed data C.
- the artificial neural network 8 when the content data B is input to the artificial neural network 8, the artificial neural network 8 outputs the compressed data C.
- the content data B applied at the input of the artificial neural network 8 can represent a block of an image, or a block of a component of an image (for example a block of a luminance or chrominance component of this image, or a block of a color component of this image), or an image of a video sequence, or a component of an image of a video sequence (for example a luminance or chrominance component, or a color component), or even a series of images of the video sequence.
- the neurons of the input layer may each receive a pixel value of a component of an image, a value represented by one of the content data B.
- the processing of content data B may comprise the use of several artificial neural networks, as described for example in the aforementioned article 'DVC: An End-to-end Deep Video Compression Framework', by Guo Lu and al., 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), June 2019.
- a memory linked to the processor 4 stores for example computer program instructions designed for the implementation of at least part of the steps of the method of FIG. 2 when these instructions are executed by the processor 4.
- processor 4 is programmed to implement at least some of the steps of FIG. 2.
- the method of FIG. 2 begins here with an optional step E2 of receiving a list of artificial neural networks accessible by an electronic decoding device.
- the list is for example received by the processor 4 of the electronic encoding device 2 directly from an electronic decoding device (conforming for example to the electronic decoding device 10 of FIG. 7 described below).
- the artificial neural networks accessible by the electronic decoding device are artificial neural networks for which the electronic decoding device stores parameters defining the artificial neural network concerned or can have access to these parameters by connection to remote electronic equipment such as a server.
- the list could be received by processor 4 of electronic device 2 from a remote server, such as the aforementioned server.
- the method of FIG. 2 continues with a step E4 of selecting an encoding process-decoding process pair.
- the coding process and the decoding process each use at least one artificial neural network.
- the coding process is implemented by a coding artificial neural network and the decoding process is implemented by a decoding artificial neural network.
- the assembly formed by the artificial coding neural network and by the artificial decoding neural network constitutes for example a self -encoder.
- the coding process - decoding process pair is for example selected from a plurality of predefined coding process - decoding process pairs, that is to say here from a plurality of pairs of artificial neural network coding - network of artificial decoding neurons.
- the coding process-decoding process pair is for example selected from coding process-decoding process pairs for which the decoding process uses an artificial neural network present in the list received.
- the coding process/decoding process couple can also be selected according to the intended application (indicated for example by a user by means of a user interface (not shown) of the electronic coding device 2). For example, if the target application is a videoconference, the pair of coding process - decoding process selected includes a low-latency decoding process. In other applications, the pair of coding process - decoding process selected will include a random access decoding process.
- an image of the video sequence is for example represented by coded data which can be sent and decoded immediately; the data can then be sent in the order in which the video images are displayed, which in this case guarantees a latency of one image between encoding and decoding.
- the coded data relating respectively to a plurality of images are sent in an order different from the display order of these images, which makes it possible to increase the compression .
- Images coded without reference to the other images can then be coded regularly, which makes it possible to start the decoding of the video sequence from several places in the coded stream.
- the couple coding process - decoding process can also be selected in order to obtain the best possible compression-distortion compromise.
- the coding process/decoding process couple can also be selected as a function of the calculation power available at the level of the electronic decoding device. Information representative of this computing power may previously have been transmitted from the electronic decoding device to the electronic coding device (and received for example by the electronic coding device in step E2 described above).
- the different criteria for selecting the coding process/decoding process pair can optionally be combined.
- step E6 the processor 4 proceeds in step E6 to configure the parallelized processing unit 6 so that the parallelized processing unit 6 can implement the coding process. selected.
- This step E6 comprises in particular the instantiation, within the parallelized processing unit 6, of the coding artificial neural network 8 used by the selected coding process.
- This instantiation may include the following steps:
- the method of FIG. 2 then comprises a step E8 of implementing the coding process, that is to say here of applying the content data B as input to the coding artificial neural network 8 (or in other words activation of the coding artificial neural network 8 by taking the content data B as input).
- Step E8 thus makes it possible to produce (here at the output of the coding artificial neural network 8) the compressed data C.
- the following steps aim at the coding (that is to say the preparation) of the data stream containing in particular the compressed data C and intended for the electronic decoding device (for example the electronic decoding device 10 described below with reference in Figure 7).
- the method thus notably comprises a step E10 of encoding a first header part Fc which comprises data characteristic of the format of representation of the audio or video content (here for example data linked to the format of the current video sequence coding).
- These data forming the first header part Fc indicate for example the dimensions (in pixels) of the images, the frame rate, the bit depth of the luminance information and the bit depth of the chrominance information. These data are for example constructed on the basis of the data of format P mentioned above (after a possible reformatting).
- step E12 of determining the availability of the decoding artificial neural network (used by the decoding process selected in step E4) for the electronic decoding device capable of decoding the stream data (for example the electronic decoding device 10 described below with reference to FIG. 7).
- step E2 the processor 4 determines in this case whether the artificial decoding neural network used by the decoding process selected at step E4 is part of the list received in step E2. (Naturally, in the embodiments where the couple coding process - decoding process is systematically chosen to correspond to a network of artificial decoding neurons available for the electronic decoding device, step E12 can be omitted and the method then proceeds to step E14.)
- the method in the absence of information on the availability of the decoding artificial neural network for the electronic decoding device, the method continues at step E16 (so that descriptive data of the artificial neural network decoding are transmitted to the electronic decoding device as explained below). If the processor 4 determines at step E12 that the decoding artificial neural network is available for the electronic decoding device (arrow P), the method continues at step E14 described below.
- step E12 determines at step E12 that the decoding artificial neural network is not available for the electronic decoding device (arrow N)
- the method continues at step E16 described below.
- step E14 or of step E16 as a step subsequent to step E12 could be carried out on another criterion, for example according to a dedicated indicator stored within the electronic device coding 2 (and possibly adjustable by the user via a user interface of the electronic coding device 2) or according to a choice of the user (obtained for example via a user interface of the electronic coding device 2).
- the processor 4 proceeds in step E14 to encode a second header part comprising an indicator IND and a third header part here comprising an identifier Inn of the decoding artificial neural network.
- the IND indicator encoded in the data stream at step E14 indicates that the decoding artificial neural network is part of a predetermined set of artificial neural networks, here the set of artificial neural networks available (or accessible ) for the electronic decoding device (that is to say, for example, all the artificial neural networks of the list received in step E2).
- the identifier Inn of the decoding artificial neural network is an identifier defining by convention (shared in particular by the electronic coding device and the electronic decoding device) this artificial decoding neural network, for example within the predetermined set aforementioned.
- the processor 4 proceeds in step E16 to the coding of a second header part comprising an indicator IND′ and of a third header part comprising here descriptive data Rc of the artificial neural network for decoding .
- the indicator IND' encoded in the data stream in step E16 indicates that the decoding artificial neural network is encoded in the data stream, that is to say represented by means of the aforementioned descriptive data Rc.
- the decoding artificial neural network is for example coded (that is to say represented) by the descriptive data (or coding data of the decoding artificial neurons) Rc in accordance with a standard such as the MPEG-7 standard part 17 or a format such as the JSON format.
- step E14 the method of FIG. 2 continues with a step E18 of determining the possibility for the electronic decoding device to implement the decoding process using the artificial neural network of decoding.
- the processor 4 determines for example this possibility by determining (possibly by means of prior exchanges between the electronic coding device and the electronic decoding device) whether the electronic decoding device comprises a module adapted to implement this decoding process or software adapted to the implementation of this decoding process by the electronic decoding device when this software is executed by a processor of the electronic decoding device.
- step E22 If the processor 4 determines that it is possible for the electronic decoding device to implement the decoding process, the method continues at step E22 described below.
- step E20 If the processor 4 determines that it is not possible for the electronic decoding device to implement the decoding process, the method performs step E20 described below (before going to step E22).
- step E20 could be made on another criterion, for example according to a dedicated indicator stored within the electronic coding device 2 (and possibly adjustable by the user via a user interface of the electronic coding device 2) or according to a choice of the user (obtained for example via a user interface of the electronic coding device 2).
- the processor 4 encodes in the data stream at step E20 a fourth header part containing a computer program Exe (or code) executable by a electronic decoding device processor.
- a computer program Exe or code
- the use of the Exe computer program within the electronic decoding device is described below with reference to Figure 8.
- the computer program is for example chosen within a library according to information relating to the hardware configuration of the electronic decoding device (information received by example during prior exchanges between the electronic encoding device 2 and the electronic decoding device).
- the processor 4 then proceeds to a step E22 of coding a compressed stream Fnn on the basis of the compressed data C obtained in step E8.
- step E8 has been described before the steps of encoding the header Fet (steps E10 to E20). Step E8 could however in practice be carried out just before step E22.
- step E8 allows the processing of only part of the audio or video content to be compressed (for example when step E8 processes a block, or a component, or an image of a video sequence to be compressed), it is possible to repeat the implementation of steps E8 (to obtain compressed data relating to the successive parts of the content) and E22 (to encode the compressed data obtained in the data stream).
- the processor 4 can thus construct in step E24 the complete data stream comprising the header Fet and the compressed stream Fnn.
- the complete data stream is constructed so that the Fet header and the Fnn compressed stream are individually identifiable.
- the header Fet contains a start indicator of the compressed stream Fnn in the complete data stream.
- This indicator is for example the location, in bits, of the start of the compressed stream Fnn from the start of the complete data stream. (That is, the header in this case has a predetermined fixed length.)
- identifying the header Fet and the compressed stream Fnn can be envisaged as a variant, such as for example a marker (i.e. a combination of bits used to indicate the start of the compressed stream Fnn and whose use is prohibited in the rest of the data stream, or at least in the Fet header).
- a marker i.e. a combination of bits used to indicate the start of the compressed stream Fnn and whose use is prohibited in the rest of the data stream, or at least in the Fet header.
- these data streams include a header Fet and a compressed stream Fnn.
- the header comprises:
- the header comprises:
- a third part comprising the descriptive data Rc (here the coding data) of the decoding artificial neural network.
- the header comprises:
- the header comprises: - a first part Fc comprising the characteristic data of the representation format of the audio or video content;
- a third part comprising the descriptive data Rc (here the coding data) of the decoding artificial neural network;
- the data stream constructed in step E24 can be encapsulated in transmission formats known per se, such as the "Packet-Transport System” format or the "Byte-Stream” format.
- the data is coded by identifiable packets and transmitted over a communication network.
- the network can easily identify data boundaries (pictures, groups of pictures and here Fet header and Fnn compressed stream), using the packet identification information provided by the network layer.
- step E24 In the "Byte-Stream" format, there are no specific packets and the construction of step E24 must make it possible to identify the boundaries of the relevant data (such as boundaries between parts of the stream corresponding to each image, and here between Fet header and Fnn compressed stream) using additional means, such as the use of Network Abstraction Layer Units (or NAL Units for "Network Abstraction LayeP), where unique combinations of bits (such as 0x00000001 ) are used to identify boundaries between data).
- NAL Units for "Network Abstraction LayeP
- step E24 The complete data stream constructed in step E24 can then be sent in step E26 to the electronic decoding device 26 (by communication means not shown and/or through at least one communication network), or stored within the electronic coding device 2 (for subsequent transmission or, as a variant, subsequent decoding, for example within the electronic coding device itself, which in this case is designed to further implement the decoding method described above below with reference to Figure 8).
- the method of steps E4 to E24 can optionally be implemented for each of the parts of the content (for example for each group of images) so to obtain a data stream as represented in one of FIGS. 3 to 6 for each part of content (for example for each group of images).
- the compressed stream Fnn relating to each group of images can be decoded using an artificial neural network specific to the group of images concerned and possibly different from the artificial neural networks used for the other groups of images, as described in the following.
- the artificial neural networks may possibly have identical structures (and differ only in the weights and/or the activation functions which define a particular artificial neural network).
- FIG. 7 represents an electronic decoding device 10 using at least one artificial neural network 18.
- This electronic decoding device 10 comprises a reception unit 11, a processor 14 (for example a microprocessor) and a parallelized processing unit 16, for example a graphics processing unit (or GPU for "Graphical Processing Unit") or a unit tensor processing unit (or TPU for "Tensor Processing Unit”).
- a graphics processing unit or GPU for "Graphical Processing Unit”
- a unit tensor processing unit or TPU for "Tensor Processing Unit”
- the reception unit 11 is for example a communication circuit (such as a radiofrequency communication circuit) and makes it possible to receive data (and in particular here the coded data stream) from an external electronic device, such as the device coding electronics 2, and to communicate these data to the processor 14 (to which the reception unit 11 is for example connected by a bus).
- a communication circuit such as a radiofrequency communication circuit
- the electronic decoding device 10 also comprises a storage unit 12, for example a memory (possibly a rewritable non-volatile memory) or a hard disk.
- a storage unit 12 for example a memory (possibly a rewritable non-volatile memory) or a hard disk.
- the storage unit 12 is represented in FIG. 7 as a separate element from the processor 14, the storage unit 12 could alternatively be integrated into (that is to say included in) the processor 14.
- the processor 14 is in this case designed to successively execute a plurality of instructions of a computer program stored for example in the storage unit 12.
- the parallelized processing unit 16 is designed to implement the artificial neural network 18 after having been configured by the processor 14. To do this, the parallelized processing unit 16 is designed to perform in parallel at a given instant a plurality of operations of the same type. As schematically represented in FIG. 7, the processor 14 receives a data stream (for example via communication means not represented of the electronic decoding device 10) comprising a first set of data, here the header Fet, and a second set of data representative of the audio or video content, here the compressed stream Fnn.
- a data stream for example via communication means not represented of the electronic decoding device 10.
- the artificial neural network 18 is used in the context of a processing of the second set of data (that is to say here compressed data Fnn) to obtain an audio or video content corresponding to the content initial audio or video B.
- the storage unit 12 can store a plurality of sets of parameters, each set of parameters defining a network of artificial decoding neurons.
- the processor 14 can in this case configure the parallelized processing unit 16 by means of a particular set of parameters among these sets of parameters so that the parallelized processing unit 16 can then implement the artificial neural network defined by this particular set of parameters.
- the storage unit 12 can in particular store a first set of parameters defining a first network of artificial neurons forming a random access decoder and/or a second set of parameters defining a second network of artificial neurons forming a low latency decoder.
- the electronic decoding device 10 in this case holds decoding possibilities in advance both for situations where it is desired to obtain random access to the content and for situations where it is desired to display the content without delay.
- This method can begin with an optional step of transmission, by the electronic decoding device 10 and intended for a device for controlling the transmission of the data stream to be decoded, of a list L of artificial neural networks accessible by the electronic decoding device 10.
- the data stream transmission control device may for example be the electronic coding device 2.
- the electronic coding device 2 in this case receives this list L at step E2 described above with reference to Figure 2.
- the device for controlling the transmission of the data stream could be a dedicated server, operating in cooperation with the electronic coding device 2.
- the artificial neural networks accessible by the electronic decoding device 10 are the artificial neural networks for which the electronic decoding device 10 stores a set of parameters defining the artificial neural network concerned (as indicated above) or can have access to this set of parameters by connection to remote electronic equipment such as a server (as explained below).
- the method of FIG. 8 comprises a step E52 of reception (by the electronic decoding device 10, and precisely here by the reception unit 11) of the data stream comprising the first set of data, namely the header Feet; and the second set of data, namely the compressed stream Fnn.
- the receiving unit 11 transmits the received data stream to the processor 14.
- the processor 14 then proceeds to a step E54 of identifying the first set of data (header Fet) and the second set of data (compressed stream Fnn) within the data stream received, for example by means of the indicator start of compressed stream (already mentioned during the description of step E24).
- the processor 14 can also identify in step E54 the different parts of the first set of data (header), namely here within the header Fet: the first part Fc (comprising data representative of characteristics of the format of the content encoded by the data stream), the second part (IND or IND' indicator), the third part (Inn identifier or Rc encoding data) and possibly the fourth part (Exe computer program), as illustrated in Figures 3 to 6 described above.
- the first part Fc comprising data representative of characteristics of the format of the content encoded by the data stream
- the second part IND or IND' indicator
- the third part Inn identifier or Rc encoding data
- Example computer program the fourth part
- the processor 14 can launch at step E56 the execution of these executable instructions in order to implement at least some of the steps (described below) for processing the data of the first set of data.
- These instructions can be executed by the processor 14 or, as a variant, by a virtual machine instantiated within the electronic decoding device 10.
- the method of FIG. 7 continues with a step E58 of decoding data Fc characteristic of the format for representing the audio or video content so as to obtain characteristics of this format.
- the decoding of the Fc data makes it possible to obtain the dimensions (in pixels) of the images and/or the frame rate and/or the bit depth of the luminance information and/or the bit depth of the chrominance information.
- the processor 14 then proceeds (in certain embodiments, due to the execution of instructions identified within the first set of data at step E54, as already indicated) to a step E60 of decoding the indicator IND , IND' contained here in the second part of the Fet header.
- the method continues at step E62 described below.
- the method continues at step E66 described below.
- the processor 14 proceeds (in certain embodiments, due to the execution of instructions identified within the first set of data at step E54, as already indicated) to the decoding of the identifier Inn (contained here in the third part of the Fet header).
- this identifier Inn is an identifier designating the decoding artificial neural network 18, for example within the predetermined set of artificial neural networks mentioned above.
- the processor 14 can then proceed (in certain embodiments, due to the execution of instructions identified within the first set of data at step E54, as already indicated) to step E64 with reading, by example in unit storage 12, of a set of parameters associated with the decoded identifier Inn (this set of parameters defining the artificial neural network identified by the decoded identifier Inn).
- provision may be made for the processor 14 to generate an error message in the event of absence (here within the storage unit 12) of data (in particular of parameters) relating to this artificial neural network identified by the decoded identifier Inn.
- the electronic decoding device 10 can transmit (in certain modes implementation, due to the execution of instructions identified within the first set of data in step E54, as already indicated) a request for a set of parameters intended for a remote server (this request including by example the decoded identifier Inn) and receive in response to step E64 the set of parameters defining the artificial neural network identified by the decoded identifier Inn.
- the processor 14 proceeds (in certain embodiments, due to the execution of instructions identified within the first set of data at step E54, as already indicated) to the decoding of the descriptive data Rc of the artificial neural network 18 (contained here in the third part of the Fet header).
- these descriptive data (or coding data) Rc are for example coded in accordance with a standard such as the MPEG-7 part 17 standard or in a format such as the JSON format.
- the decoding of the descriptive data Rc makes it possible to obtain the parameters defining the artificial neural network to be used for the decoding of the data of the second set of data (that is to say here data of the compressed stream Fnn).
- the processor 14 then proceeds (in certain embodiments, due to the execution of instructions identified within the first set of data at step E54, as already indicated) at step E68 to configure the parallelized processing unit 16 by means of the parameters defining the artificial neural network decoding 18 (parameters obtained in step E64 or in step E66) so that the parallelized processing unit 16 can implement the decoding artificial neural network 18.
- This configuration step E68 includes in particular the instantiation of the decoding artificial neural network 18 within the parallelized processing unit 16, here by using the parameters obtained in step E64 or in step E66.
- This instantiation may include the following steps:
- the processor 14 can then apply (ie present) at step E70 the data of the second set of data (here data from the compressed stream Fnn) to the artificial neural network 18 implemented by the parallelized processing unit 16 so that these data are processed by a decoding process using at least in part the artificial neural network 18.
- the artificial neural network 18 receives data from the second set of data Fnn as input and produces as output a representation I of the coded content suitable for reproduction on an audio or video reproduction device.
- the data of the second data set Fnn is applied to the input layer of the artificial neural network 18 and the output layer of the artificial neural network 18 produces the aforementioned representation I of the encoded content.
- the artificial neural network 18 thus produces at the output (that is to say at the level of its output layer) at least one matrix representation I of an image.
- the artificial neural network 18 can receive as input at least some of the data produced at the output of the neural network artificial 18 during the processing of previous data (corresponding for example to the previous block or to the previous image) in the compressed stream Fc. In this case, a step E72 of reinjecting data produced at the output of the artificial neural network 18 into the input of the artificial neural network 18 is carried out.
- the decoding process could use a plurality of artificial neural networks, as already mentioned above with regard to the processing of content data B.
- the data of the second set (here some data at least from the compressed stream Fnn) have thus been processed by a process depending on part of the data of the first set (process depending here on the identifier Inn or the coding data Rc) and using the artificial neural network 18 implemented by the parallelized processing unit 16.
- the processor 14 determines in step E74 if the processing of the compressed stream Fnn by means of the artificial neural network 18 is finished.
- step E70 the method loops to step E70 for application of other data from the compressed stream Fnn to the artificial neural network 18.
- step E76 the processor 14 determines whether there remains data to be processed in the data stream received.
- step E76 In the event of a negative determination (N) at step E76, the method is terminated at step E78.
- step E76 the method loops to step E52 for processing a new part of the data stream as represented in one of FIGS. 3 to 6.
- this other part of the data stream then also comprises a first set of data and a second set of data representative of another audio or video content (for example, in the case of video content, another group of images for the format of representation of the content used).
- Another artificial neural network can in this case be determined on the basis of some of these first data (Inn identifier or Rc coding data), as described above in steps E54 to E66, then the parallelized processing unit 16 can be configured to implement this other artificial neural network (in accordance with step E68 described above).
- the data of the second data set of this other part of the data stream (relating for example to the other group of images mentioned above) can thus be decoded by means of this other artificial neural network (as described above at l step E70).
- the other artificial neural network which has just been mentioned can have a structure identical to the artificial neural network 18 mentioned above, which simplifies the step of configuring the parallelized processing unit 16 (only the weights and/or or the activation functions defining the current artificial neural network being for example updated).
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
Claims
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR2007530A FR3112662B1 (fr) | 2020-07-17 | 2020-07-17 | Procédé et dispositif électronique de décodage d’un flux de données, et flux de données associé |
| PCT/EP2021/069515 WO2022013247A1 (fr) | 2020-07-17 | 2021-07-13 | Decodage video parallelise utilisant un reseau de neurones |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4183133A1 true EP4183133A1 (fr) | 2023-05-24 |
Family
ID=72885742
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP21745307.5A Pending EP4183133A1 (fr) | 2020-07-17 | 2021-07-13 | Decodage video parallelise utilisant un reseau de neurones |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US12563213B2 (fr) |
| EP (1) | EP4183133A1 (fr) |
| JP (1) | JP7850128B2 (fr) |
| KR (1) | KR20230039714A (fr) |
| CN (1) | CN115956365A (fr) |
| FR (1) | FR3112662B1 (fr) |
| WO (1) | WO2022013247A1 (fr) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR3114717B1 (fr) | 2020-09-30 | 2023-10-13 | Fond B Com | Procédé et dispositif électronique de décodage d’un flux de données, programme d’ordinateur et flux de données associés |
| FR3114933B1 (fr) | 2020-10-06 | 2023-10-13 | Fond B Com | Procédé et dispositif électronique de décodage d’un flux de données, et programme d’ordinateur associé |
| FR3124342B1 (fr) * | 2021-06-17 | 2024-01-12 | Fond B Com | Procédés et dispositifs de décodage d’une partie au moins d’un flux de données, programme d’ordinateur et flux de données associés |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5734589A (en) * | 1995-01-31 | 1998-03-31 | Bell Atlantic Network Services, Inc. | Digital entertainment terminal with channel mapping |
| US9031138B1 (en) * | 2014-05-01 | 2015-05-12 | Google Inc. | Method and system to combine multiple encoded videos for decoding via a video docoder |
| PH12018500454B1 (en) * | 2015-09-03 | 2024-02-28 | Mediatek Inc | Method and apparatus of nueral network based processing in video coding |
| EP3293981A1 (fr) * | 2016-09-08 | 2018-03-14 | Koninklijke KPN N.V. | Procédé, dispositif et système de décodage vidéo partielle |
| US11037330B2 (en) * | 2017-04-08 | 2021-06-15 | Intel Corporation | Low rank matrix compression |
| US10824938B2 (en) * | 2017-04-24 | 2020-11-03 | Intel Corporation | Specialized fixed function hardware for efficient convolution |
| US10979718B2 (en) * | 2017-09-01 | 2021-04-13 | Apple Inc. | Machine learning video processing systems and methods |
| WO2019131880A1 (fr) | 2017-12-28 | 2019-07-04 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | Procédé de codage, procédé de décodage, procédé de traitement d'informations, dispositif de codage, dispositif de décodage et système de traitement d'informations |
| CN108320754B (zh) * | 2018-02-05 | 2019-03-19 | 山东师范大学 | 一种音频解码器、解码方法和多媒体系统 |
| EP3547704A1 (fr) * | 2018-03-30 | 2019-10-02 | Thomson Licensing | Procédé, appareil et flux pour format vidéo volumétrique |
| CN110427222A (zh) * | 2019-06-24 | 2019-11-08 | 北京达佳互联信息技术有限公司 | 数据加载方法、装置、电子设备及存储介质 |
-
2020
- 2020-07-17 FR FR2007530A patent/FR3112662B1/fr active Active
-
2021
- 2021-07-13 EP EP21745307.5A patent/EP4183133A1/fr active Pending
- 2021-07-13 JP JP2023503012A patent/JP7850128B2/ja active Active
- 2021-07-13 CN CN202180050576.7A patent/CN115956365A/zh active Pending
- 2021-07-13 WO PCT/EP2021/069515 patent/WO2022013247A1/fr not_active Ceased
- 2021-07-13 US US18/016,568 patent/US12563213B2/en active Active
- 2021-07-13 KR KR1020237005501A patent/KR20230039714A/ko active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| US12563213B2 (en) | 2026-02-24 |
| US20230283790A1 (en) | 2023-09-07 |
| JP2023534495A (ja) | 2023-08-09 |
| CN115956365A (zh) | 2023-04-11 |
| FR3112662B1 (fr) | 2024-12-13 |
| JP7850128B2 (ja) | 2026-04-22 |
| KR20230039714A (ko) | 2023-03-21 |
| WO2022013247A1 (fr) | 2022-01-20 |
| FR3112662A1 (fr) | 2022-01-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP4183130B1 (fr) | Decodage video utilisant un reseau de neurones | |
| WO2022013247A1 (fr) | Decodage video parallelise utilisant un reseau de neurones | |
| EP4222957A1 (fr) | Procédé et dispositif électronique de décodage d'un flux de données, programme d'ordinateur et flux de données associés | |
| EP2700226B1 (fr) | Procedes et appareils de production et de traitement de representations de scenes multimedias | |
| WO2024121109A1 (fr) | Procédé et dispositif de codage et décodage d'images | |
| US20260019650A1 (en) | Electronic method and device for decoding a data stream, and associated computer program | |
| EP2368367A1 (fr) | Système et procédé interactif pour la transmission sur un réseau bas débit d'images clefs sélectionnées dans un flux video | |
| FR3050090A1 (fr) | Extraction de flux video | |
| JP2024520961A (ja) | データストリームの少なくとも一部を復号化するための方法と装置、コンピュータプログラム、及び関連するデータストリーム | |
| US20260143149A1 (en) | Parallelized video decoding using a neural network | |
| FR2923970A1 (fr) | Procede et dispositif de formation, de transfert et de reception de paquets de transport encapsulant des donnees representatives d'une sequence d'images | |
| WO2018073523A1 (fr) | Procédé de codage et de décodage de paramètres d'image, dispositif de codage et de décodage de paramètres d'image et programmes d'ordinateur correspondants | |
| RU2854759C2 (ru) | Способ кодирования и декодирования характеристических данных и устройство | |
| WO2026003294A1 (fr) | Procédé et dispositif de codage et décodage d'un signal | |
| WO2024260629A1 (fr) | Procédé et dispositif de codage et décodage de séquences d'images | |
| FR3137518A1 (fr) | Procédé et dispositif de décodage, programme d’ordinateur et flux de données associés | |
| EP4630971A1 (fr) | Procédé et dispositif de codage et décodage d'images | |
| EP4732241A1 (fr) | Procédé et dispositif de codage et décodage de séquences d'images |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20230110 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
| DAV | Request for validation of the european patent (deleted) | ||
| DAX | Request for extension of the european patent (deleted) | ||
| RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: ORANGE |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
| 17Q | First examination report despatched |
Effective date: 20250703 |