WO2025040751A1 - In-loop mapping function update - Google Patents
In-loop mapping function update Download PDFInfo
- Publication number
- WO2025040751A1 WO2025040751A1 PCT/EP2024/073563 EP2024073563W WO2025040751A1 WO 2025040751 A1 WO2025040751 A1 WO 2025040751A1 EP 2024073563 W EP2024073563 W EP 2024073563W WO 2025040751 A1 WO2025040751 A1 WO 2025040751A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- mapping function
- block
- samples
- mapping
- template
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/154—Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
Definitions
- the present embodiments generally relate to video compression.
- the present embodiments relate to a method and an apparatus for encoding or decoding an image or a video. More particularly, the present embodiments relate to update inside the coding loop the luma mapping function.
- image and video coding schemes usually employ prediction and transform to leverage spatial and temporal redundancy in the video content.
- intra or inter prediction is used to exploit the intra or inter picture correlation, then the differences between the original block and the predicted block, often denoted as prediction errors or prediction residuals, are transformed, quantized, and entropy coded.
- inter prediction motion vectors used in motion compensation are often predicted from motion vector predictor.
- the compressed data are decoded by inverse processes corresponding to the entropy coding, quantization, transform, and prediction.
- a method for encoding or decoding a video comprises determining for at least one block of the video, at least one mapping function using template samples of the at least one block and encoding or decoding the at least one block using the at least one mapping function.
- an apparatus for encoding or decoding a video comprises one or more processors operable to determine for at least one block of the video, at least one mapping function using template samples of the at least one block and encode or decode the at least one block using the at least one mapping function.
- the mapping function is a forward mapping function, and wherein encoding or decoding the at least one block using the mapping function comprises applying the mapping function to a prediction block of the at least one block.
- the mapping function is an inverse mapping function and wherein encoding or decoding the at least one block using the mapping function comprises applying the mapping function to a reconstruction of the at least one block.
- determining the mapping function corresponds to updating a default mapping function, for instance a mapping function defined by the LMCS tool, for instance a mapping function computed at the encoder side, signaled by the encoder into the bitstream, further decoded and reconstructed by the decoder.
- the mapping function is determined from an update of an identity mapping function.
- One or more embodiments also provide a computer program comprising instructions which when executed by one or more processors cause the one or more processors to perform the method for encoding or decoding a video according to any of the embodiments described herein.
- One or more of the present embodiments also provide a non-transitory computer readable medium and/or a computer readable storage medium having stored thereon instructions for encoding or decoding a video according to the methods described herein.
- One or more embodiments also provide a computer readable storage medium having stored thereon a bitstream generated according to the methods described herein.
- One or more embodiments also provide a method and apparatus for transmitting or receiving the bitstream generated according to the methods described above.
- FIG. 1 illustrates a block diagram of a system within which aspects of the present embodiments may be implemented.
- FIG. 2 illustrates a block diagram of an embodiment of a video encoder within which aspects of the present embodiments may be implemented.
- FIG. 3 illustrates a block diagram of an embodiment of a video decoder within which aspects of the present embodiments may be implemented.
- FIG. 4 illustrates a block diagram of another embodiment of a video decoder within which aspects of the present embodiments may be implemented.
- FIG. 5 illustrates a block diagram of another embodiment of a video decoder within which aspects of the present embodiments may be implemented.
- FIG. 6 illustrates a block diagram of another embodiment of a video decoder within which aspects of the present embodiments may be implemented.
- FIG. 7 illustrates a block diagram of another embodiment of a video decoder within which aspects of the present embodiments may be implemented.
- FIG. 8 illustrates an example of a mapping update of the forward mapping function according to an embodiment.
- FIG. 9 illustrates an example of a mapping update of the inverse mapping function according to an embodiment.
- FIG. 10 illustrates examples of reference areas in reference pictures for updating a mapping function according to an embodiment.
- FIG. 1 1 illustrates an example of a flowchart of a method for encoding at least one block of a video according to an embodiment.
- FIG. 12 illustrates an example of a flowchart of a method for decoding at least one block of a video according to an embodiment.
- FIG. 13 illustrates an example of a flowchart of a method for encoding at least one block of a video according to another embodiment.
- FIG. 14 illustrates an example of a flowchart of a method for decoding at least one block of a video according to another embodiment.
- FIG. 15 illustrates a block diagram of a system within which aspects of the present embodiments may be implemented, according to another embodiment.
- FIG. 16 shows two remote devices communicating over a communication network in accordance with an example of the present principles.
- FIG. 17 shows the syntax of a signal in accordance with an example of the present principles.
- FIGs. 1 , 2 and 3 provide some embodiments, but other embodiments are contemplated and the discussion of FIGs. 1 , 2 and 3 does not limit the breadth of the implementations.
- At least one of the aspects generally relates to video encoding and decoding, and at least one other aspect generally relates to transmitting a bitstream generated or encoded.
- These and other aspects can be implemented as a method, an apparatus, a computer readable storage medium having stored thereon instructions for encoding or decoding video data according to any of the methods described, and/or a computer readable storage medium having stored thereon a bitstream generated according to any of the methods described.
- the terms “reconstructed” and “decoded” may be used interchangeably
- the terms “pixel” and “sample” may be used interchangeably
- the terms “image,” “picture” and “frame” may be used interchangeably.
- each of the methods comprises one or more steps or actions for achieving the described method. Unless a specific order of steps or actions is required for proper operation of the method, the order and/or use of specific steps and/or actions may be modified or combined. Additionally, terms such as “first”, “second”, etc. may be used in various embodiments to modify an element, component, step, operation, etc., such as, for example, a “first decoding” and a “second decoding”. Use of such terms does not imply an ordering to the modified operations unless specifically required. So, in this example, the first decoding need not be performed before the second decoding, and may occur, for example, before, during, or in an overlapping time period with the second decoding.
- VVC VVC
- HEVC High Efficiency Video Coding
- present aspects are not limited to VVC or HEVC, and can be applied, for example, to other standards and recommendations, whether pre-existing or future-developed, and extensions of any such standards and recommendations (including VVC and HEVC). Unless indicated otherwise, or technically precluded, the aspects described in this application can be used individually or in combination.
- FIG. 1 illustrates a block diagram of an example of a system in which various aspects and embodiments can be implemented.
- System 100 may be embodied as a device including the various components described below and is configured to perform one or more of the aspects described in this application. Examples of such devices, include, but are not limited to, various electronic devices such as personal computers, laptop computers, smartphones, tablet computers, digital multimedia set top boxes, digital television receivers, personal video recording systems, connected home appliances, and servers.
- Elements of system 100 singly or in combination, may be embodied in a single integrated circuit, multiple ICs, and/or discrete components.
- the processing and encoder/decoder elements of system 100 are distributed across multiple ICs and/or discrete components.
- system 100 is communicatively coupled to other systems, or to other electronic devices, via, for example, a communications bus or through dedicated input and/or output ports.
- system 100 is configured to implement one or more of the aspects described in this application.
- the system 100 includes at least one processor 110 configured to execute instructions loaded therein for implementing, for example, the various aspects described in this application.
- Processor 110 may include embedded memory, input output interface, and various other circuitries as known in the art.
- the system 100 includes at least one memory 120 (e.g., a volatile memory device, and/or a non-volatile memory device).
- System 100 includes a storage device 140, which may include non-volatile memory and/or volatile memory, including, but not limited to, EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, magnetic disk drive, and/or optical disk drive.
- the storage device 140 may include an internal storage device, an attached storage device, and/or a network accessible storage device, as non-limiting examples.
- System 100 includes an encoder/decoder module 130 configured, for example, to process data to provide an encoded video or decoded video, and the encoder/decoder module 130 may include its own processor and memory.
- the encoder/decoder module 130 represents module(s) that may be included in a device to perform the encoding and/or decoding functions. As is known, a device may include one or both of the encoding and decoding modules. Additionally, encoder/decoder module 130 may be implemented as a separate element of system 100 or may be incorporated within processor 1 10 as a combination of hardware and software as known to those skilled in the art.
- Program code to be loaded onto processor 1 10 or encoder/decoder 130 to perform the various aspects described in this application may be stored in storage device 140 and subsequently loaded onto memory 120 for execution by processor 1 10.
- one or more of processor 1 10, memory 120, storage device 140, and encoder/decoder module 130 may store one or more of various items during the performance of the processes described in this application. Such stored items may include, but are not limited to, the input video, the decoded video or portions of the decoded video, the bitstream, matrices, variables, and intermediate or final results from the processing of equations, formulas, operations, and operational logic.
- memory inside of the processor 110 and/or the encoder/decoder module 130 is used to store instructions and to provide working memory for processing that is needed during encoding or decoding.
- a memory external to the processing device (for example, the processing device may be either the processor 1 10 or the encoder/decoder module 130) is used for one or more of these functions.
- the external memory may be the memory 120 and/or the storage device 140, for example, a dynamic volatile memory and/or a non-volatile flash memory.
- an external non-volatile flash memory is used to store the operating system of a television.
- a fast external dynamic volatile memory such as a RAM is used as working memory for video coding and decoding operations, such as for MPEG-2, HEVC (HEVC refers to High Efficiency Video Coding, also known as H.265 and MPEG-H Part 2), or VVC (Versatile Video Coding also known as H.266, standard developed by JVET, the Joint Video Experts Team).
- HEVC High Efficiency Video Coding
- MPEG-H Part 2 High Efficiency Video Coding
- VVC Very Video Coding also known as H.266, standard developed by JVET, the Joint Video Experts Team
- the input to the elements of system 100 may be provided through various input devices as indicated in block 105.
- Such input devices include, but are not limited to, (i) a radio frequency (RF) portion that receives an RF signal transmitted, for example, over the air by a broadcaster, (ii) a Component (COMP) input terminal (or a set of COMP input terminals), (iii) a Universal Serial Bus (USB) input terminal, and/or (iv) a High Definition Multimedia Interface (HDMI) input terminal.
- RF radio frequency
- COMP Component
- USB Universal Serial Bus
- HDMI High Definition Multimedia Interface
- Other examples, not shown in FIG. 1 include composite video.
- the input devices of block 105 have associated respective input processing elements as known in the art.
- the RF portion may be associated with elements suitable for (i) selecting a desired frequency (also referred to as selecting a signal, or band-limiting a signal to a band of frequencies), (ii) down converting the selected signal, (iii) band-limiting again to a narrower band of frequencies to select (for example) a signal frequency band which can be referred to as a channel in certain embodiments, (iv) demodulating the down converted and band-limited signal, (v) performing error correction, and (vi) demultiplexing to select the desired stream of data packets.
- the RF portion of various embodiments includes one or more elements to perform these functions, for example, frequency selectors, signal selectors, band-limiters, channel selectors, filters, downconverters, demodulators, error correctors, and demultiplexers.
- the RF portion may include a tuner that performs various of these functions, including, for example, down converting the received signal to a lower frequency (for example, an intermediate frequency or a near-baseband frequency) or to baseband.
- the RF portion and its associated input processing element receives an RF signal transmitted over a wired (for example, cable) medium, and performs frequency selection by filtering, down converting, and filtering again to a desired frequency band.
- Adding elements may include inserting elements in between existing elements, for example, inserting amplifiers and an analog-to-digital converter.
- the RF portion includes an antenna.
- USB and/or HDMI terminals may include respective interface processors for connecting system 100 to other electronic devices across USB and/or HDMI connections.
- various aspects of input processing for example, Reed-Solomon error correction, may be implemented, for example, within a separate input processing IC or within processor 110 as necessary.
- aspects of USB or HDMI interface processing may be implemented within separate interface ICs or within processor 1 10 as necessary.
- the demodulated, error corrected, and demultiplexed stream is provided to various processing elements, including, for example, processor 110, and encoder/decoder 130 operating in combination with the memory and storage elements to process the data stream as necessary for presentation on an output device.
- connection arrangement 115 for example, an internal bus as known in the art, including the I2C bus, wiring, and printed circuit boards.
- the system 100 includes communication interface 150 that enables communication with other devices via communication channel 190.
- the communication interface 150 may include, but is not limited to, a transceiver configured to transmit and to receive data over communication channel 190.
- the communication interface 150 may include, but is not limited to, a modem or network card and the communication channel 190 may be implemented, for example, within a wired and/or a wireless medium.
- Wi-Fi Wireless Fidelity
- IEEE 802.11 IEEE refers to the Institute of Electrical and Electronics Engineers
- the Wi-Fi signal of these embodiments is received over the communications channel 190 and the communications interface 150 which are adapted for Wi-Fi communications.
- the communications channel 190 of these embodiments is typically connected to an access point or router that provides access to outside networks including the Internet for allowing streaming applications and other over-the-top communications.
- Other embodiments provide streamed data to the system 100 using a set-top box that delivers the data over the HDMI connection of the input block 105.
- Still other embodiments provide streamed data to the system 100 using the RF connection of the input block 105.
- various embodiments provide data in a non-streaming manner.
- various embodiments use wireless networks other than Wi-Fi, for example a cellular network or a Bluetooth network.
- the system 100 may provide an output signal to various output devices, including a display 165, speakers 175, and other peripheral devices 185.
- the display 165 of various embodiments includes one or more of, for example, a touchscreen display, an organic lightemitting diode (OLED) display, a curved display, and/or a foldable display.
- the display 165 can be for a television, a tablet, a laptop, a cell phone (mobile phone), or other device.
- the display 165 can also be integrated with other components (for example, as in a smart phone), or separate (for example, an external monitor for a laptop).
- the other peripheral devices 185 include, in various examples of embodiments, one or more of a stand-alone digital video disc (or digital versatile disc) (DVR, for both terms), a disk player, a stereo system, and/or a lighting system.
- Various embodiments use one or more peripheral devices 185 that provide a function based on the output of the system 100. For example, a disk player performs the function of playing the output of the system 100.
- control signals are communicated between the system 100 and the display 165, speakers 175, or other peripheral devices 185 using signaling such as AV.Link, CEC, or other communications protocols that enable device-to-device control with or without user intervention.
- the output devices may be communicatively coupled to system 100 via dedicated connections through respective interfaces 160, 170, and 180. Alternatively, the output devices may be connected to system 100 using the communications channel 190 via the communications interface 150.
- the display 165 and speakers 175 may be integrated in a single unit with the other components of system 100 in an electronic device, for example, a television.
- the display interface 160 includes a display driver, for example, a timing controller (T Con) chip.
- the display 165 and speaker 175 may alternatively be separate from one or more of the other components, for example, if the RF portion of input 105 is part of a separate set-top box.
- the output signal may be provided via dedicated output connections, including, for example, HDMI ports, USB ports, or COMP outputs.
- the embodiments can be carried out by computer software implemented by the processor 1 10 or by hardware, or by a combination of hardware and software. As a non-limiting example, the embodiments can be implemented by one or more integrated circuits.
- the memory 120 can be of any type appropriate to the technical environment and can be implemented using any appropriate data storage technology, such as optical memory devices, magnetic memory devices, semiconductor-based memory devices, fixed memory, and removable memory, as non-limiting examples.
- the processor 1 10 can be of any type appropriate to the technical environment, and can encompass one or more of microprocessors, general purpose computers, special purpose computers, and processors based on a multi-core architecture, as non-limiting examples.
- FIG. 2 illustrates an example of a block-based hybrid video encoder 200. Variations of this encoder 200 are contemplated, but the encoder 200 is described below for purposes of clarity without describing all expected variations.
- FIG. 2 also illustrate an encoder in which improvements are made to the HEVC standard or a VVC standard Versatile Video Coding, Standard ITU-T H.266, ISO/IEC 23090-3, 2020) or an encoder employing technologies similar to HEVC or VVC, such as an encoder ECM under development by JVET (Joint Video Exploration Team).
- JVET Joint Video Exploration Team
- FIG. 2 illustrates an example of a block-based hybrid video encoder 200.
- the video sequence may go through pre-encoding processing (201 ), for example, applying a color transform to the input color picture (e.g., conversion from RGB 4:4:4 to YCbCr 4:2:0), or performing a remapping of the input picture components in order to get a signal distribution more resilient to compression (for instance using a histogram equalization of one of the color components).
- Metadata can be associated with the pre-processing, and attached to the bitstream.
- a picture is encoded by the encoder elements as described below.
- the picture is first analyzed to determine when a luma mapping is applied (LMCS) the function to be applied (295).
- Step 295 also possibly applies the forward luma mapping to the slice or picture.
- the picture to be encoded is partitioned (202) and processed in units of, for example, CUs (Coding Units). Each unit is encoded using, for example, either an intra or inter mode.
- a unit When a unit is encoded in an intra mode, it performs intra prediction (260).
- motion estimation (275) and compensation (270) are performed.
- LMCS is applied a forward luma mapping of the motion compensated prediction is applied (285).
- the encoder decides (205) which one of the intra mode or inter mode to use for encoding the unit, and indicates the intra/inter decision by, for example, a prediction mode flag. Prediction residuals are calculated, for example, by subtracting (210) the predicted block from the original image block.
- the prediction residuals are then transformed (225) and quantized (230).
- the quantized transform coefficients, as well as motion vectors and other syntax elements such as the picture partitioning information, are entropy coded (245) to output a bitstream.
- the encoder can skip the transform and apply quantization directly to the non-transformed residual signal.
- the encoder can bypass both transform and quantization, i.e., the residual is coded directly without the application of the transform or quantization processes.
- the encoder decodes an encoded block to provide a reference for further predictions.
- the quantized transform coefficients are de-quantized (240) and inverse transformed (250) to decode prediction residuals. Combining (255) the decoded prediction residuals and the predicted block, an image block is reconstructed.
- LMCS de-quantized
- In-loop filters (265) are then applied to the reconstructed picture to perform, for example, deblocking/SAO (Sample Adaptive Offset)/ALF (Adaptive Loop Filter) filtering to reduce encoding artifacts.
- the filtered image is stored in a reference picture buffer (280).
- FIG. 3 illustrates a block diagram of an example video decoder 300.
- a bitstream is decoded by the decoder elements as described below.
- Video decoder 300 generally performs a decoding pass reciprocal to the encoding pass as described in FIG. 2.
- the encoder 200 also generally performs video decoding as part of encoding video data.
- the input of the decoder includes a video bitstream, which can be generated by video encoder 200.
- the bitstream is first entropy decoded (330) to obtain transform coefficients, prediction modes, motion vectors, and other coded information.
- the picture partition information indicates how the picture is partitioned.
- the decoder may therefore divide (335) the picture according to the decoded picture partitioning information.
- the transform coefficients are de-quantized (340) and inverse transformed (350) to decode the prediction residuals. Combining (355) the decoded prediction residuals and the predicted block, an image block is reconstructed.
- LMCS an inverse luma mapping is performed on the reconstructed picture (390).
- the predicted block can be obtained (370) from intra prediction (360) or motion-compensated prediction (i.e., inter prediction) (375).
- LMCS motion-compensated prediction
- a forward luma mapping of the motion compensated prediction is applied (325).
- In-loop filters (365) are applied to the reconstructed image.
- the filtered image is stored at a reference picture buffer (380). Note that, for a given picture, the contents of the reference picture buffer 380 on the decoder 300 side is identical to the contents of the reference picture buffer 280 on the encoder 200 side for the same picture.
- the decoded picture can further go through post-decoding processing (385), for example, an inverse color transform (e.g., conversion from YCbCr 4:2:0 to RGB 4:4:4) or an inverse luma mapping performing the inverse of the forward luma mapping process performed in the pre-encoding processing (201 ).
- post-decoding processing can use metadata derived in the pre-encoding processing and signaled in the bitstream.
- Some of the embodiments described herein relates to in-loop luma mapping, and more particularly on updating inside the coding loop the luma mapping function, both at encoder and decoder side, based on samples already reconstructed in the current slice or picture or in other slice or picture.
- An aim is to improve the compression efficiency, that is, to reduce the bitrate while maintaining the quality, or equivalently to improve the quality while maintaining the bitrate.
- Any one of the embodiments described herein can be implemented for instance in the forward luma mapping module (285, 325) or inverse luma mapping (290, 390) of a video encoder 200 or video decoder 300 or in additional modules placed before these modules in the video encoder or decoder.
- data range of the luma signal is not corresponding to 1024 levels as expected for a 10-bit signal but it is corresponding to the limited range of 64-940 (also named standard range).
- the actual code range is even more reduced, because the maximum value of 1023 corresponds to a peak luminance of 10000 cd/m2, which is in practice never used. Instead, grading uses more frequently peak luminance up to 1000, 4000 or 5000 cd/m2, which leads to a codeword around 720, 850 and 875, respectively.
- VTM and ECM the LMCS function allows to modify the luma signal of the content to better exploit the 1 O-bit capabilities.
- a mapping function is applied to luma signal thanks to a pre-calculated function or LUT, computed at the encoder side. Values of the function or LUT are defined by the encoder based on specific characteristic of the content. For this purpose, the 1 O-bit representation (1024 levels) is split into a given number of N pieces (e.g. 16 intervals) of 1024/N levels (e.g. 64 when 16 intervals are used). Therefore, the luma mapping function is defined as a piece-wise linear function, defined in N segments.
- a Forward_Mapping LUT may be built from the piece-wise linear function.
- an lnverse_Mapping LUT is also generated based on the same piece-wise linear function. It will be used each time when a conversion from the mapped to the non-mapped domain is required.
- the Forward_Mapping and lnverse_Mapping may be applied to any picture of the video.
- the LMCS parameters are signaled by the encoder, in general once per intra period, in a high-level structure named APS.
- the table below illustrates an example of a corresponding syntax as implemented in the VVC/ITU-T H.266 standard.
- the decoder decodes this information, rebuild the forward and inverse mapping functions, and use these functions during the decoding process (forward mapping is applied to inter prediction samples, and inverse mapping is applied after the reconstruction process and before the in-loop filtering).
- forward mapping is applied to inter prediction samples
- inverse mapping is applied after the reconstruction process and before the in-loop filtering.
- the functions are pre-computed and do not change or adapt inside the slice or picture. Therefore, the mapping functions do not take into account the distortion brought by the signal quantization. They also do not take into account the local statistical changes of the signal. These drawbacks may impact the coding efficiency.
- mapping update stage uses as input signal prediction and reconstructed samples already processed in the slice or picture (typically, samples located in a template area of the block) to determine an update of the mapping function.
- the mapping update stage is applied prior to the forward mapping step (285, 325) applied to the inter-prediction block.
- the mapping update stage is applied prior to the inverse mapping step (290, 390) applied to the reconstructed block.
- the mapping update stage is applied before both the forward mapping step and the inverse mapping step.
- FIG. 1 1 and FIG. 12 respectively illustrate an example of a flowchart of a method for encoding (1100) and a method for decoding (1200) at least one block of a video according to an embodiment.
- a default mapping function is updated on a block-basis.
- the default mapping function is for example a luma mapping function determined for the LMCS tool and signaled in the bitstream.
- the current picture to encode references one of the parameter sets signaled in the bitstream to identify the default mapping function.
- an update of the default mapping function is determined based on template samples of the current block, and at 1130 the current block is encoded using the update of the default mapping function.
- the default mapping function is obtained, for instance by decoding the mapping function parameters encoded in the bitstream that are referred by the current picture to decode.
- an update of the default mapping function is determined based on template samples of the current block, and at 1230 the current block is decoded using the update of the default mapping function.
- FIG. 13 and FIG. 14 respectively illustrate an example of a flowchart of a method for encoding (1300) and a method for decoding (1400) at least one block of a video according to another embodiment.
- the mapping function of the LMCS is no more used as a starting point for determining an update of the mapping function on a block-basis, but an identity mapping function is rather used.
- the mapping function is determined based on template samples of the current block, and at 1320 the current block is encoded using the determined mapping function.
- the mapping function is determined in a same manner as on the encoder side based on template samples of the current block, and at 1420 the current block is decoded using the determined mapping function.
- the mapping function is determined as a look-up-table that maps sample values in a range of values of the signal bitdepth (for example, for a 10-bit signal, the considered range may be [0,1023]).
- the mapping function is an in-loop mapping function and can be a forward mapping function, or an inverse mapping function or both the forward and inverse mapping function, as illustrated on FIG. 2-7.
- pred block as prediction samples block obtained from an intra prediction (460, 560) or an inter-prediction including motion compensation steps (470, 575).
- a stage of mapping update of the forward mapping function is applied prior to the forward mapping of the inter-prediction block.
- the mapping update takes as input prediction and reconstructed samples from areas of the current slice or picture that have already been processed. For example, the top and left neighboring prediction and reconstructed samples of the inter-prediction block are used.
- a new mapping update step 495 is added between the motion compensation step 470 and the forward mapping step 485.
- the mapping update modifies the forward mapping function based on neighboring prediction and reconstruction samples (“template pred samples” and “template rec samples” in FIG. 4) of the current block.
- neighboring filtered samples (“template flit samples” in FIG. 4) coming from the in-loop filtering step 465 are also used as input of the mapping update step.
- the forward mapping (485) is then applied to the pred samples of the current block using the updated forward mapping function.
- Neighboring samples may be top and left samples surrounding the current block, but may also be more distant samples from areas already processed by the encoder / decoder, from the same picture, or from reference pictures.
- FIG. 5 illustrates the decoder side.
- a new mapping update step 595 is added between the motion compensation step 575 and the forward mapping step 525.
- the mapping update modifies the forward mapping function based on the neighboring prediction and reconstruction samples (“template pred samples” and “template rec sampled in FIG. 5) of the current block.
- neighboring filtered samples (“template flit samples” in FIG. 5) coming from the in-loop filtering step 565 are also used as input of the mapping update step.
- the forward mapping (525) is then applied to the pred samples of the current block using the updated forward mapping function.
- the process is also illustrated in FIG. 8.
- the samples of the pred block (800) have already been generated from the motion compensation step.
- the reconstructed and filtered samples are not yet available for the current block, but they may be available in the causal area surrounding the current block.
- the mapping update step (495 at encoder, 595 at decoder) takes as input the prediction samples in causal neighborhood (801 ) of the prediction block (800) (gray area around the pred block, named pred template), and the reconstructed samples in causal neighborhood (802) of the current block (gray area around the current block, named rec template).
- the template prediction samples (801 ) used for updating the mapping function are obtained by applying the intra or inter prediction (460, 470) that was used for encoding these samples.
- the prediction of the template samples may have been buffered when these samples were encoded / decoded, to avoid having to recompute the prediction of the template samples a second time for updating the mapping function.
- the template prediction samples (801 ) used for updating the mapping function are obtained by applying the same prediction mode (intra or inter-prediction) with the same parameters as the prediction for the current block.
- the template reconstructed samples (802) are obtained at the output of the addition step (455, 555) of the residual and the prediction when reconstructing these samples, before the in-loop filtering is applied to the template reconstructed samples.
- the prediction of the template samples is the one that was generated for encoding these samples.
- the filtered samples (803) in causal neighborhood of the current block can be used instead of or in complement of the rec template samples.
- the template filtered samples (803) are obtained as the samples output by the in-loop filters module (465, 565) applied to the template reconstructed samples after inverse mapping.
- the output of the mapping update step is an Updated Forward mapping function UFm(.).
- a stage of mapping update of the inverse mapping function is applied prior to the inverse mapping of the reconstructed block.
- the mapping update takes as input reconstructed and filtered samples from areas of the current slice or picture that have already been processed. For example, the top and left neighboring reconstructed and filtered samples of the block are used.
- a new mapping update step 496 is added between the residual and prediction addition step 455 and the inverse mapping step 490.
- the mapping update modifies the inverse mapping function based on the neighboring reconstructed and filtered samples (“template rec samples” and “template flit samples” in FIG. 6) of the current block.
- the inverse mapping (490) is then applied to the reconstructed samples (rec samples) of the current block using the updated inverse mapping function.
- FIG. 7 illustrates the decoder side.
- a new mapping update step 596 is added between the residual and prediction addition step 555 and the inverse mapping step 590.
- the mapping update modifies the inverse mapping function based on the neighboring reconstructed and filtered samples (“template rec samples” and “template flit samples” in FIG. 7) of the current block.
- the inverse mapping (596) is then applied to the reconstructed samples (rec samples) of the current block using the updated inverse mapping function.
- the process is also illustrated in FIG. 9.
- the samples of the rec block (900) have already been generated from the residual and prediction addition step.
- the filtered samples are not yet available for the current block, but they may be available in the causal area surrounding the current block.
- the mapping update step (496 at encoder, 596 at decoder) takes as input the reconstructed samples in causal neighborhood (902) of the reconstructed block (900) (gray area around the reconstructed block, named rec template), and the filtered samples in causal neighborhood (903) of the current block (gray area around the current block, named flit template).
- Neighboring samples may be top and left samples surrounding the current block, but may also be more distant samples from areas already processed by the encoder / decoder, from the same picture, or from reference pictures.
- the template reconstructed samples (902) are obtained at the output of the addition step (455, 555) of the residual and the prediction when reconstructing these samples.
- the prediction of the template samples is the one that was generated for encoding these samples.
- the template filtered samples (903) are obtained as the samples output by the inloop filters module (465, 565) applied to the template reconstructed samples after inverse mapping.
- the output of the mapping update step is an Updated Inverse mapping function Ulm(.).
- the use of the updated mapping function instead of the default (non-updated) mapping function is controlled by an indicator.
- the indicator is a flag signaled in the bitstream.
- the signaling can be done for example at high-level such as at sequence level (SPS signaling), picture level (PPS signaling), slice level (slice header signaling), APS level (APS signaling).
- SPS signaling sequence level
- PPS signaling picture level
- slice level slice level
- APS signaling APS signaling
- the signaling can be done for example at local level, such as CTU or CU level.
- the choice between the default mapping function and the updated mapping function for a given block may be inferred at both the encoder and decoder sides based on an analysis of the sanity of the updated mapping function. This advantageously avoids signaling of a control flag. Examples of sanity check of the updated mapping function are described further below.
- multi-mode updating is used, where multiple updated mapping functions may be derived, and an index is signaled, or inferred, at local level (e.g., CTU or CU) to indicate which mapping functions has to be used.
- multiple updated mapping functions can be derived using different sets of template samples. For example, one first updated mapping function is derived using the top and left template samples, one second updated mapping function is derived using the top template samples, one third updated mapping function is derived using the left template samples.
- An index indicates which one of the e.g., default mapping function, first updated mapping function, second updated mapping function, or third updated mapping function is used. When top or left samples in the template are not available, the coding length of the index may be reduced.
- the updated mapping function replaces the default mapping function for the mapping process used for the next coding blocks.
- the updated mapping function becomes the default mapping function for the next coding blocks.
- the updating of the inverse mapping function should not be needed, even if the forward mapping function has been updated.
- the updating of the forward mapping function is done to apply in the forward mapping step a slight correction of the input samples that aims at limiting the correction done by the following steps.
- the updating of the forward mapping function is done in step 495, its goal is to make the forward mapped prediction signal closer to the forward mapped original signal and therefore to reduce the energy of the residual.
- the updating of the forward mapping function is done in step 496, its goal is to make the inverse mapped reconstructed signal closer to the original signal and therefore to reduce the energy of corrective signal brought by the following in-loop filters.
- mapping function remains the reference mapping function for the next coding blocks.
- Other update of mapping function can be determined for the next coding blocks.
- mapping function corresponds to a LUT, def Lut[.], where defLut[ x ] is the mapped version of x.
- the input samples of the process are either:
- a set of template samples in 1 (x,y) that are in the non-mapped domain e.g. for the embodiment relating to the forward mapping, they may be the template prediction samples
- a set of template samples in2(x,y) that are in the mapped domain e.g. for the embodiment relating to the forward mapping, they may be the template reconstructed samples
- - or a set of template samples in 1 (x,y) that are in the mapped domain e.g. for the embodiment relating to the inverse mapping, they may be the template reconstructed samples
- a set of template samples in2(x,y) that are in the inverse-mapped domain e.g. for the embodiment relating to the inverse mapping, they may be the template filtered samples.
- the default mapping function def Lut[.] to be updated is either:
- the following embodiments provide for deriving an updated mapping function updLut[.] from def Lut[.], in 1 (x,y), in2(x,y), for (x,y) in the template area.
- the updated mapping function updLut[.] is derived by minimizing over the template samples a distortion between the samples in2(x,y) and the samples in 1 (x,y) mapped by updLut. Two examples of distortions are described below: where abs(x) is the absolute value of x.
- Step2 samples occurrence counting
- Step3 samples average derivation
- Step4 LUT update
- updLut[ k ] a*updLut[ k ] + (1 -a)*average[ k ]
- parameter “a” is to control the deviation from the default LLIT defLut. When “a” is close to 1 , updLut is constrained to stay close to defLut.
- the sanity check is based on the amplitude of average[ k ].
- the LUT is not updated.
- the maximum value of average[ k ] is too high, the LUT is not updated.
- the LUT is updated, but all average[ k ] , for any k, are clipped to a maximum value, for instance T avg .
- the sanity check is based on occurrence[ k ].
- T 0C c which can be for instance equal to Tocc — 4, or size_template/4
- the goal of the mapping update is to derive updLut such as: or because both in1 (the template filtered samples) and in2 (the template prediction samples) are in the non-mapped domain. Therefore, the application of invLut has to be taken into account.
- Another embodiment for deriving the updated mapping function updLut[.] is provided below. In this alternate approach, a single offset Off is computed and used for all the values identified in the template area:
- Step2 samples occurrence counting
- Step4 LUT update based on offset
- K is predefined parameter, for example equal to 2, 4, 8, 16 or 32.
- the average of in1 is computed over the template, then one first offset is defined for samples that are lower than the average, and one second offset is used for samples that are larger than or equal to the average.
- an history list of mapping functions is used to provide multiple mapping functions. For example, after the processing of each CTU, an updated mapping function is derived as described above (using the samples inside the CTU that has been processed, instead of the template samples surrounding the CTU). The derived mapping function is inserted in the history list of mapping functions, e.g. using a first-in-first-out approach. This advantageously allows dynamic adaptation of the used mapping function, to adapt to the local variations of the signal. For the current block, the updated mapping function may be selected among all the mapping functions stored in the history list of mapping functions.
- an index may be signaled to indicate which mapping function of the list is used for the current block.
- the default LUT is always included in the list, possibly at the first position in the list.
- the first candidate in the list is the latest derived updated mapping function.
- one index is used to indicate that the updated mapping function must be computed based on template samples, and not picked from a mapping function previously stored in the list.
- mapping function can be updated using a reference area, such as a group of preceding CTUs, tiles, subpictures or slices.
- a mapping function can be updated using a reference area, such as a group of preceding CTUs, tiles, subpictures or slices.
- the list can comprise only one updated mapping function, which is the latest updated mapping function from the reference area.
- the list also comprises the default mapping function.
- the template samples considered from updating the mapping function are taken from the causal spatial neighborhood of the current block to encode or decode.
- the template samples can also belong to reference areas that comprises temporal blocks or CTUs in the reference frames.
- the collocated temporal blocks or CTUs in the reference pictures used for predicting the current block are used as reference areas to update the mapping function of the current block.
- the temporal blocks or CTUs in the reference pictures pointed by the motion vector(s) MV used for predicting the current block are used as reference areas to update the mapping function of the current block.
- An illustration of this example is provided in the top part (a) of FIG.10.
- the updating process from any of the embodiments described above may apply even when LMCS is not activated for the current block, slice or picture.
- the default mapping function is considered to be an identity function as the default forward and inverse mapping functions.
- mapping function can still be enabled by determining an update mapping function from the identity function and applying the updated mapping function to the current block.
- the rest of the processes described above can then apply in the same manner as when LMCS is enabled.
- the mapping function updLut[ k ] the default mapping function defLut[ k ] is set to the identity function, or the updLut[ k ] function is initialized with the identity function.
- the update of the mapping function can be enabled or disabled independently from the enablement of LMCS tool.
- An aim of the update of the mapping function is to enable local correction of the block’s prediction or block’s reconstruction (depending on where the mapping is performed) per sample values.
- this embodiment provides a new block-based tool that enables the correction of the block’s prediction using a mapping function determined locally for the block. Parameters of the mapping function are determined for the current block based on the template samples as described in any of the embodiments above. Comparing with the LIC (local illumination compensation) tool that provides for a linear correction of the prediction, an advantage of the embodiments provided herein wherein the correction is performed by the mapping function is that the correction is determined locally per sample values.
- the mapping function is implemented using a LUT that enables providing a correction that is no more linear (or based on a parametric model).
- the LUT representing the mapping function is determined based on template samples histogram or occurrences.
- mapping functions are represented as piece-wise linear functions. For example, P pieces are used.
- the updating process of the mapping function may consist in updating the pivot points (or equivalently the slopes), in a same manner as described above. For instance, the updated pivot points may be estimated in order to minimize the distortion:
- FIG. 15 illustrates a block diagram of a system within which aspects of the present embodiments may be implemented, according to another embodiment.
- FIG. 15 shows one embodiment of an apparatus 1500 for encoding or decoding a video according to any one of the embodiments described herein.
- the apparatus comprises Processor 1510 and can be interconnected to a memory 1520 through at least one port. Both Processor 1510 and memory 1520 can also have one or more additional interconnections to external connections.
- Processor 1510 is also configured to, using any one of the embodiments described herein.
- the processor 1510 is configured to determine for at least one block of the video, an update of at least one mapping function using template samples of the at least one block, the mapping function being an in-loop mapping function, and encode or decode the at least one block using the at least one updated mapping function, using any one of the embodiments described herein.
- the processor 1510 using a computer program product comprising code instructions that implements any one of embodiments described herein.
- the device A comprises a processor in relation with memory RAM and ROM which are configured to implement a method for encoding a video, as described with FIG. 1 -15 and the device B comprises a processor in relation with memory RAM and ROM which are configured to implement a method for decoding a video as described in relation with FIG 1 -15.
- the network is a broadcast network, adapted to broadcast/transmit a coded video from device A to decoding devices including the device B.
- FIG. 16 shows an example of the syntax of a signal transmitted over a packet-based transmission protocol.
- Each transmitted packet P comprises a header H and a payload PAYLOAD.
- the payload PAYLOAD may comprise video data encoded according to any one of the embodiments described above.
- the payload can also comprise any signaling as described above.
- the payload can comprise one or more indicators.
- the one or more indicators comprise at least one of an indicator that indicates whether an updated mapping function or a default mapping function is used for the at least one block, or an indicator that indicates which updated mapping function to use for the at least one block when multiple updated mapping functions are available for the at least one block.
- Decoding can encompass all or part of the processes performed, for example, on a received encoded sequence in order to produce a final output suitable for display.
- processes include one or more of the processes typically performed by a decoder, for example, entropy decoding, inverse quantization, inverse transformation, and differential decoding.
- processes also, or alternatively, include processes performed by a decoder of various implementations described in this application, for example, entropy decoding a sequence of binary symbols to reconstruct image or video data.
- decoding refers only to entropy decoding
- decoding refers only to differential decoding
- decoding refers to a combination of entropy decoding and differential decoding
- decoding refers to the whole reconstructing picture process including entropy decoding.
- encoding can encompass all or part of the processes performed, for example, on an input video sequence in order to produce an encoded bitstream.
- processes include one or more of the processes typically performed by an encoder, for example, partitioning, differential encoding, transformation, quantization, and entropy encoding.
- processes also, or alternatively, include processes performed by an encoder of various implementations described in this application, for example, determining re-sampling filter coefficients, resampling a decoded picture.
- encoding refers only to entropy encoding
- encoding refers only to differential encoding
- encoding refers to a combination of differential encoding and entropy encoding.
- syntax elements are descriptive terms. As such, they do not preclude the use of other syntax element names.
- This disclosure has described various pieces of information, such as for example syntax, that can be transmitted or stored, for example.
- This information can be packaged or arranged in a variety of manners, including for example manners common in video standards such as putting the information into an SPS, a PPS, a NAL unit, a header (for example, a NAL unit header, picture header or a slice header), or an SEI message.
- Other manners are also available, including for example manners common for system level or application level standards such as putting the information into one or more of the following: a. SDP (session description protocol), a format for describing multimedia communication sessions for the purposes of session announcement and session invitation, for example as described in RFCs and used in conjunction with RTP (Real-time Transport Protocol) transmission.
- SDP session description protocol
- RTP Real-time Transport Protocol
- DASH MPD Media Presentation Description
- a Descriptor is associated to a Representation or collection of Representations to provide additional characteristic to the content Representation.
- RTP header extensions for example as used during RTP streaming.
- ISO Base Media File Format for example as used in OMAF and using boxes which are object-oriented building blocks defined by a unique type identifier and length also known as 'atoms' in some specifications.
- HLS HTTP live Streaming
- a manifest can be associated, for example, to a version or collection of versions of a content to provide characteristics of the version or collection of versions.
- Some embodiments refer to rate distortion optimization.
- the rate distortion optimization is usually formulated as minimizing a rate distortion function, which is a weighted sum of the rate and of the distortion.
- the approaches may be based on an extensive testing of all encoding options, including all considered modes or coding parameters values, with a complete evaluation of their coding cost and related distortion of the reconstructed signal after coding and decoding.
- Faster approaches may also be used, to save encoding complexity, in particular with computation of an approximated distortion based on the prediction or the prediction residual signal, not the reconstructed one.
- the implementations and aspects described herein can be implemented in, for example, a method or a process, an apparatus, a software program, a data stream, or a signal. Even if only discussed in the context of a single form of implementation (for example, discussed only as a method), the implementation of features discussed can also be implemented in other forms (for example, an apparatus or program).
- An apparatus can be implemented in, for example, appropriate hardware, software, and firmware.
- the methods can be implemented in, for example, a processor, which refers to processing devices in general, including, for example, a computer, a microprocessor, an integrated circuit, or a programmable logic device. Processors also include communication devices, such as, for example, computers, cell phones, portable/personal digital assistants ("PDAs”), and other devices that facilitate communication of information between end-users.
- PDAs portable/personal digital assistants
- references to “one embodiment” or “an embodiment” or “one implementation” or “an implementation”, as well as other variations thereof, means that a particular feature, structure, characteristic, and so forth described in connection with the embodiment is included in at least one embodiment.
- the appearances of the phrase “in one embodiment” or “in an embodiment” or “in one implementation” or “in an implementation”, as well any other variations, appearing in various places throughout this application are not necessarily all referring to the same embodiment.
- Determining the information can include one or more of, for example, estimating the information, calculating the information, predicting the information, or retrieving the information from memory.
- this application may refer to “accessing” various pieces of information. Accessing the information can include one or more of, for example, receiving the information, retrieving the information (for example, from memory), storing the information, moving the information, copying the information, calculating the information, determining the information, predicting the information, or estimating the information. Additionally, this application may refer to “receiving” various pieces of information. Receiving is, as with “accessing”, intended to be a broad term. Receiving the information can include one or more of, for example, accessing the information, or retrieving the information (for example, from memory).
- receiving is typically involved, in one way or another, during operations such as, for example, storing the information, processing the information, transmitting the information, moving the information, copying the information, erasing the information, calculating the information, determining the information, predicting the information, or estimating the information.
- any of the following “and/or”, and “at least one of”, for example, in the cases of “A/B”, “A and/or B” and “at least one of A and B”, is intended to encompass the selection of the first listed option (A) only, or the selection of the second listed option (B) only, or the selection of both options (A and B).
- such phrasing is intended to encompass the selection of the first listed option (A) only, or the selection of the second listed option (B) only, or the selection of the third listed option (C) only, or the selection of the first and the second listed options (A and B) only, or the selection of the first and third listed options (A and C) only, or the selection of the second and third listed options (B and C) only, or the selection of all three options (A and B and C).
- This may be extended, as is clear to one of ordinary skill in this and related arts, for as many items as are listed.
- the word “signal” refers to, among other things, indicating something to a corresponding decoder.
- the same parameter is used at both the encoder side and the decoder side.
- an encoder can transmit (explicit signaling) a particular parameter to the decoder so that the decoder can use the same particular parameter.
- signaling can be used without transmitting (implicit signaling) to simply allow the decoder to know and select the particular parameter. By avoiding transmission of any actual functions, a bit savings is realized in various embodiments. It is to be appreciated that signaling can be accomplished in a variety of ways.
- one or more syntax elements, flags, and so forth are used to signal information to a corresponding decoder in various embodiments. While the preceding relates to the verb form of the word “signal”, the word “signal” can also be used herein as a noun.
- implementations can produce a variety of signals formatted to carry information that can be, for example, stored or transmitted.
- the information can include, for example, instructions for performing a method, or data produced by one of the described implementations.
- a signal can be formatted to carry the bitstream of a described embodiment.
- Such a signal can be formatted, for example, as an electromagnetic wave (for example, using a radio frequency portion of spectrum) or as a baseband signal.
- the formatting can include, for example, encoding a data stream and modulating a carrier with the encoded data stream.
- the information that the signal carries can be, for example, analog or digital information.
- the signal can be transmitted over a variety of different wired or wireless links, as is known.
- the signal can be stored on a processor- readable medium.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
Claims
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202480054411.0A CN121729887A (en) | 2023-08-24 | 2024-08-22 | In-ring mapping function update |
| MX2026002229A MX2026002229A (en) | 2023-08-24 | 2026-02-24 | In-loop mapping function update |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP23306414.6 | 2023-08-24 | ||
| EP23306414 | 2023-08-24 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025040751A1 true WO2025040751A1 (en) | 2025-02-27 |
Family
ID=88017903
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/EP2024/073563 Pending WO2025040751A1 (en) | 2023-08-24 | 2024-08-22 | In-loop mapping function update |
Country Status (3)
| Country | Link |
|---|---|
| CN (1) | CN121729887A (en) |
| MX (1) | MX2026002229A (en) |
| WO (1) | WO2025040751A1 (en) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020096877A1 (en) * | 2018-11-05 | 2020-05-14 | Interdigital Vc Holdings, Inc. | Simplifications of coding modes based on neighboring samples dependent parametric models |
| US20220132110A1 (en) * | 2019-03-23 | 2022-04-28 | Lg Electronics Inc. | Filtering-based video or image coding comprising mapping |
| US20220182633A1 (en) * | 2019-03-15 | 2022-06-09 | Mediatek Inc. | Method and Apparatus of Latency Reduction for Chroma Residue Scaling |
| US20230231999A1 (en) * | 2018-07-18 | 2023-07-20 | Electronics And Telecommunications Research Institute | Method and device for effective video encoding/decoding via local lighting compensation |
-
2024
- 2024-08-22 CN CN202480054411.0A patent/CN121729887A/en active Pending
- 2024-08-22 WO PCT/EP2024/073563 patent/WO2025040751A1/en active Pending
-
2026
- 2026-02-24 MX MX2026002229A patent/MX2026002229A/en unknown
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20230231999A1 (en) * | 2018-07-18 | 2023-07-20 | Electronics And Telecommunications Research Institute | Method and device for effective video encoding/decoding via local lighting compensation |
| WO2020096877A1 (en) * | 2018-11-05 | 2020-05-14 | Interdigital Vc Holdings, Inc. | Simplifications of coding modes based on neighboring samples dependent parametric models |
| US20220182633A1 (en) * | 2019-03-15 | 2022-06-09 | Mediatek Inc. | Method and Apparatus of Latency Reduction for Chroma Residue Scaling |
| US20220132110A1 (en) * | 2019-03-23 | 2022-04-28 | Lg Electronics Inc. | Filtering-based video or image coding comprising mapping |
Non-Patent Citations (2)
| Title |
|---|
| "Versatile Video Coding, Standard ITU-T H.266", ISO/IEC 23090-3, 2020 |
| CHEN (ALIBABA-INC) J ET AL: "BoG report on CE2: luma-chroma dependency reduction", no. m49742, 6 July 2019 (2019-07-06), XP030208237, Retrieved from the Internet <URL:http://phenix.int-evry.fr/mpeg/doc_end_user/documents/127_Gothenburg/wg11/m49742-JVET-O1113-v1-JVET-O1113.zip JVET-O1113.docx> [retrieved on 20190706] * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN121729887A (en) | 2026-03-24 |
| MX2026002229A (en) | 2026-04-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20250373825A1 (en) | Signaling corrections for a convolutional cross-component model | |
| US20250365419A1 (en) | Methods and apparatuses for encoding/decoding a video | |
| US20240298011A1 (en) | Method and apparatus for video encoding and decoding | |
| EP3815371A1 (en) | Method and apparatus for video encoding and decoding based on adaptive coefficient group | |
| KR20240170918A (en) | Intra mode derivation for inter predicted coding units | |
| US20230106242A1 (en) | Method and apparatus for video encoding and decoding | |
| US20260012573A1 (en) | Methods and apparatuses for encoding and decoding an image or a video | |
| US20230141577A1 (en) | Method and apparatus for video encoding and decoding | |
| EP4625985A1 (en) | Hybrid explicit/implicit lfnst/nspt | |
| EP4625975A1 (en) | Video coding: coding parameter restrictions | |
| CN121729887A (en) | In-ring mapping function update | |
| US12206852B2 (en) | Derivation of quantization matrices for joint Cb-Br coding | |
| US20240195991A1 (en) | Adapting luma mapping with chroma scaling to 4:4:4 rgb image content | |
| WO2025082854A1 (en) | Quantization-constrained correction from filtered and non-filtered reconstructed pictures | |
| WO2025067866A1 (en) | Implicit lmcs codewords | |
| EP4710550A1 (en) | Adaptive cross-component prediction for inter coded blocks | |
| WO2025146297A1 (en) | Encoding and decoding methods using intra prediction with sub-partitions and corresponding apparatuses | |
| WO2025108861A1 (en) | Differential quantization-constrained correction filter | |
| WO2025146343A1 (en) | Cabac not-coded flag for bin streams following a pattern | |
| EP4672739A1 (en) | Coding and decoding methods with multiple motion compensation filters and corresponding devices | |
| WO2025056401A1 (en) | Encoding and decoding methods using multi-component adaptive filtering and corresponding apparatuses | |
| WO2025252397A1 (en) | Encoding and decoding methods using multiple transform set selection and corresponding apparatuses | |
| WO2024126045A1 (en) | Methods and apparatuses for encoding and decoding an image or a video | |
| WO2026008385A1 (en) | Dimd and obic histogram adaptation to mip modes | |
| WO2025103819A1 (en) | Solving input colour space inference ambiguity in sl-hdr1 standard |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24757989 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202617022078 Country of ref document: IN Ref document number: MX/A/2026/002229 Country of ref document: MX |
|
| WWP | Wipo information: published in national office |
Ref document number: 202617022078 Country of ref document: IN |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2024757989 Country of ref document: EP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWP | Wipo information: published in national office |
Ref document number: MX/A/2026/002229 Country of ref document: MX |
