IMPLEMENTAÇÃO E MÉTODO DE DECODIFICAÇÃO DE APRIMORAMENTO

BR112025020198A2Pending Publication Date: 2026-08-04V NOVA INT LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
BR112025020198
Authority / Receiving Office
BR · BR
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-03-24
Filing Date
2024-03-22
Publication Date
2026-08-04

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

According to an aspect of the invention there may be provided a method of implementing an enhancement decoding, comprising: obtaining a preliminary set of residuals from an encoded enhancement signal representative of one or more layers of residual data, adding the preliminary set of residuals to a temporal buffer, the temporal buffer storing a set of temporal residual values; and, storing a representation of the set of temporal residual values, the representation indicating whether one or more values of the set of temporal residual values is non-zero and wherein each element in the representation corresponds to a portion of the set of temporal residual values. A video decoder, chipset and computer readable medium are also provided.
Need to check novelty before this filing date? Find Prior Art

Description

1 / 30 “IMPLEMENTATION AND ENHANCEMENT DECODING METHOD” BACKGROUND

[0001] A backward-compatible hybrid coding technology has been previously proposed, for example, in documents WO 2013 / 171173, WO 2014 / 170819, WO 2019 / 141987 and WO 2018 / 046940, the contents of which are incorporated herein by reference. Other examples of level-based coding formats include ISO / IEC MPEG-5 Part 2 LCEVC (hereinafter “LCEVC”). LCEVC was described in documents WO 2020 / 188273A1, GB 2018723.3, WO 2020 / 188242 and associated standard specification documents, including ISO / IEC 23094-2 MPEG Part 2 Low Complexity Enhancement Video Coding (LCEVC), First Edition October 2021; all of these documents are incorporated herein by reference in their entirety.

[0002] In these encoding formats, a signal is decomposed into several “tiers” (also known as “hierarchical levels”) of data, each corresponding to a “Quality Level,” from the highest tier in the sampling rate of the original signal to the lowest tier. The lowest tier is typically a low-quality representation of the original signal, and other tiers contain correction information to be applied to a reconstructed representation to produce the final output.

[0003] LCEVC adopts this multi-layered approach where any base codec (e.g., Advanced Video Coding - AVC, also known as H.264, or High Efficiency Video Coding - HEVC, also known as H.265) can be enhanced through an additional low bitrate stream. LCEVC is defined by two component streams, a base stream typically decodable by a hardware decoder and an enhancement stream consisting of one or more enhancement layers suitable for implementing software processing with sustainable power consumption.

[0004] In the specific example of LCEVC of these tiered formats, the process works by encoding a lower-resolution version of Petition 870250085494, dated 09 / 22 / 2025, pp. 113 / 158 2 / 30 a source image using any existing codec (the base codec) and the difference between the lower-resolution reconstructed image and the source using a different compression method (the enhancement).

[0005] The remaining details that make up the difference with the source are efficiently and quickly compressed with LCEVC, which uses specific tools designed to compress residual data. The LCEVC enhancement compresses residual information in at least two layers, one at the base resolution to correct artifacts caused by the base encoding process and one at the source resolution that adds details to reconstruct the output frames. Between the two reconstructions, the image is optionally upscaled using a normative upsampler or a custom one specified by the encoder in the bitstream. In addition, LCEVC also performs some non-linear operations called residual prediction, which further improve the reconstruction process preceding residual addition, collectively producing a low-complexity, intelligent (i.e., encoder-controlled) adaptive content scaling up.

[0006] Because LCEVC and similar encoding formats leverage existing decoders and are inherently backward compatible, there is a need for efficient and effective integration with existing video encoding implementations without a complete overhaul. Although the LCEVC standard is published and well-known, there is no publicly available information on how to implement decoding, for example, on a chipset.

[0007] LCEVC's approach as a codec-independent enhancer based on a software-driven implementation, which leverages available hardware acceleration, is also reflected in the wider variety of implementation options on the decoding side. While existing decoders are typically implemented in hardware at the base of the stack, LCEVC essentially allows for multi-level implementation, i.e., from script and application to operating system and driver level, all the way down to the SoC and ASIC. In other words, there is more than one solution for implementing LCEVC on the side Petition 870250085494, dated 09 / 22 / 2025, pp. 114 / 158 3 / 30 of the decoder. Generally speaking, the lower the implementation occurs in the stack, the more device-specific the approach becomes. Except for an implementation at the ASIC level, no new hardware is required.

[0008] Encoding and decoding can be used to compress and / or protect content communicated over a network, such as in a streaming service. Alternatively, encoding and decoding can be used in other data transport / transmission contexts, such as physical media (e.g., DVDs, portable flash memory).

[0009] The encoder can, for example, be implemented in a content creation, content distribution, or content streaming service.

[0010] The decoder can, for example, be implemented in the consumer's hardware to view the decoded content, such as in a display device (e.g., a television), or in a separate device to receive the encoded content and provide the decoded content to the display device (e.g., a set-top box or a DVD player).

[0011] It is desirable, at least in the short term, to implement LCEVC in a simple way using existing architectures and designs, and there are several hardware limitations that need to be resolved, such as, for example, low memory bandwidth.

[0012] Innovations and optimizations are sought that address the limitations of video decoder chipsets and facilitate and improve the introduction and implementation of enhancement decoders, such as LCEVC, in the broader video decoder ecosystems.

[0013] The retrofitting of older chipsets with the ability to decode an encoding scheme that was released after the chipset's production is entirely unprecedented. This means that while there is the “potential” to adapt LCEVC to “older” or legacy chipsets, it still presents many engineering challenges. Petition 870250085494, dated 09 / 22 / 2025, pp. 115 / 158 4 / 30

[0014] In one specific example, an LCEVC decoding process involves decoding a set of values ​​from a received byte stream, updating a temporal buffer using those values, and combining the updated values ​​from the temporal buffer with the decoded image elements using a base codec (and optionally, with upscaling). Each of these operations involves complicated memory operations. Furthermore, using the LCEVC standard as an instruction manual would cause each step of the processing pipeline to be implemented as a separate module, with communications to and from memory by each module, exacerbating the problems with full-frame level memory operations. Reducing the type and volume of memory operations can have an extremely beneficial impact on the implementation. SUMMARY OF THE INVENTION

[0015] According to one aspect of the invention, a method of implementing an enhancement decoding can be provided, comprising: obtaining a preliminary set of residues from an encoded enhancement signal representative of one or more layers of residual data, adding the preliminary set of residues to a temporal buffer, the temporal buffer storing a set of temporal residual values; and storing a representation of the set of temporal residual values, the representation indicating whether one or more values ​​of the set of temporal residual values ​​is non-zero and where each element in the representation corresponds to a part of the set of temporal residual values.

[0016] The representation provides efficiency in implementation, reducing memory bandwidth and computational load.

[0017] Furthermore, the representation can be smaller and easier to move than the time buffer. This generates savings because it means that the process does not need to use memory bandwidth or perform the calculation to apply residues to that specific area, however large it may be. Petition 870250085494, dated 09 / 22 / 2025, pp. 116 / 158 5 / 30

[0018] In preferred examples, a waste plane is not created from the temporal buffer to be combined with a base (enhanced) data plane. This is facilitated by the representation and therefore reduces memory bandwidth. In other implementations, pipeline modules can be combined to reduce data passing between them and simply consult the representation to understand whether the data should be applied or not, i.e., used.

[0019] The step of obtaining a preliminary set of residues can be considered as receiving or retrieving residues from a data stream or store and, in general, obtaining decoded residues in any form suitable for updating the temporal buffer.

[0020] One or more layers of residual data may be in the form of a residual map.

[0021] By adding, it is meant to update, store, record, or overwrite a value stored in the temporary buffer. This does not necessarily include all values ​​in the buffer, but at least one value in the buffer, as indicated by the decoded enhancement signal.

[0022] Each temporal residual value can correspond to an image element of a frame from an original input video signal, i.e., each temporal residual has an inherent location on a map. By temporal residual values, we may not refer to any specific limitation or function, but simply use a label to refer to this residual to functionally differentiate it from other residuals, such as the residual plane that can no longer be created and the preliminary set of decoded residuals from the enhancement signal.

[0023] The indication may refer to the fact of indicating positively where the value is zero and therefore implicitly indicating a non-zero value, or vice versa. The representation may be in the form of flags. Flags can be used to inform the modules of a decoder where the data needs to be applied. This is particularly beneficial in terms of reducing memory bandwidth and computational load. Petition 870250085494, dated 09 / 22 / 2025, pp. 117 / 158 6 / 30

[0024] The representation can be considered as taking advantage of the sparsity of the time buffer, that is, the time buffer is a sparse matrix and normally includes many logical zero values ​​that do not necessarily need to be recorded or applied in practice.

[0025] Preferably, the method comprises: combining a reconstructed version of an original input video signal with temporal residual values ​​based on the fact that a matching element in the representation indicates that there is non-zero data in a respective part of the temporal residual value set.

[0026] Examples of the concepts disclosed here combine various stages of the LCEVC processing pipeline in order to save memory bandwidth and other resources.

[0027] In particular, there may be no need to generate a residual plane, which saves an image of the entire resolution size, which is equivalent to memory bandwidth. This is particularly useful when adapting this scheme to older hardware.

[0028] In a typical step-by-step implementation of an enhancement code, the pipeline generates and writes a residual plan to the module that updates the time buffer and then reads it (shortly after) back to the module that combines the data with the (enhanced) base. The present disclosure reduces this inefficiency.

[0029] Furthermore, a large proportion of values ​​in the residual plane are logical zeros, perhaps as many as 90%, therefore 90% of reading and writing to the residual plane is essentially useless, as it does not alter the basis. This is addressed by the concepts presented here.

[0030] The format of the temporal buffer can be arbitrary. Typically, in implementations, it is in the same format as the image. This introduces a problem, as the data blocks are square, i.e., they are not horizontal lines. Therefore, if the buffer is stored in raster form and there is a large image, the memory difference from one line to another will be very large. Petition 870250085494, dated 09 / 22 / 2025, pp. 118 / 158 7 / 30 causing a caching problem. This is mitigated by using the representation that indicates where the data in the buffer should be used or should not be read.

[0031] In other words, the temporal buffer in typical implementations may need to have a stored residue for each pixel of the final image. The inputs to the temporal buffer are command buffers that describe the changes in transformation units (size 2x2 or 4x4). The output can be the final image, which is a rasterized image. That is, all the pixels of one row, then all the pixels of the next row, etc. This means that when copying in 4x4 blocks, an implementation process reads small amounts of data from four different sections of memory, as the different rows are separated by a lot in memory (for HD images, the pixel below will be 1920 pixels away in memory).

[0032] In some implementations, a process may store the temporal buffer as a rasterized image, so that it is convenient to apply it to the output. However, if there are areas that are logical zero, the control process needs to know where they are, i.e., from the representation, and will only need to use that pixel.

[0033] Therefore, the proposed process involves storing the time buffer in such a way that it is easy to apply it in parts, i.e., one 4x4 block at a time.

[0034] The combination step may include reading a value from the temporary buffer in response to the determination that the representation indicates that the value is non-zero. In this way, when the representation indicates that there is no value to be added, reading from the temporary buffer can be skipped, reducing memory operations and computational load.

[0035] The reconstructed version may be an improved version of a decoded version of the original input video signal encoded according to a base codec.

[0036] When the representation indicates that a value in the set of temporal residual values ​​is different from zero, the method may include: a Petition 870250085494, dated 09 / 22 / 2025, pp. 119 / 158 8 / 30 reading the value from the temporal residual value set of the temporal buffer; reading a corresponding image element from the reconstructed version of an input video; and combining the value and the image element.

[0037] Optionally, the method may include saving the combination to the image element's memory location, with the reconstructed version being a video plane. Alternatively, the method may include saving the combination to a plane stored in another memory location.

[0038] When the representation indicates that a value in the set of temporal residual values ​​is zero, the method may also include: reading a corresponding image element from the reconstructed version of an input video; writing the corresponding image element to a plane stored in a new memory location.

[0039] Alternatively, when the representation indicates that a value in the temporal residual set is zero, the method may also include: continuing to process a next value in the temporal residual set and not modifying a corresponding image element in the reconstructed version of an input video.

[0040] The modalities may depend on the resources available in the chipset in which they are implemented. The implementation in which the base data is replaced is particularly advantageous, i.e., if the time flag is false, the pipeline will not need to do anything (instead, it moves on to the next area) because it is replacing / updating the “original” or received base, instead of generating a new plan.

[0041] The method may also include, after processing each value in the temporal residual set based on whether the representation indicates that a value in the temporal residual set is zero or different from zero, outputting the plan to an output path. Thus, the final output plan can be sent for rendering.

[0042] Preferably, the method may also include: generating a set of commands to update the temporal residual values Petition 870250085494, dated 09 / 22 / 2025, pp. 120 / 158 9 / 30 based on the preliminary set of residues; and the addition of the preliminary set of residues to the temporal buffer based on the commands. The commands can be an efficient way to update the temporal buffer. In preferred examples, the representation can be stored in an order corresponding to the commands, thus simplifying operations and memory storage.

[0043] One or more layers of residual data can be generated based on a comparison of data derived from a decoded video signal and data derived from an original input video signal. The residual data can be structured according to the LCEVC standard.

[0044] The part of the temporal residual value set may comprise a plurality of the temporal residual value set. Thus, the representation may be smaller and easier to move than the temporal buffer.

[0045] The part can be a block of the set of temporal residual values. The block can be a 2 x 2 or 4 x 4 block and, optionally, can correspond to a transformation unit, or the part can be a block, such as a 32 x 32 block corresponding to several blocks or several transformation units. In this way, efficient processing of the temporal buffer can be performed. Optionally, the size of the representation can be variable and can be defined based on the nature of the data, i.e., its scarcity.

[0046] In preferred examples, the elements of the representation are stored in an order of transformation units received in the enhancement signal.

[0047] According to another aspect of the invention, a video decoder configured to decode an encoded enhancement signal can be provided, the video decoder comprising: a residue decoding module configured to obtain a preliminary set of residues from the encoded enhancement signal representative of one or more residual data layers; and a residue processing module configured to add the preliminary set of residues to a time buffer, wherein the buffer Petition 870250085494, dated 09 / 22 / 2025, pp. 121 / 158 10 / 30 temporal stores a set of temporal residual values; and stores a representation of the set of temporal residual values, where the representation indicates whether one or more values ​​in the set of temporal residual values ​​are different from zero, and each element of the representation corresponds to a part of the set of temporal residual values.

[0048] The video decoder may also include: a residual application module configured to combine a reconstructed version of an original input video signal with temporal residual values ​​based on whether a matching element in the representation indicates that there is non-zero data in a respective part of the temporal residual value set. The residual application module may be configured to: read a value into the temporal buffer in response to the determination that the representation indicates that the value is non-zero.

[0049] The reconstructed version may be an improved version of a decoded version of the original input video signal encoded according to a base codec.

[0050] When the representation indicates that a value in the temporal residual value set is different from zero, the residual application module can be configured to: read the value in the temporal residual value set from the temporal buffer; read a corresponding image element in the reconstructed version of an input video; and combine the value and the image element.

[0051] The residue application module can be configured to: save the combination to the image element's memory location, with the reconstructed version being a video plane. Alternatively, the residue application module can be configured to: save the combination to a plane stored in another memory location.

[0052] When the representation indicates that a value in the set of temporal residual values ​​is zero, the residual application module can be configured to: read a corresponding image element in the reconstructed version of an input video; write the corresponding image element. Petition 870250085494, dated 09 / 22 / 2025, pages 122 / 158 11 / 30 in a plan stored in a new memory location.

[0053] When the representation indicates that a value in the temporal residual value set is zero, the residual application module can be configured to: continue processing the next value in the temporal residual value set and not modify a corresponding image element in the reconstructed version of an input video.

[0054] After processing each value in the temporal residual set based on whether the representation indicates that a value in the temporal residual set is zero or non-zero, the residual application module can be configured to send the plan to an output path.

[0055] The residual decoder module can be configured to: generate a set of commands to update the temporal residual values ​​based on the preliminary set of residuals; and add the preliminary set of residuals to the temporal buffer based on the commands.

[0056] One or more layers of residual data can be generated based on a comparison of data derived from a decoded video signal and data derived from an original input video signal.

[0057] The part of the temporal residual value set may comprise a plurality of the temporal residual value set. The part may be a block of the temporal residual value set. The elements of the representation may be stored in an order of transformation units received in the enhancement signal.

[0058] According to other aspects of the invention, a chipset can be provided for decoding an encoded enhancement video signal, the chipset configured to perform the above method.

[0059] Aspects of the invention may be incorporated by a graphics processing unit (GPU), central processing unit (CPU), chipset, or other hardware decoder configured to execute the above method. For example, a processor may be configured to execute a Petition 870250085494, dated 09 / 22 / 2025, pp. 123 / 158 12 / 30 instruction set to perform the method of any of the above aspects. As another example, a chipset may include at least one ASIC adapted to perform all or part of the above method. The chipset may also include memory that stores instructions which, when executed by one or more processors, cause the processors to perform an additional part of the above method.

[0060] In accordance with other aspects of the invention, a decoder comprising a decoder as described above may be provided.

[0061] According to other aspects of the invention, a computer-readable means can be provided comprising instructions which, when executed by a processor, perform the method described above.

[0062] According to other aspects of the invention, a method of adapting a decoder, chipset, or decoder can be provided to provide a decoder, chipset, or decoder configured to perform the above method. For example, after a customer purchases a device, the device can be adapted by means of the manufacturer providing an update to the device, wherein the execution of the update constitutes the manufacture of a device with the capabilities of one of the foregoing aspects. BRIEF DESCRIPTION OF THE DRAWINGS

[0063] Examples of systems and methods according to the invention will now be described with reference to the accompanying drawings, in which:

[0064] Figure 1 shows a known high-level scheme of an LCEVC decoding process;

[0065] Figure 2 shows an implementation pipeline for processing an enhancement signal;

[0066] Figure 3 shows an implementation pipeline for processing an enhancement signal according to examples in this disclosure;

[0067] Figure 4 shows an additional implementation pipeline for processing an enhancement signal according to examples from Petition 870250085494, dated 09 / 22 / 2025, pp. 124 / 158 13 / 30 present disclosure

[0068] Figure 5 shows a flow diagram of an example of this disclosure;

[0069] Figure 6 shows an additional implementation pipeline for processing an enhancement signal according to examples in this disclosure.

[0070] Figure 7 shows a flow diagram of an example of this disclosure; and,

[0071] Figure 8 shows a flow diagram of an example of this disclosure. DETAILED DESCRIPTION

[0072] This disclosure describes an implementation for integrating a backward-compatible hybrid coding technology with existing decoders, optionally via a software update. In a non-limiting example, the disclosure refers to an implementation and integration of MPEG-5 Part 2 Low Complexity Enhancement Video Coding (LCEVC). LCEVC is a backward-compatible hybrid coding technology that is a flexible, adaptable, highly efficient, and computationally inexpensive coding format that combines a different video coding format, a base codec (i.e., an encoder-decoder pair such as AVC / H.264, HEVC / H.265, or any other present or future codec, as well as non-standard algorithms such as VP9, ​​AV1, and others) with one or more levels of encoded data enhancement.

[0073] The implementations described in this document may also be suitable for other hierarchical coding schemes, such as VC-6 or SHEVC.

[0074] Although one or more embodiments have been described in relation to LCEVC, aspects of the invention can also be implemented in other hierarchical coding schemes. In these embodiments, the “base encoder” may correspond to a configured encoder. Petition 870250085494, dated 09 / 22 / 2025, pages 125 / 158 14 / 30 to encode a low layer (corresponding to a low quality) of a hierarchical coding scheme. In such embodiments, the “enhancement encoder” may correspond to an encoder configured to encode a high layer (corresponding to a high quality, i.e., a higher quality than the low layer) of the hierarchical coding scheme. For example, the base encoder may correspond to an encoder configured to encode a lower layer of the hierarchical coding scheme, and the enhancement encoder may correspond to an encoder configured to encode an enhancement layer (e.g., the first) of the hierarchical coding scheme.More generally, the base encoder might correspond to an encoder configured to encode the nth layer of a hierarchical encoding scheme, and the enhancement encoder might correspond to an encoder configured to encode the (n+1)th layer of the hierarchical encoding scheme.

[0075] A base encoder can be a multi-layer encoder. In particular, a base encoder can include a base encoder and one or more enhancement encoders.

[0076] An enhancement encoder can include multiple encoders. In particular, an enhancement encoder can include multiple enhancement encoders.

[0077] A base encoding can be the output of one or more encoding layers. For example, a base encoding can be a first encoding layer combined with one or more additional encoding layers (e.g., enhancement).

[0078] An enhancement code may include one or more enhancement layers.

[0079] For example, a base encoding can be a base layer (i.e., output by a single-layer codec such as HEVC, VVC, etc.) combined with a first layer of LCEVC residue, while the enhancement encoding can be a second layer of LCEVC residue. Petition 870250085494, dated 09 / 22 / 2025, pp. 126 / 158 15 / 30 In another example, a base encoding could be a lower layer encoded according to the SMPTE VC-6 standard combined with one or more VC-6 enhancement layers, while the enhancement encoding could be one or more "upper" layer enhancement layers of the VC-6 standard.

[0080] Examples of backward-compatible hybrid encoding technologies use a downsampled source signal encoded using a base codec to form a base stream. An enhancement stream is formed using an encoded set of residues that correct or enhance the base stream, for example, by increasing the resolution or frame rate. There may be multiple levels of enhancement data in a hierarchical structure. In certain arrangements, the base stream may be decoded by a hardware decoder, while the enhancement stream may be suitable for processing using a software implementation. Thus, streams are considered to be a base stream and one or more enhancement streams, where typically there are two possible enhancement streams, but often one enhancement stream is used.It is worth noting that, typically, the base stream can be decoded by a hardware decoder, while enhancement streams may be suitable for software processing implementation with appropriate power consumption. Streams can also be considered layers.

[0081] The video frame is encoded hierarchically, as opposed to using block-based approaches, as done in the MPEG family of algorithms. Hierarchical encoding of a frame includes generating residues for the complete frame and then a reduced or decimated frame, and so on. In the examples described here, the residues can be considered errors or differences at a given quality or resolution level.

[0082] For context purposes only, as the detailed structure of LCEVC is known and defined in the approved draft standards specification, Figure 1 illustrates in a logical flow how LCEVC operates on the decoding side, assuming H.264 as the base codec. Those skilled in the art Petition 870250085494, dated 09 / 22 / 2025, pp. 127 / 158 16 / 30 will understand how the examples described here are also applicable to other multilayer encoding schemes (e.g., those using a base layer and an enhancement layer) based on the general description of LCEVC presented with reference to Figure 1. Returning to Figure 1, the LCEVC decoder 10 operates at the individual video frame level. It receives as input a low-resolution decoded image from a base video decoder 11 (H.264 or other) and the LCEVC enhancement data to produce a full-resolution decoded image ready for on-screen display. The LCEVC enhancement data is typically received in Supplemental Enhancement Information (SEI) from the H.264 Network Abstraction Layer (NAL) or in an additional Data Packet Identifier (PID) and is separated from the base-encoded video by a demultiplexer 12.Therefore, the base-11 video decoder receives a demultiplexed encoded basestream, and the LCEVC 10 decoder receives a demultiplexed encoded enhancement stream, which is decoded by the LCEVC 10 decoder to generate a residue set for combination with the decoded low-resolution image from the base-11 video decoder.

[0083] LCEVC can be rapidly implemented on existing set-top boxes with a software update and is inherently backward compatible, as devices that have not yet been updated to decode LCEVC can play video using the underlying base codec, further simplifying deployment.

[0084] In this context, an implementation of the decoder is proposed here to integrate decoding and representation with existing systems and devices that perform basic decoding. The integration is easy to implement. It also allows support for a wide range of encoding and playback vendors, and can be easily upgraded to support future systems. The embodiments of the invention specifically relate to how to implement LCEVC in order to provide secure decoding of protected content. In specific embodiments, the invention may manifest itself as Petition 870250085494, dated 09 / 22 / 2025, pp. 128 / 158 17 / 30 chipset driver software. Thus, this could be used to build next-generation chips or it could be used to retrofit older chips to allow them to perform better than the current ones (without the need for new hardware).

[0085] The proposed decoder implementation can be provided via a software library optimized for decoding enhanced LCEVC MPEG-5 streams, providing a simple yet powerful control interface or API. This allows developers flexibility and the ability to deploy LCEVC at any level of a software stack, for example, from low-level command-line tools to integrations with commonly used open-source encoders and players. In particular, embodiments of the present invention generally relate to driver-level implementations and a System-on-a-Chip (SoC) level implementation.

[0086] The terms LCEVC and enhancement may be used interchangeably herein, for example, the enhancement layer may comprise one or more enhancement flows, i.e., the residual data of the LCEVC enhancement data.

[0087] Figure 2 illustrates an enhancement decoding implementation where each step of the processing pipeline is implemented in a separate module. This is, by analogy, using the standard as an instruction manual.

[0088] The figure illustrates the input data 22 from LCEVC, that is, enhancement data. According to figure 1, this enhancement data is encoded residual data that can be combined with a decoded version of a base stream to reconstruct an original input video.

[0089] As indicated in the figures described above, LCEVC streams are divided into enhancement data and basic data. In the illustration in Figure 2, it is schematically shown that the process receives as inputs compressed LCEVC data 22 and an uncompressed basic frame 27. By cross-referencing Figure 1, it can be seen that the LCEVC decoder 10 receives Petition 870250085494, dated 09 / 22 / 2025, pp. 129 / 158 18 / 30 the uncompressed base data from the base-11 decoder and the compressed LCEVC data from the multiplexer 12. Here the focus is on the pipeline of the enhancement layer process, not the pipeline of the base layer. The base layer receives base data, decodes this data using a base codec, and optionally upscales this data to generate a representation of the original input, stored in memory. Upscaling is said to be optional because the method can still correct errors in the base, even if the resolution or other scale, such as bit depth, is not changed through upscaling. LCEVC data 22 is typically binary data.

[0090] The LCEVC data is first analyzed. In this illustrated example, this occurs in the form of a residual decoder module 23 that functions to decode a set of values ​​from the enhancement stream. In some examples, the analysis function may also control the operation of the scale-up device. The analysis function may be in the form of a decoder plug-in under the control of a decoder integration layer, as set out in WO2022 / 023747, the contents of which are incorporated herein by reference.

[0091] As established in the LCEVC standard, LCEVC residual data is generated in the form of a 24-period time buffer and a set of preliminary residuals to be applied to the buffer. The preliminary set of residuals stored in the stream can be called “deltas” when the time function is being used in LCEVC, i.e., the stream includes the “deltas”. A delta is the difference between the residual in the time buffer and the “true / calculated” residual for that frame. In some cases, they will be residuals, and in others, they will be modified residuals. Throughout this description, one can refer to the preliminary set of residuals or “deltas” interchangeably. Deltas can be viewed as second-order residuals, as they are a difference between a residual in the time buffer and a “true” residual calculated for that frame.

[0092] In other words, the residues from the previous frame are stored in the time buffer 24 and the difference between the elements of the buffer and the Petition 870250085494, dated 09 / 22 / 2025, pp. 130 / 158 19 / 30 elements of the tableau are typically received in the stream (i.e., in entropy-encoded, transformed, and quantified form).

[0093] To implement the decoder, the time buffer stores the residues of the previous frame and the decoded deltas of the stream are applied to the time buffer to create the residue frame which is applied to the base decoder frame to generate the surface.

[0094] Further information on temporal signaling in LCEVC can be found in the LCEVC standard specification, ISO / IEC 230942:2021(en) Low Complexity Enhancement Video Coding, and WO2020 / 089618, both of which are incorporated herein by reference in their entirety.

[0095] Conceptually, this process is illustrated in figure 2, as the compressed LCEVC data 22 is analyzed by a decoding module 23 to derive the set of preliminary temporal residuals which are combined with the temporal buffer 24 to create the residual data frame 25 for rendering.

[0096] In most implementations, LCEVC data is used to create a plane (or image, frame, or surface; see clarification of terminology below) that contains all residuals and all locations where there are no residuals as well. This can be called a residual map. In this sense, the plane, i.e., the map, often has many logical zeros. Throughout this description, when referring to zero, it is referring to a logical zero that does not affect the image, even if it is not a numerical zero. That is, when the map is passed as an image to some kind of image processing block, whether it's a hardware block, a GPU shader, or a CPU function, this plane is added to an optionally augmented plane to obtain the final image.

[0097] Throughout this request, the terms frame, image, plane, and surface will be referred to interchangeably for a 2D map or array of elements or pixel elements that represent a portion of a video, i.e., the 2D set of pixel elements that combine to create the video. In typical implementations, there is only one plane, such as Luma, but Petition 870250085494, dated 09 / 22 / 2025, pp. 131 / 158 20 / 30 may support multiple plans. In general, the terms map and surface are naming conventions.

[0098] In the present description, when referring to passing or sending data, in practice, the data may not be sent, but rather a pointer to memory or simply informing another logical component of the decoder about that data.

[0099] In optional implementations, the residual decoder provides a list of operations or commands 26 necessary to change the residual image of the last frame (or residual map) to the current residual image. By map, again, it is meant that the values ​​of a frame or surface are stored in such a way that the location of the values ​​in the frame or on the surface can be identified.

[0100] Examples of configured operations (i.e., commands) include ADJUST, CLEAN, and APPLY. An ADJUST operation instructs pipelines to set or change the values ​​of a block to specific values. A CLEAN operation instructs the pipeline to clear or delete the values ​​of a 32 x 32 block containing multiple blocks, and an APPLY operation instructs the pipeline to combine the values ​​of a block with the values ​​already existing in the buffer at that location. Commands can be sent individually or grouped.

[0101] In short, in a first step, the byte stream is decoded to generate preliminary residual data. In an optional second step, the byte stream data is converted into a set of commands 26 to be applied to a temporal buffer 24, which stores the data from the last frame.

[0102] Conceptually, the next module works to read the time buffer and execute commands to update the time buffer 24 and store the updated or modified residual value. This module 29 can be referred to as the residual extractor or processing module.

[0103] Processing module 29 generates a residual plan 25 by writing updated residual values ​​from the updated temporal buffer 24. Petition 870250085494, dated 09 / 22 / 2025, pages 132 / 158 21 / 30 In practice, this may involve storing the temporal buffer plan in a separate memory location.

[0104] The residual plan 25 can be sent to an “apply residuals” module 21, which functions to apply the residual plan or map to the base frame (enhanced).

[0105] The “apply residues” module 21 reads the residual plan from memory, reads the (enhanced) base values ​​from memory, applies the residues to the base frame, and stores this in memory as a new plan, i.e., an output plan. This output can then be sent to the output path.

[0106] As is evident, this pipeline involves many operations both in and out of memory. This is exacerbated by the transfer of data between discrete modules, but does not depend exclusively on it. Reading from the temporal buffer 201, writing a residual plane representing the residual map 202, and applying this plane to a (augmented) base plane and writing 203 to an output plane 21a involve operations both in and out of memory.

[0107] In detail, modularization and memory reads are inefficient because the pipeline is generating and then writing the residual plan to the “residual extraction” or “processing” module 29 and then reading it again to the “apply residuals” module 21. Furthermore, since a large percentage of the values ​​in the residual plan are zero, a large part of the reading and writing of the residual plan is unnecessary, as there will be no change in the decoded (augmented) base plan by applying the zero value stored in the time buffer.

[0108] In other words, conventionally, the pipeline would be executed in stages. With a temporal map, one would normally expect to effectively copy it to the map / plane / surface to be applied and then add the new residues to it. Then, when it is applied, it will be passed to something else, which will read it, read the resized image, apply the residue to it, and write it back.

[0109] In examples from this disclosure, it is Petition 870250085494, dated 09 / 22 / 2025, pp. 133 / 158 22 / 30 stores a representation of the temporal buffer that can be used on a granular basis to identify whether a portion of the temporal buffer should be used or read, i.e., because it contains non-zero values. In this way, the need to read and write a residual plane can be avoided, since the values ​​of the temporal buffer can be combined with the (augmented) base without a residual plane being generated and skipping zero areas, not only reducing memory operations but also reducing the total time of these operations, since fewer are needed. Furthermore, there is a synergistic effect when combined with the LCEVC structure. That is, a block or tile can be defined to have temporal encoding enabled or disabled, leading to improvements in processing compared to processing entire frames. The presence of data appearing in a TU may be sufficient to mark the residuals as present.It can then be marked as not present if the block it is in has been cleared or if the entire residual plane has been cleared.

[0110] Figure 3 illustrates the concepts of the invention at a high level in a schematic way. The steps for obtaining the preliminary set of residues and, optionally, generating a set of commands for application to the time buffer remain unchanged. The processing module receives these commands and updates the time buffer 24. According to the examples described in this document, the processing module generates a representation 37 of the time buffer 24, the representation indicating which areas of the buffer are different from zero.

[0111] In implementations, the representation may be in the form of a set of flags, with each flag corresponding to a region of the temporal buffer or temporal map. Each flag may indicate that the region contains zeros or is non-zero. For example, a non-zero value may correspond to TRUE or FALSE and vice versa. That is, by indicating which values ​​are zero, the representation also inherently indicates which values ​​are non-zero.

[0112] Normally, the time buffer contains values Petition 870250085494, dated 09 / 22 / 2025, pp. 134 / 158 23 / 30 corresponding to pixel elements of the video signal, a 2D matrix, and can be considered a map. This arrangement is not limiting.

[0113] Temporal flags can correspond to a region of this map, for example, the map can be a flag for each element or for a block of elements, for example, 2 x 2, 4 x 4 or 32 x 32. In the preferred examples, a flag corresponds to a coding unit or a transformation block of the temporal map.

[0114] Residual data in LCEVC is typically encoded in one of two formats. As stated in the LCEVC standard, a residual plane is divided into encoding units whose size depends on the size of the transformation used. Decoding units are 2 x 2 in size if a 2 x 2 directional decomposition (DD) transformation is used, or 4 x 4 in size if a 4 x 4 directional decomposition (DDS) transformation is used. The specifics of the decompositions are not important, but more details can be found in the LCEVC standard specification, ISO / IEC 23094-2 MPEG Part 2 Low Complexity Enhancement Video Coding (LCEVC), First Edition October 2021, WO2020 / 089618 and WO20202 / 05957, both incorporated by reference in their entirety.

[0115] In preferred examples, each DD or DDS unit has a corresponding flag. Consequently, a 1920 x 1080 temporal flag can be encoded using DD units and can be represented by 960 flags. Preferably, a 32 x 32 block has a corresponding flag – logically, this is an important size in LCEVC, as it is the size that is freed, but it is also the unit that fits into all transformation units.

[0116] The markers can be arranged or sorted in any order suitable for understanding the location on the map or in the 2D matrix, such as Z order or line order or any typical 2D matrix coding, for example. For example, the markers can be indexed, for example, by x,y location. Petition 870250085494, dated 09 / 22 / 2025, pages 135 / 158 24 / 30

[0117] In another example, flags can be stored in the order of the commands received or in the order of the decoded transformation units of the stream. In other words, and in a detailed implementation, an implementation order in which blocks are sent in an LCEVC stream is predefined, and the order in which the transformation units within those blocks are processed is also predefined. Therefore, if they are sent in that order, and the process also applies the time buffer in that order and puts it into memory in that order as well, the flags can also be stored in that order, i.e., a 64-bit unsigned integer can be stored per 32 x 32 block, which is the number of transformation units when using a DDS transformation.

[0118] In practice, this can be advantageous because, with a CPU implementation that is doing “in-place writing” to the data, as detailed below, it can read the LCEVC commands, go through them, update the temporal buffer, and update the temporal flags, while also reading the data. In this specific case, the process can completely ignore the generation of a residual plan, as the processing and residual application modules can be merged. Because the process is being written in place, this means that the steps can be executed on the data in a specific order.

[0119] Based on the temporal map representation, the pipeline can only read regions of the temporal buffer that are non-zero when combining the temporal buffer with the (enhanced) base. That is, instead of generating a residual plane, the “apply residuals” module reads the flag of each region and, if it indicates the presence of non-zero data, the temporal buffer is read for that region and combined with the (enhanced) base. Otherwise, that region will not be read from either the temporal buffer or the (enhanced) base. Memory access is expensive.

[0120] In preferred implementations, the “processing” and “apply residues” modules can be combined into a module that implements read, update, and combine functionality. This further reduces memory reads. Petition 870250085494, dated 09 / 22 / 2025, pages 136 / 158 25 / 30

[0121] More detailed examples of implementations will now be described in the context of figures 4 to 7. In the illustration of figures 4 to 7, the “apply residues” and “processing” modules are combined.

[0122] In a first implementation example, referred to here as the “write-in-place” mode, the (augmented) base is updated directly to the location where it is stored in memory. Note that not all chipsets support or allow this direct update of memory locations.

[0123] As shown in Figure 4, the temporal buffer is read and updated. Temporal flags are then read for each area. If that area indicates non-zero values, the temporal buffer is read for that area of ​​the map and combined with the corresponding elements of the (augmented) baseline and written back to memory. The (augmented) baseline is then sent to the output path.

[0124] The steps can be summarized as follows:

[0125] WRITE IN PLACE (TEMP FLAG = TRUE)

[0126] 1. Read the database

[0127] 2. Read waste

[0128] 3. Add + fix the base and residue

[0129] 4. Record back to base

[0130] WRITE IN PLACE (TEMP FLAG = FALSE)

[0131] 1. Nothing to do

[0132] This example can be particularly beneficial. The first efficiency is that there may be no need to generate a waste plane. This saves all the memory bandwidth of a resolution-sized image and is particularly useful when adapting the scheme to older hardware. A second efficiency is that if the flag indicates zero values, the processing cannot perform any action and will move on to the next area. That is, as the Petition 870250085494, dated 09 / 22 / 2025, pp. 137 / 158 In the 26 / 30 process, which overwrites or updates the original / received database instead of generating a new image / plan, there are fewer reads and writes to memory.

[0133] Figure 5 illustrates the flow in detail.

[0134] First, the process decodes the byte stream, step 501. Then, in step 502, the LCEVC commands are generated (as described above, this is an optional step). This can be considered as transforming the decoded byte stream into a set of commands. The temporal buffer is then read and updated, step 503. This may include reading the temporal buffer and executing commands to update the temporal buffer with the modified residual value.

[0135] In step 504, for an area, or each area, for example, a block or tile, the process generates a time flag, where a true flag indicates a non-zero residue for that area. In subsequent passes through the process, this may include a change of time flag or marker instead of a zero recording. By marker, it is meant marking the time flag for that area, which is a retained state of the decoding.

[0136] The process continues on an area-by-area basis, for example, one coding block by coding block, checking if the time flag is true for that area. This is represented in step 505. If the time flag is true, the process continues to read the (augmented) base, step 506, reading the updated time buffer to obtain the residual value, step 507, combining the base and residual values ​​to obtain a combined value, step 508, and then writing or overwriting that value in the (augmented) base memory location so that it has the “combined value”, step 509. If the time flag is false, that is, if the time flag indicates that the corresponding area of ​​the time map contains zero values, the process does nothing and moves on to the next area / block. In the flowchart in Figure 5, the iterative nature of area processing is indicated by checks, step 510, after each area has been processed.The steps of reading the (augmented) database, reading the time buffer,. Petition 870250085494, dated 09 / 22 / 2025, pages 138 / 158 27 / 30 combination of the base and residual value and writing to the base, or, in the case of a false flag, doing nothing, are repeated until the entire frame is completed or finalized. After that, the updated memory location that stores the now updated (augmented) base plan is sent to the output path, in step 511.

[0137] Figure 6 illustrates another example, referred to here as a “copy style application” example. Again, the “processing” module and the “residue application” module are shown here as combined. In this example, the (augmented) base is read and combined, being written to a destination in an additional memory location before being sent to the output path.

[0138] This example may be particularly suitable when the chipset does not support “write in place”.

[0139] As shown in Figure 6, the temporal buffer is read and updated. Then, temporal flags are read for each area. If that area indicates non-zero values, the temporal buffer is read for that area of ​​the map. The (augmented) base is read and combined with those values. The combination is written to a new destination different from the one where the (augmented) base was read. Note that in this example, since the process is writing to a new destination, the base value is written to the new destination if the flag indicates zeros. The temporal buffer is not read for that area.

[0140] The steps can be summarized as follows:

[0141] APPLY COPY STYLE (FLAG) TEMP = TRUE

[0142] 1. Read the database

[0143] 2. Read waste

[0144] 3. Add + fix the base and residue

[0145] 4. Record at the destination

[0146] APPLY COPY STYLE (FLAG) TEMP = FALSE

[0147] 1. Read the database Petition 870250085494, dated 09 / 22 / 2025, pp. 139 / 158 28 / 30

[0148] 2. Record at the destination

[0149] The efficiency in this example may lie in the fact that there is no need to generate the residual plane. This saves all the memory bandwidth of a resolution-sized image and is particularly useful if you are adapting the scheme to older hardware.

[0150] Figure 7 illustrates this process example in detail.

[0151] The process begins first with the decoding of the byte stream, step 701. Optionally, the byte stream is transformed into “commands”. That is, the commands are generated, step 702. Next, the temporal buffer is read and updated, step 703, that is, the temporal buffer is read and the process executes the commands to update the temporal buffer with the modified residual value.

[0152] As above, for an area (for example, a block or a tile), a time flag is generated, step 704. The time flag will be true if there are non-zero residuals for that area.

[0153] Iterating through each area, that is, area by area or block by block, the process continues to check if the time flag is true, step 705. If the time flag is true, the process will continue to read the (augmented) base, step 706, read the residual value in the time buffer, step 707, combine the element of the base image with the residual value, step 708. The process continues, in step 709, in this example, writing (or copying) the combined value to a (new) destination. That is, an “updated base plane destination”, which is different from the destination from where the (augmented) base was read. As described above, the process continues, in step 710, until the entire frame of the time buffer and base is complete.

[0154] If the time flag indicates that the time buffer area contains zero values, the process will read the (augmented) base, step 712, and write that base value to the destination, step 713. In step 711, the destination plan, that is, the “final output plan”, is sent to the output path, step 711.

[0155] Figure 8 illustrates a flow of a general implementation of the concept described above. In step 801, the process first obtains a Petition 870250085494, dated 09 / 22 / 2025, pages 140 / 158 29 / 30 first set of residuals. In step 802, the process adds the first residuals to the temporal buffer. The temporal buffer stores a set of temporal residual values, where each temporal residual value corresponds to a pixel element of a frame of the original input signal. In step 803, the process includes storing a representation of the set of temporal residual values, the representation indicating whether one or more values ​​in the set of temporal residual values ​​is different from zero, and where each element in the representation corresponds to a part of the set of temporal residual values.

[0156] Preferably, in step 804, the process includes combining a reconstructed version of an input video with temporal residual values ​​based on the fact that a matching element in the representation indicates that there is non-zero data in a respective part of the temporal residual value set. In preferred examples, one or more layers of residual data are generated based on a comparison of data derived from a decoded video signal and data derived from an input video signal.

[0157] The disclosure methods can be implemented in a decoder or in a decoder module, for example, implemented in a client device or in a client device that decodes from a data store. The methods and processes described in this document can be incorporated as code (e.g., software code) and / or data. The decoder can be implemented in hardware or software, as is well known in the data compression technique; for example, hardware acceleration using a specifically programmed graphics processing unit (GPU) or a specifically designed field-programmable gate array (FPGA) can provide certain efficiencies. Finally, these codes and data can be stored in one or more computer-readable media, which may include any device or medium that can store codes and / or data for use in a computer system.When a computer system reads and executes code and / or data stored in a... Petition 870250085494, dated 09 / 22 / 2025, pages 141 / 158 30 / 30 computer-readable medium, the computer system executes the methods and processes embedded as data structures and code stored in the computer-readable storage medium. In certain embodiments, one or more steps of the methods and processes described herein may be executed by a processor (for example, a processor of a computer system or data storage system).

[0158] Generally, any of the functionalities described in this text or illustrated in the figures can be implemented using software, firmware (e.g., fixed logic circuits), programmable or non-programmable hardware, or a combination of these implementations. The terms “component” or “function,” as used herein, generally represent software, firmware, hardware, or a combination thereof. For example, in the case of a software implementation, the terms “component” or “function” may refer to the program code that performs specific tasks when run on one or more processing devices. The illustrated separation of components and functions into distinct units may reflect any actual or conceptual physical grouping or allocation of such software and / or hardware and tasks. Petition 870250085494, dated 09 / 22 / 2025, pages 142 / 158

Claims

1 / 6 CLAIMS 1. A method for implementing an enhancement decoding, characterized in that it comprises: obtaining a preliminary set of residues from an encoded enhancement signal representative of one or more layers of residual data; adding the preliminary set of residues to a temporal buffer, the temporal buffer storing a set of temporal residual values; and storing a representation of the set of temporal residual values, the representation indicating whether one or more values ​​of the set of temporal residual values ​​is different from zero, wherein each element in the representation corresponds to a part of the set of temporal residual values.

2. A method according to claim 1, characterized in that it further comprises: combining a reconstructed version of an original input video signal with temporal residual values ​​based on the fact that a corresponding element in the representation indicates that there is non-zero data in a respective part of the set of temporal residual values.

3. A method according to claim 2, characterized in that the combination step comprises: reading a value into the temporal buffer in response to the determination that the representation indicates that the value is non-zero.

4. A method according to claim 2 or 3, characterized in that the reconstructed version is an improved representation of a decoded representation of the original input video signal encoded according to a base codec.

5. Method, according to any one of claims 2 to 4, characterized in that it further comprises, when the representation indicates that a value in the set of temporal residual values ​​is different from zero: reading the value in the set of temporal residual values ​​from the temporal buffer; reading a corresponding image element in the reconstructed version of an input video; and combining the value and the image element.

6. Method according to claim 5, characterized in that it further comprises: recording the combination in the memory location of the image element, the reconstructed version being a video plan.

7. Method according to claim 5, characterized in that it further comprises: recording the combination in a plan stored in another memory location.

8. A method according to any one of claims 2 to 7, characterized in that it further comprises, when the representation indicates that a value in the set of temporal residual values ​​is zero: reading a corresponding image element in the reconstructed version of an input video; writing the corresponding image element to a plan stored in a new memory location.

9. A method, according to any one of claims 2 to 7, characterized in that it further comprises, when the representation indicates that a value in the set of temporal residual values ​​is zero: continuing to process a next value in the set of temporal residual values ​​and not modifying a corresponding image element in the reconstructed version of an input video.

10. Method, according to any one of claims 6 or 7 and 8 or 9, characterized in that it further comprises, after processing each value in the set of temporal residual values, if the representation indicates that a value in the set of temporal residual values ​​is zero or different from zero, Petition 870250085494, dated 09 / 22 / 2025, pp. 144 / 158 3 / 6 sending the plan to an output path.

11. A method, according to any of the preceding claims, characterized in that it further comprises: generating a set of commands to update the temporal residual values ​​based on the preliminary set of residuals; and adding the preliminary set of residuals to the temporal buffer based on the commands.

12. A method, according to any of the preceding claims, characterized in that one or more layers of residual data are generated based on a comparison of data derived from a decoded video signal and data derived from an original input video signal.

13. A method, according to any previous claim, characterized in that the part of the set of temporal residual values ​​comprises a plurality of the set of temporal residual values.

14. A method, according to any previous claim, characterized in that the part is a block of the set of temporal residual values.

15. A method, according to any previous claim, characterized in that the elements of the representation are stored in an order of transformation units received in the enhancement signal.

16. A video decoder configured to decode an encoded enhancement signal, the video decoder is characterized in that it comprises: a residue decoding module configured to obtain a preliminary set of residues from the encoded enhancement signal representative of one or more residual data layers; and, a residue processing module configured to: add the preliminary set of residues to a temporal buffer, the temporal buffer storing a set of temporal residual values; and, store a representation of the set of temporal residual values, the representation indicating whether one or more values ​​of the set of temporal residual values ​​is different from zero and wherein each element in the representation corresponds to a part of the set of temporal residual values.

17. Video decoder, according to claim 16, characterized in that it further comprises: a residual application module configured to combine a reconstructed version of an original input video signal with temporal residual values ​​based on the fact that a corresponding element in the representation indicates that there is non-zero data in a respective part of the set of temporal residual values.

18. Video decoder, according to claim 17, characterized in that the residual application module is configured to: read a value into the temporal buffer in response to the determination that the representation indicates that the value is different from zero.

19. Video decoder, according to claim 17 or 18, characterized in that the reconstructed version is an improved representation of a decoded representation of the original input video signal encoded according to a base codec.

20. Video decoder, according to any one of claims 17 to 19, characterized in that, when the representation indicates that a value in the temporal residual value set is different from zero, the residual application module is configured to: read the value in the temporal residual value set from the temporal buffer; read a corresponding image element in the reconstructed version of an input video; and combine the value and the image element.

21. Video decoder, according to claim 20, characterized in that the residual application module is configured Petition 870250085494, dated 09 / 22 / 2025, pp. 146 / 158 5 / 6 to: record the combination in the image element's memory location, the reconstructed version being a video plane.

22. Video decoder, according to claim 20, characterized in that the residual application module is configured to: record the combination in a plan stored in another memory location.

23. Video decoder, according to any one of claims 17 to 22, characterized in that, when the representation indicates that a value in the set of temporal residual values ​​is zero, the residual application module is configured to: read a corresponding image element in the reconstructed version of an input video; write the corresponding image element to a plane stored in a new memory location.

24. Video decoder, according to any one of claims 17 to 22, characterized in that, when the representation indicates that a value in the set of temporal residual values ​​is zero, the residual application module is configured to: continue processing a next value in the set of temporal residual values ​​and not modify a corresponding image element in the reconstructed version of an input video.

25. Video decoder, according to claims 21 or 22 and 23 or 24, characterized in that, after processing each value in the temporal residual value set based on the fact that the representation indicates that a value in the temporal residual value set is zero or different from zero, the residual application module is configured to: output the plan to an output path.

26. Video decoder, according to any of the claims 16 to 25 in Petition 870250085494, dated 09 / 22 / 2025, pp. 147 / 158 6 / 6, characterized in that the residual decoder module is configured to: generate a set of commands to update the temporal residual values ​​based on the preliminary set of residuals; and, add the preliminary set of residuals to the temporal buffer based on the commands.

27. Video decoder, according to any one of claims 16 to 26, characterized in that one or more layers of residual data are generated based on a comparison of data derived from a decoded video signal and data derived from an original input video signal.

28. Video decoder, according to any one of claims 16 to 27, characterized in that the part of the temporal residual value set comprises a plurality of the temporal residual value set.

29. Video decoder, according to any one of claims 16 to 28, characterized in that the part is a block of the temporal residual value set.

30. Video decoder, according to any one of claims 16 to 29, characterized in that the elements of the representation are stored in an order of transformation units received in the enhancement signal.

31. Chipset for decoding an encoded enhancement video signal, the chipset is characterized in that it is configured to perform the method as defined in any of claims 1 to 15.

32. Computer-readable medium, characterized in that it comprises instructions which, when executed, cause a processor to execute the method as defined in any one of claims 1 to 15. Petition 870250085494, dated 09 / 22 / 2025, pp. 148 / 158