Selective use in cross-component mode in video coding

文档序号:1879331 发布日期:2021-11-23 浏览:22次 中文

阅读说明:本技术 视频编解码中的跨分量模式中的选择性使用 (Selective use in cross-component mode in video coding ) 是由 邓智玭 张莉 刘鸿彬 张凯 许继征 于 2020-04-20 设计创作,主要内容包括:一种用于可视媒体处理的方法,包括执行可视媒体数据的当前色度视频块和当前色度视频块的比特流表示之间的转换,其中,在转换期间,基于缩放系数来缩放当前色度视频块的色度残差,其中至少基于位于预定义位置的亮度样点来推导缩放系数。(A method for visual media processing, comprising performing a transition between a current chroma video block of visual media data and a bitstream representation of the current chroma video block, wherein during the transition a chroma residual of the current chroma video block is scaled based on a scaling factor, wherein the scaling factor is derived based on at least a luma sample point located at a predefined location.)

1. A method for visual media encoding, comprising:

selectively enable or disable application of luma-related Chroma Residual Scaling (CRS) to a chroma component of a current video block of visual media data to encode the current video block in a video region of the visual media data into a bitstream representation of the visual media data; and

a determination is made to include or exclude a field in the bitstream representation of the visual media data, wherein the field indicates selective enabling or disabling, and if the field is included, the field is signaled instead of being at a first syntax level associated with the current video block.

2. A method for visual media decoding, comprising:

parsing a field in a bitstream representation of visual media data, wherein the field is included in a level different from a first syntax level associated with the current video block; and

based on the field, selectively enabling or disabling application of luma-related Chroma Residual Scaling (CRS) to chroma components of the current video block of the visual media data to generate a decoded video region from the bitstream representation.

3. The method of any one or more of claims 1-2, wherein the first syntax level is a slice group header level, and wherein the field is included at one of: a Sequence Parameter Set (SPS) associated with the current video block, a slice associated with the current video block, a Codec Tree Unit (CTU) row associated with the current video block, a Codec Tree Unit (CTU) associated with the current video block, a Virtual Pipeline Data Unit (VPDU) associated with the current video block, or a Codec Unit (CU) associated with the current video block.

4. The method of any one or more of claims 1-3, wherein the field is a flag denoted as chroma residual scale flag.

5. The method of any one or more of claims 1-4, wherein the field is associated with a syntax level, and wherein if the field is one, application of luma-related chroma residual scaling below the syntax level is enabled, and if the field is zero, application of luma-related chroma residual scaling below the syntax level is disabled.

6. The method of claim 5, wherein the field is associated with a split node level, and wherein if the field is one, application of luma-related chroma residual scaling below the split node level is enabled, and if the field is zero, application of luma-related chroma residual scaling below the split node level is disabled.

7. The method of any one or more of claims 1-4, wherein the field is associated with a threshold dimension, and wherein if the field is one, applying luma-related chroma residual scaling to video blocks at or above the threshold dimension is enabled, and if the field is zero, applying luma-related chroma residual scaling to video blocks below the threshold dimension is disabled.

8. The method of claim 7, wherein the threshold dimension is 32 x 32.

9. The method of any one or more of claims 1-8, wherein the field is not signaled in the bitstream representation and is not present in the bitstream representation used to infer that application of luma-related chroma residual scaling is disabled and is inferred to be zero.

10. The method of any one or more of claims 1-9, wherein values associated with a luma-related CRS of the current video block are stored for use in conjunction with one or more other video blocks.

11. The method of claim 10, wherein values associated with the luma-related CRS are derived after encoding or decoding a luma block.

12. The method according to claim 11, wherein in the luma block, prediction samples and/or intermediate prediction samples and/or reconstruction samples prior to loop filtering are used to derive values associated with the luma-related CRS.

13. The method of claim 12, wherein the loop filtering comprises using: deblocking filters and/or Sample Adaptive Offset (SAO) filters and/or bilateral filters and/or Hadamard transform filters and/or Adaptive Loop Filters (ALF).

14. The method of claim 11, wherein samples in a bottom row and/or a right-hand column of the luma block are used to derive values associated with the luma-related CRS.

15. The method of claim 11, wherein samples associated with neighboring blocks are used to derive values associated with the luma-related CRS.

16. The method of claim 15, wherein the current video block is an intra coded block, an inter coded block, a bi-predictive coded block, or an Intra Block Copy (IBC) coded block.

17. The method of claim 15, wherein the availability of samples associated with adjacent blocks is checked according to a predefined order.

18. The method of claim 17, wherein the predefined order with respect to the current video block is one of: from left to right, from top left to top right, from left to top left, from top left to top right, from top to left, from top right to top left.

19. The method of claim 17, wherein the predefined order with respect to the current video block is one of: from bottom left to left, from left to right up, from top right to top, from top to top left.

20. The method of claim 17, wherein the predefined order with respect to the current video block is one of: from left to top, from top to top right, from top right to bottom left, from bottom left to top left.

21. The method of claim 17, wherein the predefined order is associated with samples in a first available subset of adjacent blocks.

22. The method of claim 15, wherein samples associated with a neighboring block are determined to be unavailable if the current video block is an inter coded block and the neighboring block is an intra coded block, an IBC coded block, or a CIIP coded block.

23. The method of claim 15, wherein samples associated with neighboring blocks are determined to be unavailable if the current video block is a CIIP codec block and neighboring blocks are intra codec blocks, IBC codec blocks, or CIIP codec blocks.

24. The method of claim 15, further comprising:

disabling derivation of the brightness-related CRS in response to determining that the number of neighboring blocks is less than a threshold.

25. The method of claim 24, wherein the threshold is 1.

26. The method of claim 24, wherein if samples from a neighboring block are determined to be unavailable, the samples are filled with 1< < (bitDepth-1) samples, where bitDepth represents the bit depth of the chroma component or the luma component.

27. A method for visual media encoding, comprising:

selectively enabling or disabling application of a cross-component linear model (CCLM) to a current video block of visual media data to encode the current video block into a bitstream representation of the visual media data; and

a determination is made to include or exclude a field in the bitstream representation of the visual media data, wherein the field indicates selective enabling or disabling, and if the field is included, the field is signaled instead of being at a first syntax level associated with the current video block.

28. A method for visual media decoding, comprising:

parsing a field in a bitstream representation of the visual media data, wherein the field is included in a level different from a first syntax level associated with a current video block; and

based on the field, selectively enabling or disabling application of a cross-component linear model (CCLM) to the current video block of the visual media data to generate a decoded video region from the bitstream representation.

29. The method of any one or more of claims 27-28, wherein the first syntax level is a Sequence Parameter Set (SPS) level, and wherein the field is included at one of: a Picture Parameter Set (PPS) associated with the current video block, a slice associated with the current video block, a picture header associated with the current video block, a slice group associated with the current video block, a row of a Coding Tree Unit (CTU) associated with the current video block, a Virtual Pipeline Data Unit (VPDU) associated with the current video block, or a Coding Unit (CU) associated with the current video block.

30. The method of any one or more of claims 27-29, wherein the field is a flag denoted as cclm _ flag.

31. The method of any one or more of claims 27-30, wherein an absence of the field in the bitstream representation is used to infer that a CCLM-disabled application is disabled.

32. The method of any one or more of claims 27-30, wherein the presence of the field in the bitstream representation is used to infer a CCLM-enabled application.

33. The method of claim 31, wherein the field is excluded from bitstream representation if the dimension of the current video block is less than or equal to a threshold dimension, and whereby the exclusion of the field is used to infer that application of CCLM is disabled.

34. The method of claim 33, wherein the threshold dimension is 8 x 8.

35. A video encoder device comprising a processor configured to implement the method of any one or more of claims 1-34.

36. A video decoder apparatus comprising a processor configured to implement the method of any one or more of claims 1-34.

37. A computer-readable medium having code stored thereon, the code comprising processor-executable instructions for implementing the method of any one or more of claims 1-34.

Technical Field

This patent document relates to video encoding and decoding techniques, devices, and systems.

Background

Despite advances in video compression, digital video still accounts for the largest bandwidth usage on the internet and other digital communication networks. As the number of connected user devices capable of receiving and displaying video increases, the demand for bandwidth for digital video usage is expected to continue to grow.

Disclosure of Invention

Devices, systems, and methods related to digital video encoding/decoding are described, in particular, simplified linear model derivation of cross-component linear model (CCLM) prediction modes in video encoding/decoding. The described methods may be applied to existing Video codec standards (e.g., High Efficiency Video Coding (HEVC)) and future Video Coding standards (e.g., Versatile Video Coding (VVC)) or codecs.

In one representative aspect, a method for visual media processing is disclosed. The method comprises performing a transition between a current chroma video block of the visual media data and a bitstream representation of the current chroma video block, wherein during the transition a chroma residual of the current chroma video block is scaled based on a scaling factor, wherein the scaling factor is derived based at least on a luma sample point located at a predefined location.

In one representative aspect, a method for visual media processing is disclosed. The method includes performing a conversion between a current video block of the visual media data and a bitstream representation of the current video block, wherein during the conversion, a second set of color component values of the current video block is derived from a first set of color component values of the visual media data using a cross-component linear model (CCLM) and/or luma mapping with chroma scaling (LMCS) mode processing step.

In another representative aspect, a method for visual media processing is disclosed. The method includes performing a transition between a current video block of the visual media data and a bitstream representation of the current video block, wherein, during the transition, one or more reconstructed samples associated with a current frame of the visual media data are used to derive a chroma residual scaling factor in a luma map with chroma scaling (LMCS) mode processing step.

In another representative aspect, a method for visual media processing is disclosed. The method includes performing a transition between a current video block of the visual media data and a bitstream representation of the current video block, wherein, during the transition, one or more luma prediction samples or luma reconstruction samples in a current frame other than the reference frame are used to derive chroma residual scaling factors in a luma map with chroma scaling (LMCS) mode processing step.

In another representative aspect, a method for visual media processing is disclosed. The method comprises the following steps: during a transition between a current chroma video block and a bit stream representation of the current chroma video block, checking for availability of one or more neighboring luma blocks covering corresponding luma blocks that juxtapose upper-left corner samples of luma blocks; determining whether to retrieve neighboring luminance samples for the corresponding luminance block based on the availability of one or more neighboring luminance blocks; deriving a scaling factor based on the determination; scaling a chroma residual of a current chroma video block based on a scaling coefficient to generate a scaled chroma residual; and performing a transform based on the scaled chroma residual.

In another representative aspect, a method for visual media processing is disclosed. The method includes during a transition between a current video block of the visual media data and a bitstream representation of the current video block, deriving a second set of color component values of the current video block from a first set of color component values of the visual media data using a model associated with the processing step, wherein the first set of color component values are neighboring samples of the corresponding luma block that cover upper left samples of the collocated luma block.

In another representative aspect, a method for visual media processing is disclosed. The method includes making a determination to selectively enable or disable application of a cross-component linear model (CCLM) and/or Chroma Residual Scaling (CRS) to a current chroma video block during a transition between the current chroma video block of the visual media data and a bitstream representation of the current chroma video block based at least in part on one or more conditions associated with a collocated luma block of the current chroma video block.

In another representative aspect, a method for visual media processing is disclosed. The method comprises the following steps: selectively enable or disable application of luma-related Chroma Residual Scaling (CRS) to chroma components of a current video block of the visual media data to encode the current video block in a video region of the visual media data into a bitstream representation of the visual media data; and making a determination to include or exclude a field in the bitstream representation of the visual media data, wherein the field indicates selective enabling or disabling, and if the field is included, the field is signaled instead of being at the first syntax level associated with the current video block.

In another representative aspect, a method for visual media processing is disclosed. The method comprises the following steps: parsing a field in a bitstream representation of the visual media data, wherein the field is included in a level different from a first syntax level associated with a current video block; and selectively enabling or disabling, based on the field, application of luma-related Chroma Residual Scaling (CRS) to chroma components of a current video block of the visual media data to generate a decoded video region from the bitstream representation.

In another representative aspect, a method for visual media processing is disclosed. The method comprises the following steps: selectively enabling or disabling application of a cross-component linear model (CCLM) to a current video block of visual media data to encode the current video block into a bitstream representation of the visual media data; and making a determination to include or exclude a field in the bitstream representation of the visual media data, wherein the field indicates selective enabling or disabling, and if the field is included, the field is signaled instead of being at the first syntax level associated with the current video block.

In another representative aspect, a method for visual media processing is disclosed. The method comprises the following steps: parsing a field in a bitstream representation of the visual media data, wherein the field is included in a level different from a first syntax level associated with a current video block; and selectively enabling or disabling, based on the field, application of a cross-component linear model (CCLM) to a current video block of the visual media data to generate a decoded video region from the bitstream representation.

In yet another example aspect, a video encoder or decoder device is disclosed that includes a processor configured to implement the above-described method.

In another example aspect, a computer-readable program medium is disclosed. The medium stores code containing processor-executable instructions for implementing one of the disclosed methods.

In yet another representative aspect, the above-described methods are embodied in the form of processor-executable code and stored in a computer-readable program medium.

In yet another representative aspect, an apparatus configured or operable to perform the above-described method is disclosed. The apparatus may include a processor programmed to implement the method.

The above and other aspects and features of the disclosed technology are described in more detail in the accompanying drawings, the description and the claims.

Drawings

Fig. 1 shows an example of angular intra prediction modes in HEVC.

Fig. 2 shows an example of directional patterns not in HEVC.

Fig. 3 shows an example related to the CCLM mode.

Fig. 4 shows an example of luminance mapping with a chroma scaling architecture.

Fig. 5 shows an example of a luminance block and a chrominance block of different color formats.

Fig. 6 shows an example of a luminance block and a chrominance block of the same color format.

Fig. 7 shows an example of a collocated luminance block covering multiple formats.

Fig. 8 shows an example of a luminance block within a larger luminance block.

Fig. 9 shows an example of a luminance block within a larger luminance block and within a bounding box.

FIG. 10 is a block diagram of an example of a hardware platform for implementing the visual media decoding or visual media encoding techniques described in this document.

FIG. 11 illustrates a flow chart of an example method for linear model derivation across component predictions in accordance with the disclosed technology.

FIG. 12 is a block diagram of an example video processing system in which the disclosed techniques may be implemented.

FIG. 13 shows a flow diagram of an example method for visual media processing.

FIG. 14 shows a flow diagram of an example method for visual media processing.

FIG. 15 shows a flow diagram of an example method for visual media processing.

FIG. 16 shows a flow diagram of an example method for visual media processing.

FIG. 17 shows a flow diagram of an example method for visual media processing.

FIG. 18 shows a flow diagram of an example method for visual media processing.

FIG. 19 shows a flow diagram of an example method for visual media processing.

FIG. 20 shows a flow diagram of an example method for visual media processing.

FIG. 21 shows a flow diagram of an example method for visual media processing.

FIG. 22 shows a flow diagram of an example method for visual media processing.

FIG. 23 shows a flow diagram of an example method for visual media processing.

Detailed Description

2.1 HEVC introduction

Intra prediction of 2.1.1 HEVC/H.265

Intra prediction involves generating samples for a given TB (transform block) using samples previously reconstructed in the color channel under consideration. For the luma and CHROMA channels, the intra prediction mode is signaled separately, with the CHROMA channel intra prediction mode optionally being dependent on the luma channel intra prediction mode via a "DM _ CHROMA" mode. According to the residual quadtree hierarchy of the CU, although the intra prediction mode is signaled at PB (prediction block) level, the intra prediction process is applied at TB level, allowing the codec of one TB to affect the codec of the next TB within the CU and thus reducing the distance to the sampling point used as a reference value.

HEVC includes 35 intra prediction modes-DC mode, planar mode, and 33 directional or "angular" intra prediction modes. The 33 angular intra prediction modes are shown in fig. 1.

For the PB associated with the CHROMA color channel, the intra prediction mode is specified as the planar, DC, horizontal, vertical, "DM _ CHROMA" mode, or sometimes the diagonal mode "34".

Note that for chroma formats 4:2:2 and 4:2:0, chroma PB may overlap with two or four luma PB (respectively); in this case, the luminance direction of DM _ CHROMA is taken from the upper left corner of these luminances PB.

The DM _ CHROMA mode indicates that the intra prediction mode of the luminance color channel PB is applied to the chrominance color channel PB. Since this is relatively common, the most probable mode (most-probable-mode) codec scheme for intra _ chroma _ pred _ mode favors selecting this mode.

2.2 Multi-functional video codec (VVC) Algorithm description

2.2.1 VVC codec architecture

In order to explore future Video coding and decoding technologies beyond HEVC, VCEG and MPEG united in 2015 to form Joint Video Exploration Team (jfet). The jfet conference is held once a quarter at a time, and the goal of the new codec standard is to reduce the bit rate by 50% compared to HEVC. At the jfet conference in month 4 of 2018, the new video codec standard was formally named multifunctional video codec (VVC), and the first version of the VVC Test Model (VTM) was released at that time. With the continuous effort to standardize VVCs, new codec techniques are adopted in the VVC standard at every jfet conference. The VVC working draft and the test model VTM are updated after each meeting. The VVC project is currently targeted to achieve technical completion (FDIS) at a 7-month conference in 2020.

As with most previous standards, VVC has a block-based hybrid codec architecture, combining inter-picture and intra-picture prediction and transform codecs with entropy codecs. The picture division structure divides an input video into blocks called Coding Tree Units (CTUs). The CTUs are divided into Coding Units (CUs) using a quadtree with a nested multi-type tree structure, wherein leaf Coding Units (CUs) define regions that share the same prediction mode (e.g., intra or inter). In this document, the term "cell" defines a region in an image that encompasses all color components; the term "block" is used to define a region that encompasses a particular color component (e.g., luminance) and may differ in spatial positioning when considering chroma sampling formats, such as 4:2: 0.

2.2.2 double/split Tree partitioning in VVC

The luma component and the chroma component may have separate partition trees for the I-stripes. The split tree partitioning is at the 64x64 block level, not at the CTU level. In the VTM software, there is an SPS flag to control the on and off of the dual tree.

2.2.3 Intra prediction in VVC

2.2.3.167 intra-frame prediction modes

To capture any edge direction present in natural video, the number of directional intra modes in VTM4 extends from 33 to 65 used by HEVC. New directional modes not in HEVC are depicted in fig. 2 with red dashed arrows, and the planar mode and DC mode remain unchanged. These denser directional intra prediction modes are applicable to all block sizes as well as luma and chroma intra prediction.

2.2.3.2 Cross-component Linear model prediction (CCLM)

To reduce cross-component redundancy, a cross-component linear model (CCLM) prediction mode is used in VTM4 for which chroma samples are predicted based on reconstructed luma samples of the same CU by using the following linear model:

predC(i,j)=α·recL′(i,j)+β

therein, predC(i, j) denotes the predicted chroma sampling in the CU, and recL(i, j) represents downsampled reconstructed luma samples for the same CU. The linear model parameters α and β are derived from the relationship between the luminance and chrominance values from two samples, a luminance sample and its corresponding chrominance sample having a minimum sample value and a maximum sample value within a set of down-sampled neighboring luminance samples. The linear model parameters α and β are obtained according to the following equations.

β=Yb-α·Xb

Wherein, YaAnd XaRepresenting the luminance and chrominance values of the luminance sample having the largest luminance sample value. And XbAnd YbRespectively, the luminance value and the chrominance value of the luminance sample having the smallest luminance sample. Fig. 3 shows an example of the left and upper samples involved in CCLM mode and the positioning of the current block samples.

The division operation for calculating the parameter α is implemented using a look-up table. In order to reduce the memory required to store the table, the value of diff (the difference between the maximum and minimum values) and the parameter α are expressed in an exponential notation. For example, diff is approximated by a 4-bit significant portion and an exponent. Thus, the table of 1/diff is reduced to 16 elements, corresponding to 16 valid bit values, as follows:

DivTable[]={0,7,6,5,5,4,4,3,3,2,2,1,1,1,1,0}

this will advantageously reduce the computational complexity and the memory size required to store the required tables.

In addition to the upper and left templates being used together to compute linear model coefficients, they may also be used instead in the other two LM modes (referred to as LM _ A and LM _ L modes).

In LM _ A mode, only the top template is used to compute the linear model coefficients. To get more samples, the top template is extended to (W + H). In LM _ L mode, only the left template is used to compute the linear model coefficients. To get more samples, the left template is extended to (H + W).

For non-square blocks, the top template is expanded to W + W and the left template is expanded to H + H.

To match the chroma sample positioning of a 4:2:0 video sequence, two types of downsampling filters are applied to the luma samples to achieve a downsampling ratio of 2:1 in both the horizontal and vertical directions. The selection of the downsampling filter is specified by the SPS level flag. The two downsampling filters are as follows, corresponding to "type 0" and "type 2" content, respectively.

Note that when the upper reference line is located at the CTU boundary, only one luma line (the general line buffer in intra prediction) is used for downsampling luma samples.

This parameter calculation is performed as part of the decoding process, not just as an encoder search operation. Thus, the alpha and beta values are not communicated to the decoder using syntax.

For chroma intra mode coding, chroma intra mode coding allows a total of 8 intra modes. These modes include five conventional intra modes and three cross-component linear model modes (CCLM, LM _ a, and LM _ L). Chroma mode coding depends directly on the intra prediction mode of the corresponding luma block. Since a separate block division structure for luminance and chrominance components is enabled in the I-band, one chrominance block may correspond to a plurality of luminance blocks. Therefore, for the chroma DM mode, the intra prediction mode of the corresponding luma block covering the center position of the current chroma block is directly inherited.

2.2.3.2.1 revision work draft (JVET-N0271)

The following specification is based on a revised working draft of JFET-M1001 and its adoption in JFET-N0271. The revision to the JFET-N0220 employed is shown in bold and underlined.

Grammar table

Sequence parameter set RBSP syntax

Semantics

sps _ cclm _ enabled _ flag equal to 0 specifies that cross-component linear model intra prediction from luminance component to chrominance component is disabled. sps _ cclm _ enabled _ flag equal to 1 specifies that cross-component linear model intra prediction from luminance component to chrominance component is enabled.

Decoding process

INTRA _ LT _ CCLM, INTRA _ L _ CCLM and INTRA _ T _ CCLM Intra-prediction modes in section 8.4.4.2.8 of the specification

The inputs to this process are:

-an intra prediction mode predModeIntra,

-the top left corner samples of the current transform block are positioned (xTbC, yTbC) with respect to the samples of the top left corner samples of the current picture,

a variable nTbW specifying the transform block width,

-a variable nTbH specifying the transform block height,

-chroma neighboring points p [ x ] [ y ], where x ═ 1, y ═ 0..2 × nTbH-1 and x ═ 0..2 × nTbW-1, y ═ 1.

The output of this process is the predicted sample points predSamples [ x ] [ y ], where x is 0.

The current luma fix (xTbY, yTbY) is derived as follows:

(xTbY,yTbY)=(xTbC<<1,yTbC<<1) (8-156)

the variables avail l, avail t and avail tl are derived as follows:

at clauseX [ Ed. (BB): proximity block availability check procedure tbd]The availability of the left-hand neighboring sample derivation process for the block specified in (a) is invoked, with the current chroma positioning (xCurr, yCurr) and the neighboring chroma positioning (xTbC-1, yTbC) set equal to (xTbC, yTbC) as inputs, and the output assigned to avail.

At clauseX [ Ed. (BB): proximity block availability check procedure tbd]The availability of the top neighboring sample derivation process for the block specified in (a) is invoked, with the current chroma positioning (xCurr, yCurr) and the neighboring chroma positioning (xTbC, yTbC-1) set equal to (xTbC, yTbC) as inputs, and the output assigned to avail t.

At clauseX [ Ed. (BB): proximity block availability check procedure tbd]Availability of the upper left corner neighboring sample point derivation procedure for the block specified in (1) is invoked, with the current chroma positioning (xCurr, yCurr) set equal to (xTbC, yTbC)) And adjacent chroma positioning (xTbC-1, yTbC-1) as inputs and the outputs are assigned to availTL.

-deriving the number of available top right corner adjacent chroma samples numTopRight as follows:

the variable numTopRight is set equal to 0 and availTR is set equal to TRUE.

-when predModeIntra is equal to INTRA _ T _ CCLM, the following applies for x ═ nTbW..2 × nTbW-1, until availTR equals FALSE or x equals 2 × nTbW-1:

at clauseX [ Ed. (BB): proximity block availability check procedure tbd]The availability derivation process for the block specified in (1) is invoked, wherein the current chroma positioning (xCurr, yCurr) and the adjacent chroma positioning (xTbC + x, yTbC) set equal to (xTbC, yTbC) are invoked

-1) as input and the output is assigned to availableTR.

-numTopRight increases by 1 when availableTR equals TRUE.

-the number of available lower left neighboring chroma samples numLeftBelow is derived as follows:

the variable numLeftBelow is set equal to 0 and availLB is set equal to TRUE.

-when predModeIntra is equal to INTRA _ L _ CCLM, the following applies for y ═ nTbh..2 × nTbh-1, until availLB equals FALSE or y equals 2 × nTbh-1:

at clauseX [ Ed. (BB): proximity block availability check procedure tbd]The availability derivation process for the block specified in (a) is invoked with the current chroma positioning (xCurr, yCurr) and the adjacent chroma positioning (xTbC-1, yTbC + y) set equal to (xTbC, yTbC) as inputs and the output assigned to availableLB.

-numLeftBelow is increased by 1 when availableLB equals TRUE.

The number of available neighboring chroma samples numpossamp at the top and upper right and the number of available neighboring chroma samples nlefsamp to the left and lower left are derived as follows:

if predModeIntra is equal to INTRA _ LT _ CCLM, then the following applies:

numSampT=availTnTbW:0 (8-157)

numSampL=availLnTbH:0 (8-158)

otherwise, the following applies:

numSampT=(availT&&predModeIntra==INTRA_T_CCLM)?(nTbW+Min(numTopRight,nTbH)):0 (8-159)

numSampL=(availL&&predModeIntra==INTRA_L_CCLM)?(nTbH+Min(numLeftBelow,nTbW)):0 (8-160)

the variable bCTUboundary is derived as follows:

bCTUboundary=(yTbC&(1<<(CtbLog2SizeY-1)-1)==0)?TRUE:FALSE(8-161)

the variable cntN and the array picckPosN [2 ] are derived as follows](wherein N is replaced by L and T):

the variable numIs4N is set equal to ((avail T)&&availL&&predModeIntra==INTRA_LT_ CCLM)?0:1)。

The variable startPosN is set equal to numScampN>>(2+numIs4N)。

The variable pickStepN is set equal to Max (1, numStrN)>>(1+numIs4N))。

-if availN equals TRUE and predModeIntra equals INTRA — LT — CCLM or INTRA — N _ CCLM, then cntN is set equal to Min (numAmpN, (1+ numIs4N)<<1) And pickposN [ pos]Is set equal to (startPosN + pos pickStepN), where pos ═ 0. (cntN-1).

Else, cntN is set equal to 0.

A predicted sample point predSamples [ x ] [ y ] (where x is 0.. nTbW-1, y is 0.. nTbH-1) is derived as follows:

-if both numSampL and numSampT are equal to 0, then the following applies:

predSamples[x][y]=1<<(BitDepthC-1) (8-162)

otherwise, the following ordered steps apply:

1. the collocated luminance samples pY [ x ] [ y ] (where x is 0.. nTbW 2-1, y is 0.. nTbH 2-1) are set equal to the reconstructed luminance samples located (xTbY + x, yTbY + y) before the deblocking filtering process.

2. The neighboring luminance sample points pY [ x ] [ y ] are derived as follows:

when numSampL is greater than 0, the adjacent left-side luminance sample pY [ x ] [ y ] (where x-1. -3, y-0.. 2 numSampL-1) is set equal to the reconstructed luminance sample located before the deblocking filtering process (xTbY + x, yTbY + y).

-when numSampT is greater than 0, the adjacent top luminance samples pY [ x ] [ y ] (where x ═ 0..2 numSampT-1, y ═ 1, -2) are set equal to the reconstructed luminance samples located (xTbY + x, yTbY + y) before the deblocking filtering process.

-when availTL is equal to TRUE, the adjacent upper left corner luma sample pY [ x ] [ y ] (where x ═ -1, y ═ -1, -2) is set equal to the reconstructed luma sample located before the deblocking filtering process (xTbY + x, yTbY + y).

3. Downsampling the juxtaposed luminance samples pDsY [ x ] [ y ] (where x is 0.. nTbW-1, y is 0.. nTbH-1) is derived as follows:

if sps _ cclm _ colocated _ chroma _ flag is equal to 1, then the following applies:

-deriving pDsY [ x ] [ y ] (where x 1.. nTbW-1, y 1.. nTbH-1) as follows:

pDsY[x][y]=(pY[2*x][2*y-1]+pY[2*x-1][2*y]+4*pY[2*x][2*y]+pY[2*x+1][2*y]+pY[2*x][2*y+1]+4)>>3

(8-163)

-if avail l equals TRUE, derive pDsY [0] [ y ] (where y ═ 1.. nTbH-1) as follows:

pDsY[0][y]=(pY[0][2*y-1]+pY[-1][2*y]+4*pY[0][2*y]+pY[1][2*y]+pY[0][2*y+1]+4)>>3

(8-164)

-otherwise, deriving pDsY [0] [ y ] (where y ═ 1.. nTbH-1) as follows:

pDsY[0][y]=(pY[0][2*y-1]+2*pY[0][2*y]+pY[0][2*y+1]+2)>>2

(8-165)

-if availT equals TRUE, derive pDsY [ x ] [0] (where x ═ 1.. nTbW-1) as follows:

pDsY[x][0]=(pY[2*x][-1]+pY[2*x-1][0]+4*pY[2*x][0]+pY[2*x+1][0]+pY[2*x][1]+4)>>3

(8-166)

-otherwise, derive pDsY [ x ] [0] (where x ═ 1.. nTbW-1) as follows:

pDsY[x][0]=(pY[2*x-1][0]+2*pY[2*x][0]+pY[2*x+1][0]+2)>>2

(8-167)

-if avail L equals TRUE and avail T equals TRUE, deriving pDSY [0] [0] as follows:

pDsY[0][0]=(pY[0][-1]+pY[-1][0]+4*pY[0][0]+pY[1][0]+pY[0][1]+4)>>3

(8-168)

otherwise, if avail L equals TRUE and avail T equals FALSE, then pDSY [0] [0] is derived as follows:

pDsY[0][0]=(pY[-1][0]+2*pY[0][0]+pY[1][0]+2)>>2

(8-169)

otherwise, if avail L equals FALSE and avail T equals TRUE, then pDSY [0] [0] is derived as follows:

pDsY[0][0]=(pY[0][-1]+2*pY[0][0]+pY[0][1]+2)>>2

(8-170)

else (avail L equals FALSE and avail T equals FALSE), deriving pDsY [0] [0] as follows:

pDsY[0][0]=pY[0][0] (8-171)

otherwise, the following applies:

-deriving pDsY [ x ] [ y ] (where x 1.. nTbW-1, y 0.. nTbH-1) as follows:

pDsY[x][y]=(pY[2*x-1][2*y]+pY[2*x-1][2*y+1]+2*pY[2*x][2*y]+2*pY[2*x][2*y+1]+pY[2*x+1][2*y]+pY[2*x+1][2*y+1]+4)>>3

(8-172)

-if avail l equals TRUE, derive pDsY [0] [ y ] (where y ═ 0.. nTbH-1) as follows:

pDsY[0][y]=(pY[-1][2*y]+pY[-1][2*y+1]+2*pY[0][2*y]+2*pY[0][2*y+1]+pY[1][2*y]+pY[1][2*y+1]+4)>>3

(8-173)

-otherwise, deriving pDsY [0] [ y ] (where y ═ 0.. nTbH-1) as follows:

pDsY[0][y]=(pY[0][2*y]+pY[0][2*y+1]+1)>>1

(8-174)

4. when the numSampL is greater than 0,selected adjacent left chroma sampling point pSelC [ idx ]]Is set equal to p- 1][pickPosL[idx]](wherein idx ═ 0. (cntL-1)), andderived as followsSelected ofDownsampling near-left luminance samplespSelDsY[idx](wherein idx ═ 0. (cntL-1))

-variable y is set equal to pickPosL [ idx [ ]]。

If sps _ cclm _ colocated _ chroma _ flag is equal to 1, then the following applies:

if y is>0||availTL==TRUE,

pSelDsY[idx]=(pY[-2][2*y-1]+pY[-3][2*y]+4*pY[-2][2*y]+pY[-1][2*y]+pY [-2][2*y+1]+4_)>>3

(8-175)

-if not, then,

pSelDsY[idx]=(pY[-3][0]+2*pY[-2][0]+pY[-1][0]+2)>>2

(8-177)

otherwise, the following applies:

pSelDsY[idx]=(pY[-1][2*y]+pY[-1][2*y+]+2*pY[-2][2*y]+2*pY[-2][2*y+1]+pY[-3][2*y]+pY[-3][2*y+1]+4)>>3

(8-178)

5. when numSampT is greater than 0,selected near-top chroma sampling point pSelC [ idx ]]Is set equal to p [pickPosT[idx–cntL]][-1](whereinidx ═ cntL. (cntL + cntT-1)), anddownsampled near-top luminance samplespSelDsY[idx](wherein idx ═ cntL. (cntL + cntT-1))Is specified as follows:

-variable x is set equal to PickPost [ idx-cntL [ ]]。

If sps _ cclm _ colocated _ chroma _ flag is equal to 1, then the following applies:

-if x > 0:

-if bCTUboundary equals FALSE, the following applies:

pSelDsY[idx]=(pY[2*x][-3]+pY[2*x-1][-2]+4*pY[2*x][-2]+pY[2*x+1][-2]+pY[2*x][-1]+4)>>3

(8-179)

else (bCTUboundary equals TRUE), the following applies:

pSelDsY[idx]=(pY[2*x-1][-1]+2*pY[2*x][-1]+pY[2*x+1][-1]+2)>>2

(8-180)

-otherwise:

if availTL equals TRUE and bCTUboundary equals FALSE, then the following applies:

pSelDsY[idx]=(pY[0][-3]+pY[-1][-2]+4*pY[0][-2]+pY[1][-2]+pY[0][-1]+4)>>3

(8-181)

otherwise, if availTL equals TRUE and bCTUboundary equals TRUE, then the following applies:

pSelDsY[idx]=(pY[-1][-1]+2*pY[0][-1]+pY[1][-1]+)>>2

(8-182)

otherwise, if availTL is equal to FALSE and bCTUboundary is equal to FALSE, then the following applies:

pSelDsY[idx]=(pY[0][-3]+2*pY[0][-2]+pY[0][-1]+2)>>2

(8-183)

else (availTL equal FALSE and bCTUboundary equal TRUE), then the following applies:

pSelDsY[idx]=pY[0][-1]

(8-184)

otherwise, the following applies:

if x is>0:

-if bCTUboundary equals FALSE, the following applies:

pSelDsY[idx]=(pY[2*x-1][-2]+pY[2*x-1][-1]+2*pY[2*x][-2]+2*pY[2*x][-1]+pY[2*x+1][-2]+pY[2*x+1][-1]+4)>>3

(8-185)

else (bCTUboundary equals TRUE), the following applies:

pSelDsY[idx]=(pY[2*x-1][-1]+2*pY[2*x][-1]+pY[2*x+1][-1]+2)>>2

(8-186)

-otherwise:

if availTL equals TRUE and bCTUboundary equals FALSE, then the following applies:

pSelDsY[idx]=(pY[-1][-2]+pY[-1][-1]+2*pY[0][-2]+2*pY[0][-1]+pY[1][-2]+pY[1][-1]+4)>>3

(8-187)

otherwise, if availTL equals TRUE and bCTUboundary equals TRUE, then the following applies:

pSelDsY[idx]=(pY[-1][-1]+2*pY[0][-1]+pY[1][-1]+2)>>2

(8-188)

otherwise, if availTL is equal to FALSE and bCTUboundary is equal to FALSE, then the following applies:

pSelDsY[idx]=(pY[0][-2]+pY[0][-1]+1)>>1

(8-189)

else, (availTL equal FALSE and bCTUboundary equal TRUE), then the following applies:

pSelDsY[idx]=pY[0][-1]

(8-190)

6. when cntT + cntL is not equal to 0The variables minY, maxY, minC and maxC are derived as follows:

-when cntT + cntL equals 2, pSelComp [ 3)]Set equal to pSelComp [0]]Mixing pSelComp [2 ]] Set equal to pSelComp [1 ]]Mixing pSelComp [0]]Set equal to pSelComp [1 ]]And pSelComp [1 ]]Is provided with Is set equal to pSelComp [3 ]]Where Comp is replaced by DsY and C.

Array minGrpIdx [ ] [, [ solution of ] A]And maxGrpIdx [, [ solution of a salt of a carboxylic acid and a salt of a carboxylic acid]Is set as: minGrpIdx [0]]=0,minGrpIdx[1]= 2,maxGrpIdx[0]=1,maxGrpIdx[1]=3。

If PSelDsy [ minGrpIdx [0]]]>PSelDsy[minGrpIdx[1]]Then Swap (minGrpIdx [0]], minGrpIdx[1])。

If PSelDsy [ maxGrpIdx [0]]]>PSelDsy[maxGrpIdx[1]]Then Swap (maxGrpIdx [0]], maxGrpIdx[1])。

If PSelDsy [ minGrpIdx [0]]]>PSelDsy[maxGrpIdx[1]]Then Swap (minGrpIdx, maxGrpIdx)。

if PSelDsy [ minGrpIdx [1 ]]]>PSelDsy[maxGrpIdx[0]]Then Swap (minGrpIdx [1 ]], maxGrpIdx[0])。

-maxY=(pSelDsY[maxGrpIdx[0]]+pSelDsY[maxGrpIdx[1]]+1)>>1。

-maxC=(pSelC[maxGrpIdx[0]]+pSelC[maxGrpIdx[1]]+1)>>1。

-minY=(pSelDsY[minGrpIdx[0]]+pSelDsY[minGrpIdx[1]]+1)>>1。

-minC=(pSelC[minGrpIdx[0]]+pSelC[minGrpIdx[1]]+1)>>1。

7. The variables a, b and k are derived as follows:

-if numSampL equals 0 and numSampT equals 0, then the following applies:

K=0 (8-208)

a=0 (8-209)

b=1<<(BitDepthC-1) (8-210)

otherwise, the following applies:

diff=maxY-minY (8-211)

if diff is not equal to 0, the following applies:

diffC=maxC-minC (8-212)

x=Floor(Log2(diff)) (8-213)

normDiff=((diff<<4)>>x)&15 (8-214)

x+=(normDiff!=0)?1:0 (8-215)

y=Floor(Log2(Abs(diffC)))+1 (8-216)

a=(diffC*(divSigTable[normDiff]|8)+2y-1)>>y (8-217)

k=((3+x y)<1)?1:3+x-y (8-218)

a=((3+x-y)<1)?Sign(a)*15:a (8-219)

b=minC–((a*minY)>>k) (8-220)

wherein divSigTable [ ] is specified as follows:

divSigTable[]={0,7,6,5,5,4,4,3,3,2,2,1,1,1,1,0}(8-221)

else (diff equals 0), the following applies:

k=0 (8-222)

a=0 (8-223)

b=minC (8-224)

8. a predicted sample point predSamples [ x ] [ y ] (where x is 0.. nTbW-1, y is 0.. nTbH-1) is derived as follows:

predSamples[x][y]=Clip1C(((pDsY[x][y]*a)>>k)+b) (8-225)

2.2.3.3 other Intra prediction aspects

VTM4 includes many intra coding tools other than HEVC, for example, in addition to the block tree structure, the following features have been included in VVC test model 3.

67 intra modes with wide angular mode extension

Block size and mode dependent 4-tap interpolation filter

Position dependent intra prediction combination (PDPC)

Cross-component linear model intra prediction

Multiple reference line intra prediction

Intra sub-division

2.2.4 inter prediction in VVC

2.2.4.1 Combined Inter and Intra Prediction (CIIP)

In VTM4, when a CU is coded in merge mode, and if the CU contains at least 64 luma samples (i.e., CU width multiplied by CU height is equal to or greater than 64), an additional flag is signaled to indicate whether a combined inter/intra prediction (CIIP) mode applies to the current CU.

To form CIIP prediction, the intra prediction mode is first derived from two additional syntax elements. Up to four possible intra prediction modes may be used: DC. Planar, horizontal, or vertical. Then, an inter prediction signal and an intra prediction signal are derived using a regular intra decoding process and an inter decoding process. Finally, a weighted average of the inter-prediction signal and the intra-prediction signal is performed to obtain the CIIP prediction.

2.2.4.2 other inter-prediction aspects

VTM4 includes many inter-coding tools other than HEVC, for example, in addition to the block tree structure, the following features have been included in VVC test model 3.

Affine motion inter prediction

Subblock-based temporal motion vector prediction

Adaptive motion vector resolution

8 × 8 block-based motion compression for temporal motion prediction

High precision (1/16pel) motion vector storage and motion compensation, employing an 8-tap interpolation filter for the luminance component and a 4-tap interpolation filter for the chrominance component

Triangle segmentation

Combining intra and inter prediction

Merging with MVD (Merge with MVD, MMVD)

Symmetric MVD coding

Bidirectional light flow

Decoder-side motion vector refinement

Weighted average of bi-directional prediction

2.2.5 Loop Filter

There are a total of three loop filters in VTM 4. In addition to the two filters of deblocking filter and sample adaptive offset filter (SAO) in HEVC, an Adaptive Loop Filter (ALF) is also applied in VTM 4. The order of the filtering process in VTM4 is deblocking filter, SAO, and ALF.

In VTM4, the SAO and deblocking filtering processes are almost the same as in HEVC.

In VTM4, a new process called luma mapping with chroma scaling (which process was previously referred to as adaptive loop shaping) is added. This new process is performed before deblocking.

2.2.6 luminance mapping with chroma scaling (LMCS, aka Loop shaping)

In VTM4, a codec tool called luma map with chroma scaling (LMCS) is added as a new processing block before the loop filter. LMCS has two main components: 1) a loop map of the luminance component based on the adaptive piecewise linear model; 2) for the chroma component, luma-related chroma residual scaling is applied. Figure 4 shows the LMCS architecture from the decoder perspective. The light blue shaded blocks in fig. 4 indicate the location in the mapping domain where the processing is applied; and these processes include inverse quantization, inverse transformation, luma intra prediction, and adding luma prediction along with luma residual. The unshaded blocks in FIG. 4 indicate where the processing is applied in the original (i.e., unmapped) domain; and these processes include loop filters such as deblocking, ALF, and SAO, motion compensated prediction, chroma intra prediction, adding chroma prediction together with chroma residual, and storing the decoded picture as a reference picture. The light yellow shaded blocks in fig. 4 are the new LMCS functional blocks, including forward and inverse (inverse) mapping of the luminance signal and the luminance-related chroma scaling process. Like most other tools in VVC, LMCS may be enabled/disabled at the sequence level using SPS flags.

2.2.6.1 luminance mapping using piecewise linear models

The loop mapping of the luminance component adjusts the dynamic range of the input signal by redistributing codewords within the dynamic range to improve compression efficiency. The luminance mapping utilizes a forward mapping function FwdMap and a corresponding inverse mapping function InvMap. The FwdMap function is signaled using a piecewise linear model with 16 equal segments. The InvMap function need not be signaled but is derived from the FwdMap function.

The luminance mapping model is signaled at the slice (tile) group level. The presence flag is first signaled. If a luminance mapping model is present in the current slice group, the corresponding piecewise-linear model parameters are signaled. The piecewise linear model divides the dynamic range of the input signal into 16 equal segments and, for each segment, expresses its linear mapping parameters using the number of codewords assigned to that segment. Take 10-bit input as an example. By default, each of the 16 segments will be assigned 64 codewords. The signaled number of codewords is used to calculate the scaling factor and adjust the mapping function of the segment accordingly. At the slice group level, another LMCS enabled flag is signaled to indicate whether the LMCS process depicted in fig. 4 applies to the current slice group.

The ith segment of the FwdMap piecewise-linear model is defined by two input axis points InputPivot [ ] and two output (mapping) axis points MappedPivot [ ] (i ═ 0 … 15).

InputPivot [ ] and MappedPivot [ ] (assuming 10-bit video) are calculated as follows:

1)OrgCW=64

2) for i 0:16, inputpdivot [ i ] ═ i OrgCW

3) For i ═ 0:16, mappedpinvot [ i ] was calculated as follows:

MappedPivot[0]=0;

for(i=0;i<16;i++)

MappedPivot[i+1]=MappedPivot[i]+SignalledCW[i]

where SignaleDcw [ i ] is the number of codewords for the ith segment signaled.

As shown in fig. 4, for inter coded blocks, motion compensated prediction is performed in the mapped domain. In other words, the motion compensated prediction block Y is calculated based on the reference signal in the DPBpredThereafter, the FwdMap function is applied to map the luma prediction block in the original domain to this mapped domain, Y'pred=FwdMap(Ypred). For intra coded blocks, the FwdMap function is not applied because intra prediction is performed in the mapped domain. Calculating a reconstructed block YrThereafter, the InvMap function is applied to convert the reconstructed luma values in the mapped domain back to the reconstructed luma values in the original domainThe InvMap function is applied to intra and inter coded luma blocks.

The luminance mapping process (forward mapping and/or inverse mapping) may be implemented using look-up-tables (LUTs) or on-the-fly computation. If LUTs are used, FwdMapLUTs and InvMapLUTs may be pre-computed and pre-stored for use at the slice level, and the forward and inverse mappings may simply be implemented as FwdMaps (Y) respectivelypred)=FwdMapLUT[Ypred]And InvMap (Y)r)=InvMapLUT[Yr]. Alternatively, just-in-time computing may be used. Take the positive mapping function FwdMap as an example. To find the segment to which the luminance samples belong, the sample values are right-shifted by 6 bits (corresponding to 16 equal segments). Then, the linear model of the segment is retrieved and applied instantaneouslyParameters to calculate the mapped luminance values. Let i be the segment index, a1 and a2 be InputPIVOt [ i]And InputPivot [ i +1 ]]And b1 and b2 are MappedPivot [ i ] respectively]And MappedPivot [ i +1 ]]. The FwdMap function is evaluated as follows:

FwdMap(Ypred)=((b2-b1))/(a2-a1))*(Ypred-a1)+b1

the InvMap function can be computed instantaneously in a similar manner, except that a conditional check needs to be applied when computing the segment to which the sample value belongs, rather than a simple shift to the right (because the segment sizes in the map domain are not equal).

2.2.6.2 luma-related chroma residual scaling

Chroma residual scaling is designed to compensate for the interaction between the luma signal and its corresponding chroma signal. Whether chroma residual scaling is enabled is also signaled at the slice group level. If luma mapping is enabled and if dual-tree partitioning (also called split chroma tree) is not applied to the current slice group, an additional flag is signaled to indicate whether luma-related chroma residual scaling is enabled. When luma mapping is not used, or when dual-tree partitioning is used in the current slice group, luma-related chroma residual scaling is disabled. Furthermore, for chroma blocks with an area less than or equal to 4, luma-related chroma residual scaling is always disabled.

Chroma residual scaling depends on the average of the corresponding luma prediction blocks (for intra and inter coded blocks). The average of the luma prediction blocks is denoted by avgY'. CScaleInvThe value of (a) is calculated by the following steps:

1) invmap function-based index Y for finding piecewise linear model to which avgY' belongsIdx

2)CScaleInv=cScaleInv[YIdx]Wherein cScaleEnv [2 ]]Is a pre-computed 16 segmented LUT.

If the current block is coded as intra, CIIP or intra block copy (IBC, also known as current picture reference or CPR) mode, avgY' is calculated as the average of intra, CIIP or IBC predicted luma values; otherwise, avgY ' is calculated as the average of the positive mapping inter prediction luminance values (Y ' in fig. 4) 'pred). Unlike luminance mapping performed on a sample point basis, CScaleInvIs a constant value for the entire chroma block. Through CScaleInvChroma residual scaling is applied as follows:

the encoder side: cResScale=CRes*CScale=CRes/CScaleInv

On the decoder side: cRes=CResScale/CScale=CResScale*CScaleInv

2.2.6.3 corresponding working draft in JFET-M1001 _ v7 and adoption in JFET-N0220

The following specification is based on a modified working draft for JFET-M1001 and its adoption in JFET-N0220. The modifications in JFET-N0220 employed are shown in bold and underlined.

Grammar table

Sequence parameter set RBSP syntax in 7.3.2.1

sps_triangle_enabled_flag u(1)
sps_lmcs_enabled_flag u(1)
sps_ladf_enabled_flag u(1)

Generic slice group header syntax at 7.3.4.1

Data syntax with chroma scaled luminance mapping in 7.3.4.4

Semantics

Sequence parameter set RBSP semantics in 7.4.3.1

sps _ lmcs _ enabled _ flag equal to 1 specifies that luminance mapping with chroma scaling is used in CVS. sps _ lmcs _ enabled _ flag equal to 0 specifies that no luminance mapping with chroma scaling is used in CVS.

tile _ group _ lmcs _ model _ present _ flag equal to 1 specifies that lmcs _ data () is present in the slice group header. tile _ group _ lmcs _ model _ present _ flag equal to 0 specifies that lmcs _ data () is not present in the slice group header. When tile _ group _ lmcs _ model _ present _ flag is not present, it is inferred to be equal to 0.

tile _ group _ lmcs _ enabled _ flag equal to 1 specifies that luma mapping with chroma scaling is enabled for the current slice group. tile _ group _ lmcs _ enabled _ flag equal to 0 specifies that luma mapping with chroma scaling is not enabled for the current slice group. When tile _ group _ lmcs _ enabled _ flag is not present, it is inferred to be equal to 0.

tile _ group _ chroma _ residual _ scale _ flag equal to 1 specifies that chroma residual scaling is enabled for the current slice group. tile _ group _ chroma _ residual _ scale _ flag equal to 0 specifies that chroma residual scaling is not enabled for the current slice group. When tile _ group _ chroma _ residual _ scale _ flag is not present, it is inferred to be equal to 0.

Data semantics with chroma scaled luminance mapping in 7.4.5.4

lmcs _ min _ bin _ idx specifies the minimum binary number (bin) index used in the construction of the luminance map with the color scale. The value of lmcs _ min _ bin _ idx should be in the range of 0 to 15 (inclusive).

lmcs _ delta _ max _ bin _ idx specifies the increment value between 15 and the maximum binary index LmcsMaxBinIdx used during the construction of the luminance map with color scaling. The value of lmcs _ delta _ max _ bin _ idx should be in the range of 0 to 15 (inclusive). The value of LmscMaxBinIdx is set equal to 15-lmcs _ delta _ max _ bin _ IDx. The value of LmscMaxBinIdx should be greater than or equal to lmcs _ min _ bin _ idx.

The number of bits used to represent the syntax lmcs _ delta _ abs _ cw [ i ] is specified by lmcs _ delta _ cw _ prec _ minus1 plus 1. The value of lmcs _ delta _ cw _ prec _ minus1 should be in the range of 0 to BitDepthy-2 (inclusive).

Lmcs _ delta _ abs _ cw [ i ] specifies the absolute delta codeword value for the ith binary number.

lmcs _ delta _ sign _ cw _ flag [ i ] specifies the sign of variable lmcsDeltaCW [ i ], as follows:

-if lmcs _ delta _ sign _ cw _ flag [ i ] is equal to 0, then lmcsDeltaCW [ i ] is positive.

-otherwise (lmcs _ delta _ sign _ cw _ flag [ i ] is not equal to 0), lmcsDeltaCW [ i ] is negative.

When lmcs _ delta _ sign _ cw _ flag [ i ] is not present, it is inferred to be equal to 0.

The variable OrgCW is derived as follows:

OrgCW=(1<<BitDepthY)/16 (7-70)

the variable lmcsDeltaCW [ i ] (i ═ lmcs _ min _ bin _ idx.. LmcsMaxBinIdx) is derived as follows:

lmcsDeltaCW[i]=(1-2*lmcs_delta_sign_cw_flag[i])*lmcs_delta_abs_cw[i]

(7-71)

the variable lmcsCW [ i ] is derived as follows:

lmcsCW [ i ] is set equal to 0 for i ═ 0.

For i ═ lmcs _ min _ bin _ idx.

lmcsCW[i]=OrgCW+lmcsDeltaCW[i] (7-72)

The value of LMC SW [ I ] should be in the range of (OrgCW > >3) to (OrgCw < <3-1), inclusive.

-for i ═ LmcsMaxBinIdx +1..15, lmcsCW [ i ] is set equal to 0.

The variable inputpdivot [ i ] (where i ═ 0..16) is derived as follows:

InputPivot[i]=i*OrgCW (7-74)

variables lmcspinvot [ i ] (where i ═ 0..16), variables ScaleCoeff [ i ], and InvScaleCoeff [ i ] (where i ═ 0..15) were derived as follows:

the variable ChromaScaleCoeff [ i ] (where i ═ 0..15) is derived as follows:

the variables ClipRange, LmcsMinVal and LmcsMaxVal are derived as follows:

ClipRange=((lmcs_min_bin_idx>0)&&(LmcsMaxBinIdx<15) (7-77)

LmcsMinVal=16<<(BitDepthY-8) (7-78)

LmcsMaxVal=235<<(BitDepthY-8) (7-79)

note that ArraysInputPivot [ i ] and LmscPivot [ i ], ScalCoeff [ i ] and InvscaleCoeff [ i ], ChromaScalCoeff [ i ], ClipRange, LmscsMinVal, and LmscMaxVal are updated only when tile _ group _ lmcs _ model _ present _ flag is equal to 1. Thus, the lmcs model may be sent with an IRAP picture, for example, but the lmcs is disabled for that IRAP picture.

3. Disadvantages of the existing embodiments

The current design of LMCS/CCLM may have the following problems:

1. in the LMCS codec tool, the chroma residual scaling factor is derived from the average of collocated luma prediction blocks, which results in a delay for processing chroma samples in LMCS chroma residual scaling.

a) In the case of single/shared trees, the delay is caused by: (a) waiting for all of the prediction samples for the entire luminance block to become available, and (b) averaging all of the luminance prediction samples obtained in (a).

b) In the case of dual/split trees, the delay is even worse, since a separate block partitioning structure of luminance and chrominance components is enabled in the I-stripe. Accordingly, one chrominance block may correspond to a plurality of luminance blocks, and one 4 × 4 chrominance block may correspond to a 64 × 64 luminance block. Thus, the worst case scenario is that the chroma residual scaling factor for the current 4x 4 chroma block may need to wait until all predicted samples in the entire 64x64 luma block are available. In summary, the latency problem in dual/split trees is much more severe.

2. In the CCLM codec tool, the CCLM model calculation for intra chroma prediction depends on the left and upper reference samples of the luma block and the chroma block. CCLM prediction for chroma blocks depends on collocated luma reconstruction samples of the same CU. This will result in a high latency of the dual/split tree.

In the case of a dual/split tree, one 4 × 4 chroma block may correspond to a 64 × 64 luma block. Therefore, the worst case scenario is that the CCLM process for the current chroma block may need to wait until the corresponding entire 64x64 luma block is reconstructed. This delay problem is similar to LMCS chroma scaling in dual/split trees.

4. Example techniques and embodiments

To address these problems, we propose several methods to eliminate/reduce/limit cross-component dependencies in luma-related chroma residual scaling, CCLM, and other codec tools that rely on information from different color components.

The detailed embodiments described below should be considered as examples to explain the general concept. These examples should not be construed narrowly. Furthermore, these embodiments may be combined in any manner.

Note that although the bullets described below make explicit reference to LMCS/CCLM, these methods may also be applied to other codec tools that rely on information from different color components. Furthermore, the terms "luminance" and "chrominance" mentioned below may be replaced by "first color component" and "second color component", respectively, such as "G component" and "B/R component" in the RGB color format.

In the following discussion, the definition of "collocation samples/chunks" is consistent with the definition of collocation samples/chunks in the VVC working draft jfet-M1001. More specifically, in the 4:2:0 color format, assuming that the top left corner samples of the chroma block are at positions (xTbC, yTbC), the top left corner samples of the collocated luma block location (xTbY, yTbY) are derived as follows: (xTbY, yTbY) ═ xTbC < <1, yTbC < < 1. As shown in fig. 5, the top-left sample point of the current chroma block is located in the chroma picture (x is 16, y is 16), and the top-left sample point of its collocated luma block is located in the luma picture (x is 32, y is 32), regardless of the block partition of the collocated luma block in the luma picture. For another example, assuming that the position of the top-left sample point of the collocated block in the reference frame should be the same as the position of the top-left sample point of the current block in the current frame in the same color component, as shown in fig. 6, assuming that the top-left sample point of the current block is (x, y) in the current frame, the top-left sample point of the collocated block of the current block has the same position (x, y) in the reference frame.

In the following discussion, the "corresponding block" may have a different location than the current block. For example, there may be a motion offset between the current block and its corresponding block in the reference frame. As shown in FIG. 6, assume that the current block is located at (x, y) in the current frame and it has a motionMotion vector (mv)x,mvy) Then the corresponding block of the current block may be located at (x + mv) in the reference framex,y+mvy). For IBC codec blocks, the collocated luma block (indicated by the zero vector) and the corresponding luma block (indicated by the non-zero BV) may be located at different positions of the current frame. For another example, when the partitioning of the luma block is not aligned with the partitioning of the chroma blocks (in a two-tree partitioning of I-stripes), the collocated luma block of the current chroma block may belong to a larger luma block that depends on the partition size of the overlapping luma codec block covering the top-left samples of the collocated luma block. As shown in fig. 5, it is assumed that a bold rectangle represents the division of a block, and thus a 64x64 luminance block is first divided by BT, and then the right part of the 64x64 luminance block is further divided by TT, which results in three luminance blocks having sizes equal to 32 × 16, 32 × 32, and 32 × 16, respectively. Thus, looking at the top left corner sample (x-32, y-32) of the collocated luma block of the current chroma block, it belongs to the center 32 × 32 luma block of the TT split. In this case, we refer to the corresponding luminance block covering the upper left-hand sample of the collocated luminance block as the "corresponding luminance block". Thus, in this example, the top-left corner sample of the corresponding luminance block is located at (x-32, y-16).

In the following DMVD (decoder side motion vector derivation) is used to denote BDOF (aka BIO) or/and DMVR (decoder side motion vector refinement) or/and FRUC (frame rate up conversion) or/and other methods of refining motion vectors or/and predicted sample values at the decoder.

Elimination of chroma scaling delay for LMCS and model calculation for CCLM

1. It is proposed that for inter coded blocks, one or more reference samples of a current block in a reference frame may be used to derive a chroma residual scaling factor in LMCS mode.

a) In one example, the reference luma samples may be used directly to derive chroma residual scaling factors.

i. Alternatively, the interpolation may be applied to the reference samples first, and the interpolated samples may be used to derive the chroma residual scaling factor.

Alternatively, reference samples in different reference frames may be used to derive final reference samples for chroma residual scale factor derivation.

1) In one example, the above method may be applied to bi-directionally predicted codec blocks.

in one example, the intensities of the reference samples may be converted to the reshape domain before being used to derive the chroma residual scaling factor.

in one example, a linear combination of reference samples may be used to derive a chroma residual scaling factor.

1) For example, a × S + b may be used to derive the chroma residual scaling factor, where S is the reference sample and a and b are parameters. In one example, a and b may be derived from Local Illumination Compensation (LIC).

b) In one example, the positioning of reference luma samples in the reference frame may depend on the motion vector(s) of the current block.

i. In one example, the reference samples belong to a reference luma block that is located in a reference picture and has the same width and height as the current luma block. The position of a reference luma sample in a reference picture can be calculated as the position of its corresponding luma sample in the current picture plus a motion vector.

in one example, the location of a reference luma sample point, referred to as a corresponding luma sample point in the reference frame, can be derived from the location of the top-left (or center, or bottom-right) sample point of the current luma block and the motion vector of the current block.

1) In one example, integer motion vectors may be used to derive corresponding luma samples in a reference frame. In one example, a motion vector associated with one block may be rounded toward zero or rounded away from zero to derive an integer motion vector.

2) Alternatively, fractional motion vectors may be used to derive corresponding luminance samples in the reference frame, so that an interpolation process may be required to derive fractional reference samples.

Alternatively, the position of the reference luminance samples may be derived from the position of the upper left (or center, or lower right) samples of the current luminance block.

Alternatively, a plurality of corresponding luma samples at some predefined locations in the reference frame may be chosen to calculate the chroma residual scaling factor.

c) In one example, a median or average of a plurality of reference luma samples may be used to derive a chroma residual scaling factor.

d) In one example, reference luma samples in a predefined reference frame may be used to derive chroma residual scaling factors.

i. In one example, the predefined reference frame may be a frame with a reference index equal to 0 in reference picture list 0.

Alternatively, the reference index and/or reference picture list for the predefined reference frame may be signaled in the sequence/picture/slice group/slice/CTU line/video unit level.

Alternatively, reference luma samples in multiple reference frames may be derived, and the chroma residual scaling factor may be obtained using an average or weighted average.

2. It is proposed whether and how to derive chroma residual scaling factors from luma samples in LMCS mode may depend on whether bi-prediction is applied to the current block.

a) In one example, the chroma residual scaling factor is derived separately for each prediction direction.

3. It is proposed whether and how to derive chroma residual scaling factors from luma samples in LMCS mode may depend on whether the current block applies sub-block based prediction.

a) In one example, the sub-block based prediction is an affine prediction;

b) in one example, the sub-block based Prediction is an optional Temporal Motion Vector Prediction (ATMVP).

c) In one example, the chroma residual scaling factor is derived separately for each sub-block.

d) In one example, the chroma residual scaling factor is derived for the entire block, even if it is predicted by a sub-block.

i. In one example, the motion vector of a selected sub-block (e.g., the top-left sub-block) may be used to identify the reference sample point of the current block, as described in bullet 1.

4. The luma predictor proposed for deriving the chroma residual scaling factor may be an intermediate luma predictor instead of a final luma predictor.

a) In one example, luma predictors prior to a bi-directional optical flow (BDOF, also known as BIO) process may be used to derive chroma residual scaling factors.

b) In one example, the luma predictor prior to the decoder-side motion vector refinement (DMVR) process may be used to derive the chroma residual scaling factor.

c) In one example, luma prediction values prior to the LIC process may be used to derive chroma residual scaling factors.

d) In one example, luma predictors prior to a Prediction Refinement Optical Flow (PROF) process as proposed in JFET-N0236 may be used to derive chroma residual scaling factors.

5. The intermediate motion vectors may be used to identify reference samples.

a) In one example, motion vectors prior to the course of the BDOF or/and DMVR or/and other DMVD methods may be used to identify reference samples.

b) In one example, motion vectors prior to the Prediction Refined Optical Flow (PROF) process as proposed in JVET-N0236 can be used to identify reference samples.

6. The above method may be applicable when the current block is coded in the inter mode.

7. It is proposed that for a block of IBC coding, one or more reference samples in a reference block of a current frame may be used to derive a chroma residual scaling factor in LMCS mode. When a block is IBC coded, the term "motion vector" may also be referred to as a "block vector" in which a reference picture is set as a current picture.

a) In one example, the reference samples belong to a reference block that is in the current picture and has the same width and height as the current block. The position of a reference sample can be calculated as the position of its corresponding sample plus a motion vector.

b) In one example, the position of the reference luma sample point may be derived by adding the position of the top-left (or center, or bottom-right) sample point of the current luma block to the motion vector.

c) Alternatively, the position of the reference luma samples may be derived by adding the position of the top-left (or center, or bottom-right) samples of the current luma block to the block vector of the current block.

d) Alternatively, a number of corresponding luma samples at some predefined locations in a reference region of the current luma block may be chosen to calculate the chroma residual scaling factor.

e) In one example, a plurality of corresponding luma samples may be computed as a function to derive a chroma residual scaling factor.

i. For example, a median or average of a plurality of corresponding luma samples may be calculated to derive a chroma residual scaling factor.

f) In one example, the intensities of the reference samples may be converted to the reshaped domain before being used to derive the chroma residual scaling factors.

i. Alternatively, the intensities of the reference samples may be converted to the original domain before being used to derive the chroma residual scaling factors.

8. It is proposed that one or more prediction/reconstruction samples located at the identified location(s) of the current luma block in the current frame may be used to derive a chroma residual scaling factor for the current chroma block in LMCS mode.

a) In one example, if the current block is inter-coded, luma prediction (or reconstructed) samples located in the center of the current luma block may be chosen to derive chroma residual scaling factors.

b) In one example, the average of the first mxn luma prediction (or reconstructed) samples may be chosen to derive the chroma residual scaling factor, where mxn may be smaller than the collocated luma block size "width x height".

9. The whole or part of the procedure proposed for computing the CCLM model can be used to derive the chroma residual scaling factor for the current chroma block in LMCS mode.

a) In one example, reference samples located at identified locations of neighboring luma samples of collocated luma blocks during CCLM model parameter derivation can be used to derive chroma residual scaling factors.

i. In one example, those reference samples may be used directly.

Alternatively, downsampling may be applied to those reference samples, and downsampled reference samples may be applied.

b) In one example, K of the S reference samples selected for model calculation of the CCLM may be used for chroma residual scaling factor derivation in LMCS mode. For example, K equals 1 and S equals 4.

c) In one example, the average/minimum/maximum values of the reference samples collocated with the luma block in CCLM mode may be used for chroma residual scaling factor derivation in LMCS mode.

10. How samples are selected for deriving the chroma residual scaling factor may depend on the coding information of the current block.

a) The coding information may include QP, coding mode, POC, intra prediction mode, motion information, etc.

b) In one example, the manner in which samples are selected may be different for IBC-coded or non-IBC-coded blocks.

c) In one example, the manner in which the samples are selected may be different based on reference picture information (such as POC distance between the reference picture and the current picture).

11. It is proposed that the model calculation of the chroma residual scaling factor and/or the CCLM may depend on neighboring samples of the corresponding luma block covering the top left samples of the collocated luma block.

a) The "corresponding luminance codec block" may be defined as a codec block covering the upper left corner position of the collocated luminance codec block.

i. Fig. 5 shows an example where the CTU partition for the chroma component may be different from the CTU partition for the luma component for intra-coded chroma blocks in the dual-tree case. First, a "corresponding luma codec block" is retrieved that covers the top-left corner samples of the collocated luma block for the current chroma block. Then, by using the block size information of the "corresponding luminance codec block", the upper left corner sample of the "corresponding luminance codec block" can be derived, and the upper left corner luminance sample of the "corresponding luminance codec block" covering the upper left corner sample of the juxtaposed luminance block is located (x ═ 32, y ═ 16).

b) In one example, reconstructed samples not in the "corresponding luma codec block" may be used to derive chroma residual scaling factors and/or model calculations for the CCLM.

i. In one example, reconstructed samples adjacent to a "corresponding luma codec block" may be used to derive chroma residual scaling factors and/or model calculations for the CCLM.

1) In one example, N samples located in the left adjacent column and/or the top adjacent row of the "corresponding luma codec block" may be used to derive the chroma residual scaling factor and/or model calculations of the CCLM, where N is 1 … 2W +2H, and W and H are the width and height of the "corresponding luma codec block".

a) Assuming that the upper left corner samples of the "corresponding luma codec block" are (xCb, yCb), then the top adjacent luma samples may be located at (xCb + W/2, yCb-1) or (xCb-1, yCb-1), in one example. In an alternative example, the left-hand neighboring luminance sample may be located at (xCb + W-1, yCb-1).

b) In one example, the location(s) of the proximate sample point(s) may be fixed and/or in a predefined inspection order.

2) In one example, 1 out of N neighboring samples may be selected to derive a chroma residual scaling factor and/or model calculation of the CCLM. Assuming that N is 3 and the checking order of the three neighboring samples is (xCb-1, yCb-H-1), (xCb + W/2, yCb-1), (xCb-1, yCb-1), the first available neighboring sample in the check list may be selected to derive the chroma residual scaling factor.

3) In one example, the median or average of N samples located in the left adjacent column and/or the top adjacent row of the "corresponding luma codec block" may be used to derive the chroma residual scaling factor and/or model calculations for the CCLM, where N is 1 … 2W +2H, and W and H are the width and height of the "corresponding luma codec block".

c) In one example, whether chroma residual scaling is performed may depend on the "available" neighboring samples of the corresponding luma block.

i. In one example, the "availability" of neighboring samples may depend on the encoding mode of the current block/sub-block or/and the encoding mode of the neighboring samples.

1) In one example, for a block coded in inter mode, neighboring samples coded in intra mode or/and IBC mode or/and CIIP mode or/and LIC mode may be considered "unavailable".

2) In one example, for a block coded in inter mode, neighboring samples that employ a diffusion filter or/and bilateral filter or/and a Hadamard transform filter may be considered "unusable".

in one example, the "availability" of neighboring samples may depend on the width and/or height of the current picture/slice group/VPDU/slice.

1) In one example, a neighboring block is considered "unavailable" if it is located outside of the current picture.

in one example, chroma residual scaling may not be allowed when there are no "available" neighboring samples.

in one example, chroma residual scaling may not be allowed when the number of "available" neighboring samples is less than K (K > ═ 1).

v. alternatively, nearby samples that are not available may be padded, or replaced with a default fixed value so that chroma residual scaling may always be applied.

1) In one example, if a neighboring sample point is not available, it may be filled with 1< < (bitDepth-1), where bitDepth specifies the bit depth of the sample point of the luma/chroma component.

2) Alternatively, if a nearby sample is not available, it may be filled by padding from surrounding samples located in the left/right/up/down neighborhood.

3) Alternatively, if a neighboring sample is not available, it may be replaced by the first available neighboring sample in a predefined checking order.

d. In one example, filtered/mapped reconstructed samples adjacent to a "corresponding luma codec block" may be used to derive chroma residual scaling factors and/or model calculations for the CCLM.

i. In one example, the filtering/mapping process may include reference smoothing filtering of intra blocks, post-filtering such as bilateral filtering, filtering based on Hadamard transforms, forward mapping of reshaped domains, and the like.

Restrictions on whether chroma residual scaling and/or CCLM is applied

12. Whether chroma residual scaling or CCLM is proposed depends on the partitioning of the corresponding luma block and/or the collocated luma block.

a) In one example, whether a tool with cross-component information is enabled or disabled may depend on the number of CUs/PUs/TUs within a collocated luma (e.g., Y or G component) block.

i. In one example, such tools may be disabled if the number of CUs/PUs/TUs within a collocated luma (e.g., Y or G component) block exceeds a number threshold.

Alternatively, whether the tool with cross-component information is enabled or disabled may depend on the split tree depth.

1) In one example, such a tool may be disabled if the maximum (or minimum or average or other variant) quadtree depth of a CU within a collocated luma block exceeds a threshold.

2) In one example, such tools may be disabled if the maximum (or minimum or average or other variant) BT and/or TT depth of a CU within a collocated luma block exceeds a threshold.

Alternatively, additionally, whether the tool with cross component information is enabled or disabled may depend on the block dimension of the chroma block.

Alternatively, additionally, whether the tool with cross-component information is enabled or disabled may depend on whether the collocated luminance spans multiple VPDUs/predefined region sizes.

v. the threshold in the above discussion may be a fixed number or may be signaled or may depend on the standard profile/level/hierarchy.

b) In one example, chroma residual scaling and/or CCLM may be disabled if the collocated luma block of the current chroma block is split by multiple partitions (e.g., in fig. 7).

i. Alternatively, chroma residual scaling and/or CCLM may be applied if the collocated luma block of the current chroma block is not partitioned (e.g., within one CU/TU/PU).

c) In one example, chroma residual scaling and/or CCLM may be disabled if a collocated luma block of a current chroma block contains more than M CU/PU/TU.

i. In one example, M may be an integer greater than 1.

in one example, M may depend on whether it is a CCLM or chroma residual scaling process.

M may be a fixed number or may be signaled or may depend on the standard profile/level/hierarchy.

d) The above CU within the collocated luma block may be interpreted as all CUs within the collocated luma block. Alternatively, a CU within a collocated luma block may be interpreted as a partial CU within the collocated luma block, such as a CU along a boundary of the collocated luma block.

e) The above-described CU within a collocated luma block may be interpreted as a sub-CU or sub-block.

i. For example, a sub-CU or sub-block may be used in ATMVP;

for example, a sub-CU or sub-block may be used in affine prediction;

for example, a Sub-CU or Sub-block may be used in Intra Sub-Partition (ISP) mode.

f) In one example, chroma residual scaling and/or CCLM may be disabled if the CU/PU/TU covering the top-left luma sample of the collocated luma block is larger than a predefined luma block size.

i. An example is depicted in fig. 8, the collocated luma block is 32 x 32, but it is within a corresponding luma block with a size equal to 64x64, then chroma residual scaling and/or CCLM is disabled in this case if the predefined luma block size is 32 x 64.

Alternatively, chroma residual scaling and/or CCLM may be applied to the current chroma block if the collocated luma block of the current chroma block is not partitioned and the corresponding luma block covering the top-left luma samples of the collocated luma block is completely included within the predefined bounding box. The bounding box may be defined as a rectangle of width W and height H, denoted W × H, as shown in fig. 9, where the width of the corresponding luminance block is 32 and the height is 64, and the width of the bounding box is 40 and the height is 70.

1) In one example, the size W × H of the bounding box may be defined according to the CTU width and/or height, or according to the CU width and/or height, or according to any value.

g) In one example, if the collocated luma block of the current chroma block is split by multiple partitions, only predicted samples (or reconstructed samples) within predefined partitions of the collocated luma block are used to derive chroma residual scaling factors in LMCS mode.

i. In one example, the average of all prediction samples (or reconstructed samples) in the first partition of the collocated luma block is used to derive the chroma residual scaling factor in LMCS mode.

Alternatively, the top left corner prediction samples (or reconstructed samples) in the first partition of the collocated luma block are used to derive chroma residual scaling factors in LMCS mode.

Alternatively, the central prediction samples (or reconstructed samples) in the first partition of the collocated luma block are used to derive chroma residual scaling factors in LMCS mode.

h) Proposing whether and how to apply cross-component tools such as CCLM and LMCS may depend on the codec mode(s) of the luminance CU(s) covering at least one sample of the collocated luminance block.

i. For example, if one or more luma CUs covering at least one sample of the collocated luma block are coded in affine mode, the cross-component tool is disabled;

for example, if one or more luma CUs covering at least one sample of the collocated luma block are coded with bi-prediction, the cross-component tool is disabled;

for example, if one or more luma CUs covering at least one sample point of the collocated luma block are coded with BDOF, the cross-component tool is disabled;

for example, if one or more luma CUs covering at least one sample of the collocated luma block are coded with DMVR, the cross-component tool is disabled;

v. for example, if one or more luma CUs covering at least one sample of the collocated luma block are coded with the matrix affine prediction mode proposed in jfet-N0217, the cross-component tool is disabled;

for example, if one or more luma CUs covering at least one sample point of the collocated luma block are coded in inter mode, the cross-component tool is disabled;

for example, if one or more luma CUs covering at least one sample point of the collocated luma block are coded in ISP mode, the cross-component tool is disabled;

in one example, "one or more luma CUs covering at least one sample of the collocated luma blocks" may refer to the corresponding luma blocks.

i) Signaling the CCLM/LMCS usage indication may be skipped when CCLM/LMCS is disabled.

j) In the present disclosure, CCLM may refer to any variant mode of CCLM, including LM mode, LM-T mode, and LM-L mode.

13. The proposal may be based on whether and how a portion of the chroma block performs cross-component tools such as CCLM and LMCS are applied.

a) In one example, whether and how cross-component tools such as CCLM and LMCS are applied is performed at the chroma sub-block level.

i. In one example, a chroma subblock is defined as a2 × 2 or 4 × 4 block in a chroma CU.

in one example, for a chroma sub-block, CCLM may be applied when the corresponding luma codec block of the current chroma CU covers all samples of the corresponding block of the sub-block.

in one example, for chroma sub-blocks, CCLM is not applied when the corresponding luma codec block of the current chroma CU does not cover all samples of the corresponding block.

in one example, the parameters of the CCLM or LMCS are derived for each chroma sub-block, treating the sub-block as a chroma CU.

v. in one example, when CCLM or LMCS is applied to chroma sub-blocks, samples of collocated blocks may be used.

Applicability of chroma residual scaling in LMCS mode

14. It is proposed that whether luma-related chroma residual scaling can be applied can be signaled at other syntax levels than in the slice group header specified in jfet-M1001.

a) For example, the chroma _ residual _ scale _ flag may be signaled at the sequence level (e.g., in SPS), picture level (e.g., in PPS or picture header), slice level (e.g., in slice header), slice level, CTU row level, CTU level, CU level. chroma residual scale flag equal to 1 specifies that chroma residual scaling is enabled for CUs below the signaled syntax level. chroma residual scale flag equal to 0 specifies that chroma residual scaling is not enabled for syntax levels below that signaled. When chroma _ residual _ scale _ flag is not present, it is inferred to be equal to 0.

b) In one example, if chroma residual scaling is limited to the split node level, chroma _ residual _ scale _ flag may not be signaled and is inferred to be 0 for CUs covered by the split node. In one example, the split node may be a CTU (which is considered a root node of the quadtree split).

c) In one example, if chroma residual scaling is constrained for chroma block sizes equal to or less than 32 × 32, chroma _ residual _ scale _ flag may not be signaled and inferred to be 0 for chroma block sizes equal to or less than 32 × 32.

Applicability of CCLM mode

15. It is proposed that the CCLM mode can be signaled at other syntax levels than the sps level specified in jfet-M1001, whether CCLM mode can be applied.

a) For example, it may be signaled at picture level (e.g., in a PPS or picture header), slice level (e.g., in a slice header), slice group level (e.g., in a slice group header), slice level, CTU row level, CTU level, CU level.

b) In one example, if CCLM cannot be applied, CCLM _ flag may not be signaled and is inferred to be 0.

i. In one example, if chroma residual scaling is constrained for chroma block sizes equal to or less than 8 × 8, the cclm _ flag may not be signaled and inferred to be 0 for chroma block sizes equal to or less than 8 × 8.

Unification of chroma residual scaling factor derivation for intra and inter modes

16. The chroma residual scaling factor may be derived after encoding/decoding the luma block and may be stored and used for later coding blocks.

a) In one example, certain predicted samples or/and intermediate predicted samples or/and reconstructed samples in the luma block or/and reconstructed samples prior to loop filtering (e.g., prior to processing by a deblocking filter or/and a SAO filter or/and a bilateral filter or/and a Hadamard transform filter or/and an ALF filter) may be used to derive chroma residual scaling factors.

i. For example, partial samples in the bottom row or/and the right column of the luma block may be used to derive chroma residual scaling factors.

b) In the case of a single tree, when encoding a block coded in an intra mode or/and IBC mode or/and inter mode, the derived chroma residual scaling factors of neighboring blocks may be used to derive the scaling factor of the current block.

i. In one example, some neighboring blocks may be checked in order, and the first available chroma residual scaling factor may be used for the current block.

in one example, certain neighboring blocks may be examined in order, and the scaling factor may be derived based on the top K available neighboring chroma residual scaling factors.

in one example, for a block coded in inter mode or/and CIIP mode, the chroma residual scaling factors of neighboring blocks may be considered "unavailable" if the neighboring blocks are coded in intra mode or/and IBC mode or/and CIIP mode.

in one example, the neighboring blocks may be checked in order of left (or top left) - > up (or top right).

1) Alternatively, the neighboring blocks may be checked in the order of top (or top right) > left (or top left).

c) In the case of a separate tree, when encoding a chroma block, the corresponding luma block may be identified first. The derived chroma residual scale factor of its neighboring blocks (e.g., of the corresponding luma block) may then be used to derive the scale factor of the current block.

i. In one example, some neighboring blocks may be checked in order, and the first available chroma residual scaling factor may be used for the current block.

in one example, certain neighboring blocks may be examined in order, and the scaling factor may be derived based on the top K available neighboring chroma residual scaling factors.

d) The adjacent blocks may be checked in a predetermined order.

i. In one example, the neighboring blocks may be checked in order of left (or top left) - > up (or top right).

in one example, the neighboring blocks may be checked in the order of top (or top right) - > left (or top left).

in one example, the neighboring blocks may be checked in order of lower left- > upper right- > upper left.

in one example, the neighboring blocks may be checked in left- > up-right- > up-left order.

e) In one example, whether chroma residual scaling is applied may depend on the "availability" of neighboring blocks.

i. In one example, chroma residual scaling may not be allowed when there are no "available" neighboring blocks.

in one example, chroma residual scaling may not be allowed when the number of "available" neighboring blocks is less than K (K > ═ 1).

Alternatively, the chroma residual scaling factor may be derived from a default value when there are no "available" neighboring blocks.

1) In one example, a default value of 1< < (BitDepth-1) may be used to derive the chroma residual scaling factor.

5. Example embodiments of the disclosed technology

Fig. 10 is a block diagram of the video processing apparatus 1000. Device 1000 may be used to implement one or more of the methods described herein. The apparatus 1000 may be embodied in a smartphone, tablet, computer, internet of things (IoT) receiver, or the like. The device 1000 may include one or more processors 1002, one or more memories 1004, and video processing hardware 1006. The processor(s) 1002 may be configured to implement one or more of the methods described in this document (including, but not limited to, methods 800 and 900). The memory(s) 1004 may be used to store data and code for implementing the methods and techniques described herein. The video processing hardware 1006 may be used to implement some of the techniques described in this document in hardware circuitry.

In some embodiments, the video codec method may be implemented using an apparatus implemented on a hardware platform as described with reference to fig. 10.

FIG. 11 illustrates a flow diagram of an example method 1100 for linear model derivation across component predictions in accordance with the disclosed technology. Method 1100 includes, at step 1110, performing a conversion between a current video block and a bitstream representation of the current video block, wherein, during the conversion, a second set of color component values of the current video block is derived from a first set of color component values included in one or more reference frames, wherein the first set of color component values is usable for a linear model of a video codec step.

Some embodiments may be described using the following clause-based format.

1. A method for video processing, comprising:

performing a conversion between the current video block and a bitstream representation of the current video block, wherein during the conversion, a second set of color component values of the current video block is derived from a first set of color component values included in one or more reference frames, wherein the first set of color component values is usable for a linear model of a video codec step.

2. The method according to clause 1, wherein the first set of color component values is interpolated before being used in the linear model of the video codec step.

3. The method according to any one or more of clauses 1-2, wherein a linear combination of the first set of color component values is usable as a parameter in the linear model.

4. The method of clause 1, wherein the location of the first set of color component values included in the one or more reference frames is selected based at least in part on motion information of the current video block.

5. The method of clause 4, wherein the location of the luma component value in the one or more reference frames is calculated according to the location of the corresponding luma component value in the current video block and the motion information of the current video block.

6. The method of clause 5, wherein the location corresponding to the luma component value is an upper-left, center, or lower-right sample point in the current video block.

7. The method of clause 6, wherein the motion information of the current video block corresponds to an integer motion vector or a fractional motion vector.

8. The method of clause 7, wherein the fractional motion vector is derived using fractional luma component values in one or more reference frames.

9. The method of clause 7, wherein the integer motion vector is derived by rounding toward zero or rounding away from zero.

10. The method according to clause 1, wherein the positioning of the first set of color component values comprised in the one or more reference frames is a predefined position.

11. The method of any one or more of clauses 1-10, wherein a median or average of the first set of color component values is used to derive a second set of color component values of the current video block.

12. The method of any one or more of clauses 1-11, wherein the one or more reference frames are predefined reference frames.

13. The method of clause 12, wherein the predefined reference frames comprise frames with reference indices for reference picture lists.

14. The method of clause 13, wherein the reference index is zero and the reference picture list is zero.

15. The method of clause 13, wherein the reference index and/or the reference picture list are signaled in a bitstream representation associated with one or more of: a sequence, a picture, a slice, a group, a slice, a row of codec tree elements, or a video block.

16. The method of clause 1, wherein the second set of color component values of the current video block is derived from a mathematical or weighted average of the first set of color component values included in one or more reference frames.

17. The method of clause 1, wherein a second set of color component values of the current video block is selectively derived from the first set of color component values included in the one or more reference frames based on whether the current video block is a bi-predictive coded block.

18. The method of clause 17, wherein the second set of color component values of the current video block is derived separately for each prediction direction of the first set of color component values.

19. The method of clause 1, wherein the second set of color component values of the current video block is selectively derived from the first set of color component values included in the one or more reference frames based on whether the current video block is associated with sub-block based prediction.

20. The method of clause 1, wherein the sub-block based prediction corresponds to an affine prediction or an optional temporal motion vector prediction (ATMVP).

21. The method of any one or more of clauses 19-20, wherein the second set of color component values of the current video block is derived for each sub-block.

22. The method of any one or more of clauses 19-21, wherein the second set of color component values of the current video block is derived for the entire current video block without regard to sub-block based prediction.

23. The method of any one or more of clauses 19-22, wherein the first set of color component values included in the one or more reference frames is selected based at least in part on a motion vector of a sub-block of the current video block.

24. The method according to any one or more of clauses 1-23, wherein the first set of color component values included in the one or more reference frames are intermediate color component values.

25. The method of any one or more of clauses 1-24, wherein the video codec step precedes another video codec step.

26. The method of clause 25, wherein the first set of color component values included in the one or more reference frames is selected based at least in part on an intermediate motion vector of the current video block or a sub-block of the current video block, and wherein the intermediate motion vector is calculated prior to another video coding step.

27. The method of any one or more of clauses 24-26, wherein the further video codec step comprises one or a combination of the following steps: a bidirectional optical flow (BDOF) step, a decoder-side motion vector refinement (DMVR) step, and a Prediction Refinement Optical Flow (PROF) step.

28. The method according to any one or more of clauses 1-27, wherein the first set of color component values included in the one or more reference frames correspond to mxn luma component values associated with a corresponding luma block.

29. The method of clause 28, wherein the corresponding luma block is a collocated luma block of the current video block.

30. The method of clause 29, wherein the product of M and N is less than the product of the block width and the block height of the collocated luma block of the current video block.

31. The method of any one or more of clauses 27-30, wherein the first set of color component values included in the one or more reference frames correspond to at least a portion of the reference samples identified at locations adjacent to the luma samples of the collocated luma block.

32. The method of any one or more of clauses 1-31, wherein the first set of color component values are downsampled before the first set of color components are used in the linear model of the video codec step.

33. The method of clause 1, wherein the second set of color component values of the current video block is selected based at least in part on one or more of the following information of the current video block: quantization parameter, codec mode, or Picture Order Count (POC).

34. The method of clause 31, wherein the positions adjacent to the luminance samples are such that the top-left samples of the collocated luminance block are covered.

35. The method of clause 28, wherein the first set of color component values included in the one or more reference frames corresponds to at least a portion of the reference samples identified at locations outside the corresponding luma block.

36. The method of clause 28, wherein the second set of color component values of the current video block is selectively derived from the first set of color component values included in the one or more reference frames based on the availability of neighboring samples of the corresponding luma block.

37. The method of clause 28, wherein the availability of neighboring samples for corresponding luminance blocks is based on one or more of: the use of a codec mode for the current video block, the use of a codec mode for neighboring samples of the corresponding luminance block, the use of a type of filter associated with neighboring samples of the corresponding luminance block, or the positioning of neighboring samples of the corresponding luminance block relative to the current video block or a sub-block thereof.

38. The method of clause 28, further comprising:

in response to the lack of availability of adjacent samples for the corresponding luminance block, the unavailable samples are replaced, filled, or padded with other samples.

39. The method of clause 28, further comprising:

a smoothing filter is applied to samples adjacent to the corresponding luminance block.

40. A method for video processing, comprising:

performing a conversion between the current video block and a bitstream representation of the current video block, wherein during the conversion, a second set of color component values of the current video block is derived from a first set of color component values included in one or more reference frames, wherein the first set of color component values is usable for a linear model of a video codec step; and

in response to determining that the first set of color component values included in the one or more reference frames is a collocated luma block of the current video block, selectively enabling or disabling derivation of a second set of color component values of the current video block based on one or more conditions associated with the collocated luma block of the current video block.

41. The method of clause 40, wherein the one or more conditions associated with collocated luma blocks of the current video block comprise: and the partition size of the juxtaposed brightness blocks is set, the number of the coding and decoding units of the juxtaposed brightness blocks reaches the threshold number, the brightness sampling points at the upper left corner of the juxtaposed brightness blocks reach the threshold size, and the juxtaposed brightness blocks or the corresponding brightness blocks covering the brightness sampling points at the upper left corner of the juxtaposed brightness blocks and additionally comprising the split tree depth of the corresponding brightness blocks in the boundary frame with the predefined size.

42. The method of clause 40, wherein the information indicating the selective enabling or disabling of the derivation is included in a bitstream representation.

43. The method of clause 28, wherein the availability of proximate samples for corresponding luminance blocks is associated with checking proximate samples according to a predefined order.

44. The method of any one or more of clauses 1-43, wherein the second set of color component values of the current video block is stored for use in conjunction with one or more other video blocks.

45. The method of any one or more of clauses 1-44, wherein the linear model corresponds to a cross-component linear model (CCLM) and the video codec step corresponds to a luma map with chroma scaling (LMCS) mode.

46. The method of any one or more of clauses 1-45, wherein the current video block is an inter-coded block, a bi-predictive coded block, or an Intra Block Copy (IBC) coded block.

47. The method of any one or more of clauses 1-46, wherein the first set of color component values correspond to luma sample value and the second set of color component values correspond to chroma scaling factors.

48. An apparatus in a video system comprising a processor and a non-transitory memory having instructions thereon, wherein the instructions, when executed by the processor, cause the processor to implement the method of any of clauses 1 to 47.

49. A computer program product stored on a non-transitory computer readable medium, the computer program product comprising program code for performing the method of any of clauses 1-47.

Fig. 12 is a block diagram illustrating an example video processing system 1200 in which various techniques disclosed herein may be implemented. Various embodiments may include some or all of the components of system 1200. The system 1200 may comprise an input 1202 for receiving video content. The video content may be received in a raw or uncompressed format (e.g., 8 or 10 bit multi-component pixel values), or may be received in a compressed or encoded format. The input 1202 may represent a network interface, a peripheral bus interface, or a memory interface. Examples of network interfaces include wired interfaces such as ethernet, Passive Optical Network (PON), etc., and wireless interfaces such as Wi-Fi or cellular interfaces.

System 1200 can include a codec component 1204 that can implement various codecs or encoding methods described in this document. Codec component 1204 may reduce an average bit rate of video from input 1202 to an output of codec component 1204 to produce a codec representation of the video. Thus, codec techniques are sometimes referred to as video compression or video transcoding techniques. The output of codec component 1204 may be stored or transmitted via a connected communication, as represented by component 1206. Component 1208 may use a bitstream (or codec) representation of the stored or communicated video received at input 1202 to generate pixel values or displayable video that is sent to display interface 1210. The process of generating a video viewable by a user from a bitstream representation is sometimes referred to as video decompression. Further, while certain video processing operations are referred to as "codec" operations or tools, it should be understood that codec tools or operations are used at the encoder and that the corresponding decoding tools or operations that invert the codec results will be performed by the decoder.

Examples of a peripheral bus interface or display interface may include a Universal Serial Bus (USB) or a high-definition multimedia interface (HDMI) or display port, among others. Examples of storage interfaces include SATA (serial advanced technology attachment), PCI, IDE interfaces, and the like. The techniques described in this document may be embodied in various electronic devices, such as mobile phones, laptops, smartphones, or other devices capable of performing digital data processing and/or video display.

FIG. 13 shows a flow diagram of an example method for visual media processing. The steps of the flow chart are discussed in section 4 of this document in connection with example embodiments 7d and 7e 8. In step 1302, the process performs a transition between a current chroma video block of the visual media data and a bitstream representation of the current chroma video block, wherein during the transition, a chroma residual of the current chroma video block is scaled based on a scaling factor, wherein the scaling factor is derived based on at least a luma sample point located at a predefined location.

FIG. 14 shows a flow diagram of an example method for visual media processing. The steps of the flow chart are discussed in section 4 of this document in connection with example embodiment 1. At step 1402, the process performs a conversion between a current video block of the visual media data and a bitstream representation of the current video block, wherein during the conversion, a second set of color component values of the current video block is derived from a first set of color component values of the visual media data using a cross-component linear model (CCLM) and/or a luma map with chroma scaling (LMCS) mode processing step.

FIG. 15 shows a flow diagram of an example method for visual media processing. The steps of the flow chart are discussed in section 4 of this document in connection with example embodiment 7. At step 1502, the process performs a conversion between a current video block of the visual media data and a bitstream representation of the current video block, wherein during the conversion, one or more reconstructed samples associated with a current frame of the visual media data are used to derive chroma residual scaling factors in a luma map with chroma scaling (LMCS) mode processing step.

FIG. 16 shows a flow diagram of an example method for visual media processing. The steps of the flow chart are discussed in section 4 of this document in connection with example embodiment 8. In step 1602, the process performs a transition between a current video block of visual media data and a bitstream representation of the current video block, wherein during the transition one or more luma prediction samples or luma reconstruction samples in a current frame other than the reference frame are used to derive chroma residual scaling factors in a luma map with chroma (LMCS) mode processing step.

FIG. 17 shows a flow diagram of an example method for visual media processing. The steps of the flow chart are discussed in section 4 of this document in connection with example embodiments 11a, 11b, 11c and 11 d. In step 1702, the process checks for the availability of one or more neighboring luma blocks covering corresponding luma blocks that juxtapose the upper-left corner samples of the luma block during transitions between the current chroma video block and the bitstream representation of the current chroma video block. At step 1704, the process determines whether to retrieve neighboring luminance samples for the corresponding luminance block based on the availability of one or more neighboring luminance blocks. At step 1706, the process derives a scaling factor based on the determination. In step 1708, the process scales the chroma residual of the current chroma video block based on the scaling factor to generate a scaled chroma residual. At step 1710, the process performs a transform based on the scaled chroma residual.

FIG. 18 shows a flow diagram of an example method for visual media processing. The steps of the flow chart are discussed in section 4 of this document in connection with example embodiment 11. In step 1802, the process derives a second set of color component values for the current video block from a first set of color component values of the visual media data during the transition between the current video block of the visual media data and the bitstream representation of the current video block using a model associated with the processing step, wherein the first set of color component values are neighboring samples of the corresponding luma block that cover upper left samples of the collocated luma block.

FIG. 19 shows a flow diagram of an example method for visual media processing. The steps of the flow chart are discussed in section 4 of this document in connection with example embodiment 12. At step 1902, the process makes a determination to selectively enable or disable application of a cross-component linear model (CCLM) and/or Chroma Residual Scaling (CRS) to a current chroma video block during a transition between the current chroma video block of the visual media data and a bitstream representation of the current chroma video block based at least in part on one or more conditions associated with a collocated luma block of the current chroma video block.

FIG. 20 shows a flow diagram of an example method for visual media encoding. The steps of the flow chart are discussed in section 4 of this document in connection with example embodiment 14. In step 2002, the process selectively enables or disables application of luma-related Chroma Residual Scaling (CRS) to chroma components of a current video block of the visual media data to encode the current video block in a video region of the visual media data into a bitstream representation of the visual media data. At step 2004, the process makes a determination to include or exclude a field in the bitstream representation of the visual media data, wherein the field indicates selective enabling or disabling, and if the field is included, the field is signaled instead of being at the first syntax level associated with the current video block.

Fig. 21 shows a flow diagram of an example method for visual media decoding. The steps of the flow chart are discussed in section 4 of this document in connection with example embodiment 14. At step 2102, the process parses a field in the bitstream representation of the visual media data, where the field is included in a level different from the first syntax level associated with the current video block. At step 2104, the process selectively enables or disables application of luma-related Chroma Residual Scaling (CRS) to chroma components of a current video block of the visual media data based on the field to generate a decoded video region from the bitstream representation.

FIG. 22 shows a flow diagram of an example method for visual media encoding. The steps of the flow chart are discussed in section 4 of this document in connection with example embodiment 15. At step 2202, the process selectively enables or disables application of a cross-component linear model (CCLM) to a current video block of visual media data to encode the current video block into a bitstream representation of the visual media data. At step 2204, the process makes a determination to include or exclude a field in the bitstream representation of the visual media data, wherein the field indicates selectively enabled or disabled, and if the field is included, the field is signaled instead of being at the first syntax level associated with the current video block.

Fig. 23 shows a flow diagram of an example method for visual media decoding. The steps of the flow chart are discussed in section 4 of this document in connection with example embodiment 15. At step 2302, the process parses a field in the bitstream representation of the visual media data, where the field is included in a level different from the first syntax level associated with the current video block. At step 2304, the process selectively enables or disables application of a cross-component linear model (CCLM) to a current video block of the visual media data based on the field to generate a decoded video region from the bitstream representation.

Some of the embodiments discussed in this document are now presented in a clause-based format.

X1. a method for visual media processing, comprising:

performing a transition between a current chroma video block of the visual media data and a bitstream representation of the current chroma video block, wherein during the transition a chroma residual of the current chroma video block is scaled based on a scaling factor, wherein the scaling factor is derived based on at least a luma sample point located at a predefined location.

X2. the method according to clause X1, wherein the scaling factor is calculated using a function applied to the luminance samples in the predefined location.

X3. the method of clause X1, wherein the function is a median function or a rounded based mean function.

X4. the method of clause X1, wherein the predefined location is determined based on a collocated luma block corresponding to the current chroma video block.

A1. A method for visual media processing, comprising:

performing a conversion between a current video block of the visual media data and a bitstream representation of the current video block, wherein during the conversion, a second set of color component values of the current video block is derived from a first set of color component values of the visual media data using a cross-component linear model (CCLM) and/or a luma mapping with chroma scaling (LMCS) mode processing step.

A2. The method of clause a1, wherein the first set of color component values are reference samples of the current video block and the second set of color component values are chroma residual scaling factors in LMCS mode.

A3. The method of clause a2, wherein the reference samples are reference luma samples that were interpolated prior to deriving the chroma residual scaling factor.

A4. The method according to clause a1, wherein the first set of color component values are reference samples comprised in different reference frames.

A5. The method of any one or more of clauses a1-a4, wherein the position of the reference sample point is calculated from the position of the corresponding luma component value in the current video block and motion information of the current video block.

A6. The method according to clause a5, wherein the location of the corresponding luma component value is an upper-left sample, a center sample, or a lower-right sample in the current video block.

A7. The method of clause a6, wherein the motion information of the current video block corresponds to an integer motion vector or a fractional motion vector.

A8. The method of clause a7, wherein the fractional motion vector is derived using a fractional luma component value in a reference frame.

A9. The method of clause a7, wherein the integer motion vector is derived by rounding to or away from zero.

A10. The method of any one or more of clauses a1-a2, wherein the first set of color component values is included in a predefined reference frame of the visual media data.

A11. The method of any one or more of clauses a1-a10, wherein the median or average of the first set of color component values is used to derive the second set of color component values of the current video block.

A12. The method of clause a10, wherein the predefined reference frames include frames with reference indices for reference picture lists.

A13. The method of clause a12, wherein the reference index is zero and the reference picture list is zero.

A14. The method according to any one or more of clauses a1-a2, wherein the first set of color component values is comprised in a plurality of reference frames of visual media data and a weighted combination of the first set of color component values is used to derive the second set of color component values.

A15. The method of clause a13, wherein the reference index and/or the reference picture list is signaled as a field in a bitstream representation associated with one or more of: a sequence, a group of pictures, a picture, a slice, a group of slices, a slice, a sub-picture, a row of coding tree units, a coding tree unit, a Virtual Pipeline Data Unit (VPDU), or a video block.

A16. The method of clause a1, wherein, based on whether the current video block is a bi-predictive coded block, a second set of color component values of the current video block is selectively derived according to the first set of color component values.

A17. The method of clause a16, wherein the second set of color component values of the current video block is derived separately for each prediction direction associated with the first set of color component values.

A18. The method of clause a1, wherein a second set of color component values of the current video block is selectively derived from the first set of color component values based on whether the current video block is associated with sub-block based prediction.

A19. The method of clause a18, wherein the sub-block based prediction corresponds to an affine prediction or an optional temporal motion vector prediction (ATMVP).

A20. The method of any one or more of clauses a18-a19, wherein the second set of color component values of the current video block is derived for each sub-block.

A21. The method of any one or more of clauses a18-a19, wherein the second set of color component values of the current video block is derived for the entire current video block without regard to sub-block based prediction.

A22. The method of any one or more of clauses a18-a21, wherein the first set of color component values is selected based at least in part on a motion vector of a sub-block of the current video block.

A23. The method of any one or more of clauses a18-a21, wherein a motion vector associated with a sub-block of a current video block is used to select the first set of color component values.

A24. The method of any one or more of clauses a1-a23, wherein the first set of color component values are intermediate color component values.

A25. The method of any one or more of clauses a1-a24, wherein the LMCS mode processing step precedes another subsequent processing step.

A26. The method of clause a25, wherein the first set of color component values is selected based at least in part on an intermediate motion vector of the current video block or a sub-block of the current video block, and wherein the intermediate motion vector is calculated before another video codec step.

A27. The method of clause a26, wherein the further processing step comprises one or a combination of the following steps: a bidirectional optical flow (BDOF) step, a decoder-side motion vector refinement (DMVR) step, and a Prediction Refinement Optical Flow (PROF) step.

A28. A method for visual media processing, comprising:

performing a transition between a current video block of the visual media data and a bitstream representation of the current video block, wherein during the transition one or more reconstructed samples associated with a current frame of the visual media data are used to derive a chroma residual scaling factor in a luma map with chroma scaling (LMCS) mode processing step.

A29. The method of clause a28, wherein the current video block is Intra Block Copy (IBC) coded.

A30. The method of clause a28, wherein the one or more reconstructed samples are reference samples in a reference block associated with the current frame.

A31. The method of clause a28, wherein the location of the one or more reconstructed samples is predefined.

A32. The method of clause a31, wherein the one or more reconstructed samples are reconstructed luma samples located in upper rows and left columns adjacent to a block covering a corresponding luma block of the current video block.

A33. The method of clause a28, wherein the one or more reconstructed samples are located based on a location of a corresponding luma block of the current video block and motion information of the current video block.

A34. A method for visual media processing, comprising:

a transition between a current video block of the visual media data and a bitstream representation of the current video block is performed, wherein during the transition one or more luma prediction samples or luma reconstruction samples in a current frame different from the reference frame are used to derive chroma residual scaling factors in a luma map with chroma scaling (LMCS) mode processing step.

A35. The method of any of clauses a34, wherein one or more luma prediction samples or luma reconstruction samples are located in a vicinity of an mxn luma block that covers the corresponding luma block.

A36. The method of clause a35, wherein the corresponding luma block is a collocated luma block of the current video block.

A37. The method of clause a36, wherein the product of M and N is less than the product of the block width and the block height of the collocated luma block of the current video block.

A38. The method of clause a36, wherein M and N are predefined widths and predefined heights of video blocks that cover a collocated luma block of a current video block.

A39. The method of clause a36, wherein M and N are the width and height of a Virtual Pipeline Data Unit (VPDU) covering a collocated luma block of a current video block.

A40. The method of any one or more of clauses a1-a39, wherein, during conversion, the reference samples are used directly or downsampled before being used for derivation.

A41. The method of any one or more of clauses a1-a40, wherein the samples used to derive the chroma residual scaling factor are selected based at least in part on one or more of the following information of the current video block: quantization parameter, codec mode, or Picture Order Count (POC).

A42. The method of any one or more of clauses a1-a41, wherein the current video block is an inter coded block, an intra coded block, a bi-predictive coded block, or an Intra Block Copy (IBC) coded block.

A43. The method of any one or more of clauses a1-a42, wherein the first set of color component values corresponds to luma sample values and the second set of color component values corresponds to chroma scaling factors of the current video block.

A44. The method of any one or more of clauses a1-a43, wherein converting comprises generating a bitstream representation from the current video block.

A45. The method of any one or more of clauses a1-a43, wherein converting comprises generating pixel values of the current video block from the bitstream representation.

A46. A video encoder apparatus comprising a processor configured to implement the method of any one or more of clauses a1-a 45.

A47. A video decoder apparatus comprising a processor configured to implement the method of any one or more of clauses a1-a 45.

A48. A computer readable medium having code stored thereon, the code comprising processor executable instructions for performing the method of any one or more of clauses a1-a 38.

Y1. a method for visual media processing, comprising:

during a transition between a current chroma video block and a bitstream representation of the current chroma video block, checking for availability of one or more neighboring luma blocks that cover corresponding luma blocks that juxtapose upper-left corner samples of luma blocks;

determining whether to retrieve neighboring luminance samples for the corresponding luminance block based on the availability of one or more neighboring luminance blocks;

deriving a scaling factor based on the determination;

scaling a chroma residual of a current chroma video block based on a scaling coefficient to generate a scaled chroma residual; and

the transformation is performed based on the scaled chroma residual.

Y2. the method of clause Y1, wherein the one or more neighboring luminance blocks include a left neighboring luminance block and an upper neighboring luminance block.

Y3. the method of clause Y1, wherein neighboring luminance samples comprise one or more left neighboring sample columns and/or one or more upper neighboring sample rows of the corresponding luminance block.

Y4. the method according to any one or more of clauses Y1 or Y3, wherein, where the one or more neighboring luminance blocks are available, neighboring luminance samples are retrieved and averaged based on rounding to derive a scaling factor.

Y5. the method according to clause Y1 or Y3, wherein, in the event that the one or more neighboring luminance blocks are available, neighboring luminance samples are retrieved and the median of the neighboring luminance samples is used to derive the scaling factor.

Y6. the method of clause Y3, wherein the number of adjacent luminance samples is N, where 1< ═ N < ═ 2W +2H, W and H are the width and height of the corresponding luminance block.

Y7. the method of clause Y1 or Y2, wherein the availability of the one or more neighboring luma blocks is determined based on a width and/or height of a current picture, slice group, Virtual Pipeline Data Unit (VPDU), or slice.

Y8. the method of clause Y7, wherein the one or more neighboring luma blocks are not available if they are in different pictures, different slices, different slice groups, different VPDUs, or different slices.

Y9. the method of clause Y1, wherein, in the event that the one or more neighboring luma blocks are not available, skipping corresponding neighboring luma samples from the search.

Y10. the method according to clause Y9, wherein the scaling factor is derived in case corresponding neighboring luminance samples are skipped from the retrieval.

Y11. the method according to clause Y10, wherein the scaling factor is derived based on a default value.

Y12. the method of clause Y11, wherein the default value is based on the bit depth of the current chroma video block and the collocated luma block.

Y13. the method of clause Y12, wherein the default value is represented as 1< < (bitDepth-1), wherein bitDepth represents the bit depth of the current chroma video block and the collocated luma block.

Y14. the method according to clause Y1, wherein neighboring luminance samples are reconstructed based on the positive mapping.

B1. A method for visual media processing, comprising:

during a transition between a current video block of the visual media data and a bitstream representation of the current video block, a model associated with the processing step is used to derive a second set of color component values for the current video block from a first set of color component values of the visual media data, wherein the first set of color component values are neighboring samples of the corresponding luma block that cover upper left samples of the collocated luma block.

B2. The method of clause B1, wherein the current video block is one of: an intra-coded video block with dual-tree partitioning or an intra-coded video block with single-tree partitioning or an inter-coded video block with single-tree partitioning.

B3. The method of any one or more of clauses B1-B2, wherein the first set of color component values corresponds to at least a portion of the reference samples identified at locations outside the corresponding luma block.

B4. The method of clause B3, wherein the portion of the reference samples identified at locations outside the corresponding luma block comprises samples adjacent to the corresponding luma codec block.

B5. The method of clause B4, wherein the samples adjacent to the corresponding luma codec block include N samples located in adjacent columns to the left and/or adjacent rows above the corresponding luma codec block, where N ═ 1 … 2W +2H, and W and H are the width and height of the corresponding luma codec block.

B6. The method of clause B5, wherein when the top-left corner samples of the collocated luminance block are located at (xCb, yCb), the top-adjacent luminance samples are located at (xCb + W/2, yCb-1) or (xCb-1, yCb-1).

B7. The method of clause B5, wherein when the top-left corner samples of the collocated luminance block are located at (xCb, yCb), the left-side neighboring luminance samples are located at (xCb + W-1, yCb-1).

B8. The method of clause B4, wherein the portion of the reference samples identified at the location outside the corresponding luminance block are located at predefined locations.

B9. The method of clause B4, wherein the second set of color component values of the current video block is derived based on a median or arithmetic average of N samples located in adjacent columns to the left and/or adjacent rows above the corresponding luma codec block.

B10. The method of any one or more of clauses B1-B2, wherein the second set of color component values of the current video block is selectively derived from the first set of color component values based on availability of neighboring samples of the corresponding luma block.

B11. The method of clause B10, wherein the availability of proximate samples of corresponding luminance blocks is based on one or more of: the use of a codec mode for the current video block, the use of a codec mode for neighboring samples of the corresponding luma block, the use of filter types associated with neighboring samples of the corresponding luma block, the positioning of neighboring samples of the corresponding luma block relative to the current video block or a sub-block thereof, the width of the current picture/sub-picture/slice group/VPDU/slice, and/or the height of the current picture/sub-picture/slice group/VPDU/slice/Codec Tree Unit (CTU) row.

B12. The method of clause B10, further comprising:

in response to determining the lack of availability of adjacent samples for the corresponding luminance block, the unavailable samples are replaced, filled, or padded with other samples.

B13. The method of clause B12, wherein the lack of availability of neighboring samples for a corresponding luma block is based at least in part on determining that a codec mode of a current video block is intra mode and/or Intra Block Copy (IBC) mode and/or combined inter-intra prediction (CIIP) mode and/or Local Illumination Compensation (LIC) mode when the codec mode of the current video block is inter mode.

B14. The method of clause B12, wherein the lack of availability of neighboring samples for a corresponding luma block is based at least in part on determining that neighboring samples are subject to a diffusion filter and/or a bilateral filter and/or a Hadamard transform filter when the codec mode of the current video block is an inter mode.

B15. The method of clause B12, wherein the lack of availability of neighboring samples for the corresponding luma block is based at least in part on determining that the neighboring block is located outside a current picture/sub-picture/slice group/VPDU/slice/Codec Tree Unit (CTU) row associated with the current video block.

B16. The method of any one or more of clauses B12-B15, further comprising:

in response to determining the lack of availability of neighboring samples for the corresponding luma block, disabling deriving a second set of color component values of the current video block from the first set of color component values.

B17. The method of clause B10, further comprising:

in response to determining that the number of available neighboring samples is less than the threshold, disabling deriving a second set of color component values of the current video block from the first set of color component values.

B18. The method of clause B17, wherein the threshold value is 1.

B19. The method according to clause B12, wherein, if it is determined that adjacent samples are not available, the adjacent samples are filled with 1< < (bitDepth-1) samples, wherein bitDepth denotes the bit depth of the first set of color component value samples or the second set of color component value samples.

B20. The method of clause B12, wherein, if it is determined that an adjacent sample is not available, replacing the adjacent sample by a first available adjacent sample according to a predefined checking order.

B21. The method of clause B13, wherein, if it is determined that proximate samples are not available, filling the proximate samples with one or more of the following: left-side neighboring spots, right-side neighboring spots, top-neighboring spots, or bottom-neighboring spots.

B22. The method of clause B10, further comprising:

a smoothing filter is applied to samples adjacent to the corresponding luminance block, which samples are used to derive a second set of color component values for the current video block.

B23. The method of clause B22, wherein the smoothing filter comprises one or more of: bilateral filters, filters based on Hadamard transforms or positive mapping of the reshaped domain.

B24. The method of any one or more of clauses B1-B23, wherein the second set of color component values of the current video block is stored for use in conjunction with one or more other video blocks.

B25. The method of any one or more of clauses B1-B23, wherein the model corresponds to a cross-component linear model (CCLM) and/or the processing step corresponds to a luma map with chroma scaling (LMCS) mode.

B26. The method of any one or more of clauses B1-B23, wherein the current video block is an intra coded block, an inter coded block, a bi-predictive coded block, or an Intra Block Copy (IBC) coded block.

B27. The method according to any one or more of clauses B1-B23, wherein the first set of color component values corresponds to luma sample values and the second set of color component values corresponds to chroma scaling factors of the current video block.

B28. The method of any one or more of clauses B1-B23, wherein converting comprises generating a bitstream representation from the current video block.

B29. The method of any one or more of clauses B1-B23, wherein converting comprises generating pixel values of the current video block from the bitstream representation.

B30. A video encoder apparatus comprising a processor configured to implement the method of any one or more of clauses B1-B23.

B31. A video decoder apparatus comprising a processor configured to implement the method of any one or more of clauses B1-B23.

B32. A computer readable medium having code stored thereon, the code comprising processor executable instructions for performing the method of any one or more of clauses B1-B23.

C1. A method for visual media processing, comprising:

during a transition between a current chroma video block of visual media data and a bitstream representation of the current chroma video block, a determination is made to selectively enable or disable application of a cross-component linear model (CCLM) and/or Chroma Residual Scaling (CRS) to the current chroma video block based at least in part on one or more conditions associated with collocated luma blocks of the current chroma video block.

C2. The method of clause C1, wherein the one or more conditions associated with the collocated luma block of the current chroma video block comprise: the method comprises the steps of concatenating partition sizes of luminance blocks, the number of coding and decoding units of the concatenated luminance blocks reaching a threshold number, the upper left corner luminance sample points of the concatenated luminance blocks reaching the threshold size, concatenating the luminance blocks, or covering corresponding luminance blocks of the upper left corner luminance sample points of the concatenated luminance blocks, or covering the upper left corner luminance sample points of the concatenated luminance blocks and additionally including the partition tree depth of the corresponding luminance blocks within a bounding box of a predefined size, the coding and decoding mode of one or more coding and decoding units (CUs) covering at least one sample point of the concatenated luminance blocks, and/or the dimension of a current chroma video block.

C3. The method of any one or more of clauses C1-C2, wherein applying CCLM and/or CRS to the current chroma video block is disabled in response to determining that the collocated luma block of the current chroma video block is partitioned into multiple partitions.

C4. The method of any one or more of clauses C1-C2, wherein applying CCLM and/or CRS to the current chroma video block is enabled in response to determining that the collocated luma block of the current chroma video block is not partitioned into multiple partitions.

C5. The method of any one or more of clauses C1-C2, wherein applying CCLM and/or CRS to the current chroma video block is disabled in response to determining that the collocated luma block of the current chroma video block includes more than one of a threshold number of codec units and/or a threshold number of partition units and/or a threshold number of transform units.

C6. The method of clause C5, wherein the threshold number is 1.

C7. The method of clause C5, wherein the threshold number is based at least in part on whether CCLM and/or CRS is applied.

C8. The method of clause C5, wherein the threshold number is fixed or included in the bitstream representation.

C9. The method of clause C5, wherein the threshold number is based at least in part on a profile/level/hierarchy associated with the current chroma video block.

C10. The method of clause C5, wherein the coding unit and/or the partitioning unit and/or the transform unit are located entirely within the collocated luma block.

C11. The method of clause C5, wherein the coding unit and/or the partition unit and/or the transform unit are partially located within the collocated luma block.

C12. The method of clause C11, wherein the coding unit and/or the segmentation unit and/or the transformation unit are located partially along the boundary of the collocated luma block.

C13. The method of clause C5, wherein a coding unit and/or a partitioning unit and/or a transform unit is associated with sub-block based prediction.

C14. The method of clause C13, wherein the sub-block based prediction corresponds to an intra sub-partition (ISP) prediction or an affine prediction or an optional temporal motion vector prediction (ATMVP).

C15. The method of any one or more of clauses C1-C2, wherein applying CCLM and/or CRS to the current chroma video block is disabled in response to determining that a codec unit and/or partition unit and/or transform unit covering a top-left luma sample of the collocated luma block is greater than a predefined block size.

C16. The method according to clause C15, wherein the collocated luminance block has a size of 32 × 32 and is included within a corresponding luminance block having a size of 64 × 64, and the predefined luminance block has a size of 32 × 64.

C17. The method of clause C2, wherein, in response to determining that the collocated luma block of the current chroma video block is not partitioned, enabling application of CCLM and/or CRS to the current chroma video block, and a corresponding luma block covering a top-left luma sample of the collocated luma block is entirely included within a bounding box of a predefined size.

C18. The method according to clause C17, wherein the size of the corresponding luminance block is 32 × 64, and the size of the bounding box is 40 × 70.

C19. The method of clause C17, wherein the predefined size of the bounding box is based, in part, on a size of a Coding Tree Unit (CTU) associated with the current chroma video block and/or a size of a Coding Unit (CU) associated with the current chroma video block.

C20. The method of any one or more of clauses C1-C2, wherein a collocated luma block of the current chroma video block is partitioned into a plurality of partitions, and prediction samples or reconstruction samples within one or more of the plurality of partitions are used to derive values associated with a CRS of the current chroma video block.

C21. The method of clause C20, wherein an average of predicted samples or reconstructed samples within a first partition of a collocated luma block of the current chroma video block is used to derive values associated with the CRS of the current chroma video block.

C22. The method of clause C20, wherein upper left prediction samples or upper left reconstruction samples within a first partition of a collocated luma block of a current chroma video block are used to derive values associated with a CRS of the current chroma video block.

C23. The method of clause C20, wherein a central prediction sample or a central reconstruction sample within a first partition of a collocated luma block of a current chroma video block is used to derive color component values with the current chroma video block.

C24. The method of clause C2, wherein applying CCLM and/or CRS to the current chroma video block is disabled in response to determining that a codec mode of one or more Codec Units (CUs) covering at least one sample of the collocated luma block is one of an affine mode, a bi-directional prediction mode, a bi-directional optical flow mode (BDOF), a DMVR mode, a matrix affine prediction mode, an inter mode, or an intra sub-partition (ISP) mode.

C25. The method of clause C2, wherein the one or more codec units covering at least one sample of the collocated luma block are corresponding luma blocks.

C26. The method of any one or more of clauses C1-C25, further comprising:

based on a field in the bitstream representation, selectively enabling or disabling application of the CCLM and/or CRS to the current chroma video block is indicated.

C27. The method of any one or more of clauses C1-C26, wherein selectively enabling or disabling application of CCLM and/or CRS to the current chroma video block is performed on one or more sub-blocks of the current chroma video block.

C28. The method of clause C27, wherein the size of the one or more sub-blocks of the current chroma video block is 2 x2 or 4x 4.

C29. The method of clause C27, wherein applying CCLM and/or CRS to the sub-blocks of the current chroma video block is enabled when the corresponding luma codec block of the current chroma video block covers all samples of the corresponding block of the sub-blocks.

C30. The method of clause C27, wherein the applying CCLM and/or CRS to the sub-blocks of the current chroma video block is disabled when the corresponding luma codec block does not cover all samples of the corresponding block of the sub-blocks of the current chroma video block.

C31. The method of clause C27, wherein parameters of a CCLM and/or CRS are associated with each sub-block of a current chroma video block.

C32. The method of clause C27, wherein selectively enabling or disabling the application of CCLM and/or CRS to sub-blocks of the current chroma video block is based on samples included within the collocated luma block.

C33. The method of any one or more of clauses C1-C32, wherein the current video block is an inter coded block, an intra coded block, a bi-predictive coded block, or an Intra Block Copy (IBC) coded block.

C34. The method of any one or more of clauses C1-C33, wherein converting comprises generating a bitstream representation from the current chroma video block.

C35. The method of any one or more of clauses C1-C33, wherein converting comprises generating pixel values of the current chroma video block from a bitstream representation.

C36. A video encoder apparatus comprising a processor configured to implement the method of any one or more of clauses C1-C33.

C37. A video decoder apparatus comprising a processor configured to implement the method of any one or more of clauses C1-C33.

C38. A computer readable medium having code stored thereon, the code comprising processor executable instructions for performing the method of any one or more of clauses C1-C33.

D1. A method for visual media encoding, comprising:

selectively enable or disable application of luma-related Chroma Residual Scaling (CRS) to chroma components of a current video block of the visual media data to encode the current video block in a video region of the visual media data into a bitstream representation of the visual media data; and

a determination is made to include or exclude a field in a bitstream representation of the visual media data, wherein the field indicates selective enabling or disabling, and if the field is included, the field is signaled instead of being at a first syntax level associated with the current video block.

D2. A method for visual media decoding, comprising:

parsing a field in a bitstream representation of the visual media data, wherein the field is included in a level different from a first syntax level associated with a current video block; and

based on this field, application of luma-related Chroma Residual Scaling (CRS) to chroma components of a current video block of the visual media data is selectively enabled or disabled to generate a decoded video region from the bitstream representation.

D3. The method of any one or more of clauses D1-D2, wherein the first syntax level is a slice group header level, and wherein the field is included at one of: a Sequence Parameter Set (SPS) associated with the current video block, a slice associated with the current video block, a Codec Tree Unit (CTU) row associated with the current video block, a Codec Tree Unit (CTU) associated with the current video block, a Virtual Pipeline Data Unit (VPDU) associated with the current video block, or a Codec Unit (CU) associated with the current video block.

D4. The method of any one or more of clauses D1-D3, wherein the field is a flag denoted chroma residual scale flag.

D5. The method of any one or more of clauses D1-D4, wherein the field is associated with a syntax level, and wherein if the field is one, application of luma-related chroma residual scaling below the syntax level is enabled, and if the field is zero, application of luma-related chroma residual scaling below the syntax level is disabled.

D6. The method of clause D5, wherein the field is associated with a split node level, and wherein if the field is one, then enabling application of luma-related chroma residual scaling below the split node level, and if the field is zero, then disabling application of luma-related chroma residual scaling below the split node level.

D7. The method of any one or more of clauses D1-D4, wherein the field is associated with a threshold dimension, and wherein if the field is one, applying luma-related chroma residual scaling to video blocks at or above the threshold dimension is enabled, and if the field is zero, applying luma-related chroma residual scaling to video blocks below the threshold dimension is disabled.

D8. The method of clause D7, wherein the threshold dimension is 32 x 32.

D9. The method of any one or more of clauses D1-D8, wherein the field is not signaled in the bitstream representation and is not present in the bitstream representation used to infer that application of luma-related chroma residual scaling is disabled and is inferred to be zero.

D10. The method of any one or more of clauses D1-D9, wherein values associated with a luminance-related CRS of the current video block are stored for use in conjunction with one or more other video blocks.

D11. The method of clause D10, wherein the values associated with the luma-related CRS are derived after encoding or decoding the luma block.

D12. The method according to clause D11, wherein, in the luminance block, prediction samples and/or intermediate prediction samples and/or reconstruction samples prior to loop filtering are used to derive values associated with the luminance-related CRS.

D13. The method of clause D12, wherein the loop filtering includes using: deblocking filters and/or Sample Adaptive Offset (SAO) filters and/or bilateral filters and/or Hadamard transform filters and/or Adaptive Loop Filters (ALF).

D14. The method of clause D11, wherein samples in the bottom row and/or the right-hand column of the luminance block are used to derive values associated with the luminance-related CRS.

D15. The method of clause D11, wherein samples associated with neighboring blocks are used to derive values associated with a luminance-related CRS.

D16. The method of clause D15, wherein the current video block is an intra coded block, an inter coded block, a bi-predictive coded block, or an Intra Block Copy (IBC) coded block.

D17. The method of clause D15, wherein the availability of samples associated with adjacent blocks is checked according to a predefined order.

D18. The method of clause D17, wherein the predefined order with respect to the current video block is one of: from left to right, from top left to top right, from left to top left, from top left to top right, from top to left, from top right to top left.

D19. The method of clause D17, wherein the predefined order with respect to the current video block is one of: from bottom left to left, from left to right up, from top right to top, from top to top left.

D20. The method of clause D17, wherein the predefined order with respect to the current video block is one of: from left to top, from top to top right, from top right to bottom left, from bottom left to top left.

D21. The method of clause D17, wherein the predefined order is associated with samples in the first available subset of adjacent blocks.

D22. The method of clause D15, wherein samples associated with a neighboring block are determined to be unavailable if the current video block is an inter coded block and the neighboring block is an intra coded block, an IBC coded block, or a CIIP coded block.

D23. The method of clause D15, wherein samples associated with neighboring blocks are determined to be unavailable if the current video block is a CIIP codec block and the neighboring blocks are intra codec blocks, IBC codec blocks, or CIIP codec blocks.

D24. The method of clause D15, further comprising:

in response to determining that the number of neighboring blocks is less than the threshold, disabling derivation of the brightness-related CRS.

D25. The method of clause D24, wherein the threshold value is 1.

D26. The method according to clause D24, wherein, if a sample point from a neighboring block is determined to be unavailable, the sample point is filled with 1< < (bitDepth-1) sample points, wherein bitDepth represents the bit depth of the chrominance component or the luminance component.

E1. A method for visual media encoding, comprising:

selectively enabling or disabling application of a cross-component linear model (CCLM) to a current video block of visual media data to encode the current video block into a bitstream representation of the visual media data; and

a determination is made to include or exclude a field in a bitstream representation of the visual media data, wherein the field indicates selective enabling or disabling, and if the field is included, the field is signaled instead of being at a first syntax level associated with the current video block.

E2. A method for visual media decoding, comprising:

parsing a field in a bitstream representation of the visual media data, wherein the field is included in a level different from a first syntax level associated with a current video block; and

based on this field, application of a cross-component linear model (CCLM) to a current video block of the visual media data is selectively enabled or disabled to generate a decoded video region from the bitstream representation.

E3. The method of any one or more of clauses E1-E2, wherein the first syntax level is a Sequence Parameter Set (SPS) level, and wherein the field is included at one of: a Picture Parameter Set (PPS) associated with the current video block, a slice associated with the current video block, a picture header associated with the current video block, a slice group associated with the current video block, a Codec Tree Unit (CTU) row associated with the current video block, a Codec Tree Unit (CTU) associated with the current video block, a Virtual Pipeline Data Unit (VPDU) associated with the current video block, or a Codec Unit (CU) associated with the current video block.

E4. The method of any one or more of clauses E1-E3, wherein the field is a flag denoted as cclm _ flag.

E5. The method of any one or more of clauses E1-E4, wherein the absence of this field in the bitstream representation is used to infer that application of the CCLM is disabled.

E6. The method of any one or more of clauses E1-E4, wherein the presence of this field in the bitstream representation is used to infer a CCLM-enabled application.

E7. The method of clause E5, wherein, if the dimension of the current video block is less than or equal to the threshold dimension, then excluding the field in the bitstream representation, and whereby excluding the field is used to infer that application of the CCLM is disabled.

E8. The method of clause E7, wherein the threshold dimension is 8 x 8.

F1. A video encoder apparatus comprising a processor configured to implement the method of any one or more of clauses X1-E8.

F2. A video decoder apparatus comprising a processor configured to implement the method of any one or more of clauses X1-E8.

F3. A computer readable medium having code stored thereon, the code comprising processor executable instructions for performing the method of any one or more of clauses X1-E8.

In this document, the term "video processing" or "visual media processing" may refer to video encoding, video decoding, video compression, or video decompression. For example, a video compression algorithm may be applied during the conversion from a pixel representation of a video to a corresponding bitstream representation (or vice versa). As defined by the syntax, the bitstream representation of the current video block may, for example, correspond to bits collocated or distributed at different locations within the bitstream. For example, a macroblock may be encoded according to the transformed and coded error residual values, and bits in the header and other fields in the bitstream may also be used. Furthermore, during the transition, the decoder may, based on this determination, parse the bitstream knowing that some fields may or may not be present, as described in the above solution. Similarly, the encoder may determine that certain syntax fields are or are not included and generate the codec representation accordingly by including or excluding syntax fields from the codec representation.

From the foregoing, it will be appreciated that specific embodiments of the technology of the present disclosure have been described herein for purposes of illustration, but that various modifications may be made without deviating from the scope of the invention. Accordingly, the techniques of this disclosure are not limited, except as by the appended claims.

Implementations of the subject matter and the functional operations described in this patent document can be implemented in various systems, digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments of the subject matter described in this specification can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a tangible and non-transitory computer readable medium for execution by, or to control the operation of, data processing apparatus. The computer readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter effecting a machine-readable propagated signal, or a combination of one or more of them. The term "data processing unit" or "data processing apparatus" encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.

A computer program (also known as a program, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.

The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (ASIC).

Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. However, a computer need not have such devices. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.

It is intended that the specification, together with the drawings, be considered exemplary only, with examples being meant. As used herein, the use of "or" is intended to include "and/or" unless the context clearly indicates otherwise.

Although this patent document contains many specifics, these should not be construed as limitations on the scope of any invention or of what may be claimed, but rather as descriptions of features specific to particular embodiments of particular inventions. Certain features that are described in this patent document in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Moreover, although features may be described above as occurring in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.

Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. Moreover, the separation of various system components in the embodiments described in this patent document should not be understood as requiring such separation in all embodiments.

Only a few embodiments and examples are described and other embodiments, enhancements and variations can be made based on what is described and illustrated in this patent document.

71页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于DMVR的帧间预测方法和设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类