Decoding method and apparatus, associated computer program and data stream
By identifying and extracting data packets of artificial neural networks in data packets, the problem of difficult to identify and use artificial neural networks in the prior art is solved, and more efficient and accurate decoding of audio or video content is achieved.
Patent Information
- Application Number
- CN202380050976.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-06-29
- Filing Date
- 2023-06-28
- Publication Date
- 2025-02-21
AI Technical Summary
The prior art is difficult to effectively identify and use artificial neural networks transmitted in data streams, resulting in limited efficiency and accuracy of decoding audio or video content.
By identifying a first data packet including information indicating a predetermined data packet type in the data packet, the second data is extracted and processed to obtain an artificial neural network, thereby decoding the data contained in the second data packet.
It realizes the identification and use of artificial neural networks during the decoding process, and improves the efficiency and accuracy of decoding audio or video content.
Smart Images

Figure CN119497994A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of encoding audio or video content.
[0002] The invention relates in particular to a decoding method and device, and an associated computer program and data stream. Background Art
[0003] It has been proposed to use artificial neural networks to perform full or partial decoding of data representing audio or video content.
[0004] Document WO 2022 / 013249 discloses a decoding method in which an indicator is decoded in order to determine whether an artificial neural network is encoded in a received data stream or forms part of a set of predetermined artificial neural networks, and wherein the artificial neural network is then used to decode data representing audio or video content. Summary of the invention
[0005] In this context, the present invention proposes a method for decoding a data stream comprising data packets, each data packet comprising at least first data and second data, characterized in that the method comprises the following steps:
[0006] - identifying a first data packet from among the data packets, the first data of the first data packet comprising information indicating a predetermined data packet type;
[0007] - processing the second data of the first data group so as to obtain an artificial neural network;
[0008] - decoding from said data packets second data comprised in the second data packet by using at least the obtained artificial neural network so as to generate data representing audio or video content.
[0009] Thus, data allowing the artificial neural network to be obtained and data that can be decoded using this artificial neural network in order to reproduce the audio or video content are transmitted in corresponding data packets, which facilitates their identification and use during decoding. In this regard, a first data packet is specifically identified by means of information indicating a predetermined data packet type, which first data packet contains data allowing the artificial neural network to be obtained.
[0010] The second data of the first data packet comprise, for example, descriptive data of the artificial neural network; the processing step may then be a step of decoding the descriptive data in order to obtain parameters of the artificial neural network.
[0011] The first data packet may also include an identifier of the artificial neural network. The identifier may be an element of a list of different identifiers respectively associated with different artificial neural networks.
[0012] The method may further comprise the step of receiving a third data packet, the first data of which comprises information indicating said predetermined packet type and comprising said identifier; and / or the step of reusing said obtained artificial neural network in order to decode from said data packet the second data comprised in a fourth data packet. Thus, the presence of the identifier in the third data packet indicates that the third data packet also contains data that can be used to obtain the artificial neural network defined in the first data packet, and that the artificial neural network can therefore be reused without having to process the data of the third data packet again.
[0013] The second data packet may also include said identifier. In other words, the identifier included in the first data packet and the identifier included in the second data packet are identical. In this case, the identifier may then be used to indicate that the artificial neural network defined in the first data packet (which includes the identifier) must be used to decode the data included in the second data packet (which in the present case also includes the identifier).
[0014] However, other methods can be envisioned to instruct the neural network for decoding.
[0015] The method may comprise the step of receiving another data packet containing parameters related to at least one image of said content; in this case, these parameters may comprise said identifier. The data will then be decoded using the artificial neural network defined in the first data packet to obtain said at least one image of the content.
[0016] According to one conceivable embodiment, the first data packet is the last packet before the second data packet in the data stream among those packets whose first data include information indicating said predetermined packet type. In this embodiment, the artificial neural network used to decode the data of the second packet is therefore the artificial neural network defined in the last received packet of the predetermined type.
[0017] According to a possible embodiment, the second data packet includes a pointer to the first data packet.
[0018] Along the same lines, the method may include the following steps:
[0019] - reading a flag in the second data packet;
[0020] - If the flag has a predefined value, reading in the second data packet a pointer to the first data packet.
[0021] The method may further comprise the following steps:
[0022] - receiving another data packet comprising parameters related to at least one image of said content;
[0023] - read a flag from said parameter;
[0024] - If the flag has a predefined value, reading a pointer to the first data packet from said parameters.
[0025] The pointer may specify, for example, a position in a portion of the data stream, the portion relating to a sequence of images different from a sequence of images at least partially encoded by the second data of the second data packet.
[0026] Furthermore, the first data packet may include information indicating an encoding format of the second data of the first data packet.
[0027] The first data packet may start with a predefined marker, and in this case, the second data packet may also start with the predefined marker. In this case, such a marker identifies the start of a data packet.
[0028] The first data of the data packet is, for example, included in a header of the data packet, and the second data may be included in payload data of the data packet.
[0029] The present invention also proposes a device for decoding a data stream comprising data packets, each data packet comprising at least first data and second data, characterized in that the device comprises a processor, the processor being configured or programmed to:
[0030] - identifying a first data packet from among the data packets, the first data of the first data packet comprising information indicating a predetermined data packet type;
[0031] - processing the second data of the first data group so as to obtain an artificial neural network;
[0032] - decoding from said data packets second data comprised in the second data packet by using at least the obtained artificial neural network so as to generate data representing audio or video content.
[0033] The present invention also proposes a computer program, which comprises instructions that can be executed by a processor and is designed to implement the method proposed above when the instructions are executed by the processor.
[0034] Finally, the present invention proposes a data stream, which includes data packets, each of which includes at least first data and second data, and is characterized in that the data packets include:
[0035] - a first data packet, the first data of which comprises information indicating a predetermined data packet type and the second data of which (NNC) defines an artificial neural network;
[0036] - a second data packet, the second data of which can be decoded using at least said artificial neural network in order to produce data representing audio or video content.
[0037] As explained above, the first data packet may include an identifier; the data stream may include another data packet, the other data packet including the identifier, the first data of the other data packet including the information indicating the predetermined data packet type, and the second data of the other data packet is the same as the second data of the first data packet.
[0038] Of course, the various features, variants and embodiments of the present invention can be associated with each other according to various combinations, as long as they are not incompatible or mutually exclusive. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] Furthermore, various other features of the present invention will become apparent from the accompanying description provided with reference to the accompanying drawings, which illustrate non-limiting embodiments of the present invention and in which:
[0040] - Figure 1 The main elements of the encoding device are shown;
[0041] - Figure 2 Schematically shows Figure 1 A first possible implementation of an encoding module of an encoding device;
[0042] - Figure 3 Schematically shows Figure 1 A second possible implementation example of an encoding module of an encoding device;
[0043] - Figure 4 A first example of a data flow is shown;
[0044] - Figure 5 A second example of a data flow is shown;
[0045] - Figure 6 A third example of a data flow is shown;
[0046] - Figure 7 A fourth example of a data flow is shown;
[0047] - Figure 8 A fifth example of a data flow is shown;
[0048] - Fig. 9 A sixth example of a data flow is shown;
[0049] - Fig.10 The main elements of the decoding device are shown;
[0050] - Fig.11 Schematically shows Fig.10 A first possible implementation of a decoding module of a decoding device;
[0051] - Fig.12 Schematically shows Fig.10 A second possible implementation of a decoding module of a decoding device;
[0052] - Fig.13 is a flow chart showing the steps of a decoding method;
[0053] - Fig.14 is a diagram showing a possible use for Figure 5 A flowchart of the steps of a method for decoding a data stream;
[0054] - Fig.15 is a diagram showing a possible use for Figure 6 A flowchart of the steps of a method for decoding a data stream;
[0055] - Fig.16 is a diagram showing a possible use for Figure 7 A flowchart of the steps of a method for decoding a data stream; and
[0056] - Fig.17 is a diagram showing a possible use for Figure 8 Flow chart of the steps of a method for decoding a data stream.
[0057] It should be noted that in these figures, structural and / or functional elements common to different variants may have the same reference numerals. DETAILED DESCRIPTION
[0058] Figure 1 An encoding device for use within the scope of the present invention is shown.
[0059] The encoding device includes a management module 2 , an encoding module 4 , a stream forming module 6 and a stream transmitting module 8 .
[0060] In practice, each of these modules can be implemented by a programmed processor (for example, by means of instructions stored in a memory associated with the processor) so as to implement the functions described below for the relevant module (in this example, because the processor executes some of the above instructions). Moreover, in practice several modules can be implemented by means of the same processor, for example, due to the execution (by this processor) of several sets of instructions corresponding respectively to the various modules. As a variant, any of these modules can be produced by means of a dedicated integrated circuit.
[0061] The management module 2 is configured to control the operation of the encoding module 4, in particular in order to determine which encoding process must be used to encode data B representing audio or video content, as will be explained hereinafter.
[0062] The encoding module 4 is configured to receive as input the data B representing the audio or video content and to generate as output an encoded representation C of the content based on at least a portion of the data B. The size (in bits) of the encoded representation C is typically smaller than the size (in bits) of the corresponding data B.
[0063] In the case of video content, the data B comprises, for example, values respectively associated with pixels of an image (or component of an image) of a video sequence. Thus, the data B may be luminance values or chrominance values respectively associated with pixels of a component of an image of the relevant video sequence.
[0064] In the case of audio content, data B is data representing a sound signal, for example in WAV format (used for audio compact disc storage).
[0065] In order to generate a coded representation C based on the data B, the coding module 4 uses at least one artificial neural network N, N′.
[0066] according to Figure 2 In a first possible embodiment shown in , data B representing audio or video content are used as input to an artificial neural network N, which then generates a corresponding part of the encoded representation C as output.
[0067] The data B used as input to the artificial neural network N (i.e., applied to the input layer of the artificial neural network N) may represent blocks of an image, or blocks of components of an image (e.g., blocks of luminance components or chrominance components of the image, or blocks of color components of the image), or images of a video sequence, or components of images of a video sequence (e.g., luminance components or chrominance components, or color components), or even a series of images of a video sequence.
[0068] In this case, it can be provided that, for example, at least some of the neurons of the input layer each receive a pixel value of a component of the image, which value is represented by one of the data items B.
[0069] According to a second possible embodiment, the encoding module 4 processes the data B representing the audio or video content in several steps, at least one of which is performed with the aid of an artificial neural network N′.
[0070] Therefore, if Figure 3 As shown, for example, the previously obtained coded representation of part C j-1 is used as input to an artificial neural network N', which allows the generation of prediction data P j As the output of the artificial neural network N', from the current data B j Subtract the predicted data from the current data B j The corresponding code represents part C j (as output of encoding module 4).
[0071] exist Figure 3 , reference numeral 10 denotes a delay module to illustrate the fact that when processing the current data B j In order to obtain the corresponding coded representation of part C j When the previously obtained coded representation part C j-1 Used as input to the artificial neural network N'.
[0072] In fact, part C j-1 For example, the previous data B is matched with the current data B by the encoding module 4. j Data B related to the image before the image represented j-1 obtained by processing.
[0073] As a variant, the previously obtained part used as input to the artificial neural network N' can be the pixel value obtained by the current data B j The block represented corresponds to an encoded representation of at least one block of a neighboring image.
[0074] During encoding, the management module 2 determines which encoding process (ie which processing performed by the encoding module 4 ) must be used to encode a data set B representing an audio or video content.
[0075] The management module 2 therefore determines in particular which artificial neural network N, N′ must be used in the encoding module 4 .
[0076] The data set B for which the management module 2 determines the process to be used (especially the artificial neural network N, N') depends on the relevant application. The data set B is, for example, a data set B related to a given image or a data set B related to a given image sequence.
[0077] For example, the management module 2 selects, from a plurality of predefined artificial neural networks, an artificial neural network N, N' to be used when encoding a data set B, for example in order to minimize a throughput-distortion criterion (which takes into account the size of the encoded representation C and the distortion between the content represented by the data B and the content reconstructed based on the encoded representation C).
[0078] As a variant, the management module 2 performs the step of training artificial neural networks N, N' in order to optimize a given criterion (for example, the aforementioned throughput-distortion criterion) when processing the relevant data set B; and instructs the encoding module 4 to use the artificial neural network thus trained to generate a coded representation C based on the relevant data set B.
[0079] Thus, the management module 2 can generate (in particular intended for the flow formation module 6) information i indicating the artificial neural network to be used when decoding the coded representation C. In particular, the management module 2 can provide such information i for each portion C of the coded representation associated with the data set B as defined above.
[0080] In some cases, the artificial neural network used to decode the encoded representation C is different from the artificial neural network N.
[0081] For example, in Figure 2 In the case of a multi-layered structure (wherein an artificial neural network N receives data B as input and produces a coded representation C as output), the artificial neural network for decoding the coded representation C is designed (i.e., in fact, trained) to minimize the distortion of the data B during its successive passages through the artificial neural network N (in order to produce the coded representation C) and through the artificial neural network for decoding, and / or to minimize the size of the coded representation C (within the meaning of the throughput-distortion criterion).
[0082] In the case where the management module 2 selects an artificial neural network N from among a plurality of predefined artificial neural networks, the artificial neural network used for decoding is an artificial neural network associated in a predefined manner with the selected artificial neural network N. The information i may then specify (for example within a list of artificial neural networks) this network associated with the selected artificial neural network N.
[0083] In the case where the management module 2 obtains the artificial neural network N by means of a training step, this training step may allow the artificial neural network for decoding to be trained simultaneously. The information i may then comprise descriptive data of the artificial neural network for decoding (these descriptive data may comprise, for example, weights respectively associated with the neurons of the artificial neural network and determined during the training step).
[0084] The flow formation module 6 receives the coded representation C generated by the coding module 4 and the information i provided by the management module 2 and constructs based on these elements the data flow F. Of course, in practice, the flow formation module 6 may receive other data from the coding module 4 and / or from the management module 6 .
[0085] The stream formation module 6 constructs the data stream F in the form of various data packets intended to be successively sent, for example transmitted, to a decoding device. These data packets are for example respectively Network Abstraction Layer units (NAL units).
[0086] The flow forming module 6 constructs the various data packets according to the following description.
[0087] In the examples described herein, each data packet starts with a predefined marker M (i.e. formed by a predefined bit sequence or a predefined bit pattern). Thus, in this case, any data packet starts with the same marker M, which allows the start of a data packet to be identified when the stream is received. For example, it is proposed that a value corresponding to the marker M (i.e. the bit sequence forming the marker M) is prohibited at positions other than the start of a data packet within the data stream F.
[0088] As a variant, other ways of identifying the data packets in the data flow F are conceivable, such as a list listing the addresses of the various data packets in the data flow F.
[0089] In this case, each data packet further comprises a type identifier which specifies the type of the associated data packet from among a predetermined set of possible types.
[0090] In the examples described below, at least some of the following data packet types are used:
[0091] - a data packet conveying descriptive data of the artificial neural network (for decoding), indicated by a first type identifier, hereinafter indicated as T1;
[0092] - data packets conveying coded data representative of an audio or video content (that is, in this case, a coded representation C obtained by means of the coding module 4), indicated by a second type identifier, hereinafter indicated as T2;
[0093] - a data packet conveying parameters related to the audio or video content or to the decoding process to be used, indicated by a third identifier, hereinafter denoted T3;
[0094] - Data packets transmitting coded data representing audio or video content, but which coded data is obtained by a different encoding process (and therefore requires a different decoding process) to the aforementioned coded data contained in T2 type data packets, where this data packet type is indicated by a fourth identifier, hereinafter indicated as T4.
[0095] Thus, there are data packets containing encoded representations of the content (in the examples described herein, T2 and T4 type data packets); and data packets containing descriptive data of the artificial neural network (e.g., data encoded in a given format and representing the artificial neural network), in this case, T1 type data packets; and data packets containing parameters (in this case, T3 type data packets).
[0096] In the embodiments described herein, a data packet containing descriptive data of an artificial neural network (T1 type data packet) includes:
[0097] - Mark M;
[0098] - a type identifier (forming the first data of the data packet), whose value in this case is T1;
[0099] - optionally, an identifier NNI associated with the relevant artificial neural network (wherein the identifier NNI forms part of a set of predetermined identifiers respectively associated with various artificial neural networks);
[0100] - optionally, a format identifier NNF indicating the format of the descriptive data NNC contained in the data packet;
[0101] - descriptive data NNC of the associated artificial neural network (wherein the descriptive data NNC form the second data of the data packet).
[0102] The T1 type identifier and the optional identifier NNI and / or format identifier NNF are included, for example, in a header of a data packet; the descriptive data NNC may then, for their part, form payload data of the data packet.
[0103] The description (or encoding) format of the descriptive data NNC (suitably identified by the format identifier NNF) may be, for example, the NNR format (MPEG-7, Part 17), the NNEF format or the ONNX format. As a variant, the format identifier NNF may specify a format allowed by a tool for processing an artificial neural network, or even a format of an artificial neural network identifier among a set of predetermined artificial neural networks (wherein the data NNC comprises such an identifier).
[0104] When the encoding device and the decoding device agree (predefine) the format to be used (or in other words, when the decoding device uses a single format), the format identifier NNF does not have to be used in the data packet.
[0105] When the encoding module 4 has generated a portion C of the coded representation based on the data set B, the flow formation module 6 receives, as already indicated (from the management module 2), information i indicating the decoding artificial neural network used to decode the portion C. The flow formation module 6 can therefore determine, based on this information i, which descriptive data NNC must be placed in a given T1 type data packet, as will become clear from the example provided below.
[0106] In the embodiment using the identifier NNI, then in this case it is provided that all data packets containing descriptive data of the artificial neural network and comprising the given identifier NNI (ie in this case all T1 type data packets) comprise the same descriptive data NNC.
[0107] In the examples described herein, data packets containing an encoded representation of content (T2 and T4 type data packets) include:
[0108] - Mark M;
[0109] - a type identifier (forming the first datum of this data packet), whose value in this case is T2 or T4 (wherein the type is one of the types that can be used for the coded representation of the content);
[0110] - optionally, an identifier NNI associated with an artificial neural network (according to the same association rules as mentioned above for T1 type data packets), wherein this artificial neural network is an artificial neural network for decoding the coded representation of the content contained in the current data packet;
[0111] - optionally, a location identifier NNL, such as a file pointer, indicating the location in the data stream of a data packet containing descriptive data of an artificial neural network for decoding the encoded representation of the content contained in the current data packet;
[0112] - optionally, a remote description indicator DNN indicating whether a data packet containing descriptive data of the artificial neural network to be used is present in a portion of the data stream associated with the current image sequence or in a portion of the data stream associated with an image sequence different from the current image sequence;
[0113] - a coded representation C of the relevant content (which is part of the coded representation generated by the coding module 4 and forms the second data of the data packet).
[0114] In this case, an image sequence is a set of images that can be obtained by decoding one part of an encoded representation of the content (in this case, a video) without requiring access to another part of the encoded representation of the content (in this case, a video).
[0115] The T2, T4 type identifier and optionally the identifier NNI and / or the location identifier NNL and / or the remote description indicator are included, for example, in a header of the data packet; the encoded representation C may then form payload data of the data packet.
[0116] Among the data packets containing the encoded representation of the content, some packets may be of a specific type for identifying an entry point in the data stream (in this case, a type corresponding to the identifier T4 in the example below). In this case, for example, it may be provided that only packets of this type (corresponding to the entry point) contain the identifier NNI or the location identifier NNL.
[0117] According to one conceivable variant, the identifier NNI and / or the location identifier NNL and / or the remote description indicator DNN may be contained in a data packet (in the example described in this case a T3 type data packet) conveying parameters related to an image or a sequence of images.
[0118] It can also be provided that the stream forming module 6 constructs the data stream F so that (in the data stream F) before any data packet (T2 or T4 type data packet) containing an encoded representation of the content and a given identifier NNI, there is a T1 type data packet which also contains the given identifier NNI (and therefore descriptive data of the artificial neural network represented by the given identifier NNI).
[0119] Now refer to Figures 4 to 9 Various examples of conceivable data streams are described. The decoding of these conceivable data streams will then be described.
[0120] Figure 4 A first example of a data flow is shown.
[0121] In this example, the data stream includes a T1 type data packet 12 and a T2 type data packet 14 (later in the data stream relative to packet 12).
[0122] The data packet 12 comprises a tag M, an identifier of a type having a value T1, an identifier NNI associated with a given artificial neural network, a format identifier NNF (mentioned below) indicating the format of descriptive data NNC and this descriptive data NNC of the given artificial neural network.
[0123] The data packet 14 comprises a marker M, an identifier of the type having the value T2, an identifier NNI associated with a given artificial neural network (identical to the identifier contained in the data packet 12), and a portion of a coded representation C generated by the coding module 4 and decodable in particular using the given artificial neural network.
[0124] Figure 5A second example of data flow is shown.
[0125] In this example, the data stream includes, in order, data packet 16, data packet 18, and data packet 20. (Other data packets may be present in the data stream between data packet 16 and data packet 18, and / or between data packet 18 and data packet 20.)
[0126] The data packet 16 comprises a tag M, an identifier of a type having a value T1, an identifier NNI associated with a given artificial neural network, and descriptive data NNC of the given artificial neural network.
[0127] The data packet 18 comprises a reference M, an identifier of type T3 (corresponding, as described above, to a data packet containing parameters relating to a given image or to a given sequence of images) and (among these parameters) an identifier NNI associated with a given artificial neural network.
[0128] The data packet 20 comprises a marker M, an identifier of a type having a value T2 and a portion of a coded representation C generated by the coding module 4 and decodable in particular using a given artificial neural network.
[0129] Figure 6 A third example of data flow is shown.
[0130] In this example, the data stream includes data packet 22, followed by data packet 24 included in the data stream.
[0131] The data packet 22 comprises a marker M, an identifier of a type having a value T1, an identifier NNI optionally associated with a given artificial neural network, and descriptive data NNC of the given artificial neural network.
[0132] The data packet 24 comprises a marker M, an identifier of a type having a value T2 and a portion of a coded representation C generated by the coding module 4 and decodable in particular using a given artificial neural network.
[0133] Figure 7 A fourth example of data flow is shown.
[0134] In this example, the data stream includes, in order, data packet 26, data packet 28, and data packet 30. (Other data packets may be present in the data stream between data packet 26 and data packet 28, and / or between data packet 28 and data packet 30.)
[0135] The data packet 26 comprises a tag M, an identifier of a type having a value T1, an identifier NNI associated with a given artificial neural network, and descriptive data NNC of the given artificial neural network.
[0136] The data packet 28 comprises a marker M, an identifier of the type having a value T4 (corresponding, as already indicated, to an entry point in the stream), an identifier NNI associated with a given artificial neural network (identical to the identifier contained in the data packet 26), and a portion C of the coded representation generated by the coding module 4 and decodable in particular using the given artificial neural network.
[0137] The data packet 30 comprises a marker M, an identifier of the type having the value T2 and a further part C′ of the coded representation generated by the coding module 4 and decodable in particular using a given artificial neural network.
[0138] Figure 8 A fifth example of data flow is shown.
[0139] In this example, the data stream includes, in order, data packet 32, data packet 34, data packet 36, and data packet 38. (Other data packets may be present in the data stream, between these various packets.)
[0140] The data packet 32 comprises a marker M, an identifier of the type having the value T4 (corresponding to an entry point in the stream, as already indicated), a remote description indicator DNN, a location identifier NNL and a portion C of the encoded representation generated by the encoding module 4 .
[0141] The data packet 34 comprises the marker M, an identifier of the type having the value T2 and a further part C′ of the coded representation generated by the coding module 4 .
[0142] The data packets 32 and 34 relate to the same sequence of images S, ie the parts C, C' of the coded representation form part of a coded data set, thereby allowing a group of images to be decoded without using coded data lying outside the coded data set.
[0143] The data packet 36 comprises a marker M, an identifier of the type having the value T1 and descriptive data NNC of the artificial neural network.
[0144] The data packet 38 comprises a marker M, an identifier of the type having the value T2 and a portion C″ of the coded representation generated by the coding module 4 .
[0145] The data packets 36 and 38 relate to the same image sequence S′ which is different from the image sequence S.
[0146] The remote description indicator DNN contained in the data packet 32 indicates that the artificial neural network used for decoding the portion C (and portion C') of the encoded representation is not described by descriptive data contained in the image sequence S, but by descriptive data outside this image sequence S (in this case, in the image sequence S').
[0147] The data packet 32 therefore comprises the above-mentioned location identifier NNL, which in this case is a pointer to the data packet 36 (located in the image sequence S').
[0148] Such a pointer could be, for example:
[0149] - the difference in the number of bytes relative to the position of the data packet 32 (the difference can be signed, i.e. have a positive value to indicate the number of bytes in one direction within the data stream, or a negative value to indicate the number of bytes in the other direction);
[0150] - the difference in number of bytes relative to the start of the file (or in other words, the data stream);
[0151] - Physical memory storage address (this address is overwritten by the decoding device when storing the ANN while processing the data stream, and then also in all references to this ANN during the pre-processing step).
[0152] Fig. 9 A sixth example of data flow is shown.
[0153] In this example, the data stream includes, in order, data packet 40, data packet 42, data packet 44, and data packet 46. (Other data packets may be present in the data stream, between these various packets.)
[0154] The data packet 40 comprises a marker M, an identifier of a type having a value T1, an identifier NNI associated with a given artificial neural network, and descriptive data NNC of the given artificial neural network.
[0155] The data packet 42 comprises a marker M, an identifier of type having the value T2, an identifier NNI (identical to that contained in the data packet 40) and a portion C of a coded representation generated by the coding module 4 and decodable in particular using a given artificial neural network.
[0156] The data packet 44 comprises a marker M, an identifier of the type having the value T1, an identifier NNI associated with a given artificial neural network, and descriptive data NNC of the given artificial neural network (wherein this data NNC is identical to the data NNC contained in the data packet 40).
[0157] The data packet 46 comprises a marker M, an identifier of type having the value T2, an identifier NNI (identical to that contained in the data packets 40, 42 and 44) and another part C' of the coded representation generated by the coding module 4 and decodable in particular using a given artificial neural network.
[0158] The use of another T1 type data packet 44 containing descriptive data NNC of the artificial neural network identified by the identifier NNI allows the decoding device to optionally Fig. 9 The data stream is read in an order other than the one shown, for example by starting the reading of the data stream at a position other than the data packet 40 (random access). Thus, other data packets identical to the data packets 40, 44 may be present in the data stream, for example at regular intervals.
[0159] In the example described herein, the data stream F constructed by the data formation module 6 is transmitted by the stream transmission module 8 over a communication channel, optionally after other processing steps, such as an entropy coding step.
[0160] As a variant, the data stream F may be stored (eg on a storage device of the encoding device, such as a hard disk) for subsequent reading and decoding (eg in which case the encoding device and the decoding device described below are the same electronic device).
[0161] Fig.10 A decoding device according to the invention is shown.
[0162] The decoding device includes a stream receiving module 50 , a stream analyzing module 52 , a decoding module 54 and a configuration module 56 .
[0163] In practice, each of these modules can be implemented by a programmed processor (e.g., by means of instructions stored in a memory associated with the processor) so as to implement the functions described below for the relevant module (in this example, because the processor executes some of the above instructions). In addition, in practice several modules can be implemented by means of the same processor, for example, due to the execution (by the processor) of several sets of instructions corresponding to the various modules respectively. As a variant, any of these modules can be implemented by means of an application-specific integrated circuit.
[0164] The stream receiving module 50 receives (eg, via a communication channel) a data stream, such as the data stream F constructed by the stream forming module 6 and transmitted by the transmitting module 8 .
[0165] According to the previously mentioned variant, the data stream is read on a storage medium, such as a hard disk.
[0166] The data stream F (received by the stream reception module 50 or read on a storage medium) is analyzed by the stream analysis module 52, as described below, which allows, on the one hand, the identification of data C, C', C", forming part of the encoded representation of the content, and on the other hand, the identification of an artificial neural network used to decode the data C, C', C".
[0167] The configuration module 56 is then designed to configure the decoding module 54 so that the decoding module decodes the data C, C', C" using the identified artificial neural network in order to produce data B' representing audio or video content, as will be explained below in the context of various examples.
[0168] according to Fig.11 In a first possible embodiment of the decoding module 54 shown in FIG. 5 , data C, C′, C″ (coded representation of the content) are used as input to an identified artificial neural network N″ which then generates as output data B′ representing the audio or video content.
[0169] The data B' generated as an output of the artificial neural network N" corresponds to the data B used as input to the artificial neural network N, and may therefore represent a block of an image, or a block of a component of an image (e.g. a block of a luminance component or a chrominance component of the image, or a block of a color component of the image), or an image of a video sequence, or a component of an image of a video sequence (e.g. a luminance component or a chrominance component, or a color component), or even a series of images of a video sequence.
[0170] In this case, at least some of the neurons of the output layer of the artificial neural network N" each generate a pixel value of a component of the image, wherein this value forms one of the data items B'.
[0171] According to a second possible embodiment, the decoding module 54 processes the data C, C', C" in several steps. Fig.12 denoted as Cj), wherein at least one step is performed with the aid of an artificial neural network N'.
[0172] Therefore, if Fig.12 As shown, for example, a previously received or read coded representation C in a data stream j-1 A portion of is used as input to an artificial neural network N', which allows the generation of prediction data P j As the output of the artificial neural network N', the predicted data is represented by the current part C j Combine (eg, by adding) to obtain a portion B' of data representing audio or video content j (as the output of decoding module 4).
[0173] It should be noted that in this case, the artificial neural network N' (such as Fig.12 shown) and the artificial neural network N' used for encoding (see above Figure 3 )same.
[0174] exist Fig.12 60 denotes a delay module, which is used to illustrate the fact that when processing the current portion C of the coded representation jIn order to obtain the corresponding part B' of the representative data j When the previously received (or read) coded representation of part C j-1 Used as input to the artificial neural network N'.
[0175] In fact, as already pointed out for the encoding, part C j-1 For example, it refers to the part B' j The portion of the image before the image represented by B' j-1 .
[0176] As a variant, the previously received or read portion used as input to the artificial neural network N' may be the pixel value corresponding to the data B' j The block represented corresponds to an encoded representation of at least one block of a neighboring image.
[0177] Fig.13 The steps of an example of a method for decoding a data stream F are shown.
[0178] This decoding method can be used in particular for the above-described and Figure 4 and Fig. 9 An example of the data flow is shown in FIG. Figure 4 and Fig. 9 The reference numerals mentioned in will be used to illustrate the description of the decoding method.
[0179] The method starts at step E2 in which the analysis module 52 identifies (in the data flow F) the beginning of a data packet 12 , 14 , 40 , 42 , 44 , 46 , in this case by means of a marker M with which any data packet begins.
[0180] Once the start of a data packet has been identified, the analysis module 54 can identify the type of the data packet by, for example, reading (and optionally decoding) the T-type identifier (or first data) of the data packet within its header (step E4 ).
[0181] The analysis module 54 then determines in step E6 whether the type indicated by the T type identifier is a predetermined type (in this case corresponding to the T1 type). As already indicated, this predetermined type (in this case denoted T1) is associated with a data packet containing data indicative of an artificial neural network.
[0182] In case of a positive decision (arrow P) in step E6, the method continues to step E8. (This is particularly true when processing data packets 12, 40, 44.)
[0183] In case of a negative decision (arrow N) in step E6, the method continues to step E16. (This is particularly true when processing data packets 14, 42, 46.)
[0184] In a step E8 , the analysis module 52 reads (and optionally decodes) in the data stream F an identifier NNI designating a particular artificial neural network (wherein the identifier NNI forms part of a set of predetermined identifiers respectively associated with various artificial neural networks).
[0185] The analysis module 52 then determines in a step E10 (optionally by collaborating with the configuration module 56 ) whether the artificial neural network represented by the identifier NNI is stored in the decoding device, for example after previously receiving a data packet (such as the data packet 40 ) already containing data indicating the artificial neural network.
[0186] In the case of a positive decision (arrow P) in step E10 (which is the case when processing data packet 44 if data packet 40 has been previously processed), the previously received and stored artificial neural network can be reused (when subsequently transitioning to step E22 described below), and there is therefore no need to continue processing the current data packet: the method then loops back to step E2.
[0187] However, in the case of a negative decision (arrow N) in step E10 (as is the case when processing data packets 12 or 40), the method continues to step E12 to read the data NNC in the data stream F and decode the data indicating the artificial neural network associated with the identifier NNI (the second data of the current data packet), optionally taking into account the encoding format of the indicating data NNC, where appropriate, with the help of the format identifier NNF (in the case of data packet 12), in order to obtain (for example, construct) the artificial neural network.
[0188] As already pointed out, especially in Figure 4 and Fig. 9 In the example, the indication data NNC are descriptive data of the artificial neural network, which can be decoded (by the flow analysis module 52 or the configuration module 56) in order to obtain parameters of the artificial neural network, using which parameters, the configuration module 56 is allowed to configure the decoding module 54 so that the decoding module 54 particularly implements the artificial neural network (indicated by the identifier NNI).
[0189] Then, in step E14 , the parameters of the artificial neural network obtained by decoding the descriptive data NNC are stored in a memory of the decoding device (for example a memory associated with the configuration module 56 ) and the method loops back to step E2 to process a new data packet of the data stream F.
[0190] In step E6 , when it has been determined that the type of the current data packet does not correspond to the predetermined T1 type, as already indicated, the method continues to step E16 which will now be described.
[0191] In step E16, the stream analysis module 52 determines whether the T type represented by the type identifier (or first data) of the current data packet 12, 14, 40, 42, 44, 46 forms part of the type associated with the data packet containing the encoded representation of the content (in this case, corresponding to the T2 and T4 types).
[0192] In case of a negative decision (arrow N) in step E16, the method continues to step E18 to decode the data packet. This is, for example, the case where the data packet contains parameters related to an image or a sequence of images (in the example described in this case, a T3 type data packet), and in this case decoding the current data packet allows obtaining parameters related to the image to be decoded or to the current sequence of images (during decoding).
[0193] The method then loops back to step E2 to process another data packet.
[0194] In case of a positive decision in step E16 (arrow P), the method continues to step E20 of reading (and optionally decoding) the identifier NNI in the data stream F. This identifier NNI specifies the artificial neural network used to decode the coded representation C, C′ contained in the current packet 14 , 42 , 46 .
[0195] The parameters defining the artificial neural network have been previously obtained with the aid of data indicating the artificial neural network contained in a previously received T1 type data packet. In the example described in this case, these parameters have been obtained based on data contained in a previously received T1 type data packet (in Figure 4 In the case of data packet 12, and Fig. 9 In the case of data packet 40, or if data packet 40 has not been read by the decoding device, then data packet 44) is pre-decoded by the descriptive data NNC in the data packet.
[0196] The parameters thus obtained (eg decoded) have also been stored in a memory of the decoding device (in this case a memory associated with the configuration device 56 ), as already explained.
[0197] The configuration module 56 can then configure the decoding module 54 by means of the parameters of the artificial neural network represented by the identifier NNI read in the data stream in step E20 , so that the decoding module 54 can decode the encoded representation using this artificial neural network.
[0198] The stream analysis module 52 then extracts the coded representations C, C' (second data) from the current group and transmits the coded representations C, C' to the decoding module 54 to decode the coded representations C, C' using the aforementioned artificial neural network (indicated by the identifier NNI read in step E20) (step E22) so as to obtain data B representing audio or video content (wherein the data is, for example, pixel values of at least a part of an image or a component of an image) as the output of the decoding module 54.
[0199] Fig.14 It shows that it is conceivable to use Figure 5 The steps of a method for decoding a data stream.
[0200] The method comprises a step E30 of identifying and analyzing the data packets 16 using the flow analysis module 52 .
[0201] In this case, the steps consist in identifying the start of a data packet 16 by means of the marker M, detecting a type identifier corresponding to a predetermined T1 type (first data), and reading (in the data stream) an identifier NNI associated with the artificial neural network and descriptive data NNC of the artificial neural network corresponding to the identifier NNI (second data).
[0202] The method may then comprise a step E32 of decoding the data NNC so as to obtain the parameters of the artificial neural network and storing the obtained parameters in a memory of the decoding device (for example a memory associated with the configuration module 56 ).
[0203] Subsequently, during a step E34 , the flow analysis module 52 identifies and analyses the data packets 18 .
[0204] In this case, step E34 comprises: identifying the start of data packet 18 with the aid of marker M; detecting a type identifier which, in this case, indicates a T3 type corresponding to a data packet containing parameters relating to at least one image of the current image sequence; and reading (in the data stream) the parameters contained in data packet 18, wherein in this case these parameters include the identifier NNI.
[0205] According to a possible embodiment, the parameters contained in the T3 type data packet 18 can only relate to the decoded picture (ie the picture whose representative data will be obtained by the next decoding operation of the decoding module 54).
[0206] In this case, the presence of the identifier NNI in the data packet 18 indicates that the artificial neural network associated with the identifier NNI is to be used to decode the representative data C associated with the decoded image (in order to obtain data B' related to at least a portion of the decoded image).
[0207] According to another possible embodiment, the parameters contained in the T3 type data packet 18 may relate to all pictures of the sequence of pictures being decoded.
[0208] In this case, the presence of the identifier NNI in the data packet 18 indicates that the artificial neural network associated with the identifier NNI is to be used to decode representative data C associated with the respective images of the current image sequence (in order to obtain data B′ related to at least a portion of one of the images of the current image sequence).
[0209] During a step E34, according to one possible embodiment, the configuration module 54 can then configure the decoding module 56 so that it can decode the data representing the data received in the data stream by using the artificial neural network represented by the identifier NNI. In practice, such a configuration can be performed by reading the parameters of the artificial neural network in the aforementioned memory of the encoding device (see step E32 below).
[0210] Subsequently, in step E36, the flow analysis module 52 identifies and analyses the data packet 20. In this case, this data packet 20 is considered to relate to the image to which the parameters contained in the preceding data packet 18 apply.
[0211] In this case, step E36 comprises: identifying the start of data packet 20 with the aid of marker M; detecting a type identifier which, in this case, indicates a T2 type corresponding to a data packet containing an encoded representation of the video; and reading a portion C of the encoded representation (the second data of data packet 20).
[0212] The method then comprises a step E38 of decoding the portion C of the coded representation via the decoding module 54 using the artificial neural network denoted by the identifier NNI.
[0213] Fig.15 It shows that it is conceivable to use Figure 6 The steps of a method for decoding a data stream.
[0214] The method comprises a step E40 of identifying and analyzing the data packets 22 using the flow analysis module 52 .
[0215] In this case, the steps consist of identifying the start of a data packet 22 by means of a marker M, detecting a type identifier corresponding to a predetermined T1 type (first data), and reading descriptive data NNC of the artificial neural network (second data).
[0216] Step E40 may also comprise reading and / or decoding an identifier NNI associated with the artificial neural network. As explained in other embodiments, this avoids having to decode again the descriptive data NNC of the artificial neural network in the event of a subsequent detection of a T1 type data packet comprising the same identifier NNI.
[0217] The method then comprises a step E42 of decoding the data NNC so as to obtain the parameters of the artificial neural network and storing the parameters obtained in a memory of the decoding device, for example a memory associated with the configuration module 56. As mentioned above, this step can be omitted in embodiments in which the identifier NNI is used in the data packet 22 and a previous T1 type data packet conveying this identifier NNI has already been processed.
[0218] During a step E42 , the configuration module 54 may configure the decoding module 56 (with the aid of the parameters obtained as described above) such that the decoding module 56 can decode the following representative data received in the data stream using an artificial neural network.
[0219] The method then comprises a step E44 of identifying and analyzing (by the flow analysis module 52) the data packet 24. In this case, it is considered that between the data packet 22 and the data packet 24 no T1 type data packets are included.
[0220] In this case, step E44 comprises: identifying the start of data packet 24 with the aid of marker M; detecting a type identifier which, in this case, indicates a T2 type corresponding to a data packet containing an encoded representation of the video; and reading (in the data stream) a portion C of the encoded representation (the second data of data packet 24).
[0221] The method then comprises a step E46 of decoding the portion C of the coded representation via the decoding module 54 using the artificial neural network represented by the data NNC contained in the data packet 22 .
[0222] Thus, in this embodiment, the artificial neural network for decoding the coded representation contained in the data packet 24 is defined in the last T1 type data packet preceding this data packet 24 (by means of indicating data contained therein, in this case descriptive data NNC).
[0223] Fig.16 It shows that it is conceivable to use Figure 7 The steps of a method for decoding a data stream.
[0224] The method comprises a step E50 of identifying and analyzing the data packets 26 using the flow analysis module 52 .
[0225] In this case, the steps consist of identifying the start of a data packet 26 by means of the marker M, detecting a type identifier corresponding to a predetermined T1 type (first data), and reading in the stream an identifier NNI associated with the artificial neural network and descriptive data NNC of the artificial neural network corresponding to the identifier NNI (second data).
[0226] The method then comprises a step E52 of decoding the data NNC so as to obtain the parameters of the artificial neural network and storing the obtained parameters in a memory of the decoding device (for example a memory associated with the configuration module 56 ).
[0227] Subsequently, during a step E54 , the flow analysis module 52 identifies and analyzes the data packets 28 .
[0228] In this case, step E54 comprises: identifying the start of the data packet 28 with the aid of the marker M; detecting a type identifier which, in this case, indicates a T4 type corresponding to a data packet containing an encoded representation of the content; identifying an entry point in the data stream; and reading (in the data stream) the identifier NNI and the first part C of the encoded representation of the content.
[0229] The method can then continue to step E56 of decoding, by the decoding module 54, this first portion C of the coded representation of the content by means of the artificial neural network associated with the identifier NNI, as contained in the data packet 28. To this end, step E56 can in fact optionally comprise the step of configuring the decoding module 54 using the configuration module 56 and by means of the parameters obtained (and stored) in step E52.
[0230] Subsequently, during a step E58 , the flow analysis module 52 identifies and analyzes the data packets 30 .
[0231] In this case, step E58 comprises: identifying the start of data packet 30 by means of marker M; detecting a type identifier which in this case indicates a T2 type corresponding to a data packet containing an encoded representation of the content; and reading (in the data stream) a second portion C' of the encoded representation of the content.
[0232] Indeed, as already indicated, in this embodiment it is provided that only the data packets corresponding to possible entry points in the data stream contain the identifier of the neural network (in this case the NNI) for decoding the encoded representation of the content.
[0233] The method can then continue to step E60 of decoding the second portion C′ of the coded representation of the content using the decoding module 54 and by means of the artificial neural network associated with the identifier NNI contained in the data packet 28 indicated as a possible entry point by the T4 type identifier contained in this data packet 28 .
[0234] Fig.17 It shows that it is conceivable to use Figure 8 The steps of a method for decoding a data stream.
[0235] The method comprises a step E70 of identifying and analyzing the data packets 32 using the flow analysis module 52 .
[0236] In this case, step E70 comprises: identifying the start of the data packet 32 with the aid of the marker M; detecting a type identifier which, in this case, indicates a T4 type corresponding to a data packet containing an encoded representation of the content; identifying an entry point in the data stream; and reading (in the data stream) a remote description indicator DNN, a location identifier NNL and a first part C of the encoded representation of the content.
[0237] Indeed, in this case, the remote description indicator DNN is considered to have a value (e.g., the value 1) indicating that the artificial neural network used for decoding the first part C is described outside the current sequence S. As a result, the stream analysis module 52 reads the location identifier NNL in the data stream that follows (in this case, immediately follows) the remote description indicator DNN.
[0238] The stream analysis module 52 then browses the data stream according to the indications provided by the location identifier NNL (for example, by browsing the difference in the bytes indicated by the location identifier NNL, or by jumping to the physical memory storage address indicated by the location identifier NNL) until the data packet 36 (step E72) is read and analyzed.
[0239] In this case, this step E72 consists in identifying the start of a data packet 36 by means of the marker M, detecting a type identifier corresponding to a predetermined T1 type (first data), and reading descriptive data NNC of the artificial neural network in the data stream (second data).
[0240] The method then comprises a step E74 of decoding the data NNC so as to obtain the parameters of the artificial neural network and storing the obtained parameters in a memory of the decoding device (for example a memory associated with the configuration module 56 ).
[0241] The method can then continue to step E76 of decoding the first portion C of the coded representation of the content using the decoding module 54 and by means of the aforementioned artificial neural network (decoded from the descriptive data NNC contained in the data packet 36). To this end, step E76 can in fact optionally comprise the step of configuring the decoding module 54 using the configuration module 56 and by means of the parameters obtained (and stored) in step E74.
[0242] Subsequently, during a step E78 , the flow analysis module 52 identifies and analyzes the data packets 34 .
[0243] In this case, step E78 comprises: identifying the start of data packet 34 by means of marker M; detecting a type identifier which in this case indicates a T2 type corresponding to a data packet containing an encoded representation of the content; and reading (in the data stream) a second portion C' of the encoded representation of the content.
[0244] Indeed, as already indicated, in this embodiment it is provided that only the data packets corresponding to possible entry points in the data stream contain the identifier of the neural network (in this case the NNI) for decoding the encoded representation of the content.
[0245] The method can then continue to step E80: decoding this second part C' of the encoded representation of the content using the decoding module 54 and with the aid of an artificial neural network obtained with the aid of the location identifier NNL contained in the T4 type data packet 32 preceding the current data packet 34 as described above in steps E74 and 76.
[0246] The optional subsequent processing of the data packet 38 (when decoding the sequence S') is not described herein.
Claims
1. A method for decoding a data stream comprising data packets, each data packet comprising at least first data and second data, characterized in that The method comprises the following steps: - identifying (E4, E6; E30; E40; E50; E72) a first data packet (12; 16; 22; 26; 36; 40) from among the data packets, the first data of which comprises information (T1) indicating a predetermined data packet type; - processing (E12; E32; E42; E52; E74) the second data (NNC) of the first data group in order to obtain an artificial neural network; - decoding (E22; E38; E46; E56; E60; E76; E80) from said data packets this second data (C; C') comprised in a second data packet (14; 20; 24; 28; 30; 32; 34; 42; 46) by at least using the obtained artificial neural network, so as to generate data representing audio or video content.
2. The decoding method according to claim 1, wherein: The second data of the first data packet comprises descriptive data (NNC) of the artificial neural network, and wherein the processing step is a step of decoding the descriptive data (NNC) in order to obtain parameters of the artificial neural network.
3. The decoding method according to claim 1 or 2, wherein: The first data packet includes an identifier (NNI) of the artificial neural network.
4. The decoding method according to claim 3, wherein: The identifier (NNI) is an element in a list of different identifiers respectively associated with different artificial neural networks.
5. The decoding method as claimed in claim 4, comprising the steps of receiving a third data packet (44), the first data of which comprises information (T1) indicating the predetermined packet type and comprising the identifier (NNI); and reusing the obtained artificial neural network in order to decode from the data packet the second data (C') included in the fourth data packet (46).
6. The decoding method according to any one of claims 3 to 5, wherein: The second data packet comprises said identifier (NNI).
7. The decoding method according to any one of claims 4 to 6, comprising the step of receiving another data packet (18) containing parameters related to at least one image of the content, wherein The parameters include the identifier (NNI).
8. The decoding method according to any one of claims 1 to 5, wherein: The first data packet (22) is the last packet before the second data packet (24) in the data stream among the data packets whose first data include information (T1) indicating the predetermined packet type.
9. The decoding method according to any one of claims 1 to 3, wherein: The second data packet (32) includes a pointer (NNL) pointing to the first data packet (36).
10. The decoding method according to any one of claims 1 to 3, comprising the following steps: - reading a flag (DNN) in the second data packet (32); - If the flag has a predefined value, reading a pointer (NNL) to the first data packet (36) in the second data packet (32).
11. The decoding method according to any one of claims 1 to 3, comprising the following steps: - receiving another data packet comprising parameters related to at least one image of said content; - read a flag from said parameter; - If the flag has a predefined value, reading a pointer to the first data packet from said parameters.
12. The decoding method according to any one of claims 9 to 11, wherein: The pointer (NNL) specifies a position in a portion of the data stream relating to a sequence of pictures (S') different from a sequence of pictures (S) at least partially encoded by the second data (C) of the second data packet (32).
13. The decoding method according to any one of claims 1 to 11, wherein: The first data packet includes information (NNF) indicating a coding format of second data (NNC) of the first data packet.
14. A device for decoding a data stream comprising data packets, each data packet comprising at least first data and second data, characterized in that The device includes a processor configured or programmed to: - identifying a first data packet (12; 16; 22; 26; 36; 40) from among the data packets, the first data of which comprises information (T1) indicating a predetermined data packet type; - processing the second data (NNC) of the first data group in order to obtain an artificial neural network; - decoding from said data packets this second data (C; C') comprised in a second data packet (14; 20; 24; 28; 30; 32; 34; 42; 46) by using at least the obtained artificial neural network, so as to generate data representative of audio or video content.
15. A computer program comprising instructions executable by a processor and designed to implement the method as claimed in any one of claims 1 to 13 when the instructions are executed by the processor.
16. A data stream, the data stream comprising data packets, each data packet comprising at least first data and second data, characterized in that: These data groups include: - a first data packet (12; 16; 22; 26; 36; 40), the first data of which comprises information (T1) indicating a predetermined data packet type and the second data (NNC) of which defines an artificial neural network; - a second data packet (14; 20; 24; 28; 30; 32; 34; 42; 46), the second data (C; C') of which can be decoded using at least said artificial neural network in order to produce data representative of an audio or video content.
17. The data stream of claim 16, wherein: The first data packet (40) comprises an identifier (NNI), and wherein the data stream comprises another data packet (44), the other data packet comprising the identifier (NNI), the first data of the other data packet comprising the information (T1) indicating the predetermined data packet type, and the second data of the other data packet being the same as the second data (NNC) of the first data packet (40).
Citation Information
Patent Citations
Method for decoding a data stream, associated device and associated data stream
WO2022013249A2