Forward LUMA mapping filter for mask information video coding

A piecewise linear model for luma mapping with chroma scaling pivot points addresses 'illegal' sample values in object masks, enhancing video coding efficiency for machine-centric applications by correcting these values and improving compression.

WO2025168270A1PCT designated stage Publication Date: 2025-08-14NOKIA TECHNOLOGIES OY
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2024/087418
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-02-06
Filing Date
2024-12-19
Publication Date
2025-08-14

AI Technical Summary

Technical Problem

Existing video coding technologies face inefficiencies due to 'illegal' sample values in object masks, leading to unnecessary residual coding and hindered compression efficiency, particularly in the context of machine consumption where traditional human-centric quality metrics may not suffice.

Method used

Implement a piecewise linear model for luma mapping with chroma scaling pivot points to define forward and inverse mapping functions, using a step function set for decoder operations, and integrate these functions into the video coding process to correct 'illegal' values and enhance compression efficiency for machine-centric applications.

Benefits of technology

The proposed method improves compression efficiency by correcting 'illegal' sample values, ensuring accurate reconstruction for machine analysis tasks, thereby optimizing video coding for machine consumption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2024087418_14082025_PF_FP_ABST
    Figure EP2024087418_14082025_PF_FP_ABST
Patent Text Reader

Abstract

In accordance with example embodiments of the invention as shown in FIG. 12 there is at least a method and apparatus to perform receiving luma mapping parameters; receiving a first coded picture with a first indication about luma mapping being enabled for said first coded picture and a second indication that the luma mapping parameters are used for said first coded picture; deriving an inverse and a forward luma mapping function based on the luma mapping parameters received; wherein the luma mapping parameters define a forward luma mapping function using a piecewise linear model; based on object mask information coding being indicated, setting a forward mapping function and an inverse mapping function to a same step function set using the forward luma mapping function at a decoder; decoding or encoding the first coded picture; applying a derived inverse luma mapping function to the first coded picture for a reconstruction of the first coded picture; storing the reconstructed first coded picture in a reference picture buffer; receiving a second coded picture; and decoding the second coded picture using the reconstruction of the first coded picture in the reference picture buffer as a reference for an inter prediction by applying the forward luma mapping function on the generated prediction.
Need to check novelty before this filing date? Find Prior Art

Description

FORWARD LUMA MAPPING FILTER FOR MASK INFORMATION VIDEO CODINGTECHNICAL FIELD:

[0001] The teachings in accordance with the exemplary embodiments of this invention relate generally to utilizing an existing tool in VVC (luma mapping of LMCS) by allowing the LUT and, more specifically, relate to utilizing an existing tool in VVC (luma mapping of LMCS) by allowing the LUT to be used in mapping to be defined differently for nextgeneration video coding standard(s).BACKGROUND:

[0002] This section is intended to provide a background or context to the invention that is recited in the claims. The description herein may include concepts that could be pursued but are not necessarily ones that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, what is described in this section is not prior art to the description and claims in this application and is not admitted to be prior art by inclusion in this section.

[0003] Certain abbreviations that may be found in the description and / or in the Figures are herewith defined as follows:ALF adaptive loop filterAMVP advanced motion vector predictionAPS adaptation parameter setCTU coding tree unitCU coding unitDBF deblocking filterPU prediction unitQP quantization parameterRD rate-distortionSAO sample adaptive offset filterVVC Versatile Video Codec, Versatile Video CodingLMCS luma mapping with chroma scalingLUT look-up table

[0004] Intra, block copy and inter prediction processes might use interpolation operations to generate a predicted block from previously decoded samples available either in the current frame or in reference frames. These operations may result in sample values that are different than the allowed values in an object mask. In prior art, a post filter or an in-loop filter is proposed for mask recovery, in order to correct these “illegal” values in the final output mask. However, because prediction signal might have these “illegal” values uncorrected, there might be unnecessary residual coding which might hinder compression efficiency.

[0005] Example embodiments of this invention propose improved operations for avoiding at least these issues.SUMMARY:

[0006] This section contains examples of possible implementations and is not meant to be limiting.

[0007] In another example aspect of the invention, there is an apparatus, such as a user equipment side apparatus, comprising: at least one processor; and at least one non-transitory memory storing instructions, that when executed by the at least one processor, cause the apparatus at least to: receive luma mapping parameters; receive a first coded picture with a first indication about luma mapping being enabled for said first coded picture and a second indication that the luma mapping parameters are used for said first coded picture; derive an inverse and a forward luma mapping function based on the luma mapping parameters received; wherein the luma mapping parameters define a forward luma mapping function using a piecewise linear model; based on object mask information coding being indicated, set a forward mapping function and an inverse mapping function to a same step function set using the forward luma mapping function at a decoder; decode the first coded picture; apply a derived inverse luma mapping function to the first coded picture for a reconstruction of the first coded picture; store the reconstructed first coded picture in a reference picture buffer; receive a second coded picture; decode the second coded picture using the reconstruction of the first codedpicture in the reference picture buffer as a reference for an inter prediction by applying the forward luma mapping function on the generated prediction.

[0008] In still another example aspect of the invention, there is a method, comprising: receiving luma mapping parameters; receiving a first coded picture with a first indication about luma mapping being enabled for said first coded picture and a second indication that the luma mapping parameters are used for said first coded picture; deriving an inverse and a forward luma mapping function based on the luma mapping parameters received; wherein the luma mapping parameters define a forward luma mapping function using a piecewise linear model; based on object mask information coding being indicated, set a forward mapping function and an inverse mapping function to a same step function setting using the forward luma mapping function at a decoder; decoding the first coded picture; apply a derived inverse luma mapping function to the first coded picture for a reconstruction of the first coded picture; storing the reconstructed first coded picture in a reference picture buffer; receiving a second coded picture; decoding the second coded picture using the reconstruction of the first coded picture in the reference picture buffer as a reference for an inter prediction by applying the forward luma mapping function on the generated prediction.

[0009] A further example embodiment is an apparatus and a method comprising the apparatus and the method of the previous paragraphs, wherein the first coded picture is one of an intra-coded picture or inter-coded picture and the second coded picture is coded using an inter-coded picture, wherein there is receiving information of valid luma sample values in the first picture; and receiving the luma mapping with chroma scaling pivot points for the luma mapping with a chroma scaling adaptation parameter set from said valid luma sample values, where the luma mapping with chroma scaling pivot points are set according to the total number of different valid luma samples and available bit depth, wherein there is encoding at least one of the forward luma mapping or the inverse luma mapping with chroma scaling pivot points in a manner that a valid luma sample value is represented by at least two luma mapping with chroma scaling pivot points, which specify the piece-wise linear inverse luma mapping function in such a manner that a luma sample given as input and mapped to the piece-wise linear inverse luma mapping function returns the valid luma sample value, wherein there is signalling luma mapping step function parameters in an adaption parameter set to be realized by one of repurposing luma mapping with chroma scaling related syntax elements, whereinthere are luma mapping with chroma scaling syntax elements for the derivation of the step function parameters for object mask delivery for object mask delivery, wherein there is defining a derivation of a look-up table from signaled parameters in the adaption parameter set, wherein changes required in the repurpose luma mapping are using luma mapping with chroma scaling data semantics, wherein there is adding before a residual coding a luma mapping function after at least one of an intra prediction, an intra block copy, or a template matching prediction.

[0010] A non-transitory computer-readable medium storing program code, the program code executed by at least one processor to perform at least the method as described in the paragraphs above.

[0011] In yet another example aspect of the invention, there is an apparatus comprising: means for receiving luma mapping parameters; means for receiving a first coded picture with a first indication about luma mapping being enabled for said first coded picture and a second indication that the luma mapping parameters are used for said first coded picture; means for deriving an inverse and a forward luma mapping function based on the luma mapping parameters received; wherein the luma mapping parameters define a forward luma mapping function using a piecewise linear model; means, based on object mask information coding being indicated, for setting a forward mapping function and an inverse mapping function to a same step function set using the forward luma mapping function at a decoder; means for decoding the first coded picture; means for applying a derived inverse luma mapping function to the first coded picture for a reconstruction of the first coded picture; means for storing the reconstructed first coded picture in a reference picture buffer; means for receiving a second coded picture; and means for decoding the second coded picture using the reconstruction of the first coded picture in the reference picture buffer as a reference for an inter prediction by applying the forward luma mapping function on the generated prediction.

[0012] In another example aspect of the invention, there is an apparatus, such as a user equipment side apparatus, comprising: at least one processor; and at least one non-transitory memory storing instructions, that when executed by the at least one processor, cause the apparatus at least to: receive a first picture; derive an inverse and a forward luma mapping function based on the valid luma values in said first picture;encode luma mapping parameters describing said forward luma mapping function; encode an indication in or along the bit stream that the luma mapping parameters are applied; encode an indication in or along the bit stream picture that object mask information coding is applied; wherein the luma mapping parameters define a forward luma mapping function using a piecewise linear model; based on object mask information coding being indicated, set a forward mapping function and an inverse mapping function to a same step function set using the forward luma mapping function at the encoder; encode the first picture to a first coded picture; apply the inverse luma mapping function for a reconstruction of the first coded picture; store the reconstructed first coded picture in a reference picture buffer; receive a second picture; encode the second picture to a second coded picture using the reconstruction of the first coded picture in the reference picture buffer as a reference for an inter prediction and by applying the forward luma mapping function on the generated prediction; apply a derived inverse luma mapping function to the second coded picture for a reconstruction of the second coded picture; and store the reconstructed second coded picture in a reference picture buffer

[0013] In still another example aspect of the invention, there is a method, comprising: receiving a first picture; deriving an inverse and a forward luma mapping function based on the valid luma values in said first picture; encoding luma mapping parameters describing said forward luma mapping function; encoding an indication in or along the bit stream that the luma mapping parameters are applied; encoding an indication in or along the bit stream picture that object mask information coding is applied; wherein the luma mapping parameters define a forward luma mapping function using a piecewise linear model; based on object mask information coding being indicated, setting a forward mapping function and an inverse mapping function to a same step function set using the forward luma mapping function at the encoder; encoding the first picture to a first coded picture; applying the inverse luma mapping function for a reconstruction of the first coded picture; storing the reconstructed first coded picture in a reference picture buffer; receiving a second picture; encoding the second picture to a second coded picture using the reconstruction of the first coded picture in the reference picture buffer as a reference for an inter prediction and by applying the forward luma mapping function on the generated prediction; applying a derived inverse luma mapping function to the second coded picture for a reconstruction of the second coded picture; and storing the reconstructed second coded picture in a reference picture buffer.

[0014] A further example embodiment is an apparatus and a method comprising the apparatus and the method of the previous paragraphs, wherein encoding at least one of the forward luma mapping or the inverse luma mapping with chroma scaling pivot points in a manner that a valid luma sample value is represented by at least two luma mapping with chroma scaling pivot points, which specify the piece-wise linear inverse luma mapping function in such a manner that a luma sample given as input and mapped to the piece-wise linear inverse luma mapping function returns the valid luma sample value, and wherein there is signalling luma mapping step function parameters in an adaption parameter set to be realized by one of repurposing luma mapping with chroma scaling related syntax elements, and wherein luma mapping with chroma scaling syntax elements is performed for the derivation of the step function parameters for object mask delivery.

[0015] In yet another example aspect of the invention, there is an apparatus comprising: means for receiving a first picture; means for deriving an inverse and a forward luma mapping function based on the valid luma values in said first picture; means for encoding luma mapping parameters describing said forward luma mapping function; means for encoding an indication in or along the bit stream that the luma mapping parameters are applied; means for encoding an indication in or along the bit stream picture that object mask information coding is applied; wherein the luma mapping parameters define a forward luma mapping function using a piecewise linear model; means, based on object mask information coding being indicated, for setting a forward mapping function and an inverse mapping function to a same step function set using the forward luma mapping function at the encoder; means for encoding the first picture to a first coded picture; means for applying the inverse luma mapping function for a reconstruction of the first coded picture; means for storing the reconstructed first coded picture in a reference picture buffer; means for receiving a second picture; means for encoding the second picture to a second coded picture using the reconstruction of the first coded picture in the reference picture buffer as a reference for an inter prediction and by applying the forward luma mapping function on the generated prediction; apply a derived inverse luma mapping function to the second coded picture for a reconstruction of the second coded picture; store the reconstructed second coded picture in a reference picture buffer.

[0016] In accordance with the example embodiments as described in the paragraph above, at least the means for deriving, encoding, applying, determining, generating, receiving,and applying comprises a network interface, and computer program code stored on a computer- readable medium and executed by at least one processor.

[0017] A communication system comprising the user side apparatus and a network side apparatus performing operations as described above.BRIEF DESCRIPTION OF THE DRAWINGS:

[0018] The above and other aspects, features, and benefits of various embodiments of the present disclosure will become more fully apparent from the following detailed description with reference to the accompanying drawings, in which like reference signs are used to designate like or equivalent elements. The drawings are illustrated for facilitating better understanding of the embodiments of the disclosure and are not necessarily drawn to scale, in which:

[0019] FIG. 1 shows the VVC decoding loop, highlighting its in-loop filter;

[0020] FIG. 2 shows a number of task-NNs to obtain a low bitrate;

[0021] FIG. 3 shows examples of Map Data;

[0022] FIG. 4 shows an example of masks representation in auxiliary picture in JVET-AD0175;

[0023] FIG. 5 shows example of overlapped mask case in JVET-AD0175;

[0024] FIG. 6A shows an example of single-mask sequence (all persons with the same mask IDs);

[0025] FIG. 6B shows an example of multiple-mask sequence (different persons with different mask IDs);

[0026] FIG. 7 shows an LMCS in-loop filter architecture;

[0027] FIG. 8 shows VVC decoder, where forward luma mapping and inverse luma mapping are applied;

[0028] FIG. 9 shows in addition to existing blocks in VVC decoder, it is also proposed to apply luma mapping for mask recovery on the intra prediction block before residual calculation (shown in the new Luma Mapping (FWD) block.

[0029] FIG. 10 shows slice header syntax;

[0030] FIG. 11 shows a high-level block diagram of various devices used in carrying out various aspects of the invention; and

[0031] FIG. 12 shows a method in accordance with example embodiments of the invention which may be performed by an apparatus;

[0032] FIG. 13 shows another method in accordance with example embodiments of the invention which may be performed by an apparatus.DETAILED DESCRIPTION:

[0033] In example embodiments of this invention there is proposed at least a method and apparatus for utilizing an existing tool in VVC (luma mapping of LMCS) by allowing the LUT to be used in mapping to be defined differently for next-generation video coding standard(s).

[0034] Hybrid video codecs, for example ITU-T H.263, H.264 / AVC, HEVC, and VVC, may encode the video information in two phases. At first, pixel values in a certain picture are (or “block”) predicted for example by motion compensation means (finding and indicating an area in one of the previously coded video frames that corresponds closely to the block being coded) or by spatial means (using already reconstructed pixel values from the same picture that are either around the block or further away, to be coded in a specified manner). In the first phase, predictive coding may be applied, for example, as so-called sample prediction and / or so-called syntax prediction.

[0035] In the sample prediction, pixel or sample values in a certain picture area or "block" are predicted. These pixel or sample values can be predicted, for example, using one or more of motion compensation or intra prediction mechanisms.

[0036] Motion compensation mechanisms (which may also be referred to as inter prediction, temporal prediction or motion-compensated temporal prediction or motion- compensated prediction or MCP) involve finding and indicating an area in one of the previously encoded video frames that corresponds closely to the block being coded. Inter prediction may reduce temporal redundancy.

[0037] Intra prediction, where pixel or sample values can be predicted by spatial mechanisms, involve finding and indicating a spatial region relationship. Intra prediction utilizes the fact that adjacent pixels within the same picture are likely to be correlated. Intra prediction can be performed in spatial or transform domain, i.e., either sample values or transform coefficients can be predicted. Intra prediction is typically exploited in intra coding, where no inter prediction is applied.

[0038] Similar to motion compensated prediction, another block copy based prediction method is finding and indicating an area in the previously encoded parts of the same frame that corresponds closely to the block being coded within the same picture, which exploits the repeating patterns in a scene.

[0039] In the syntax prediction, which may also be referred to as parameter prediction, syntax elements and / or syntax element values and / or variables derived from syntax elements are predicted from syntax elements (de)coded earlier and / or variables derived earlier. Nonlimiting examples of syntax prediction are provided below.

[0040] In motion vector prediction, motion vectors e.g. for inter and / or inter-view prediction may be coded differentially with respect to a block-specific predicted motion vector. In many video codecs, the predicted motion vectors are created in a predefined way, for example by calculating the median of the encoded or decoded motion vectors of the adjacent blocks. Another way to create motion vector predictions, sometimes referred to as advancedmotion vector prediction (AMVP), is to generate a list of candidate predictions from adjacent blocks and / or co-located blocks in temporal reference pictures and signalling the chosen candidate as the motion vector predictor. In addition to predicting the motion vector values, the reference index of previously coded / decoded picture can be predicted. The reference index is typically predicted from adjacent blocks and / or co-located blocks in temporal reference picture. Differential coding of motion vectors is typically disabled across slice boundaries.

[0041] The block partitioning, e.g. from CTU to CUs and down to PUs, may be predicted.

[0042] In filter parameter prediction, the filtering parameters e.g. for sample adaptive offset may be predicted. Prediction approaches using image information from a previously coded image can also be called as inter prediction methods which may also be referred to as temporal prediction and motion compensation. Prediction approaches using image information within the same image can also be called as intra prediction methods.

[0043] Secondly, the prediction error, i.e. the difference between the predicted block of pixels and the original block of pixels, is coded. This may be done by transforming the difference in pixel values using a specified transform (e.g. Discrete Cosine Transform (DCT) or a variant of it), quantizing the coefficients and entropy coding the quantized coefficients. By varying the fidelity of the quantization process, encoder can control the balance between the accuracy of the pixel representation (picture quality) and size of the resulting coded video representation (file size of transmission bitrate).

[0044] In many video codecs, including H.264 / AVC, HEVC, and VVC, motion information is indicated by motion vectors associated with each motion compensated image block. Each of these motion vectors represents the displacement of the image block in the picture to be coded (in the encoder) or decoded (at the decoder) and the prediction source block in one of the previously coded or decoded images (or pictures). In H.264 / AVC, HEVC, and VVC, as many other video compression standards, a picture is divided into a mesh of rectangles, for each of which a similar block in one of the reference pictures is indicated for inter prediction. The location of the prediction block is coded as a motion vector that indicates the position of the prediction block relative to the block being coded.

[0045] In Versatile Video Codec (VVC), there are the following new coding tools.• Intra prediction:- 67 intra mode with wide angles mode extension- Block size and mode dependent 4 tap interpolation filter- Position dependent intra prediction combination (PDPC)- Cross component linear model intra prediction (CCLM)- Multi-reference line intra prediction- Intra sub-partitions- Weighted intra prediction with matrix multiplication• Inter-picture prediction- Block motion copy with spatial, temporal, history-based, and pairwise average merging candidates- Affine motion inter prediction- sub-block based temporal motion vector prediction- Adaptive motion vector resolution- 8x8 block-based motion compression for temporal motion prediction- High precision (1 / 16 pel) motion vector storage and motion compensation with 8-tap interpolation filter for luma component and 4-tap interpolation filter for chroma component- Triangular partitions- Combined intra and inter prediction- Merge with MVD (MM VD)- Symmetrical MVD coding- Bi-directional optical flow- Decoder side motion vector refinement- Bi-prediction with CU-level weight• Transform, quantization and coefficients coding- Multiple primary transform selection with DCT2, DST7 and DCT8- Secondary transform for low frequency zone- Sub-block transform for inter predicted residual- Dependent quantization with max QP increased from 51 to 63- Transform coefficient coding with sign data hiding- Transform skip residual coding• Entropy Coding- Arithmetic coding engine with adaptive double windows probability update• In loop filter- In-loop reshaping- Deblocking filter with strong longer filter- Sample adaptive offset- Adaptive Loop Filter• Screen content coding:- Current picture referencing with reference region restriction• 360-degree video coding- Horizontal wrap-around motion compensation• High-level syntax and parallel processing- Reference picture management with direct reference picture list signalling- Tile groups with rectangular shape tile groups

[0046] Partitioning in VVC

[0047] In VVC, each picture is divided into coding tree units (CTUs) similar to HEVC. A picture may also be divided into slices, tiles, bricks and sub-pictures. CTU may be split into smaller CUs using quaternary tree structure. Each CU may be divided using quad-tree and nested multi-type tree including ternary and binary split. There are specific rules to infer partitioning in in picture boundaries. The redundant split patterns are disallowed in nested multi-type partitioning.

[0048] Loop filter in VVC

[0049] The purpose of in-loop filtering is to reduce artifacts and distortions that can occur during the compression process. Compression techniques such as block-based motion compensation and discrete cosine transform (DCT) can introduce artifacts such as blocking, ringing, and blurring in the decoded video. In-loop filtering is designed to reduce these artifacts and improve the perceived visual quality of the video.

[0050] FIG. 1 shows a Versatile Video Codec (VVC) In-loop filter. As shown in FIG. 1 the VCC in-loop filter includes an adaptive loop filter (ALF), a sample adaptive offset filter (SAO), a deblocking filter (DBF), and luma mapping with chroma scaling (LMCS).

[0051] In-loop filters play a critical role in the maintenance of compressed video quality since they not only can improve the quality of the current frame but can also provide a higher quality reference for subsequent frames.

[0052] Four processing steps, namely a luma mapping with chroma scaling (LMCS) process, followed by a deblocking filter (DBF), a sample adaptive offset (SAO) filter, and an adaptive loop filter (ALF) are applied to the reconstructed samples before writing them into the decoded picture buffer. The DBF and SAO are similar to that of the HEVC standard, whereas LMCS and ALF are newly introduced in VVC.

[0053] A block-based ALF is used in VVC, which comprises luma ALF, chroma ALF and cross-component ALF (CC-ALF). The ALF filter coefficients are either pre-defined and fixed in both encoder and decoder or adaptively signaled on a picture basis using adaptation parameter set (APS).

[0054] Background information on Video Coding for Machines (VCM)

[0055] Reducing the distortion in image and video compression is often intended to increase human perceptual quality, as humans are considered to be the end users, i.e. consuming / watching the decoded image. Recently, with the advent of machine learning, especially deep learning, there is a rising number of machines (i.e., autonomous agents) that analyze data independently from humans and that may even take decisions based on the analysis results without human intervention. Examples of such analysis are object detection, scene classification, semantic segmentation, video event detection, anomaly detection, pedestrian tracking, etc. Example use cases and applications are self-driving cars, video surveillance cameras and public safety, smart sensor networks, smart TV and smart advertisement, person re-identification, smart traffic monitoring, drones, etc. This may raise the following question: when decoded data is consumed by machines, shouldn’t we aim at a different quality metric -other than human perceptual quality- when considering mediacompression in inter-machine communications? Also, dedicated algorithms for compressing and decompressing data for machine consumption are likely to be different than those for compressing and decompressing data for human consumption. The set of tools and concepts for compressing and decompressing data for machine consumption is referred to here as Video Coding for Machines.

[0056] It is likely that the receiver-side device has multiple “machines” or neural networks (NNs). These multiple machines may be used in a certain combination which is for example determined by an orchestrator sub-system. The multiple machines may be used for example in succession, based on the output of the previously used machine, and / or in parallel. For example, a video which was compressed and then decompressed may be analyzed by one machine (NN) for detecting pedestrians, by another machine (another NN) for detecting cars, and by another machine (another NN) for estimating the depth of all the pixels in the frames.

[0057] Also, please notice that we use the term “receiver-side” or “decoder-side” to refer to the physical or abstract entity or device which contains one or more machines, and runs these one or more machines on some encoded and eventually decoded video representation which is encoded by another physical or abstract entity or device, the “encoder-side device”. The encoded video data may be stored into a memory device, for example as a file. The stored file may later be provided to another device. Alternatively, the encoded video data may be streamed from one device to another.

[0058] FIG. 2 shows a number of task-NNs to obtain a low bitrate. As shown in FIG. 2 there is a video input to a VCM encoder then a VCM decoder and to decoded data machines. From the decoded data machines of FIG. 2 the decoded video goes to tasks NNl-NNx to be evaluated and perfomed by each of these tasks.

[0059] FIG. 2 is a general illustration of the pipeline of Video Coding for Machines. A VCM encoder encodes the input video into a bitstream. A bitrate may be computed from the bitstream in order to evaluate the size of the bitstream. A VCM decoder decodes the bitstream output by the VCM encoder. The output of the VCM decoder is referred in FIG. 2 as “Decoded data for machines”. This data may be considered as the decoded or reconstructed video. However, in some implementations of this pipeline, this data may not have same or similar characteristics as the original video which was input to the VCM encoder. For example, thisdata may not be easily understandable by a human by simply rendering the data onto a screen. The output of VCM decoder is then input to one or more task neural network.

[0060] In FIG. 2, for the sake of illustrating that there may be any number of task-NNs, there are three example task-NNs, and a non-specified one (Task-NN X). The goal of VCM is to obtain a low bitrate while guaranteeing that the task-NNs still perform well in terms of the evaluation metric associated to each task.

[0061] When a conventional video encoder, such as a H.266 / VVC encoder, is used as a VCM encoder, one or more of the following approaches may be used to adapt the encoding to be suitable to machine analysis tasks:One or more regions of interest (ROIs) may be detected. An ROI detection method may be used. For example, ROI detection may be performed using a task NN, such as an object detection NN. In some cases, ROI boundaries of a group of pictures or an intra period may be spatially overlaid and rectangular areas may be formed to cover the ROI boundaries. The detected ROIs (or rectangular areas, likewise) may be used in one or more of the following ways: o The quantization parameter (QP) may be adjusted spatially in a manner that ROIs are encoded using finer quantization step size(s) than other regions. For example, QP may be adjusted CTU-wise, o The video is preprocessed to contain only the ROIs, while the other areas are replaced by one or more constant sample values or removed, o A grid is formed in a manner that a single grid cell covers a ROI. Grid rows or grid columns that contain no ROIs are downsampled as preprocessing to encoding;Quantization parameter of the highest temporal sublayer(s) is increased (i.e. coarser quantization is used) when compared to practices for human watchable video;The original video is temporally downsampled as preprocessing prior to encoding. A frame rate upsampling method may be used as postprocessing subsequent to decoding, if machine analysis at the original frame rate is desired;- A filter is used to preprocess the input to the conventional encoder. The filter may be a machine learning based filter, such as a convolutional neural network.

[0062] Background on object mask information in video coding

[0063] Sending object masks as video data allows results of video analysis performed by the encoder, such as information about object bounding boxes and object labels, to be sent to the decoder. This could reduce the workload and power consumption of the decoder.

[0064] FIG. 3 shows examples of Map Data. FIG. 3 shows an object mask (top left) with 8 identified objects (phones & people) derived from texture video (bottom left), and detail of object mask (right).

[0065] Object masks can be coded as grayscale images, with each code value identifying one object. Lossless coding of such maps is costly in terms of bitrate. Lossy coding of objects maps affects the reconstruction accuracy negatively and consequently affects any subsequent tasks performed at the decoder relying on such mask data, i.e. person identification, tracking, etc.

[0066] Other forms of mask information video may include:• Annotated region masks• Region of Interest (ROI) masks• ROI masks for VCM• Alpha mask• Occupancy mask• Filtering mask to control post-processing (such as film grain synthesis), in-loop filtering, and / or post-filtering• Depth map with a constrained number of depth levels

[0067] All of these forms of mask have the same problem when it comes to video coding. Lossless compression is costly in terms of bit rate, lossy compression is affecting the accuracy of the reconstructed masks.

[0068] Mask images typically contain sharp object edges, which may in turn cause typical compression artefacts in lossy compression, such as ringing noise or softening of the sharp edges. However, many applications using mask images would greatly benefit from accurate and sharp object edges. For example, errors in the occupancy mask may cause "flying pixels" in the reconstructed volumetric image or video.

[0069] Background on object mask video coding (JVET-AD0175)

[0070] FIG. 4 shows an example of masks representation in auxiliary picture in JVET- AD0175.

[0071] Usually, an object mask is a binary matrix wherein “0” represents background and “1” represents the foreground. But for the auxiliary picture with luma sample bit-depth equal to BitDepthY, there are l«BitDepthY different values for each sample. To distinguish different masks within one picture, JVET-AD0175 uses the sample value of auxiliary picture as the ID of the mask. That is to say, in the auxiliary picture, the samples with the same value form a mask. And the regions with different sample values represent different masks. For example, as shown in FIG. 4, it is a 16x8 auxiliary picture, and numbers in FIG. 4 denote the sample values. So, there are four different masks in the auxiliary. The samples with value 5 form a mask with ID equal to 5; the samples with value 10 form a mask with ID equal to 10; the samples with value 20 form a mask with ID equal to 20; and the samples with value 0 (the while region) form a mask with ID equal 0 (the special mask could be labelled as “background”.

[0072] As the mask can be overlapped, multiple object mask auxiliary pictures (one auxiliary picture in one layer) can used for one primary picture to handle overlapping case. In that case, the samples with same position but in the different mask picture could belong to different masks overlapped with each other. For example, as shown in FIG. 6, there are two 4x4 object mask auxiliary pictures. In the picture 0, the top-left 2x2 block is a mask with ID 5, and in the picture 1, the center 2x2 block is a mask with ID 10. When a decoder receives these two auxiliary pictures, it is clear that there are two masks being overlapped at position (1,1).

[0073] FIG. 5 shows an example of an overlapped mask case in JVET-AD0175. As shown in FIG. 5 there is an object mask auxiliary picture 0 and an object mask auxiliary picture 1 showing an example of an overlapped mask case.

[0074] Mask sequence generation

[0075] FIG. 6A shows an example of single-mask sequence (all persons with the same mask IDs), and FIG. 6B shows an example of multiple-mask sequence (different persons with different mask IDs set to 64, 128, 192 and 248).

[0076] Mask recovery

[0077] A “mask recovery” process can be added after the mask sequences are decoded. It outputs the recovered mask sequences.

[0078] For single-mask sequences, the samples with decoded value less than or equal to 128 are decided as background area and the sample value is set to 0; the samples with decoded value larger than 128 are decided as mask area and the sample value is set to 255.

[0079] For multiple-mask sequences, the samples with decoded value less than or equal to 32 are decided as background area and the sample value is set to 0; the samples with decoded value larger than 32 and less than or equal to 96 are decided as maskO area and the sample value is set to 64; the samples with decoded value larger than 96 and less than or equal to 160 are decided as maskl area and the sample value is set to 128; the samples with decoded value larger than 160 and less than or equal to 223 are decided as mask2 area and the sample value is set to 192; the samples with decoded value larger than 223 are decided as mask3 area and the sample value is set to 248.

[0080] Background on LMCS filter

[0081] Luma mapping with chroma scaling (LMCS) originally proposed to improve the subjective coding performance of HEVC for HDR / WCG and later adopted as in-loop filterinto VVC. LMCS contains two components: luma mapping (LM) and luma-dependent chroma residue scaling (CS).

[0082] The basic idea behind luma mapping is to make better use of the range of luma code values allowed at a specified bit depth. It is commonplace that not all allowed luma code values are used in a video signal. For example, as specified by ITU-R BT.2100-2, only luma code values from 64 to 940 are allowed for a 10-bit narrow range video signal. The luma code values from 0 to 63 and from 941 to 1023 are not allowed for the video signal but may be used within the coding process.

[0083] The luma mapping component of LMCS provides a process of reallocating the signal-domain luma code values within all or part of the full range of luma code values allowed in the coding domain. The chroma residue scaling component of LMCS is designed to compensate for the interaction between the luma signal and its corresponding chroma signals. In VVC, the quantization parameter (QP) applied to the chroma residue signal depends on the value of the corresponding luma signal. When the luma mapping component of LMCS is enabled, the luma value in the coding domain may be different than the luma value in the original signal domain. As a result, the value of chroma QP may not be optimal. The chroma residue scaling component of LMCS aims at compensating this defect by making lumadependent adjustments to the values of the chroma residue signals within a chroma coding block.

[0084] FIG. 7 shows an LMCS decoding architecture. The upper part of FIG. 7 illustrates the chroma residue scaling component of LMCS. The lower part of FIG. 7 illustrates the luma mapping component of LMCS. LMCS introduces the concepts of signals being in either the “mapped domain” or the “original (non-mapped signal) domain”. The luma code values of video signal in mapped domain which is processed by LMCS may be different from those of original video signals which is in original domain. The functional blocks in FIG. 7 indicate that processing is performed on signals in the mapped domain when LMCS is enabled. These blocks include inverse quantization (Q'1), inverse transform (T'1), luma intra prediction (Intra Prediction), and summing the luma prediction with the luma residue values (Reconstruction). As shown in FIG. 7, LMCS also introduces new functional blocks.

[0085] The LMCS functional blocks are the following. Forward Mapping maps luma code values in the original domain to luma code values in the mapped domain which are used in the coding process; Inverse Mapping maps luma code values in the mapped domain used in the coding process to the code values in the original domain. Chroma Scaling determines a chroma scaling factor and applies the factor to chroma residue values. The unshaded blocks in FIG. 7 indicate that processing is applied in the original (non-mapped) domain. These blocks include loop filters such as deblocking, adaptive loop filter (ALF), and sample adaptive offset (SAO), motion compensated prediction, chroma intra prediction, summing chroma prediction with the chroma residue values, and storage of pictures in a decoded picture buffer (DPB).

[0086] Luma mapping makes use of a forward mapping function, FwdMap, and a corresponding inverse mapping function, InvMap. The FwdMap function is signaled using a piecewise linear model. InvMap function does not need to be signaled and is instead derived in the decoder from the FwdMap function.

[0087] The FwdMap piecewise linear model is determined as follows. The range of code values supported by a particular signal bit depth is partitioned into 16 equal pieces. For example, each of the 16 pieces for a 10-bit input signal would have 64 codewords assigned to it. The number of code words assigned to each piece is denoted by the variable OrgCW. The variable InputPivotfi], with i = 0..16, indicating the pivot point of each piece in original domain, is derived as InputPivotfi] = i * OrgCW. During the encoding process, values for mapped pivot points, denoted here by the variable MappedPivotfi], are determined. The difference MappedPivot[i+l] - MappedPivotfi] is the number of mapped luma code word values of the i- th piece of the piecewise linear model. The values of InputPivotfi] and MappedPivotfi] completely specify the FwdMap function.

[0088] The parameter values required for determining the values of InputPivotfi] and MappedPivotfi] at the decoder are signaled in the adaptation parameter set (APS) syntax structure with aps__params_type set equal to 1 (LMCS APS). The value range for an adaptation parameter set identifier (aps_adaptation_parameter_setjd) is from 0 to 3, inclusive, for LMCS APSs. While up to 4 LMCS APSs may be used in a coded video sequence, only up to 1 LMCS APS may be used for a picture. At the picture header, an LMCS enable flag is signaled to indicate if the LMCS process as depicted in FIG. 7 is applied to the current picture. If LMCSis enabled for the current picture, an aps id is signaled in the picture header in the ph lmcs aps id syntax element to identify the APS that carries the luma mapping parameters. Thus, the same LMCS parameters are used for entire picture.

[0089] It should be noted also that when the luma mapping with chroma scaling is enabled in a picture header and a chroma format including the chroma components is in use, the chroma scaling part can be enabled or disabled in the picture header through ph chroma residual scale flag. When a picture has multiple slices, the luma mapping with chroma scaling is further enabled or disabled in the slice header for each slice.

[0090] Further, it is noted that in some coding formats or standards, a bitstream may be in the form of a network abstraction layer (NAL) unit stream or a byte stream, which forms the representation of coded pictures and associated data forming one or more coded video sequences (CVS).

[0091] In some coding formats, such as AVI, a bitstream may comprise a sequence of open bitstream units (OBUs). An OBU comprises a header and a payload, wherein the header identifies a type of the OBU. Furthermore, the header may comprise a size of the payload in bytes.

[0092] A NAL unit may be defined as a syntax structure containing an indication of the type of data to follow and bytes containing that data in the form of an RBSP interspersed as necessary with start code emulation prevention bytes. A raw byte sequence payload (RBSP) may be defined as a syntax structure containing an integer number of bytes that is encapsulated in a NAL unit. An RBSP is either empty or has the form of a string of data bits containing syntax elements followed by an RBSP stop bit and followed by zero or more subsequent bits equal to 0.

[0093] NAL units consist of a header and payload. The NAL unit header indicates the type of the NAL unit among other things.

[0094] NAL units can be categorized into Video Coding Layer (VCL) NAL units and non-VCL NAL units. VCL NAL units are typically coded slice NAL units.

[0095] A non-VCL NAL unit may be for example one of the following types: a sequence parameter set, a picture parameter set, a supplemental enhancement information (SEI) NAL unit, an access unit delimiter, an end of sequence NAL unit, an end of bitstream NAL unit, or a filler data NAL unit. Parameter sets may be needed for the reconstruction of decoded pictures, whereas many of the other non-VCL NAL units are not necessary for the reconstruction of decoded sample values.

[0096] Some coding formats specify parameter sets that may carry parameter values needed for the decoding or reconstruction of decoded pictures. A parameter may be defined as a syntax element of a parameter set. A parameter set may be defined as a syntax structure that contains parameters and that can be referred to from or activated by another syntax structure, for example using an identifier.

[0097] Some types of parameter sets are briefly described in the following, but it needs to be understood that other types of parameter sets may exist and that embodiments may be applied but are not limited to the described types of parameter sets. A video parameter set (VPS) may include parameters that are common across multiple layers in a coded video sequence or describe relations between layers. Parameters that remain unchanged through a coded video sequence (in a single layer bitstream) or in a coded layer video sequence may be included in a sequence parameter set (SPS). In addition to the parameters that may be needed by the decoding process, the sequence parameter set may optionally contain video usability information (VUI), which includes parameters that may be important for buffering, picture output timing, rendering, and resource reservation. A picture parameter set (PPS) contains such parameters that are likely to be unchanged in several coded pictures. A picture parameter set may include parameters that can be referred to by the coded image segments of one or more coded pictures. A header parameter set (HPS) has been proposed to contain such parameters that may change on picture basis. In VVC, an Adaptation Parameter Set (APS) may comprise parameters for decoding processes of different types, such as adaptive loop filtering or luma mapping with chroma scaling.

[0098] A parameter set may be activated when it is referenced e.g., through its identifier. For example, a header of an image segment, such as a slice header, may contain an identifier of the PPS that is activated for decoding the coded picture containing the image segment. A PPS may contain an identifier of the SPS that is activated, when the PPS isactivated. An activation of a parameter set of a particular type may cause the deactivation of the previously active parameter set of the same type. Instead of explicitly activating and deactivating parameter sets, the syntax element values of a parameter set may be used in the (de)coding process when the parameter set is referenced e.g. through its identifier, similarly as explained above regarding parameter set activation.

[0099] An adaptation parameter set (APS) may be defined as a syntax structure that applies to zero or more slices. There may be different types of adaptation parameter sets. An adaptation parameter set may, for example, contain filtering parameters for a particular type of a filter. In VVC, three types of APSs are specified carrying parameters for one of: adaptive loop filter (ALF), luma mapping with chroma scaling (LMCS), and scaling lists. A scaling list may be defined as a list that associates each frequency index with a scale factor for the scaling process, which multiplies transform coefficient levels by a scaling factor, resulting in transform coefficients. In VVC, an APS is referenced through its type (e.g. ALF, LMCS, or scaling list) and an identifier. In other words, different types of APSs have their own identifier value ranges.

[0100] Instead of or in addition to parameter sets at different hierarchy levels (e.g., sequence and picture), video coding formats may include header syntax structures, such as a sequence header or a picture header. A sequence header may precede any other data of the coded video sequence in the bitstream order. A picture header may precede any coded video data for the picture in the bitstream order.

[0101] In VVC, a picture header (PH) may be defined as a syntax structure containing syntax elements that apply to all slices of a coded picture. In other words, contains information that is common for all slices of the coded picture associated with the PH. A picture header syntax structure is specified as an RBSP and is contained in a NAL unit.

[0102] In accordance with example embodiments of the invention there is application of the forward LUT and relevant signaling details to allow the mapping function to be a step function in addition to piecewise linear (normative).

[0103] As similarly stated above, intra, block copy and inter prediction processes might use interpolation operations to generate a predicted block from previously decoded samples available either in the current frame or in reference frames. These operations may result insample values that are different than the allowed values in an object mask. In prior art, a post filter or an in-loop filter is proposed for mask recovery, in order to correct these “illegal” values in the final output mask. However, because prediction signal might have these “illegal” values uncorrected, there might be unnecessary residual coding which might hinder compression efficiency.

[0104] LMCS is a tool to reuse the unutilized codewords in a video signal by applying a piecewise linear mapping to luma component. However, signaling of any mapping function other than piecewise linear is not possible with LMCS, whereas object mask recovery is a mapping with step function.

[0105] Example embodiments of the invention propose to utilize an existing tool in VVC (luma mapping of LMCS) by allowing the LUT to be used in mapping to be defined differently for next-generation video coding standard(s), such as H.267, (marked "normative").

[0106] Before describing the example embodiments as disclosed herein in detail, reference is made to FIG. 11 for illustrating a simplified block diagram of various electronic devices that are suitable for use in practicing the example embodiments of this invention.

[0107] FIG. 11 shows a block diagram of one possible and non-limiting exemplary system in which the example embodiments may be practiced. In FIG. 11, a user equipment (UE) 10 is in wireless communication with a wireless network 1 or network, 1 as in FIG. 11. The wireless network 1 or network 1 as in FIG. 11 can comprise a communication network such as a mobile network e.g., the mobile network 1 or first mobile network as disclosed herein. Any reference herein to a wireless network 1 as in FIG. 11 can be seen as a reference to any wireless network as disclosed herein. Further, the wireless network 1, as in FIG. 11 can also comprise hardwired features as may be required by a communication network. A UE is a wireless, typically mobile device that can access a wireless network. The UE, for example, may be a mobile phone (or called a "cellular" phone) and / or a computer with a mobile terminal function. For example, the UE or mobile terminal may also be a portable, pocket, handheld, computer-embedded or vehicle-mounted mobile device and performs a language signaling and / or data exchange with the RAN.

[0108] The UE 10 includes one or more processors DP 10 A, one or more memories MEM 10B, and one or more transceivers TRANS 10D interconnected through one or more buses. Each of the one or more transceivers TRANS 10D includes a receiver and a transmitter. The one or more buses may be address, data, or control buses, and may include any interconnection mechanism, such as a series of lines on a motherboard or integrated circuit, fiber optics or other optical communication equipment, and the like. The one or more transceivers TRANS 10D which can be optionally connected to one or more antennas for communication to NN 12 and NN 13, respectively. The one or more memories MEM 10B include computer program code PROG 10C. The UE 10 communicates with NN 12 and / or NN 13 via a wireless link 11 or 16.

[0109] The NN 12 (NR / 5G / 6G Node B, an evolved NB, or LTE device) is a network node such as a master or secondary node base station (e.g., for NR or LTE long term evolution) that communicates with devices such as NN 13 and UE 10 of FIG. 11. The NN 12 provides access to wireless devices such as the UE 10 to the wireless network 1. The NN 12 includes one or more processors DP 12 A, one or more memories MEM 12B, and one or more transceivers TRANS 12D interconnected through one or more buses. In accordance with the example embodiments these TRANS 12D can include X2 and / or Xn interfaces for use to perform the example embodiments. Each of the one or more transceivers TRANS 12D includes a receiver and a transmitter. The one or more transceivers TRANS 12D can be optionally connected to one or more antennas for communication over at least link 11 with the UE 10. The one or more memories MEM 12B and the computer program code PROG 12C are configured to cause, with the one or more processors DP 12 A, the NN 12 to perform one or more of the operations as described herein. The NN 12 may communicate with another gNB or eNB, or a device such as the NN 13 such as via link 16 or link 18. Further, the link 11, link 16 and / or any other link may be wired or wireless or both and may implement, e.g., an X2 or Xn interface. Further the link 11 and / or link 16 and / or link 18 may be through other network devices such as, but not limited to an NCE / MME / SGW / UDM / PCF / AMF / SMF / LMF 14 device as in FIG. 11. The NN 12 may perform functionalities of an MME (Mobility Management Entity) or SGW (Serving Gateway), such as a User Plane Functionality, and / or an Access Management functionality for LTE and similar functionality for 5G or 6G.

[0110] The NN 13 can be for WiFi or Bluetooth or other wireless device associated with a mobility function device such as an AMF or SMF, further the NN 13 may comprise a NR / 5G / 6G Node B or possibly an evolved NB a base station such as a master or secondary node base station (e.g., for NR or LTE long term evolution) that communicates with devices such as the NN 12 and / or UE 10 and / or the wireless network 1. The NN 13 includes one or more processors DP 13 A, one or more memories MEM 13B, one or more network interfaces, and one or more transceivers TRANS 13D interconnected through one or more buses. In accordance with the example embodiments these network interfaces of NN 13 can include X2 and / or Xn interfaces for use to perform the example embodiments. Each of the one or more transceivers TRANS 13D includes a receiver and a transmitter that can optionally be connected to one or more antennas. The one or more memories MEM 13B include computer program code PROG 13C. For instance, the one or more memories MEM 13B and the computer program code PROG 13C are configured to cause, with the one or more processors DP 13A, the NN 13 to perform one or more of the operations as described herein. The NN 13 may communicate with another mobility function device and / or eNB such as the NN 12 and the UE 10 or any other device using, e.g., link 11 or link 16 or link 18 or another link. The link 16 or link 18 as shown in FIG. 11 can be used for communication with the NN12. These links may be wired or wireless or both and may implement, e.g., an X2 or Xn interface. Further, as stated above the link 11 and / or link 16 and / or link 18 may be through other network devices such as, but not limited to an NCE / MME / SGW device such as the NCE / MME / SGW / UDM / PCF / AMF / SMF / LMF 14 of FIG. 11.

[0111] The one or more buses of the device of FIG. 11 may be address, data, or control buses, and may include any interconnection mechanism, such as a series of lines on a motherboard or integrated circuit, fiber optics or other optical communication equipment, wireless channels, and the like. For example, the one or more transceivers TRANS 12D, TRANS 13D and / or TRANS 10D may be implemented as a remote radio head (RRH), with the other elements of the NN 12 being physically in a different location from the RRH, and these devices can include one or more buses that could be implemented in part as fiber optic cable to connect the other elements of the NN 12 to a RRH.

[0112] It is noted that although FIG. 11 shows a network nodes such as NN 12 and NN 13, any of these nodes may can incorporate or be incorporated into an eNodeB or eNB or gNBsuch as for LTE and NR and would still be configurable to perform example embodiments in accordance with example embodiments of the invention.

[0113] Also, it is noted that description herein indicates that “cells” perform functions, but it should be clear that the gNB that forms the cell and / or a user equipment and / or mobility management function device that will perform the functions. In addition, the cell makes up part of a gNB, and there can be multiple cells per gNB.

[0114] The wireless network 1 or any network it can represent may or may not include a NCE / MME / SGW / UDM / PCF / AMF / SMF / LMF 14 that may include (NCE) network control element functionality, MME (Mobility Management Entity) / SGW (Serving Gateway) functionality, and / or serving gateway (SGW), and / or MME (Mobility Management Entity) and / or SGW (Serving Gateway) functionality, and / or user data management functionality (UDM), and / or PCF (Policy Control) functionality, and / or Access and Mobility Management Function (AMF) functionality, and / or Session Management (SMF) functionality, and / or Location Management Function (LMF), and / or Authentication Server (AUSF) functionality and which provides connectivity with a further network, such as a telephone network and / or a data communications network (e.g., the Internet), and which is configured to perform any 5G, 6G, and / or NR operations in addition to or instead of other standard operations at the time of this application. The NCE / MME / SGW / UDM / PCF / AMF / SMF / LMF 14 is configurable to perform operations in accordance with example embodiments in any of an LTE, NR, 5G, 6G, and / or any standards-based communication technologies being performed or discussed at the time of this application. In addition, it is noted that the operations in accordance with example embodiments, as performed by the NN 12 and / or NN 13, may also be performed at the NCE / MME / SGW / UDM / PCF / AMF / SMF / LMF 14.

[0115] The NCE / MME / SGW / UDM / PCF / AMF / SMF / LMF 14 includes one or more processors DP 14 A, one or more memories MEM 14B, and one or more network interfaces (N / W I / F(s)), interconnected through one or more buses coupled with the link 13 and / or link 16 and / or link 18. In accordance with the example embodiments these network interfaces can include X2 and / or Xn interfaces for use to perform the example embodiments. The one or more memories MEM 14B include computer program code PROG 14C. The one or more memories MEM14B and the computer program code PROG 14C are configured to, with the one or moreprocessors DP 14A, cause the NCE / MME / SGW / UDM / PCF / AMF / SMF / LMF 14 to perform one or more operations which may be needed to support the operations in accordance with the example embodiments.

[0116] It is noted that that the NN 12 and / or NN 13 and / or UE 10 can be configured (e.g. based on standards implementations etc.) to perform functionality of a Location Management Function (LMF). The LMF functionality may be embodied in any of these network devices or other devices associated with these devices. In addition, an LMF such as the LMF of the MME / SGW / UDM / PCF / AMF / SMF / LMF 14 of FIG. 11, as at least described below, can be co-located with UE 10 such as to be separate from the NN 12 and / or NN 13 of FIG. 11 for performing operations in accordance with example embodiments of the invention as disclosed herein.

[0117] The wireless Network 1 may implement network virtualization, which is the process of combining hardware and software network resources and network functionality into a single, software-based administrative entity, a virtual network. Network virtualization involves platform virtualization, often combined with resource virtualization. Network virtualization is categorized as either external, combining many networks, or parts of networks, into a virtual unit, or internal, providing network-like functionality to software containers on a single system. Note that the virtualized entities that result from the network virtualization are still implemented, at some level, using hardware such as processors DP10, DP12A, DP13A, and / or DP14A and memories MEM 10B, MEM 12B, MEM 13B, and / or MEM 14B, and also such virtualized entities create technical effects.

[0118] The computer readable memories MEM 10B, MEM 12B, MEM 13B, and MEM 14B may be of any type suitable to the local technical environment and may be implemented using any suitable data storage technology, such as semiconductor-based memory devices, flash memory, magnetic memory devices and systems, optical memory devices and systems, fixed memory and removable memory. The computer readable memories MEM 12B, MEM 13B, and MEM 14B may be a means for performing storage functions. The processors DP 10, DP12A, DP13A, and DP14A may be of any type suitable to the local technical environment, and may include one or more of general-purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs) and processors based on a multi-coreprocessor architecture, as non-limiting examples. The processors DP10, DP12A, DP13A, and DP14A may be means for performing functions, such as controlling the UE 10, NN 12, NN 13, and other functions as described herein.

[0119] In general, various embodiments of any of these devices can include, but are not limited to, cellular telephones such as smart phones, tablets, personal digital assistants (PDAs) having wireless communication capabilities, portable computers having wireless communication capabilities, image capture devices such as digital cameras having wireless communication capabilities, gaming devices having wireless communication capabilities, music storage and playback appliances having wireless communication capabilities, Internet appliances permitting wireless Internet access and browsing, tablets with wireless communication capabilities, as well as portable units or terminals that incorporate combinations of such functions.

[0120] Further, the various embodiments of any of these devices can be used with a UE vehicle, a High-Altitude Platform Station, or any other such type of node associated with a terrestrial network or any drone type radio or a radio in aircraft or other airborne vehicle or a vessel that travels on water such as a boat.

[0121] As similarly stated above, example embodiments of the invention propose to utilize an existing tool in VVC (luma mapping of LMCS) by allowing the LUT to be used in mapping to be defined differently for next-generation video coding standard(s), such as H.267, (marked "normative").

[0122] FIG. 8 shows VVC decoder, where forward luma mapping and inverse luma mapping, and FIG. 9 shows in addition to existing blocks in VVC decoder, it is also proposed to apply luma mapping for mask recovery on the intra prediction block before residual calculation (shown in the new Luma Mapping (FWD) block.

[0123] As shown in FIG. 8 is a Bitstream 810 to Entropy decoding unit 815. A VVC 840 as shown in FIG. 8. An Intra prediction block 820 of FIG. 8. A Luma Mapping (FWD) block as shown in block 825 of FIG. 8. This block 825 of FIG. 8 shows a new Luma Mapping (FWD) block in accordance with example embodiments of the invention. In block 830 of FIG. 8 there is an Inter prediction for the entropy encoding. The bitstream goes from the Entropyencoder 815 to the Inverse quantization / Inverse transform unit 835, and then to block 845 of FIG. 8 which includes Inverse Luma Mapping, a deblocking filter, SAO, and ALF. This is provided to the Decoded picture buffer of block 850 of FIG. 8, which also feeds the Inter prediction block 830 of FIG. 8. The output is to a final output block 855 of FIG. 8.

[0124] FIG. 8 and FIG. 9 each illustrate a VVC decoder for luma component where inverse and forward luma mappings blocks.

[0125] As shown in FIG. 9, in addition to existing blocks in VVC decoder, it is also proposed to apply luma mapping for mask recovery on the intra prediction block before residual calculation (shown in the new Luma Mapping (FWD) block.

[0126] As shown in FIG. 9 is a Bitstream 910 to Entropy decoding unit 915. AVVC 940 as shown in FIG. 9. An Intra prediction block 920 of FIG. 9. A Luma Mapping (FWD) block as shown in block 925 of FIG. 9. This block 925 of FIG. 9 shows a new Luma Mapping (FWD) block in accordance with example embodiments of the invention. In addition, in accordance with example embodiments of the invention is an additional new Luma Mapping (Fwd) block 942 of FIG. 9. In block 930 of FIG. 9 there is an Inter prediction for the entropy encoding. The bitstream goes from the Entropy encoder 915 to the Inverse quantization / Inverse transform unit 935, and then to block 945 of FIG. 9 which includes Inverse Luma Mapping, a deblocking filter, SAO, and ALF. This is provided to the Decoded picture buffer of block 950 of FIG. 9, which also feeds the Inter prediction block 930 of FIG. 9. The output is to a final output block 955 of FIG. 9.

[0127] In VVC LMCS, there is luma mapping (LM) applied on the inter prediction signal that is created thru motion compensation, to bring the prediction signal to the mapped domain (as the reference picture is in unmapped domain whereas the original is in mapped domain). It is proposed to utilize the forward LM function available at this stage to apply mask recovery, which could potentially reduce the amount of residual to be coded as the residual signal is the difference between the original and prediction where original signal has only allowed mask values.

[0128] The idea is to modify the LMCS functionality by Functional embodiments in accordance with example embodiments of the invention:1. Allowing the mapping function to be a step function in addition to piecewise linear (normative) at the decoder,2. When object mask information coding is indicated, setting the forward and inverse mapping function to the same step function (normative) at the decoder.

[0129] Respective signaling embodiments (syntax & semantics) in accordance with example embodiments of the invention:

[0130] Signaling LM step function parameters in APS (normative), which can be realized by repurposing LMCS related syntax elements (where the LMCS APS syntax elements lmcs_data() are used).

[0131] Defining the derivation of a look-up table (LUT) from the signaled parameters in APS (normative)

[0132] Functionality embodiments:

[0133] In one embodiment in accordance with example embodiments of the invention, object mask information coding is indicated in slice or picture header, or sequence parameter set.

[0134] In another embodiment in accordance with example embodiments of the invention, the LUTs utilized in blocks of FIG. 8 and FIG. 9 (inverse and forward LM) are set to be identical.

[0135] In still another embodiment in accordance with example embodiments of the invention, another mapping is added after intra prediction (or intra block copy / template matching prediction), before residual coding as shown in the Luma Masking (FWD) block of FIG. 9, to be used for object mask recovery. This approach is especially useful at low bitrates.

[0136] In an embodiment, the inverse luma mapping is omitted and forward luma mapping is performed in accordance with other embodiments. Additionally, an operation like the inverse luma mapping may be performed to the decoded pictures as a post-processing operation.

[0137] Signaling embodiments in accordance with example embodiments of the invention:

[0138] In an embodiment, an encoder indicates in or along a bitstream, e.g., in a sequence parameter set, picture parameter set, picture header, or slice header, that the inverse luma mapping function and forward luma mapping function are the same. In an embodiment, the inverse luma mapping function is derived in any method known in the prior art, and the forward luma mapping function is derived to be the same as the inverse luma mapping function. In an embodiment, the forward luma mapping function is derived in any method known in the prior art, and the inverse luma mapping function is derived to be the same as the forward luma mapping function.

[0139] In an embodiment, a decoder decodes from or along a bitstream, e.g., from a sequence parameter set, picture parameter set, picture header, or slice header, that the inverse luma mapping function and forward luma mapping function are the same. In an embodiment, the inverse luma mapping function is decoded from or along a bitstream with any method known in the prior art, and the forward luma mapping function is derived to be the same as the inverse luma mapping function. In an embodiment, the forward luma mapping function is derived from or along a bitstream with any method known in the prior art, and the inverse luma mapping function is derived to be the same as the forward luma mapping function.

[0140] Note: While deriving the LUT utilized in luma mapping of LMCS, refer to either lmcs_data() or omr_data() (object mask recovery data) in APS.

[0141] An example embodiment applicable to encoder and / or decoder embodiments presented above for indicating an indication in and / or decoding an indication from a slice header is presented in FIG. 10, which shows a slice header. The flag that indicates object mask recovery presence in slice header can be defined as shown in FIG. 10.

[0142] sh omr used flag equal to 1 specifies that object mask recovery mapping is used for the current slice, sh omr used flag equal to 0 specifies that object mask recovery is not used for the current slice. When sh omr used flag is not present it is inferred to be equal to 0.

[0143] In one embodiment in accordance with example embodiments of the invention, option 1, Imcs syntax elements are repurposed for the derivation of the step function for object mask delivery. Following changes are required in the semantics description:

[0144] Luma mapping with chroma scaling data semantics

[0145] Imcs min bin idx specifies the minimum bin index used in the luma mapping with chroma scaling construction process. The value of Imcs min bin idx shall be in the range of 0 to 15, inclusive.

[0146] Imcs delta max bin idx specifies the delta value between 15 and the maximum bin index LmcsMaxBinldx used in the luma mapping with chroma scaling construction process. The value of Imcs delta max bin idx shall be in the range of 0 to 15, inclusive. The value of LmcsMaxBinldx is set equal to 15 - Imcs delta max bin idx.

[0147] The value of LmcsMaxBinldx shall be greater than or equal to Imcs min bin idx.

[0148] lmcs_delta_cw_prec_minusl plus 1 specifies the number of bits used for the representation of the syntax lmcs_delta_abs_cw[ i ]. The value of lmcs_delta_cw_prec_minusl shall be in the range of 0 to 14, inclusive.

[0149] lmcs_delta_abs_cw[ i ] specifies the absolute delta codeword value for the ith bin.

[0150] Imcs delta sign cw _flag[ i ] specifies the sign of the variable ImcsDeltaCWf i ] as follows:- If Imcs delta sign cw _flag[ i ] is equal to 0, ImcsDeltaCWf i ] is a positive value.- Otherwise ( Imcs delta sign cw _flag[ i ] is not equal to 0 ), ImcsDeltaCWf i ] is a negative value.

[0151] When Imcs delta sign cw _flag[ i ] is not present, it is inferred to be equal to 0.

[0152] The variable OrgCW is derived as follows:OrgCW = ( 1 « BitDepth ) / 16 (93)

[0153] The variable ImcsDeltaCWf i ], with i = lmcs_min_bin_idx..LmcsMaxBinIdx, is derived as follows:ImcsDeltaCWf i ] = ( 1 - 2 * Imcs delta sign cw flagf i ] ) * Imcs delta abs cwf i ] (94)

[0154] The variable ImcsCWf i ] is derived as follows:- For i = 0.. Imcs min bin idx - 1, ImcsCWf i ] is set equal 0.- For i = lmcs_min_bin_idx..LmcsMaxBinIdx, the following applies:ImcsCWf i ] = OrgCW + ImcsDeltaCWf i ] (95)When sh omr used flag is 0:The value of ImcsCWf i ] shall be in the range of OrgCW » 3 to ( OrgCW « 3 ) - 1, inclusive.

[0155] Otherwise, when sh omr used flag is 1The value of ImcsCWf i ] shall be in the range of 0 to ( OrgCW « 3 ), inclusive.- For i = LmcsMaxBinldx + 1..15, ImcsCWf i ] is set equal 0.It is a requirement of bitstream conformance that the following condition is true: -1 c ,=0ImcsCWf 1 ] <= ( 1 « BitDepth ) - 1 (96)When sh omr used flag is 0:The variable InputPivotf i ], with i = 0..15, is derived as follows : InputPivotf i ] = i * OrgCW (97)

[0156] The variable LmcsPivotf i ] with i = 0..16, the variables ScaleCoefff i ] andInvScaleCoefff i ] with i = 0..15, are derived as follows:LmcsPivotf 0 ] = 0 for( i = 0; i <= 15; i++ ) {LmcsPivotf i + 1 ] = LmcsPivotf i ] + ImcsCWf i ]ScaleCoefff i ] = ( ImcsCWf i ] * (1 « 11 ) + ( 1 « ( Log2( OrgCW ) - 1 ) ) ) » ( Log2( OrgCW ) ) if( ImcsCWf i ] = = 0 ) (98)InvScaleCoefff i ] = 0 elseInvScaleCoefff i ] = OrgCW * ( 1 « 11 ) / ImcsCWf i ]}When sh omr used flag is 1:The variable LmcsPivotf i 1 with i = 0.,16, the variable InputPivotf i L with 1 = 0, ,15, the variable InvScaleCoefff i 1 with i = Q.,15, are derived as follows:LmcsPivotf 0 1 = 0 for( i = 0; i <= 15; i++ ) {If(i < 15) {InputPivotf i + 1 1 = InputPivotfi] + ImcsCWfi]LmcsPivotf i + 1 1 = LmcsPivotf i 1 + orgCWf i 1InvScaleCoefff i 1 = 0}

[0157] Variable ScaleCoefff i 1 is unused and instead in the specification whereever ScaleCoeff is referred, the equation to calculate forward mapping is i) removed so that it is identity mapping or ii) modified to be the same mapping as inverse mapping.

[0158] It is a requirement of bitstream conformance that, for i = lmcs_min_bin_idx..LmcsMaxBinIdx, when the value of LmcsPivotf i ] is not a multiple of 1 « ( BitDepth - 5 ), the value of ( LmcsPivotf i ] » ( BitDepth - 5 ) ) shall not be equal to the value of ( LmcsPivotf i + 1 ] » ( BitDepth - 5 ) ).

[0159] Imcs delta abs crs specifies the absolute codeword value of the variable ImcsDeltaCrs. When not present, Imcs delta abs crs is inferred to be equal to 0.

[0160] Imcs delta sign crs flag specifies the sign of the variable ImcsDeltaCrs. When not present, Imcs delta sign crs flag is inferred to be equal to 0.

[0161] The variable ImcsDeltaCrs is derived as follows:ImcsDeltaCrs = ( 1 - 2 * Imcs delta sign crs flag ) * Imcs delta abs crs (99)It is a requirement of bitstream conformance that, when lmcsCW[ i ] is not equal to 0, ( lmcsCW[ i ] + ImcsDeltaCrs ) shall be in the range of ( OrgCW » 3 ) to ( ( OrgCW « 3 ) - 1 ), inclusive.

[0162] The variable ChromaScaleCoeff[ i ], with i = 0..15, is derived as follows: if( lmcsCW[ i ] = = 0 )ChromaScaleCoeff[ i ] = ( 1 « 11 ) elseChromaScaleCoeff[ i ] = OrgCW * ( 1 « 11 ) / ( lmcsCW[ i ] + ImcsDeltaCrs )

[0163] Example semantics where ScaleCoeffTi] is referred to:Weighted sample prediction process for combined merge and intra predictionInputs to this process are:- a luma location ( xCb, yCb ) specifying the top-left sample of the current luma coding block relative to the top-left luma sample of the current picture,- the width of the current coding block cbWidth,- the height of the current coding block cbHeight,- two (cbWidth)x(cbHeight) arrays predSamplesInter and predSamplesIntra,- a variable cldx specifying the colour component index.Output of this process is the (cbWidth)x(cbHeight) array predSamplesComb of prediction sample values.The variables scaleFactX and scaleFactY are derived as follows: scaleFactX = ( cldx = = 0 | | SubWidthC = = 1 ) ? 0 : 1 scaleFactY = ( cldx = = 0 | | SubHeightC = = 1 ) ? 0 : 1

[0164] The neighbouring luma locations ( xNbA, yNbA ) and ( xNbB, yNbB ) are set equal to( xCb - 1, yCb - 1 + ( cbHeight « scaleFactY ) ) and( xCb - 1 + (cbWidth « scaleFactX ), yCb - 1 ), respectively.For X being replaced by either A or B, the variables availableX and isIntraCodedNeighbourX are derived as follows:- The derivation process for neighbouring block availability as specified in clause 6.4.4 is invoked with the location ( xCurr, yCurr ) set equal to ( xCb, yCb ), the neighbouring location ( xNbY, yNbY ) set equal to ( xNbX, yNbX ), checkPredModeY set equal to FALSE, and cldx set equal to 0 as inputs, and the output is assigned to availableX;- The variable isIntraCodedNeighbourX is derived as follows:- If availableX is equal to TRUE and CuPredModef 0 ][ xNbX ][ yNbX ] is equal to MODE INTRA, isIntraCodedNeighbourX is set equal to TRUE.- Otherwise, isIntraCodedNeighbourX is set equal to FALSE.

[0165] The weight w is derived as follows:- If isIntraCodedNeighbourA and isIntraCodedNeighbourB are both equal to TRUE, w is set equal to 3;- Otherwise, if isIntraCodedNeighbourA and isIntraCodedNeighbourB are both equal to to FALSE, w is set equal to 1;- Otherwise, w is set equal to 2.

[0166] When cldx is equal to 0 and sh lmcs used flag is equal to 1, predSamplesInter[ x ][ y ] with x = 0.. cbWidth - 1 and y = 0.. cbHeight - 1 are modified as follows: idxY = predSamplesInterl x ][ y 1 » Log2( OrgCW ) predSamplesInterf x ][ y 1 = ClipK LmcsPivotl idxY ] + (991) ( ( ScaleCoeffT idxY ] * ( predSamplesInterf x ][ y 1 - InputPivotl idxY ] ) +_ ( 1 « 10 ) ) » I D )

[0167] The prediction samples predSamplesComb[ x ][ y ] with x = 0..cbWidth - 1 and y = O..cbHeight - 1 are derived as follows: predSamplesComb[ x ][ y ] = ( w * predSamplesIntra[ x ][ y ] + (992)( 4 - w ) * predSamplesInterl x ][ y ] + 2 ) » 2

[0168] Proposed changes:I) In case of identity mapping, predSamplesInter[x][y] is unchanged.When cldx is equal to 0 and sh lmcs used flag is equal to 1 and sh omr used flag is equal to L predSamplesInterl x 1[ y 1 with x = 0,,cbWidth - 1 and y = 0,,cbHeight - 1 are unchanged.II) In case of fwdLUT equal to invLUT :When cldx is equal to 0 and sh lmcs used flag is equal to 1 and sh omr used flag is equal to L predSamplesInterl x 1[ y 1 with x = 0,,cbWidth - 1 and y = O..cbHeight - 1 are modified as follows: idxYInv is derived by invoking the identification of piece-wise function index process for a luma sample as specified in clause 8, 8, 2, 3 with lumaSample as the input and idxYInv as the output.

[0169] The variable idxYInv is derived as follows: for( idxYInv = Imcs min bin idx; idxYInv <= LmcsMaxBinldx; idxYInv++ ) { iff lumaSample < LmcsPivotl idxYInv + 1 1 ) (1218) break1 idxYInv = Mint idxYInv, 15 ) predSamplesInterl x ][ y 1 = ClipKInputPivotl idxYInv 1 + ( ( InvScaleCoeffl idxYInv ] *( lumaSample - LmcsPivotl idxYInv ] ) + ( ! « 10 ) ) » 11 )

[0170] In an embodiment, an encoder indicates in or along a bitstream, e.g., in a sequence parameter set, picture parameter set, picture header, or slice header, that the inverse luma mapping is omitted and forward luma mapping is performed. In an additional embodiment, the encoder indicates in or along the bitstream, e.g., in a supplementalenhancement information message, that a process like the inverse luma mapping is to be performed as post-processing subsequent to decoding.

[0171] In an embodiment, a decoder decodes from or along a bitstream, e.g., from a sequence parameter set, picture parameter set, picture header, or slice header, that the inverse luma mapping is omitted and forward luma mapping is performed. In an additional embodiment, the decoder or any other entity (e.g., a player) decodes from or along the bitstream, e.g., from a supplemental enhancement information message, that a process like the inverse luma mapping is to be performed as post-processing subsequent to decoding. In response to the decoded indication, the decoder or any other entity (e.g., a post-processor) performs the process like the inverse luma mapping as post-processing subsequent to decoding.

[0172] In an embodiment, the applied LMCS APS identifier is indicated separately for the forward mapping LUT and the inverse mapping LUT, and an encoder signals the same LMCS APS identifier to be applied for the forward mapping LUT and the inverse mapping LUT, e.g., in a picture header or a slice header.

[0173] In an embodiment, the number of valid luma sample values in masks of the current picture is indicated or inferred, and the inverse and / or forward mapping LUTs are derived from the number of masks. In an example, the number of valid luma sample values and their sample values are indicated, e.g., in an LMCS APS, and an LUT is inferred from them. In another example, the number of valid luma sample values is indicated, e.g., in an LMCS APS, and valid luma sample values of the masks may be inferred to be approximately equally separated.

[0174] In an embodiment, an encoder signals a luma mapping LUT, e.g., in an LMCS APS, directly, for example, by including a mapped value (i.e., output of the LUT) for each luma sample value (i.e., input index to the LUT). In an embodiment, a decoder decodes a luma mapping LUT, e.g., from an LMCS APS, directly, for example, by decoding a mapped value (i.e., output of the LUT) for each luma sample value (i.e., input index to the LUT).

[0175] In an embodiment, an encoder signals a luma mapping LUT, e.g., in an LMCS APS, as a count of mapped values and for each mapped value, a run of luma sample values. For example, if a mask the comprises two valid luma sample values, 64 and 192, an encodermay signal the count of mapped values to be equal to 2 and indicate the first run to be 128 (i.e., ranging from 0 to 127) and the second run to be 128 (i.e., ranging from 128 to 255). The valid luma sample value may be inferred to be the midmost value of the run. In an embodiment, a decoder decodes a luma mapping LUT, from an indicated count of mapped values and for each mapped value, an indicated run of luma sample values, wherein the indications may be decoded, e.g., from an LMCS APS.

[0176] In particular, the forward and inverse mapping shown in Fig, 7-9 can replaced with discrete mapping functions. Furthermore, as the mapping is performed to reconstruct mask values, and not to stretch original code values, it is no longer necessary to distinguish between forward and inverse mapping. The 16 LMCS mapping pivot points MappedPivotli], are adapted to reflect the individual object mask values. Following an example of four object masks at luma values 64, 128, 192, and 248, for example MappedPivot= [0, 0, 64, 64, 64, 64, 128, 128, 128, 128, 192, 192, 192, 192, 248, 248], To achieve the discrete mapping function, the mapped luma value Y’ is derived as follows:Y’ = MappedPivotli], where bin index i is determined by the bit shift operation Y»6 on the original luma value Y, By reusing the LMCS structure and signalling, it is possible to keep the modifications at the encoder minimal, and only require the signalling of an additional single flag to indicate the modification of the LMCS in-loop filter to the decoder. Specifically, the required implementation changes to the VVC encoder are:1. Force luma mapping in-loop filter with disabled chroma scaling (as only monochrome video is considered).2. Set $MappedPivot[i]$ representing discrete object masks.3. Generate the forward lookup table according to Eq, \ref{eq:2],4. Setting the inverse lookup table equal to the forward lookup table.5. Signal a flag indicating the use of the modified LMCS.Besides that, the LMCS structure remains unchanged and the pivot points are signalled within the LMCS APS as usual. Likewise, the modifications at the VVC decoder are also minimal, such as:1. Receive flag indicating the use of the modified LMCS.2. Generate the forward lookup table according to Eq, \ref{eq:2].3. Setting the inverse lookup table equal to the forward lookup table.

[0177] FIG. 12 shows a method in accordance with example embodiments of the invention which may be performed by an apparatus.

[0178] FIG. 12 illustrates operations which may be performed by a device such as, but not limited to, a device such as a network device (e.g., the UE 10 as in FIG. 5). As shown in block 1205 of FIG. 12 there is receiving luma mapping parameters. As shown in block 1210 of FIG. 12 there is receiving a first coded picture with a first indication about luma mapping being enabled for said first coded picture and a second indication that the luma mapping parameters are used for said first coded picture. As shown in block 1215 of FIG. 12 there is deriving an inverse and a forward luma mapping function based on the luma mapping parameters received; wherein the luma mapping parameters define a forward luma mapping function using a piecewise linear model. As shown in step 1218 of FIG. 12 there is based on object mask information coding being indicated, setting a forward mapping function and an inverse mapping function to a same step function set using the forward luma mapping function at a decoder; As shown in block 1220 of FIG. 12 there is decoding the first coded picture. As shown in block 1225 of FIG. 12 there is applying a derived inverse luma mapping function to the first coded picture for a reconstruction of the first coded picture. As shown in block 1230 of FIG. 12 there is storing the reconstructed first coded picture in a reference picture buffer. As shown in block 1235 of FIG. 12 there is receiving a second coded picture. Then as shown in block 1240 of FIG. 12 there is decoding the second coded picture using the reconstruction of the first coded picture in the reference picture buffer as a reference for an inter prediction by applying the forward luma mapping function on the generated prediction.

[0179] In accordance with the example embodiments as described in the paragraph above, wherein the first coded picture is one of an intra-coded picture or inter-coded picture and the second coded picture is coded using an inter-coded picture.

[0180] In accordance with the example embodiments as described in the paragraphs above, wherein there is receiving information of valid luma sample values in the first picture; and receiving the luma mapping with chroma scaling pivot points for the luma mapping with a chroma scaling adaptation parameter set from said valid luma sample values, where the lumamapping with chroma scaling pivot points are set according to the total number of different valid luma samples and available bit depth.

[0181] In accordance with the example embodiments as described in the paragraphs above, wherein there is encoding at least one of the forward luma mapping or the inverse luma mapping with chroma scaling pivot points in a manner that a valid luma sample value is represented by two luma mapping with chroma scaling pivot points, which specify the piece- wise linear inverse luma mapping function in such a manner that a luma sample given as input and mapped to the piece-wise linear inverse luma mapping function returns the valid luma sample value.

[0182] In accordance with the example embodiments as described in the paragraphs above, wherein there is signalling luma mapping step function parameters in an adaption parameter set to be realized by one of repurposing luma mapping with chroma scaling related syntax elements, and wherein luma mapping with chroma scaling syntax elements for the derivation of the step function parameters for object mask delivery.

[0183] In accordance with the example embodiments as described in the paragraphs above, wherein there is defmining a derivation of a look-up table from tsignaled parameters in the adaption parameter set.

[0184] In accordance with the example embodiments as described in the paragraphs above, wherein there is repurposing luma mapping with chroma scaling syntax elements for derivation of the signal luma mapping step function for object mask delivery.

[0185] In accordance with the example embodiments as described in the paragraphs above, wherein changes required in the luma mapping are using chroma scaling data semantics.

[0186] In accordance with the example embodiments as described in the paragraphs above, wherein there is adding before a residual coding a luma mapping function after at least one of an intra prediction, an intra block copy, or a template matching prediction.

[0187] Some embodiments have been described in relation to lookup table(s), which represent piecewise linear function(s) for inverse or forward mapping of luma sample values. It is to be understood that embodiments may be similarly realized with any other representation of piecewise linear function(s).

[0188] In the above, some embodiments have been described with reference to encoding luma mapping related parameters into an adaptation parameter set or decoding luma mapping related parameters from an adaptation parameter set. It is to be understood that embodiments may be realized by encoding luma mapping related parameters to any syntax structure in or along a bitstream, such as a picture parameter set, a picture header, or a slice header or by decoding luma mapping related parameters from any syntax structure in or along a bitstream, such as a picture parameter set, a picture header, or a slice header.

[0189] In the above, some embodiments have been described with reference to and / or using terminology of VVC. It needs to be understood that embodiments may be similarly realized with any video encoder and / or video decoder with respective terms of other codecs, such as AV2 or H.267.

[0190] In the above, where the example embodiments have been described with reference to an encoder, it needs to be understood that the resulting bitstream and the decoder may have corresponding elements in them. Likewise, where the example embodiments have been described with reference to a decoder, it needs to be understood that the encoder may have structure and / or computer program for generating the bitstream to be decoded by the decoder.

[0191] A non-transitory computer-readable medium (MEM 10B as in FIG. 11) storing program code (PROG 10C as in FIG. 11), the program code executed by at least one processor (DP 10A as in FIG. 11) to perform the operations as at least described in the paragraphs above.

[0192] In accordance with an example embodiment of the invention as described above there is an apparatus (UE 10 as in FIG. 11) comprising: means for receiving (one or more transceivers 10D; MEM 10B; PROG 10C; and DP 10A as in FIG. 11) luma mapping parameters; means for receiving (one or more transceivers 10D; MEM 10B; PROG 10C; and DP 10A as in FIG. 11) a first coded picture with a first indication about luma mapping being enabled for said first coded picture and a second indication that the luma mapping parameters are used for said first coded picture; means for deriving (one or more transceivers 10D; MEM 10B; PROG 10C; and DP 10A as in FIG. 11) an inverse and a forward luma mapping function based on the luma mapping parameters received; wherein the luma mapping parameters define a forward luma mapping function using a piecewise linear model; means, based on object mask information coding being indicated, for setting (one or more transceivers 10D; MEM10B; PROG IOC; and DP 10A as in FIG. 11) a forward mapping function and an inverse mapping function to a same step function set using the forward luma mapping function at a decoder; means for decoding (one or more transceivers 10D; MEM 10B; PROG IOC; and DP 10A as in FIG. 11) the first coded picture; means for applying (one or more transceivers 10D; MEM 10B; PROG IOC; and DP 10A as in FIG. 11) a derived inverse luma mapping function to the first coded picture for a reconstruction of the first coded picture; means for storing (one or more transceivers 10D; MEM 10B; PROG IOC; and DP 10A as in FIG. 11) the reconstructed first coded picture in a reference picture buffer; means for receiving (one or more transceivers 10D; MEM 10B; PROG IOC; and DP 10A as in FIG. 11) a second coded picture; and means for decoding (one or more transceivers 10D; MEM 10B; PROG IOC; and DP 10A as in FIG. 11) the second coded picture using the reconstruction of the first coded picture in the reference picture buffer as a reference for an inter prediction by applying (one or more transceivers 10D; MEM 10B; PROG IOC; and DP 10A as in FIG. 11) the forward luma mapping function; and.

[0193] In the example aspect of the invention according to the paragraph above, wherein at least the means for receiving, deriving, decoding, storing, encoding, applying, determining, generating, receiving, and applying comprises a non-transitory computer readable medium [MEM 10B as in FIG. 11] encoded with a computer program [PROG 10C as in FIG. 11] executable by at least one processor [DP 10A as in FIG. 11],

[0194] FIG. 13 shows another method in accordance with example embodiments of the invention which may be performed by an apparatus.

[0195] FIG. 13 illustrates operations which may be performed by a device such as, but not limited to, a device such as a network device (e.g., the UE 10 as in FIG. 11). As shown in block 1305 of FIG. 13 there is receiving a first picture. As shown in block 1310 of FIG. 13 there is deriving an inverse and a forward luma mapping function based on the valid luma values in said first picture. As shown in block 1315 of FIG. 13 there is encoding luma mapping parameters describing said forward luma mapping function; As shown in block 1318 of FIG. 13 there is encoding an indication in or along the bit stream that the luma mapping parameters are applied. As shown in block 1320 of FIG. 13 there is encoding an indication in or along the bit stream picture that object mask information coding is applied. As shown in block 1325 of FIG. 13 wherein the luma mapping parameters define a forward luma mapping function using a piecewise linear model. As shown in block 1330 of FIG. 13 there is, based on object maskinformation coding being indicated, setting a forward mapping function and an inverse mapping function to a same step function set using the forward luma mapping function at the encode. As shown in block 1335 of FIG. 13 there is encoding the first picture to a first coded picture. As shown in block 1340 of FIG. 13 there is applying the inverse luma mapping function for a reconstruction of the first coded picture. As shown in block 1345 of FIG. 13 there is storing the reconstructed first coded picture in a reference picture buffer. As shown in block 1350 of FIG. 13 there is receiving a second picture. As shown in block 1355 of FIG. 13 there is encoding the second picture to a second coded picture using the reconstruction of the first coded picture in the reference picture buffer as a reference for an inter prediction and by applying the forward luma mapping function on the generated prediction. As shown in block 1360 of FIG. 13 there is applying a derived inverse luma mapping function to the second coded picture for a reconstruction of the second coded picture. Then as shown in block 1365 of FIG. 13 there is storing the reconstructed second coded picture in a reference picture buffer.

[0196] In accordance with the example embodiments as described in the paragraphs above, wherein there is encoding at least one of the forward luma mapping or the inverse luma mapping with chroma scaling pivot points in a manner that a valid luma sample value is represented by two luma mapping with chroma scaling pivot points, which specify the piece-wise linear inverse luma mapping function in such a manner that a luma sample given as input and mapped to the piece-wise linear inverse luma mapping function returns the valid luma sample value.

[0197] In accordance with the example embodiments as described in the paragraphs above, wherein there is signalling luma mapping step function parameters in an adaption parameter set to be realized by one of repurposing luma mapping with chroma scaling related syntax elements, and wherein luma mapping with chroma scaling syntax elements for the derivation of the step function parameters for object mask delivery.

[0198] In accordance with an example embodiment of the invention as described above there is an apparatus (UE 10 as in FIG. 11) comprising: means for means for receiving () a first picture; means for deriving (one or more transceivers 10D; MEM 10B; PROG 10C; and DP 10A as in FIG. 11) an inverse and a forward luma mapping function based on the valid luma values in said first picture; means for encoding (one or more transceivers 10D; MEM 10B; PROG 10C; and DP 10A as in FIG. 11) luma mapping parameters describing said forwardluma mapping function; means for encoding () an indication in or along the bit stream that the luma mapping parameters are applied; means for encoding (one or more transceivers 10D; MEM 10B; PROG IOC; and DP 10A as in FIG. 11) an indication in or along the bit stream picture that object mask information coding is applied; wherein the luma mapping parameters define a forward luma mapping function using a piecewise linear model; means, based on object mask information coding being indicated, for setting (one or more transceivers 10D; MEM 10B; PROG IOC; and DP 10A as in FIG. 11) a forward mapping function and an inverse mapping function to a same step function set using the forward luma mapping function at the encoder; means for encoding (one or more transceivers 10D; MEM 10B; PROG IOC; and DP 10A as in FIG. 11) the first picture to a first coded picture; means for applying (one or more transceivers 10D; MEM 10B; PROG IOC; and DP 10A as in FIG. 11) the inverse luma mapping function for a reconstruction of the first coded picture; means for storing (one or more transceivers 10D; MEM 10B; PROG IOC; and DP 10A as in FIG. 11) the reconstructed first coded picture in a reference picture buffer; means for receiving (one or more transceivers 10D; MEM 10B; PROG IOC; and DP 10A as in FIG. 11) a second picture; means for encoding (one or more transceivers 10D; MEM 10B; PROG IOC; and DP 10A as in FIG. 11) the second picture to a second coded picture using the reconstruction of the first coded picture in the reference picture buffer as a reference for an inter prediction and by applying the forward luma mapping function on the generated prediction; means for applying (one or more transceivers 10D; MEM 10B; PROG IOC; and DP 10A as in FIG. 11) a derived inverse luma mapping function to the second coded picture for a reconstruction of the second coded picture; means for storing (one or more transceivers 10D; MEM 10B; PROG IOC; and DP 10A as in FIG. 11) the reconstructed second coded picture in a reference picture buffer.

[0199] In the example aspect of the invention according to the paragraph above, wherein at least the means for receiving, deriving, encoding, storing, encoding, applying, determining, generating, receiving, and applying comprises a non-transitory computer readable medium [MEM 10B as in FIG. 11] encoded with a computer program [PROG 10C as in FIG. 11] executable by at least one processor [DP 10A as in FIG. 11],

[0200] Further, in accordance with example embodiments of the invention there is circuitry for performing operations in accordance with example embodiments of the invention as disclosed herein. This circuitry can include any type of circuitry including content coding circuitry, content decoding circuitry, processing circuitry, image generation circuitry, dataanalysis circuitry, etc.). Further, this circuitry can include discrete circuitry, applicationspecific integrated circuitry (ASIC), and / or field-programmable gate array circuitry (FPGA), etc. as well as a processor specifically configured by software to perform the respective function, or dual-core processors with software and corresponding digital signal processors, etc.). Additionally, there are provided necessary inputs to and outputs from the circuitry, the function performed by the circuitry and the interconnection (perhaps via the inputs and outputs) of the circuitry with other components that may include other circuitry in order to perform example embodiments of the invention as described herein.

[0201] In accordance with example embodiments of the invention as disclosed in this application this application, the “circuitry” provided can include at least one or more or all of the following:(a) hardware-only circuit implementations (such as implementations in only analog and / or digital circuitry);(b) combinations of hardware circuits and software, such as (as applicable):(i) a combination of analog and / or digital hardware circuit(s) with software / firmware; and(ii) any portions of hardware processor(s) with software (including digital signal processor(s)), software, and memory(ies) that work together to cause an apparatus, such as a mobile phone or server, to perform various functions, such as functions or operations in accordance with example embodiments of the invention as disclosed herein); and(c) hardware circuit(s) and or processor(s), such as a microprocessor s) or a portion of a microprocessor s), that requires software (e.g., firmware) for operation, but the software may not be present when it is not needed for operation.”

[0202] In accordance with example embodiments of the invention, there is adequate circuitry for performing at least novel operations in accordance with example embodiments of the invention as disclosed in this application, this 'circuitry' as may be used herein refers to at least the following:(a) hardware-only circuit implementations (such as implementations in only analog and / or digital circuitry); and(b) to combinations of circuits and software (and / or firmware), such as (as applicable): (i) to a combination of processor(s) or (ii) to portions of processor(s) / software (including digital signal processor(s)), software, and memory(ies) that work together to cause an apparatus, such as a mobile phone or server, to perform various functions); and(c) to circuits, such as a microprocessor s) or a portion of a microprocessor s), that require software or firmware for operation, even if the software or firmware is not physically present.

[0203] This definition of ' circuitry' applies to all uses of this term in this application, including in any claims. As a further example, as used in this application, the term "circuitry" would also cover an implementation of merely a processor (or multiple processors) or portion of a processor and its (or their) accompanying software and / or firmware. The term "circuitry" would also cover, for example and if applicable to the particular claim element, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in a server, a cellular network device, or other network device.

[0204] In general, the various embodiments may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. For example, some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device, although the invention is not limited thereto. While various aspects of the invention may be illustrated and described as block diagrams, flow charts, or using some other pictorial representation, it is well understood that these blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.

[0205] Embodiments of the inventions may be practiced in various components such as integrated circuit modules. The design of integrated circuits is by and large a highlyautomated process. Complex and powerful software tools are available for converting a logic level design into a semiconductor circuit design ready to be etched and formed on a semiconductor substrate.

[0206] The word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any embodiment described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments. All of the embodiments described in this Detailed Description are exemplary embodiments provided to enable persons skilled in the art to make or use the invention and not to limit the scope of the invention which is defined by the claims.

[0207] The foregoing description has provided by way of exemplary and non-limiting examples a full and informative description of the best method and apparatus presently contemplated by the inventors for carrying out the invention. However, various modifications and adaptations may become apparent to those skilled in the relevant arts in view of the foregoing description, when read in conjunction with the accompanying drawings and the appended claims. However, all such and similar modifications of the teachings of example embodiments of this invention will still fall within the scope of this invention.

[0208] It should be noted that the terms "connected," "coupled," or any variant thereof, mean any connection or coupling, either direct or indirect, between two or more elements, and may encompass the presence of one or more intermediate elements between two elements that are "connected" or "coupled" together. The coupling or connection between the elements can be physical, logical, or a combination thereof. As employed herein two elements may be considered to be "connected" or "coupled" together by the use of one or more wires, cables and / or printed electrical connections, as well as by the use of electromagnetic energy, such as electromagnetic energy having wavelengths in the radio frequency region, the microwave region and the optical (both visible and invisible) region, as several non-limiting and non- exhaustive examples.

[0209] Furthermore, some of the features of the preferred embodiments of this invention could be used to advantage without the corresponding use of other features. As such,the foregoing description should be considered as merely illustrative of the principles of the invention, and not in limitation thereof.

Claims

CLAIMSWhat is claimed is:

1. An apparatus comprising: at least one processor; and at least one non-transitory memory storing instructions, that when executed by the at least one processor, cause the apparatus at least to: receive luma mapping parameters; receive a first coded picture with a first indication about a luma mapping being enabled for said first coded picture and a second indication that the luma mapping parameters are used for said first coded picture; derive an inverse and a forward luma mapping function based on the luma mapping parameters received; wherein the luma mapping parameters define a forward luma mapping function using a piecewise linear model; based on object mask information coding being indicated, set a forward mapping function and an inverse mapping function to a same step function set using the forward luma mapping function at a decoder; decode the first coded picture; apply a derived inverse luma mapping function to the first coded picture for a reconstruction of the first coded picture; store the reconstructed first coded picture in a reference picture buffer; receive a second coded picture; and decode the second coded picture using the reconstruction of the first coded picture in the reference picture buffer as a reference for an inter prediction and by applying the forward luma mapping function on the generated prediction. apply a derived inverse luma mapping function to the second coded picture for a reconstruction of the second coded picture; store the reconstructed second coded picture in a reference picture buffer.

2. The apparatus of claim 1, wherein the first coded picture is one of an intracoded picture or inter-coded picture and the second coded picture is coded using an intercoded picture.

3. The apparatus of claim 1, wherein the at least one non-transitory memory is storing instructions executed by the at least one processor to cause the apparatus to: receiving the luma mapping with chroma scaling pivot points from the luma mapping with a chroma scaling adaptation parameter set, where the chroma scaling pivot points are set according to the total number of different valid luma samples and available bit depth.

4. The apparatus of claim 1, wherein the at least one non-transitory memory is storing instructions executed by the at least one processor to cause the apparatus to: encode at least one of the forward luma mapping or the inverse luma mapping with chroma scaling pivot points in a manner that a valid luma sample value is represented by at least two luma mapping with chroma scaling pivot points, which specify the piece-wise linear inverse luma mapping function in such a manner that a luma sample given as input and mapped to the piece-wise linear inverse luma mapping function returns the valid luma sample value.

5. The apparatus of claim 1, wherein the at least one non-transitory memory is storing instructions executed by the at least one processor to cause the apparatus to: signal luma mapping step function parameters in an adaption parameter set to be realized by one of repurposing luma mapping with chroma scaling related syntax elements, and wherein luma mapping with chroma scaling syntax elements is performed for the derivation of the step function parameters for object mask delivery.

6. The apparatus of claim 1, wherein the at least one non-transitory memory is storing instructions executed by the at least one processor to cause the apparatus to: repurpose luma mapping with chroma scaling syntax elements for derivation of the signal luma mapping step function for object mask delivery.

7. The apparatus of claim 6, wherein changes required in the repurpose luma mapping are using luma mapping and chroma scaling data semantics.

8. The apparatus of claim 1, wherein the at least one non-transitory memory is storing instructions executed by the at least one processor to cause the apparatus to: add before a residual coding a luma mapping function after at least one of an intra prediction, an intra block copy, or a template matching prediction.

9. A method, comprising: receiving luma mapping parameters; receiving a first coded picture with a first indication about luma mapping being enabled for said first coded picture and a second indication that the luma mapping parameters are used for said first coded picture; deriving an inverse and a forward luma mapping function based on the luma mapping parameters received; wherein the luma mapping parameters define a forward luma mapping function using a piecewise linear model; based on object mask information coding being indicated, set a forward mapping function and an inverse mapping function to a same step function set using the forward luma mapping function at a decoder; decoding the first coded picture; applying a derived inverse luma mapping function to the first coded picture for a reconstruction of the first coded picture; storing the reconstructed first coded picture in a reference picture buffer; receiving a second coded picture; and decoding the second coded picture using the reconstruction of the first coded picture in the reference picture buffer as a reference for an inter prediction by applying the forward luma mapping function on the generated prediction.

10. The method of claim 9, wherein the first coded picture is one of an intra-coded picture or inter-coded picture and the second coded picture is an inter-coded picture, and wherein at least one of the inter coded picture or the intra-coded picture can be a reference.

11. The method of claim 9, comprising: receiving the luma mapping with chroma scaling pivot points from the luma mapping with a chroma scaling adaptation parameter set, where the luma mapping with chroma scaling pivot points are set according to the total number of different valid luma samples and available bit depth.

12. The method of claim 9, comprising: encoding at least one of the forward luma mapping or the inverse luma mapping with chroma scaling pivot points in a manner that a valid luma sample value is represented by at least two luma mapping with chroma scaling pivot points, which specify the piece-wise linear inverse luma mapping function in such a manner that a luma sample given as input and mapped to the piece-wise linear inverse luma mapping function returns the valid luma sample value.

13. The method of claim 9, comprising: signalling luma mapping step function parameters in an adaption parameter set to be realized by one of repurposing luma mapping with chroma scaling related syntax elements, and wherein luma mapping with chroma scaling syntax elements is performed for the derivation of the step function parameters for object mask delivery.

14. The method of claim 9, comprising: repurposing luma mapping with chroma scaling syntax elements for derivation of the signal luma mapping step function for object mask delivery.The method of claim 14, wherein changes required in the repurposed luma mapping are using chroma scaling data semantics.

15. The method of claim 9, comprising: adding before a residual coding a luma mapping function after at least one of an intra prediction, an intra block copy, or a template matching prediction.

16. An apparatus comprising: means for receiving luma mapping parameters; means for receiving a first coded picture with a first indication about luma mapping being enabled for said first coded picture and a second indication that the luma mapping parameters are used for said first coded picture; means for deriving an inverse luma mapping function based on the luma mapping parameters; wherein the luma mapping parameters define a forward luma mapping function using a piecewise linear model; means, based on object mask information coding being indicated, for setting a forward mapping function and an inverse mapping function to a same step function set using the forward luma mapping function at a decoder; means for decoding the first coded picture; means for applying a derived inverse luma mapping function to the first coded picture for a reconstruction of the first coded picture; means for storing the reconstructed first coded picture in a reference picture buffer; means for receiving a second coded picture; and means for decoding the second coded picture using the reconstruction of the first coded picture in the reference picture buffer as a reference for an inter prediction by applying the forward luma mapping function on the generated prediction.

17. An apparatus comprising: at least one processor; and at least one non-transitory memory storing instructions, that when executed by the at least one processor, cause the apparatus at least to: receive a first picture; derive an inverse and a forward luma mapping function based on the valid luma values in said first picture; encode luma mapping parameters describing said forward luma mapping function; encode an indication in or along the bit stream that the luma mapping parameters are applied;encode an indication in or along the bit stream picture that object mask information coding is applied; wherein the luma mapping parameters define a forward luma mapping function using a piecewise linear model; based on object mask information coding being indicated, set a forward mapping function and an inverse mapping function to a same step function set using the forward luma mapping function at the encoder; encode the first picture to a first coded picture; apply the inverse luma mapping function for a reconstruction of the first coded picture; store the reconstructed first coded picture in a reference picture buffer; receive a second picture; encode the second picture to a second coded picture using the reconstruction of the first coded picture in the reference picture buffer as a reference for an inter prediction and by applying the forward luma mapping function on the generated prediction; apply a derived inverse luma mapping function to the second coded picture for a reconstruction of the second coded picture; and store the reconstructed second coded picture in a reference picture buffer.

18. The apparatus of claim 17, wherein the at least one non-transitory memory is storing instructions executed by the at least one processor to cause the apparatus to: encode at least one of the forward luma mapping or the inverse luma mapping with chroma scaling pivot points in a manner that a valid luma sample value is represented by at least two luma mapping with chroma scaling pivot points, which specify the piece-wise linear inverse luma mapping function in such a manner that a luma sample given as input and mapped to the piece-wise linear inverse luma mapping function returns the valid luma sample value.

19. The apparatus of claim 17, wherein the at least one non-transitory memory is storing instructions executed by the at least one processor to cause the apparatus to: signal luma mapping step function parameters in an adaption parameter set to be realized by one of repurposing luma mapping with chroma scaling related syntax elements, and whereinluma mapping with chroma scaling syntax elements is performed for the derivation of the step function parameters for object mask delivery.

20. An apparatus comprising: means for receiving a first picture; means for deriving an inverse and a forward luma mapping function based on the valid luma values in said first picture; means for encoding luma mapping parameters describing said forward luma mapping function; means for encoding an indication in or along the bit stream that the luma mapping parameters are applied; means for encoding an indication in or along the bit stream picture that object mask information coding is applied; wherein the luma mapping parameters define a forward luma mapping function using a piecewise linear model; means, based on object mask information coding being indicated, for setting a forward mapping function and an inverse mapping function to a same step function set using the forward luma mapping function at the encoder; means for encoding the first picture to a first coded picture; means for applying the inverse luma mapping function for a reconstruction of the first coded picture; means for storing the reconstructed first coded picture in a reference picture buffer; means for receiving a second picture; means for encoding the second picture to a second coded picture using the reconstruction of the first coded picture in the reference picture buffer as a reference for an inter prediction and by applying the forward luma mapping function on the generated prediction; means for applying a derived inverse luma mapping function to the second coded picture for a reconstruction of the second coded picture; means for storing the reconstructed second coded picture in a reference picture buffer.

21. A method, compri sing : receiving a first picture; deriving an inverse and a forward luma mapping function based on the valid luma values in said first picture; encoding luma mapping parameters describing said forward luma mapping function; encoding an indication in or along the bit stream that the luma mapping parameters are applied; encoding an indication in or along the bit stream picture that object mask information coding is applied; wherein the luma mapping parameters define a forward luma mapping function using a piecewise linear model; based on object mask information coding being indicated, setting a forward mapping function and an inverse mapping function to a same step function set using the forward luma mapping function at the encoder; encoding the first picture to a first coded picture; applying the inverse luma mapping function for a reconstruction of the first coded picture; storing the reconstructed first coded picture in a reference picture buffer; receiving a second picture; encoding the second picture to a second coded picture using the reconstruction of the first coded picture in the reference picture buffer as a reference for an inter prediction and by applying the forward luma mapping function on the generated prediction; applying a derived inverse luma mapping function to the second coded picture for a reconstruction of the second coded picture; and storing the reconstructed second coded picture in a reference picture buffer.

22. The method of claim 21, comprising: encoding at least one of the forward luma mapping or the inverse luma mapping with chroma scaling pivot points in a manner that a valid luma sample value is represented by at least two luma mapping with chroma scaling pivot points, which specify the piece-wise linear inverse luma mapping function in such a manner that a luma sample given as input andmapped to the piece-wise linear inverse luma mapping function returns the valid luma sample value.

23. The method of claim 21, comprising: signalling luma mapping step function parameters in an adaption parameter set to be realized by one of repurposing luma mapping with chroma scaling related syntax elements, and wherein luma mapping with chroma scaling syntax elements is performed for the derivation of the step function parameters for object mask delivery.