Chroma residual scaling signaling

By deriving chroma residual scaling factors from reference samples and reducing luma dependency, latency issues in video coding are addressed, improving processing efficiency and performance in HEVC and VVC standards.

JP7778765B2Active Publication Date: 2025-12-02DOUYIN VISION CO LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2023207153
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-07-07
Filing Date
2023-12-07
Publication Date
2025-12-02
Estimated Expiration
2040-07-07

AI Technical Summary

Technical Problem

Existing video coding standards like HEVC and VVC face latency issues in chroma residual scaling due to dependencies on luma components, particularly in dual or separate tree structures, leading to inefficient processing of chroma samples.

Method used

Proposed methods to derive chroma residual scaling factors using reference samples from the current or different reference frames, intermediate luma predictors, and reduced dependency on luma blocks, such as using motion vectors and interpolation, to reduce latency in LMCS and CCLM processes.

Benefits of technology

Reduces processing latency and improves efficiency in chroma residual scaling by allowing immediate derivation of scaling factors without waiting for complete luma block reconstruction, enhancing overall video coding performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007778765000064
    Figure 0007778765000064
  • Figure 0007778765000065
    Figure 0007778765000065
  • Figure 0007778765000066
    Figure 0007778765000066
Patent Text Reader

Abstract

To provide a video and image coding / decoding technique, device and system.SOLUTION: A method for visual media processing includes performing a conversion between a current video unit of a visual media data and a bitstream representation of the current video unit. The bitstream representation is configured according to a format rule, and the format rule specifies a level of a video segment at which one or more syntax elements indicative of a scaling factor by which a chroma residual is scaled for coding the current video unit is selectively included in the bitstream representation.SELECTED DRAWING: Figure 13
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This application is based on International Application No. PCT / CN2020 / 100573, which claims priority to and the benefit of International Patent Application No. PCT / CN2019 / 094964, filed July 7, 2019. All of the aforementioned patent applications are incorporated herein by reference in their entireties.

[0002] This patent document relates to video and image coding / decoding techniques, devices and systems. [Background technology]

[0003] 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 bandwidth demands for digital video usage are expected to continue to increase. Summary of the Invention

[0004] Devices, systems, and methods related to digital video coding, specifically, simplified linear model derivation for cross-component linear model (CCLM) prediction modes in video coding, are described. The described methods may be applied to both existing video coding standards (e.g., High Efficiency Video Coding (HEVC)) and future video coding standards (e.g., Versatile Video Coding (VVC)) or codecs.

[0005] In one exemplary aspect, the disclosed techniques may be used to provide a method for video processing, the method including performing a conversion between a current video unit of visual media data and a bitstream representation of the current video unit, the bitstream representation being configured according to format rules specifying a level of a video segment at which one or more syntax elements indicating scaling factors by which chroma residuals are scaled to code the current video unit are selectively included in the bitstream representation.

[0006] In one exemplary aspect, the disclosed techniques may be used to provide a method for video processing that includes performing a conversion between visual media data that includes one or more video regions that include one or more video blocks and a bitstream representation of the visual media data, where the bitstream representation conforms to a format rule that specifies that one or more video blocks in the video region have the same chroma scaling factor in a luma-dependent chroma residual scaling step of the conversion.

[0007] In one exemplary aspect, the disclosed techniques may be used to provide a method for video processing, the method including performing a transformation between a current video unit of visual media data and a bitstream representation of the visual media data, wherein the bitstream representation conforms to format rules that specify that one or more syntax elements in the bitstream representation that indicate a scaling factor associated with a chroma residual scaling step of the transformation of the current video unit are predictively coded in the bitstream representation.

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

[0009] In yet another exemplary aspect, a device configured or operable to perform the above-described method is disclosed. The device may include a processor programmed to implement the method.

[0010] In yet another exemplary aspect, a video encoding and / or decoding device is disclosed that includes a processor configured to implement the above-described method.

[0011] In yet another exemplary aspect, a computer-readable medium is disclosed having stored thereon processor-executable code that embodies one of the methods described above.

[0012] The above aspects and features of the disclosed technology are described in more detail in the drawings, specification and claims. [Brief explanation of the drawings]

[0013] [Figure 1] 1 shows an example of an angular intra prediction mode in HEVC.

[0014] [Figure 2] Here is an example of a non-HEVC direction mode:

[0015] [Figure 3] An example related to CCLM mode is shown below.

[0016] [Figure 4] 1 illustrates an example of luma mapping according to a chroma scaling architecture.

[0017] [Figure 5] 1 shows an example of different color formats for luma and chroma blocks.

[0018] [Figure 6] An example of the same color format for luma and chroma blocks is shown below.

[0019] [Figure 7] 1 shows an example of collocated luma blocks covering multiple formats.

[0020] [Figure 8] 1 shows an example of a luma block within a larger luma block.

[0021] [Figure 9] 1 shows an example of a luma block within a larger luma block and within a bounding box.

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

[0023] [Figure 11] 1 shows a flowchart of an exemplary method for linear model derivation for cross-component prediction in accordance with the disclosed techniques.

[0024] [Figure 12] FIG. 1 is a block diagram of an example video processing system in which the disclosed techniques can be implemented.

[0025] [Figure 13] 1 is a flowchart for an exemplary method of visual media processing.

[0026] [Figure 14] 1 is a flowchart for an exemplary method of visual media processing.

[0027] [Figure 15] 1 is a flowchart for an exemplary method of visual media processing. DETAILED DESCRIPTION OF THE INVENTION

[0028] 2.1 A Brief Review of HEVC 2.1.1 Intra Prediction in HEVC / H.265 Intra prediction involves generating samples for a given transform block (TB) using previously reconstructed samples in the considered color channel. Intra prediction modes are signaled separately for the luma and chroma channels, with the chroma channel intra prediction mode optionally dependent on the luma channel intra prediction mode via the "DM_CHROMA" mode. Although the intra prediction mode is signaled at the prediction block (PB) level, the intra prediction process is applied at the TB level according to the remaining quadtree hierarchy of the CU, thereby allowing the coding of one TB to affect the coding of the next TB within the CU and thus reducing the distance to the sample used as a reference value.

[0029] 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 Figure 1.

[0030] For PBs associated with chroma color channels, the intra prediction mode is specified as either Planar, DC, horizontal, vertical, "DM_CHROMA" mode, or sometimes as diagonal mode "34".

[0031] For chroma formats 4:2:2 and 4:2:0, a chroma PB may overlap with two or four luma PBs (respectively), in which case the luma direction of DM_CHROMA is taken from the top-left of these luma PBs.

[0032] The DM_CHROMA mode indicates that the intra prediction mode of the luma color channel PB is applied to the chroma color channel PB. Since this is relatively common, the most probable mode coding scheme of intra_chroma_pred_mode is biased in favor of this mode being selected.

[0033] 2.2 Description of the VVC (Versatile Video Coding) Algorithm 2.2.1 VVC Coding Architecture The Joint Video Exploration Team (JVET) was established by VCEG and MPEG in 2015 to explore future video coding technologies beyond HEVC. JVET meetings are held quarterly, and the new coding standard targets a 50% bitrate reduction compared to HEVC. The new video coding standard was officially named Versatile Video Coding (VVC) at the April 2018 JVET meeting, and the first version of the VVC Test Model (VTM) was released at that time. Continuous efforts are being made to contribute to VVC standardization, with new coding techniques being adopted into the VVC standard at each JVET meeting. The VVC Working Draft and Test Model VTM are subsequently updated after each meeting. The VVC project is currently aiming for technical completion (FDIS) at the July 2020 meeting.

[0034] Like most previous standards, VVC has a block-based hybrid coding architecture that combines inter- and intra-picture prediction and transform coding with entropy coding. The picture partitioning structure divides the input video into blocks called coding tree units (CTUs). CTUs are split into coding units (CUs) using a quadtree with a nested multi-type tree structure, with leaf coding units (CUs) defining regions that share the same prediction mode (e.g., intra or inter). In this document, the term "unit" defines a region of the image that covers all color components, while the term "block" is used to define a region that covers a specific color component (e.g., luma), although the spatial location may differ when considering chroma sampling formats such as 4:2:0.

[0035] 2.2.2 Dual / Separate Tree Partitions in VVC The luma and chroma components can have separate partition trees for an I slice. The separate tree partitioning is below the 64x64 block level, not at the CTU level. In the VTM software, there is an SPS flag that controls whether dual trees are on or off.

[0036] 2.2.3 Intra Prediction in VVC 2.2.3.1 67 Intra Prediction Modes To capture any edge direction presented in natural video, the number of directional intra modes in VTM4 is expanded from 33 to 65 as used in HEVC. The new directional modes not in HEVC are shown as dotted arrows in Figure 2; the planar and DC modes remain the same. These denser directional intra prediction modes apply to all block sizes and to both luma and chroma intra prediction.

[0037] 2.2.3.2 Cross-Component Linear Model Prediction (CCLM) To reduce cross-component redundancy, a CCLM (cross-component linear model) prediction mode is used in VTM4, where chroma samples are predicted based on the reconstructed luma samples of the same CU using a linear model such as:

number

number

[0038] where Y a and X a represents the luma and chroma values ​​of the luma sample with the largest luma sample value. b and Y b represent the luma and chroma values ​​of the luma sample with the smallest luma sample, respectively. Figure 3 shows an example of the positions of the left and top samples and the samples of the current block involved in CCLM mode.

[0039] The division operation to calculate the parameter α is implemented using a lookup table. To reduce the memory required to store the table, the diff value (the difference between the maximum and minimum values) and the parameter α are expressed in exponential notation. For example, the diff is approximated using a 4-bit significant part and an exponent. Thus, the table for 1 / diff is reduced to 16 elements for 16 values ​​of the mantissa as follows:

number

[0040] This has the advantage of reducing both the computational complexity and the memory size required to store the required tables.

[0041] The above templates and left templates can be used to calculate linear model coefficients, as well as in two other LM modes called LM_A and LM_L modes.

[0042] In LM_A mode, linear model coefficients are calculated using only the above template. To obtain more samples, the above template is extended to (W+H). In LM_L mode, linear model coefficients are calculated using only the left template. To obtain more samples, the left template is extended to (H+W).

[0043] For non-square blocks, the above template is extended to W+W, and the left template is extended to H+H.

[0044] To match the chroma sample positions of a 4:2:0 video sequence, two types of downsampling filters are applied to the luma samples to achieve a 2:1 downsampling ratio in both the horizontal and vertical directions. The choice of 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:

number

[0045] Note that when the upper baseline is at a CTU boundary, only one luma line (a common line buffer in intra prediction) is used to create the downsampled luma samples.

[0046] This parameter calculation is performed as part of the decoding process and not simply as an encoder search operation, and as a result, no syntax is used to convey the values ​​of α and β to the decoder.

[0047] For chroma intra-mode coding, a total of eight intra-modes are allowed for chroma intra-mode coding. These modes include five conventional intra-modes and three cross-component linear model modes (CCLM, LM_A, and LM_L). Chroma mode coding directly depends on the intra-prediction mode of the corresponding luma block. Because separate block partitioning structures for luma and chroma components are enabled in an I slice, one chroma block may correspond to multiple luma blocks. Therefore, chroma DM mode directly inherits the intra-prediction mode of the corresponding luma block that covers the center position of the current chroma block.

[0048] 2.2.3.2.1 Corresponding revised working draft (JVET-N0271) The following specifications are based on the revised working draft of JVET-M1001 and the adoption of JVET-N0271. The adopted revisions of JVET-N0220 are shown in bold and underlined. (outside 1) TIFF0007778765000005.tif228170TIFF0007778765000006.tif236169TIFF00077787650 00007.tif242169TIFF0007778765000008.tif239170TIFF0007778765000009.tif237170 TIFF0007778765000010.tif236168TIFF0007778765000011.tif235170TIFF00077787650 00012.tif236169TIFF0007778765000013.tif235170TIFF0007778765000014.tif184168

[0049] 2.2.3.3 Other Intra Prediction Aspects VTM4 includes many intra-coding tools that are different from HEVC, for example, the following features are included in the VVC Test Model 3 on the box tree structure: 67 intra-modes with wide-angle 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-subpartition

[0050] 2.2.4 Inter Prediction in VVC 2.2.4.1 CIIP (Combined inter and intra prediction) In VTM4, when a CU is coded in merge mode, if the CU contains at least 64 luma samples (i.e., CU width x CU height is 64 or more), an additional flag is signaled to indicate whether combined inter / intra prediction (CIIP) mode applies to the current CU.

[0051] To form the CIIP prediction, the intra prediction mode is first derived from two additional syntax elements. Up to four possible intra prediction modes can be used: DC, planar, horizontal, or vertical. Then, the inter prediction and intra prediction signals are derived using the normal intra and inter decoding process. Finally, a weighted average of the inter and intra prediction signals is performed to obtain the CIIP prediction.

[0052] 2.2.4.2 Other Inter Prediction Aspects VTM4 includes many coding tools that are different from HEVC, for example, the following features are included in VVC Test Model 3 on a box tree structure: Affine motion inter-prediction Sub-block based temporal motion vector prediction Adaptive motion vector resolution 8x8 block-based motion compression for temporal motion estimation High-precision (1 / 16pel) motion vector storage and motion compensation using an 8-tap interpolation filter for the luma component and a 4-tap interpolation filter for the chroma component Triangular partition Joint intra and inter prediction MMVD (Merge with MVD) Symmetric MVD coding Bidirectional optical flow Decoder-side motion vector refinement Bi-predictive weighted average

[0053] 2.2.5 In-loop filters In VTM4, there are a total of three in-loop filters. In addition to the deblocking filter and SAO (the two loop filters in HEVC), an adaptive loop filter (ALF) is applied in VTM4. The filtering process order in VTM4 is deblocking filter, SAO, and ALF.

[0054] In VTM4, the SAO and deblocking filtering process is almost the same as in HEVC.

[0055] VTM4 adds a new process called Luma Mapping with Chroma Scaling (previously known as Adaptive In-Loop Reshaper). This new process runs before deblocking.

[0056] 2.2.6 LMCS (Luma mapping with chroma scaling, also known as in-loop reshaping) In VTM4, a coding tool called LMCS (luma mapping with chroma scaling) is added as a new processing block before the loop filter. LMCS has two main components: 1) in-loop mapping of the luma component based on an adaptive piecewise linear model, and 2) luma-dependent chroma residual scaling applied to the chroma component. Figure 4 shows the LMCS architecture from the decoder's perspective. The dotted shaded blocks in Figure 4 indicate where processing is applied in the mapped domain, including inverse quantization, inverse transform, luma intra prediction, and luma residual summation. The unshaded blocks in Figure 4 indicate where processing is applied in the original (i.e., unmapped) domain, including loop filters such as deblocking, ALF, and SAO, motion-compensated prediction, chroma intra prediction, chroma prediction, and chroma residual summation, and storing the decoded picture as a reference picture. The cross-hatched shaded blocks in Figure 4 are new LMCS functional blocks that include forward and backward mapping of the luma signal and the luma-dependent chroma scaling process. Like most other tools in VVC, LMCS can be enabled / disabled at the sequence level using the SPS flag.

[0057] 2.2.6.1 Luma Mapping with Piecewise Linear Models The in-loop mapping of the luma component adjusts the dynamic range of the input signal by redistributing codewords across the dynamic range to improve compression efficiency. The luma mapping utilizes a forward mapping function FwdMap and a corresponding inverse mapping function InvMap. The FwdMap function is signaled using a piecewise linear model of 16 equal pieces. The InvMap function does not need to be signaled, but is instead derived from the FwdMap function.

[0058] The luma mapping model is signaled at the tile group level. A presence flag is signaled first. If a luma mapping model exists in the current tile group, the corresponding piecewise linear model parameters are signaled. The piecewise linear model partitions the dynamic range of the input signal into 16 equal pieces, and for each piece, its linear mapping parameters are expressed using the number of codewords assigned to that piece. Take a 10-bit input as an example. Each of the 16 pieces has 64 codewords assigned to it by default. The signaled number of codewords is used to calculate a scaling factor and adjust the mapping function accordingly for that piece. At the tile group level, another LMCS enable flag is signaled to indicate whether the LMCS process, as shown in Figure 4, is applied to the current tile group.

[0059] Each i (i=0...15)th piece of the FwdMap piecewise linear model is defined by two input pivot points InputPivot[] and two output (mapped) pivot points MappedPivot[].

[0060] InputPivot[] and MappedPivot[] are calculated as follows (assuming 10-bit video): 1) OrgCW=64 2) For i=0:16, InputPivot[i]=i*OrgCW 3) For i=0:16, MappedPivot[i] is 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 signaled codewords for the i-th piece.

[0061] As shown in Figure 4, for inter-coded blocks, motion compensation prediction is performed in the mapped domain. In other words, the motion compensation prediction block Y is generated based on the reference signal of the DPB. pred After is calculated, the FwdMap function

number

number

[0062] The luma mapping process (forward and / or reverse mapping) can be implemented using either a look-up table (LUT) or on-the-fly calculations. If a LUT is used, a FwdMapLUT and an InvMapLUT can be pre-calculated and pre-stored for use at the tile group level, and the forward and reverse mappings are respectively

number

number

number

[0063] The InvMap function can be computed on the fly in a similar way, except that since the pieces in the mapped domain are not of equal size, a conditional check must be applied when figuring out which piece a sample value belongs to instead of a simple right bit shift.

[0064] 2.2.6.2 Luma-Dependent Chroma Residual Scaling Chroma residual scaling is designed to compensate for the interaction between the luma signal and the corresponding chroma signal. Whether chroma residual scaling is enabled is also signaled at the tile group level. When luma mapping is enabled and dual-tree partitioning (also known as separate chroma tree) is not applied to the current tile group, an additional flag is signaled to indicate whether luma-dependent chroma residual scaling is enabled. When luma mapping is not used or dual-tree partitioning is used for the current tile group, luma-dependent chroma residual scaling is disabled. Furthermore, luma-dependent chroma residual scaling is always disabled for chroma blocks with an area of ​​4 or less.

[0065] Chroma residual scaling depends on the average value of the corresponding luma prediction block (for both intra-coded and inter-coded blocks). Denote avgY′ as the average of the luma prediction block. C ScaleInv The value of is calculated using the following steps: (1) Based on the InvMap function, the index YIdx of the piecewise linear model to which avgY′ belongs is found. (2) C ScaleInv =cScaleInv[Y Idx ] and cScaleInv[] is a pre-computed 16-piece 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 the Intra, CIIP, or IBC predicted luma values; otherwise, avgY′ is calculated as the average of the forward-mapped inter predicted luma values ​​(Y′ in Figure 4). pred ) is calculated as the average of the C ScaleInv is a constant value for the entire chroma block. ScaleInv Thus, the chroma residual scaling is applied as follows: Encoder side:

number

number

[0066] 2.2.6.3 Corresponding Working Draft in JVET-M1001_v7 with the adoption of JVET-N0220 The following specifications are based on the revised working draft of JVET-M1001 and the adoption of JVET-N0220. The adopted amendments to JVET-N0220 are shown in bold and underlined. [Table 1] (outside 2) TIFF0007778765000023.tif224168TIFF0007778765000024.tif240170TIFF0007778765000025.tif202170

[0067] 3. Shortcomings of existing implementations 1. The current design of LMCS / CCLM has the following problems: In the LMCS coding tool, the chroma residual scaling factor is derived by the average value of the collocated luma prediction blocks, which introduces latency for processing chroma samples in the LMCS chroma residual scaling. a) In the single / shared tree case, the latency is caused by (a) waiting for all predicted samples for all luma blocks to be available, and (b) averaging all luma predicted samples obtained by (a). b) In the case of dual tree / separate tree, the latency is even worse because separate block partitioning structure for luma and chroma components is enabled in I slice. Therefore, one chroma block may correspond to multiple luma blocks, and one 4x4 chroma block may correspond to a 64x64 luma block. Therefore, in the worst case, the chroma residual scaling factor of the current 4x4 chroma block may need to wait until all prediction samples for the entire 64x64 luma block are available. In short, the latency problem in dual / separate tree is much more serious. 2. In CCLM coding tools, CCLM model calculation for intra-chroma prediction depends on the left and above reference samples of both luma and chroma blocks, and CCLM prediction for a chroma block depends on the co-located luma reconstructed samples of the same CU, which causes high latency in dual / separate trees. In the case of dual / separate trees, one 4x4 chroma block may correspond to a 64x64 luma block. Therefore, in the worst case, the CCLM process for the current chroma block may need to wait until the entire corresponding 64x64 luma block is reconstructed. This latency issue is similar to that of LMCS chroma scaling in dual / separate trees.

[0068] 4. Exemplary Techniques and Embodiments To address this issue, we propose several methods to remove / reduce / limit chroma-component dependency in luma-dependent chroma residual scaling, CCLM, and other coding tools that rely on information from different color components.

[0069] The detailed embodiments described below should be regarded as examples to illustrate the general concept. These embodiments should not be construed in a narrow sense. Furthermore, these embodiments can be combined in any manner.

[0070] Note that while the following bullet points explicitly refer to LMCS / CCLM, this method is also applicable to other coding tools that rely on information from different color components. Additionally, the terms "luma" and "chroma" mentioned below may be replaced with "first color component" and "second color component", respectively, such as "G component" and "B / R component" in an RGB color format.

[0071] In the following discussion, the definition of "collocated sample / block" is consistent with the definition of collocated sample / block in VVC Working Draft JVET-M1001. More specifically, in a 4:2:0 color format, if the top-left sample of a chroma block is at position (xTbC, yTbC), the top-left sample of the collocated luma block at position (xTbY, yTbY) is derived as follows: (xTbY, yTbY)=(xTbC<<1, yTbC<<1) As shown in Figure 5, the top-left sample of a current chroma block is located at (x=16, y=16) in the chroma picture, and the top-left sample of its adjacent luma block is located at (x=32, y=32) in the luma picture, regardless of the block partition of the adjacent luma block in the luma picture. As another example, using the same color component, as shown in Figure 6, the position of the top-left sample of the current block in the current frame and the position of the top-left sample of the adjacent block in the reference frame must be the same, i.e., if the top-left sample of the current block is (x, y) in the current frame, the top-left sample of the adjacent block of the current block has the same position (x, y) in the reference frame.

[0072] In the following description, a "corresponding block" may have a different location from the current block. For example, there may be a motion shift between the current block and its corresponding block in a reference frame. As shown in FIG. 6, if a current block is located at (x, y) in the current frame and has a motion vector (mvx, mvy), the corresponding block of the current block may be located at (x+mvx, y+mvy) in the reference frame. Also, in an IBC-coded block, a co-located luma block (indicated by a zero vector) and a corresponding luma block (indicated by a non-zero BV) may be located at different locations in the current frame. In another example, if the partition of a luma block does not align with the partition of a chroma block (dual-tree partition of an I-slice), the co-located luma block of a current chroma block may belong to a larger luma block, depending on the partition size of the overlapping luma coding block that covers the upper-left sample of the co-located luma block. Assuming that the bold rectangle indicates the block partition as shown in FIG. 5, the 64x64 luma block is first split by BT, and then the right part of the 64x64 luma block is further divided by TT, resulting in three luma blocks with sizes equal to 32x16, 32x32, and 32x16, respectively. Therefore, when looking at the top-left sample (x=32, y=32) of the aligned luma block of the current chroma block, it belongs to the central 3x32 luma block of the TT partition. In this case, the corresponding luma block covering the top-left sample of the aligned luma block is called the "corresponding luma block." Therefore, in this example, the top-left sample of the corresponding luma block is located at (x=32, y=16).

[0073] Hereinafter, DMVD (decoder-side motion vector derivation) is used to represent BDOF (also known as BIO) and / or DMVR (decode-side motion vector refinement) or FRUC (frame rate up-conversion) or other methods of refining motion vectors or predicted sample values ​​in the decoder. Elimination of chroma scaling latency in LMCS and model calculation of CCLM 1. We propose that for inter-coded blocks, one or more reference samples of the current block in the reference frame may be used to derive the chroma residual scaling factor in LMCS mode. a) In one example, the reference luma samples may be used directly to derive the chroma residual scaling factors. i. Alternatively, interpolation may be applied to the reference samples first, and the interpolated samples may be used to derive the chroma residual scaling factors. ii. Alternatively, reference samples in different reference frames may be utilized to derive the final reference samples used in deriving the chroma residual scaling factors. 1) In one example, the above method may be applied to bi-predictively coded blocks. iii. In one example, the intensities of the reference samples may be transformed into the reshape domain before being used to derive the chroma residual scaling factor. iv. In one example, a linear combination of the reference samples may be used to derive the chroma residual scaling factor. 1) For example, derive a chroma residual scaling factor using a×S+b, where S is a reference sample and a and b are parameters. In one example, a and b may be derived by Localized Illuminate Compensation (LIC). b) In one example, the location of the reference luma sample in the reference frame may depend on the motion vector of the current block. In one example, the reference sample belongs to a reference luma block in the reference picture that has the same width and height as the current luma block, and the position of the reference luma sample in the reference picture is calculated as the position of its corresponding luma sample in the current picture plus a motion vector. ii. In one example, the location of the reference luma sample may be derived by the location of the top-left (or center, or bottom-right) sample of the current luma block and the motion vector of the current block, and is called the corresponding luma sample in the reference frame. 1) In one example, an integer motion vector may be used to derive a corresponding luma sample in a reference frame. In one example, a motion vector associated with a block may be rounded toward or away from zero to derive an integer motion vector. 2) Alternatively, fractional motion vectors may be used to derive corresponding luma samples in a reference frame, and an interpolation process may be required to derive the fractional reference samples. iii. Alternatively, the position of the reference luma sample may be derived by the position of the top-left (or center, or bottom-right) sample of the current luma block. iv. Alternatively, multiple corresponding luma samples at some predefined positions in the reference frame may be picked to calculate the chroma residual scaling factor. c) In one example, the median or average value of multiple reference luma samples may be used to derive the chroma residual scaling factor. d) In one example, a reference luma sample in a predefined reference frame may be used to derive the chroma residual scaling factor. i. In one example, the predefined reference frame may be the one with a reference index equal to 0 in reference picture list 0. ii. Alternatively, reference indices and / or reference picture lists for pre-defined reference frames may be signaled at the sequence / picture / tile group / slice / tile / CTU row / video unit level. iii. Alternatively, reference luma samples in multiple reference frames may be derived, and an average or weighted average may be used to obtain the chroma residual scaling factor. 2. We propose that whether and how to derive a chroma residual scaling factor from luma samples in LMCS mode may depend on whether the current block applies bi-prediction. a) In one example, the chroma residual scaling factor is derived separately for each prediction direction. 3. We propose that whether and how to derive a chroma residual scaling factor 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 Alternative Temporal Motion Vector Prediction (ATMVP). c) In one example, the chroma residual scaling factor is derived for each sub-block separately. 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 one selected sub-block (e.g., the top-left sub-block) may be used to identify the reference sample for the current block, as described in bullet 1. 4. We propose that the luma predictor used to derive the chroma residual scaling factor may be an intermediate luma predictor instead of the final luma predictor. a) In one example, a luma prediction value before BDOF (Bi-Directional Optical Flow, also known as BIO) processing may be used to derive a chroma residual scaling factor. b) In one example, a luma prediction value before a Decoder-side Motion Vector Refinement (DMVR) process may be used to derive a chroma residual scaling factor. c) In one example, the LIC pre-process luma prediction value may be used to derive the chroma residual scaling factor. d) In one example, the luma prediction value before the PROF (Prediction Refinement Optical Flow) process proposed in JVET-N0236 may be used to derive the chroma residual scaling factor. 5. The intermediate motion vector may be used to identify a reference sample. a) In one example, the pre-processed motion vectors of BDOF or / and DMVR or / and other DMVD methods may be used to identify the reference samples. b) In one example, the reference samples may be identified using motion vectors before the PROF (Prediction Refinement Optical Flow) process proposed in JVET-N0236. 6. The above method may be applicable when the current block is coded in inter mode. 7. For IBC coded blocks, it is proposed that one or more reference samples in a reference block of the current frame may be used to derive the chroma residual scaling factor in LMCS mode. When a block is IBC coded, the term "motion vector" is also called "block vector," where the reference picture is set as the current picture. a) In one example, the reference sample belongs to a reference block in the current picture that has the same width and height as the current block, and the position of the reference sample may be calculated as the position of its corresponding sample plus a motion vector. b) In one example, the position of the reference luma sample may be derived by adding a motion vector to the position of the top-left (, center, or bottom-right) sample of the current luma block. c) Alternatively, the position of the reference luma sample is derived by adding the block vector of the current block to the position of the top-left (, center, or bottom-right) sample of the current luma block. d) Alternatively, multiple corresponding luma samples at some predefined positions in the reference region of the current luma block may be picked to calculate the chroma residual scaling factor. e) In one example, multiple corresponding luma samples may be calculated in a function to derive a chroma residual scaling factor. i. For example, the median or average of multiple corresponding luma samples may be calculated to derive the chroma residual scaling factor. f) In one example, the intensities of the reference samples may be transformed into the reshape domain before being used to derive the chroma residual scaling factor. i. Alternatively, the intensities of the reference samples may be transformed back to the original domain before being used to derive the chroma residual scaling factor. 8. We propose that one or more predicted / reconstructed samples located at the identified position 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, a luma predicted (or reconstructed) sample located in the center of the current luma block may be picked to derive a chroma residual scaling factor. b) In one example, the average value of the first MxN luma predicted (or reconstructed) samples may be picked to derive the chroma residual scaling factor, where MxN may be smaller than the collocated luma block size widthxheight. 9. We propose that all or part of the procedure used to compute the CCLM model may be used to derive the chroma residual scaling factor for the current chroma block in LMCS mode. a) In one example, in the CCLM model parameter derivation process, a chroma residual scaling factor may be derived using reference samples located at identified positions of neighboring luma samples of a collocated luma block. In one example, these reference samples may be used directly. ii. Alternatively, downsampling may be applied to these reference samples, or downsampled reference samples may be applied. b) In one example, K of the S reference samples selected for CCLM model calculation may be used for deriving the chroma residual scaling factor in LMCS mode, where K is equal to 1 and S is equal to 4. c) In one example, the mean / min / max of the reference samples of the collocated luma block in CCLM mode may be used to derive the chroma residual scaling factor in LMCS mode. 10. The method of selecting samples for the derivation of the chroma residual scaling factor may depend on the coded information of the current block. a) The coded information includes QP, coding mode, POC, intra prediction mode, motion information, etc. b) As an example, the method of selecting samples may be different for IBC coded or non-IBC coded blocks. c) As an example, the method of selecting samples may differ based on reference picture information such as the POC distance between the reference picture and the current picture. 11. We propose that the model calculation of the chroma residual scaling factor and / or CCLM may depend on the neighboring samples of the corresponding luma block that cover the top-left sample of the collocated luma block. In the present invention, a "coding block" may refer to a video coding region such as a CU / TU / PU specified in the HEVC specification or the VVC working draft. a) A "corresponding luma coding block" may be defined as a coding block that covers the top-left position of a collocated luma coding block. i. Figure 5 shows an example in which the CTU partition of a chroma component may be different from the CTU partition of a luma component for an intra-coded chroma block in the dual-tree case. First, a "corresponding luma coding block" covering the top-left sample of the co-located luma block of the current chroma block is searched for. Then, the block size information of the "corresponding luma coding block" can be used to derive the top-left sample of the "corresponding luma coding block," where the top-left sample of the "corresponding luma coding block" covering the top-left sample of the co-located luma block is located at (x=32, y=16). b) In one example, the block size / partition / position / adjustment may be needed to derive the position of the "corresponding luma coding block" that covers the top-left sample of the collocated luma coding block. i. In one example, a block size, and / or block partition, and / or block adjustment may be stored for each block of a specified color component, such as the luma component. ii. In one example, the "corresponding luma coding block" and the current block may always be within the same CTU or CTU row, and therefore there may be no storage of block size / partition / position / adjustment in the line buffer. c) In one example, reconstructed samples that are not included in the "corresponding luma coding block" may be used to derive the model calculation of the chroma residual scaling factor and / or CCLM. i. In one example, reconstructed samples adjacent to the "corresponding luma coding block" may be used to derive a model calculation of the chroma residual scaling factor and / or CCLM. 1) In one example, N samples located in the left neighboring column and / or the upper neighboring row of the “corresponding luma coding block” may be used to derive the model calculation of the chroma residual scaling factor and / or CCLM, where N=1...2W+2H, where W and H are the width and height of the “corresponding luma coding block.” a) Given that the top-left sample of the "corresponding luma coding block" is (xCb, yCb), in one example, the upper neighboring luma sample may be located at (xCb+W / 2, yCb-1) or (xCb-1, yCb-1). In an alternative example, the left neighboring luma sample may be located at (xCb+W-1, yCb-1). b) In one example, the locations of the neighboring samples may be fixed and / or may have a predefined checking order. 2) In one example, one of N neighboring samples may be selected to derive the chroma residual scaling factor and / or CCLM model calculation. Assuming N=3 and a check order of three neighboring samples (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 value of N samples located in the neighboring columns to the left and / or neighboring rows above the “corresponding luma coding block” may be used to derive the model calculation of the chroma residual scaling factor and / or CCLM, where N=1...2W+2H, where W and H are the width and height of the “corresponding luma coding block.” d) In one example, whether to perform chroma residual scaling 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 coding mode of the current block / sub-block or the coding 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 blocks coded in inter mode, neighboring samples using a diffusion filter or / and a bilateral filter or / and a Hadamard transform filter may be considered "unavailable." ii. In one example, the "availability" of neighboring samples may depend on the width and / or height of the current picture / tile / tile group / VPDU / slice. 1) In one example, if a neighboring block is located outside the current picture, it is treated as "unavailable." iii. In one example, chroma residual scaling may be inhibited when there are no "available" neighboring samples. iv. In one example, chroma residual scaling may be inhibited when the number of "available" neighboring samples is less than K (K>=1). v. Alternatively, unavailable neighboring samples may be filled by a default fixed value, padding, or substitution so that chroma residual scaling may always be applied. 1) In one example, if neighboring samples are not available, they may be filled with 1<<(bitDepth-1), where bitDepth specifies the bit depth of the luma / chroma component samples. 2) Alternatively, if no neighboring samples are available, they may be filled by padding from surrounding samples located in the left / right / top / bottom neighborhood. 3) Alternatively, if a neighboring sample is unavailable, it may be replaced by the first available neighboring sample in a predefined check order. 4) Alternatively, if neighboring samples are not available, they may be filled in by predefined filter / mapped values ​​(e.g., filter / mapped values ​​of 1<<(bitDepth-1), where bitDepth specifies the bit depth of the luma / chroma component samples). a) In one example, the filtering / mapping process may be LUT indexing of the forward mapping of the LMCS. e) In one example, whether and how chroma residual scaling is performed may depend on the coding mode of the current block and / or the coding modes of neighboring blocks. i. "Current block" may refer to the current chroma block, a neighboring luma block, or a corresponding luma block that covers at least one sample of the neighboring chroma block. "Neighboring block" (adjacent or non-adjacent) may refer to a chroma block neighboring the current chroma block, or a luma block neighboring the current luma block. ii. In one example, the coding mode of one luma neighboring block may be utilized to cover a given position, such as the (-1,-1) position relative to the top-left coordinate of the current block. iii. In one example, coding modes for multiple neighboring blocks may be utilized to cover multiple locations, such as a location (x, -1) relative to the top-left coordinate of the current block (e.g., x is from 0 to the width of the block minus 1), and / or a location (-1, y) relative to the top-left coordinate of the current block (e.g., y is from -1 to the height of the block minus 1). iv. In one example, if the reconstruction of one neighboring block requires access to samples in the current slice / tile group, as X-coded, chroma residual scaling is disabled. 1) For example, mode X may be an intra-mode. 2) For example, mode X may be a CIIP mode. 3) For example, Mode X may be an IBC mode. 4) In one example, if the current block is inter-coded rather than CIIP-coded and the corresponding luma block has neighboring neighboring blocks coded in Mode X, chroma residual scaling is disabled. v. In one example, if the reconstruction of one neighboring block requires access to samples in the current slice / tile group, as X-coded, a default value may be used to derive the chroma residual scaling factor. 1) For example, mode X may be an intra-mode. 2) For example, mode X may be a CIIP mode. 3) For example, Mode X may be an IBC mode. 4) In one example, if the current block is inter-coded rather than CIIP coded and the neighboring blocks of the corresponding luma block are coded in mode X, a default value may be used to derive the chroma residual scaling factor. 5) In one example, the default value may depend on the bit depth of the luma / chroma samples. 6) In one example, a default value may be set to a filtered / mapped value 1<<(bitDepth-1), where bitDepth specifies the bit depth of the luma / chroma component samples. In one example, the filtering / mapping process may be a LUT indexing of the forward mapping of the LMCS. f) In one example, the filtered / mapped reconstructed samples neighboring the "corresponding luma coding block" may be used to derive a model calculation of the chroma residual scaling factor and / or CCLM. i. In one example, the filtering / mapping process may include reference smoothing filtering for intra blocks, post-filtering such as bilateral filters, Hardman transform based filters, forward mapping of the reshaper domain, etc. 12. We propose that a fixed value may be used to derive the chroma residual scaling factor for a certain number of chroma blocks (eg, CUs or TUs) in the current slice / tile group. a) In one example, the chroma residual scaling factors for N chroma blocks may be derived by a fixed value, where N is from 1 to the total number of chroma blocks in the current slice / tile group. b) In one example, a fixed value may be used to find the index of the piecewise linear model to which the value belongs, and then calculate the chroma residual scaling factor from the derived piecewise index. In one example, the fixed value may depend on the internal bit depth of the luma samples. c) In one example, a fixed value may be used directly to represent the chroma residual scaling factor. d) In one example, the fixed value and / or fixed chroma residual scaling factor may depend on the type of picture / slice / tile group (e.g., I or P or B slice) and / or the coding mode of the block (e.g., intra mode or inter mode). e) In one example, the fixed value may be different for different pictures / slices / tile groups / tiles. f) In one example, the chroma residual in the LMCS may be directly scaled using a fixed chroma residual scaling factor. i. In one example, the fixed chroma residual scaling factor may be signaled in a video unit such as DPS / SPS / PPS / VPS / APS / slice header / tile group header. ii. In one example, a fixed chroma residual scaling factor for a picture / slice / tile group / tile may depend on a mapping function (e.g., a piecewise linear function) for reshaping luma samples in the picture / slice / tile group / tile. 1) In one example, the fixed chroma residual scaling factor may depend on the array InvScaleCoeff[] and / or the array ScaleCoeff[] defined in JVET-M1001-v7. a) For example, the luma samples of a picture / slice / tile group / tile may be reshaped using the array InvScaleCoeff[] and / or the array ScaleCoeff[], which are dependent on the fixed chroma residual scaling factor for the picture / slice / tile group / tile. 2) In one example, the fixed chroma residual scaling factor may be derived by the minimum / maximum / median / average value among all scaling factors of the piecewise linear function used to reshape the luma samples. a) For example, the fixed chroma residual scaling factor may be derived by the minimum / maximum / median / average value of InvScaleCoeff[i], where i is the minimum index (such as lmcs_min_bin_idx in JVET-M1001-v7) to the maximum index (such as LmcsMaxBinIdx in JVET-M1001-v7). i. For example, the fixed chroma residual scaling factor may be equal to the minimum / maximum / median / average of InvScaleCoeff[i], where i is the minimum index (such as lmcs_min_bin_idx defined in JVET-M1001-v7) to the maximum index (such as LmcsMaxBinIdx defined in JVET-M1001-v7). ii. Alternatively, the fixed chroma residual scaling factor may be derived by the minimum / maximum / median / average value of InvScaleCoeff[i], where i is the minimum index (e.g., 0) to the maximum index (e.g., 15), and lmcsCW[i] as defined in JVET-M1001-v7 is not equal to 0. iii. In the above example, the median of InvScaleCoeff[i] may be calculated as InvScaleCoeff[j], where j is a valid index, for example, j=(min index+max index)>>1, j=(min index+max index+1)>>1, or j=(max index-min index)>>1. In one example, the minimum index of InvScaleCoeff[] may be lmcs_min_bin_idx or 0 as defined in JVET-M1001-v7, and the maximum index of InvScaleCoeff[] may be LmcsMaxBinIdx or Size-1 as defined in JVET-M1001-v7, where Size represents the size of the array InvScaleCoeff_sort[]. 1. Alternatively, the array InvScaleCoeff or a portion thereof (e.g., InvScaleCoeff[lmcs_min_bin_idx] to InvScaleCoeff[LmcsMaxBinIdx] defined in JVET-M1001-v7) may first be sorted in ascending or descending order to form a sorted array denoted by InvScaleCoeff_sort. In one example, a fixed chroma residual scaling factor may be derived as InvScaleCoeff_sort[j], where j is a valid index, e.g., j = (minimum index + maximum index) >> 1 or j = (minimum index + maximum index + 1) >> 1. In one example, the minimum index of InvScaleCoeff_sort[] may be 0, and the maximum index of InvScaleCoeff_sort[] may be Size - 1, where Size represents the size of the array InvScaleCoeff_sort[], e.g., Size = 16. iv. In the above example, for the minimum value of InvScaleCoeff[i], it may be calculated as InvScaleCoeff[j], where j is a valid index, for example, j is equal to the minimum index (such as lmcs_min_bin_idx defined in JVET-M1001-v7) or 0. 1. Alternatively, the array InvScaleCoeff or a portion thereof (e.g., InvScaleCoeff[lmcs_min_bin_idx] to InvScaleCoeff[LmcsMaxBinIdx] defined in JVET-M1001-v7) may first be sorted in ascending or descending order to form a sorted array denoted by InvScaleCoeff_sort. In one example, the fixed chroma residual scaling factor may be derived as InvScaleCoeff_sort[j], where j is a valid index, e.g., j equals the minimum index of the InvScaleCoeff_sort[] array in ascending order, or j equals the maximum index of the InvScaleCoeff_sort[] array in descending order. In one example, the minimum index of InvScaleCoeff_sort[] may be 0, and the maximum index of InvScaleCoeff_sort[] may be Size−1, where Size represents the size of the array InvScaleCoeff_sort[], e.g., Size=16. v. In the above example, the maximum value of InvScaleCoeff[i] may be calculated by InvScaleCoeff[j], where j is a valid index, for example, j may be the maximum index or 15. vi. Alternatively, the array InvScaleCoeff or a portion thereof (e.g., InvScaleCoeff[lmcs_min_bin_idx] to InvScaleCoeff[LmcsMaxBinIdx] as defined in JVET-M1001-v7) may first be sorted in ascending or descending order to form a sorted array indicated by InvScaleCoeff_sort. In one example, the fixed chroma residual scaling factor may be derived from InvScaleCoeff_sort[j], where j is a valid index. For example, j may be equal to the maximum index of the InvScaleCoeff_sort[] array in ascending order, or equal to the minimum index of the InvScaleCoeff_sort[] array in descending order or 0. In one example, the minimum index of InvScaleCoeff_sort[] may be 0, and the maximum index of InvScaleCoeff_sort[] may be Size - 1, where Size represents the size of the array InvScaleCoeff_sort[], e.g., Size = 16. g) In one example, a fixed value may be used to represent a partitioning function index to derive a chroma scaling factor. i. In one example, the fixed value may be signaled in a video unit such as DPS / SPS / PPS / VPS / APS / slice header / tile group header. ii. In one example, the fixed value may represent a luma sample strength that may be used to identify a partitioning function index, and the identified partitioning function index is further used to find a chroma scaling factor. 1) In one example, the fixed value may be equal to 0, (1<<lumaBitDepth)-1, or 1<<(lumaBitDepth - 1), where lumaBitDepth indicates the bit depth of the luma samples. 2) In one example, if the fixed value is within the input range of the partitioning function, the partitioning function is identified. 3) In one example, if the fixed value is within the output range of the partitioning function, the partitioning function is identified. 4) In one example, the fixed value may be a selected value (e.g., maximum, minimum, middle), or may be derived according to a sample value selected in the reshaped domain (e.g., the average of two values). a) Assume that the chroma scaling factor is equal to InvScaleCoeff[idxYInv], where idxYInv is a segment index derived by the reshaped variable v, idxYInv = getPWLIdxInv(v). The fFwdReshaper() function is used to convert the variable k in the original domain (i.e., k may be a sample value in the original domain luma) to the variable v in the reshaped domain, i.e., v = fFwdReshaper(k)). Let minY be the minimum luma value in the range of the original domain indicated by lmcs_min_bin_idx defined in JVET - M1001 - v7, and maxY be the maximum luma value in the range of the original domain indicated by LmcsMaxBinIdx defined in JVET-M1001 - v7. i. For example, the fixed segment function index idxYInv may be equal to getPWLIdxInv(fFwdReshaper[0]). ii. For example, the fixed segment function index idxYInv may be equal to getPWLIdxInv(fFwdReshaper[(1<<lumaBitDepth)-1]). iii. For example, the fixed segment function index idxYInv may be equal to getPLIdxInv((fFwdReshaper[0]+fFwdReshaper[(1<<lumaBitDepth)-1]+offset)>>1), where, for example, offset = 0 or 1. iv. For example, the fixed segment function index idxYInv may be equal to getPWLIdxInv(fFwdReshaper[minY]). v. For example, the fixed segment function index idxYInv may be equal to getPWLIdxInv(fFwdReshaper[maxY]). vi. For example, a fixed piecewise function index idxYInv may be equal to getPWLIdxInv((fFwdReshaper[minY]+fFwdReshaper[maxY]+offset)>>1), where offset=0 or 1 for example. iii. In one example, the fixed value may represent a fixed piecewise function index that may be used to find the chroma scaling factor. 1) In one example, the fixed value may be equal to the minimum bin index (e.g., lmcs_min_bin_idx) used in the LMCS configuration process. 2) In one example, the fixed value may be equal to the maximum bin index (e.g., LmcsMaxBinIdx) used in the LMCS configuration process. 3) In one example, the fixed value may be equal to the average of the maximum and minimum bin indexes used in the LMCS configuration process. h) In one example, the fixed value may not be signaled but may be derived in a video unit such as a DPS / SPS / PPS / VPS / APS / slice header / tile group header. i. For example, a fixed chroma scaling factor may be derived according to elements of lmcs data signaled at the APS level (such as lmcs_data() defined in VVC specification JVET-M1001-v7) and / or according to bit depth (such as luma bit depth) signaled at the SPS level. ii. For example, a fixed chroma scaling factor may be derived at the APS level. 1) In one example, different chroma scaling factors may be derived in different APS units. 2) In one example, the number of chroma scaling factors may depend on the maximum number of APS units, i.e., the number of chroma scaling factors is less than T, such as T=32. 3) In one example, a fixed chroma scaling factor for one slice / tile / picture may be selected from all chroma scaling factors available at the APS level. 4) In one example, a fixed chroma scaling factor is determined at the slice / tile / picture level and is used for all CU / PU / TU chroma components. Restrict whether to apply chroma residual scaling and / or CCLM 13. We propose that whether to apply chroma residual scaling or CCLM may depend on the partition of the corresponding luma block and / or the adjacent luma block. a) In one example, whether to enable or disable a tool in cross-component information may depend on the number of CUs / PUs / TUs in a collocated luma (e.g., Y component or G component) block. i. In one example, if the number of CUs / PUs / TUs in a collocated luma (e.g., Y or G component) block exceeds a number threshold, such tools may be disabled. ii. Alternatively, enabling or disabling tools on cross-component information may depend on the depth of the partition tree. 1) In one example, if the maximum (or minimum, average, or other variation) quadtree depth of the CUs in the collocated luma block exceeds a threshold, such tools may be disabled. 2) In one example, if the maximum (, minimum, average, or other variation) BT and / or TT depth of the CUs in the collocated luma blocks exceeds a threshold, such tools may be disabled. iii. Alternatively, further, whether to enable or disable a tool on cross-component information may depend on the block dimensions of the chroma blocks. iv. Alternatively, whether to enable or disable a tool with cross-component information may depend on whether the collocated lumas cross multiple VPDUs / predefined region sizes. v. The thresholds in the above discussion may be fixed numbers, may be signaled, or may depend on a standard profile / level / tier. b) In one example, if the adjacent luma block of the current chroma block is divided by multiple partitions (e.g., FIG. 7), chroma residual scaling and / or CCLM may be prohibited. i. Alternatively, if the co-located luma block of the current chroma block is not split (e.g., within one CU / TU / PU), chroma residual scaling and / or CCLM may be applied. c) In one example, if the co-located luma block of the current chroma block contains more than M CUs / PUs / TUs, chroma residual scaling and / or CCLM may be prohibited. i. In one example, M may be an integer greater than 1. ii. In one example, M may depend on whether it is a CCLM or a chroma residual scaling process. iii. M may be a fixed number, may be signaled, or may depend on the standard profile / level / tier. d) The above-mentioned CUs in a co-located luma block may be interpreted as all CUs in the co-located luma block. Alternatively, the CUs in a co-located luma block may be interpreted as partial CUs in the co-located luma block, such as CUs along the boundary of the co-located luma block. e) The above-mentioned CUs within a collocated luma block may be interpreted as sub-CUs or sub-blocks. i. For example, sub-CUs or sub-blocks may be used in ATMVP. ii. For example, a sub-CU or a sub-block may be used for affine prediction. iii. For example, a sub-CU or sub-block may be used for intra-sub-partition (ISP) mode. f) In one example, if the CU / PU / TU covering the top-left luma sample of a collocated luma block is larger than a predefined luma block size, chroma residual scaling and / or CCLM may be prohibited. i. An example is shown in Figure 8, where the predefined luma block size is 32x64, since the collocated luma block is 32x32 but within a corresponding luma block of size equal to 64x64, in this case chroma residual scaling and / or CCLM are prohibited. ii. Alternatively, if a collocated version of the current chroma block is not split and the corresponding luma block covering the top-left luma sample of the collocated luma block is completely contained within a pre-defined bounding box, chroma residual scaling and / or CCLM for the current chroma block may be applied. The bounding box may be defined as a rectangle with width W and height H, denoted as WxH, as shown in Figure 9, where the corresponding luma block has width 32 and height 64 and the bounding box has width 40 and height 70. 1) In one example, the bounding box size WxH may be defined according to the CTU width and / or height, according to the CU width and / or height, or according to any arbitrary value. g) In one example, if the co-located luma block of the current chroma block is divided by multiple partitions, only prediction samples (or reconstructed samples) within pre-defined partitions of the co-located luma block are used to derive the chroma residual scaling factor 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. ii. Alternatively, the top-left predicted sample (or reconstructed sample) in the first partition of the collocated luma block is used to derive the chroma residual scaling factor in LMCS mode. iii. Alternatively, the central predicted sample (or reconstructed sample) in the first partition of the collocated luma block is used to derive the chroma residual scaling factor in LMCS mode. h) We propose that whether or how to apply cross-component tools such as CCLM and LMCS may depend on the coding mode of one or more luma CUs that cover at least one sample of a collocated luma block. i. For example, if one or more luma CUs covering at least one sample of a collocated luma block are coded in affine mode, the cross-component tool is disabled. ii. For example, if one or more luma CUs covering at least one sample of a collocated luma block are coded bi-predictively, the cross-component tool is disabled. iii. For example, if one or more luma CUs covering at least one sample of a collocated luma block are coded with BDOF, the cross-component tool is disabled. iv. For example, if one or more luma CUs covering at least one sample of a 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 a collocated luma block are coded in the matrix affine transformation mode proposed in JVET-N0217, the cross-component tool is disabled. vi. For example, if one or more luma CUs covering at least one sample of a collocated luma block are coded in inter mode, the cross-component tool is disabled. vii. For example, if one or more luma CUs covering at least one sample of a collocated luma block are coded in ISP mode, the cross-component tool is disabled. viii. In one example, "one or more luma CUs covering at least one sample of a parallelized luma block" may refer to the corresponding luma block. i). When CCLM / LMCS is prohibited, signaling of instructions to use CCLM / LMCS may be omitted. j). In this disclosure, CCLM may refer to any variant mode of CCLM, including LM mode, LM-T mode, and LM-L mode. 14. We propose whether and how cross-component tools such as CCLM and LMCS may apply to parts of chroma blocks. a). In one example, whether and how cross-component tools such as CCLM or LMCS are applied at the chroma sub-block level. i. In one example, a chroma sub-block is defined as a 2x2 or 4x4 block within a chroma CU. ii. In one example, for a chroma sub-block, CCLM may be applied when the corresponding luma coding block of the current chroma CU covers all samples of the corresponding block of the sub-block. iii. In one example, for a chroma sub-block, CCLM is not applied when all samples of the corresponding block are not covered by the corresponding luma coding block of the current chroma CU. iv. In one example, CCLM or LMCS parameters 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 a chroma sub-block, samples of the collocated block may be used. 15. We suggest that whether and how to apply cross-component tools such as CCLM may depend on block dimensions and / or partition information and / or partition structure type (e.g., dual-tree or single-tree). a) In one example, CCLM may be disabled for the chroma dual tree partition. b) In one example, CCLM may be conditionally disabled depending on block size. i. In one example, if the current block dimensions are WB x HB, then depending on the relationship between WB, HB, and two integers T1 and T2, the following CCLMs may be invalidated: 1) In one example, CCLM may be disabled if WB≧T1 and HB≧T2, e.g., T1=T2=8. 2) In one example, CCLM may be disabled if WB*HB≧T1, e.g., T1=64. 3) In one example, CCLM may be disabled if Min(WB,HB)≧T1, e.g., T1=8. 4) In one example, CCLM may be disabled if Max(WB,HB)≧T1, e.g., T1=8. 5) In one example, CCLM may be disabled if WB≦T1 and HB≦T2, e.g., T1=T2=16. 6) In one example, CCLM may be disabled if WB*HB≦T1, e.g., T1=4096. 7) In one example, CCLM may be disabled if Min(WB,HB)≦T1, e.g., T1=64. 8) In one example, CCLM may be disabled if Max(WB,HB)≦T1, e.g., T1=64. c) In one example, the CCLM may be restricted by block dimensions and / or partition information. i. In one example, for a chroma block with dimensions WB x HB, disable CCLM if one or more of the following conditions are met: For example, WB = HB = 32. In the following bullets, the dimensions of a collocated luma block may be (sh x WB) x (sv x HB), where sh and sv are scaling factors. For example, sh = sv = 2 when the color format is 4:2:0. 1) The current chroma block is in a leaf node with a horizontal split, and the adjacent luma block is in a leaf node with a vertical split. a) In one example, the current chroma block is split in SPLIT_TT_HOR mode and the adjacent luma block is split in SPLIT_TT_VER mode. b) In one example, the current chroma block is split in SPLIT_TT_HOR mode and the adjacent luma block is split in SPLIT_BT_VER mode. c) In one example, the current chroma block is split in SPLIT_BT_HOR mode and the adjacent luma block is split in SPLIT_TT_VER mode. d) In one example, the current chroma block is split in SPLIT_BT_HOR mode and the adjacent luma block is split in SPLIT_BT_VER mode. 2) The current chroma block is in a leaf node with a vertical split, and the adjacent luma block is in a leaf node with a horizontal split. a) In one example, the current chroma block is split in SPLIT_TT_VER mode and the adjacent luma block is split in SPLIT_TT_HOR mode. b) In one example, the current chroma block is split in SPLIT_TT_VER mode and the adjacent luma block is split in SPLIT_BT_HOR mode. c) In one example, the current chroma block is split in SPLIT_BT_VER mode and the adjacent luma block is split in SPLIT_TT_HOR mode. d) In one example, the current chroma block is split in SPLIT_BT_VER mode and the adjacent luma block is split in SPLIT_BT_HOR mode. d) In one example, if CCLM is disabled for a block, syntax elements related to CCLM may not be signaled in the block. i. Alternatively, if CCLM is disabled for a block, CCLM-related syntax elements may be signaled, but CCLM mode should not be used in the block in a conforming bitstream. ii. Alternatively, if CCLM is disabled for a block, syntax elements related to CCLM may be signaled. If CCLM mode is signaled, a default mode such as planar or DC may be applied. Applicability of Chroma Residual Scaling in LMCS Mode 16. We propose that the applicability of luma-dependent chroma residual scaling may be signaled at other syntax levels in addition to the tile group header specified in JVET-M1001. a) For example, chroma_residual_scale_flag may be signaled at the sequence level (e.g., in an SPS), picture level (e.g., in a PPS or picture header), slice level (e.g., in a slice header), tile level, CTU row level, CTU level, or 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 CUs below the signaled syntax level. 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 constrained at the partition node level, chroma_residual_scale_flag may not be signaled and may be inferred to be 0 for the CUs covered by the partition node. In one example, the partition node may be a CTU (a CTU is treated as the root node of a quadtree partition). c) In one example, if chroma residual scaling is constrained for chroma block sizes of 32x32 or smaller, chroma_resistance_scale_flag may not be signaled and may be inferred to be 0 for chroma block sizes of 32x32 or smaller. Applicability of CCLM mode 17. We propose that the applicability of CCLM mode may be signaled at other syntactic levels in addition to the sps level specified in JVET-M1001. a) For example, it may be signaled at the picture level (e.g., in the PPS or picture header), the slice level (e.g., in the slice header), the tile group level (e.g., in the tile group header), the tile level, the CTU row level, the CTU level, or the CU level. b) In one example, if CCLM is not applicable, cclm_flag may not be signaled and may be inferred to be 0. i. In one example, if chroma residual scaling is constrained for chroma block sizes of 8x8 or smaller, cclm_flag may not be signaled and may be inferred to be 0 for chroma block sizes of 8x8 or smaller. Unifying the derivation of chroma residual scaling factors for intra and inter modes 18. A chroma residual scaling factor may be derived after encoding / decoding a luma block, stored, and used for the following coded blocks. a) In one example, a particular predicted sample or / and intermediate predicted sample or / and reconstructed sample in a luma block or / and reconstructed sample before loop filtering (e.g., before being processed by a deblocking filter or / and SAO filter or / and bilateral filter or / and Hadamard transform filter or / and ALF filter) may be used to derive a chroma residual scaling factor. i. For example, the partial samples in the row below or / and the column to the right of the luma block may be used to derive the chroma residual scaling factor. b) In the case of a single tree, when encoding a block coded in intra mode or / and IBC mode or 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, certain neighboring blocks may be checked in order, and the first available chroma residual scaling factor may be used for the current block. ii. In one example, certain neighboring blocks may be checked in order, and a scaling factor may be derived based on the chroma residual scaling factors of the first K available neighbors. iii. In one example, for a block coded in inter mode or / and CIIP mode, if a neighboring block is coded in intra mode or / and IBC mode or / and CIIP mode, the chroma residual scaling factor of the neighboring block may be considered "unavailable." iv. In one example, neighboring blocks may be checked in the order left (or top left) -> top (or top right). Alternatively, the neighboring blocks may be checked in the order 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 is first identified, and then the derived chroma residual scaling factors of its (e.g., corresponding luma block) neighboring blocks may be used to derive the scaling factor of the current block. i. In one example, certain neighboring blocks may be checked in order, and the first available chroma residual scaling factor may be used for the current block. ii. In one example, certain neighboring blocks may be checked in order, and a scaling factor may be derived based on the chroma residual scaling factors of the first K available neighbors. d) Neighboring blocks may be checked in a predefined order. i. In one example, neighboring blocks may be checked in the order left (or top left) -> top (or top right). ii. In one example, neighboring blocks may be checked in the order top (or top right) -> left (or top left). iii. In one example, neighboring blocks may be checked in the following order: bottom left->left->top right->top->top left. iv. In one example, neighboring blocks may be checked in the following order: left->top->top-right->bottom-left->top-left. e) In one example, whether to apply chroma residual scaling may depend on the "availability" of neighboring blocks. i. In one example, chroma residual scaling may be inhibited when there are no "available" neighboring blocks. ii. In one example, chroma residual scaling may be inhibited when the number of "available" neighboring blocks is less than K (K>=1). iii. Alternatively, when there are no "available" neighboring blocks, the chroma residual scaling factor may be derived by a default value. 1) In one example, a default value of 1<<(BitDepth-1) may be used to derive the chroma residual scaling factor. f) In one example, the chroma residual scaling factor for the current chroma block may be stored and used for the next coded block. g) In one example, the storage of chroma residual scaling factors may be removed from the line buffer. i. In one example, when the current block and the neighboring (adjacent or non-adjacent) block being accessed are in different regions, that chroma residual scaling factor may be considered "unavailable" and may not be used in deriving the chroma residual scaling factor for the current block. 1) A region may be a slice, a tile, a tile group, a CTU row, or a CTU. 2) Alternatively, the chroma residual scaling factor may be taken as a default value in such cases. 3) Alternatively, chroma residual scaling cannot be applied in such cases. h) In one example, the chroma residual scaling factor for the current chroma block may be updated on the fly and saved in a history table for scaling factor derivation of the following blocks. i. The history table may be updated in a first-in-first-out (FIFO) manner. ii. After decoding / encoding a chroma block, a chroma residual scaling factor may be derived (eg, according to the luma value) and stored in a FIFO history table. iii. In one example, the FIFO history table may contain at most one entry, in which case the derived chroma residual scaling factor of the most recently decoded block is used for the current block. iv. In one example, the history table is refreshed before encoding / decoding a picture and / or slice and / or tile group and / or tile and / or CTU row and / or CTU. 1) In one example, a default chroma residual scaling factor may be put into the history table when the history table is refreshed. 2) In one example, when the FIFO history table is refreshed, the history table is set to empty. New syntax elements for chroma residual scaling 19. We propose that one or more new syntax elements may be signaled to derive the scaling factors used in the chroma residual scaling process. a) In one example, syntax elements may be added to the LMCS APS data (such as lmcs_data() in the VVC specification) for chroma residual scaling in LMCS coding tools. b) In one example, syntax elements may be added to SPS / slice header / tile group header / PPS / picture header / brick / CTU row / CTU / CU, etc. i. If syntax elements are signaled in a video unit, they may control the scaling factors in all blocks associated with the video unit. For example, if they are signaled in a slice header, they may control the scaling factors in all blocks in a slice. 1) Alternatively, if syntax elements are signaled in a video unit, they may control scaling factors in several blocks associated with the video unit. ii. In one example, syntax elements may be signaled at the VPDU level. iii. In one example, syntax elements may be signaled for units having a smaller size between the VPDU level and the CTU level. 1) As an example, let the CTU width be W and the VPDU width be W'. The unit is min(W <W′)にセットされる。 iv. In one example, when the CU size is larger than the VPDU, the syntax element may be signaled at one level (e.g., VPDU), otherwise, the syntax element may be signaled at another level (e.g., CU). c) In one example, a new syntax element, ie, for example, lmcs_crs_fixed_bin_idx, may be coded to derive a chroma scaling factor for chroma residual scaling. i. In one example, lmcs_crs_fixed_bin_idx may be used to present the representative luma value used to derive the scaling factor. ii. Alternatively, lmcs_crs_fixed_bin_idx may be used to represent an index used to derive the scaling factor, such as an index into a lookup table ChromaScaleCoeff. iii. Alternatively, and further, the value of lmcs_crs_fixed_bin_idx shall be in the range of [k0,k1]. In one example, the range of lmcs_crs_fixed_bin_idx may be set equal to the range of the minimum (e.g., lmcs_min_bin_idx) and / or maximum bin index in the lunar mapping by the chroma scaling configuration process, e.g., [0,15]. 1) In one example, lmcs_crs_fixed_bin_idx must be in the valid range for a conforming bitstream. 2) In one example, lmcs_crs_fixed_bin_idx is coded in a way that it must be in the valid range. iv. Alternatively, and in addition, lmcs_crs_fixed_bin_idx may be coded with fixed length, truncated unary, unary, exp-golomb coding. v. Alternatively, further, lmcs_crs_fixed_bin_idx may be predictively coded, such as by using the average of the minimum and maximum bin index used in the luna mapping by chroma scaling configuration process (e.g., (lmcs_min_bin_idx+lmcs_max_bin_idx+offset)>>1), with offset set to 0 or 1 as prediction. Alternatively, lmcs_min_bin_idx or lmcs_max_bin_idx may be used as prediction. vi. Alternatively, lmcs_crs_fixed_bin_idx is conditionally coded. 1) For example, when the current color format is not 4:0:0. 2) In one example, when separate plane coding is disabled. 3) In one example, when ChromaArrayType is not equal to 0. 4) In one example, when chroma residual scaling is enabled. d) In one example, a fixed chroma scaling factor derived by the new syntax element may be used for all chroma residual scaling blocks that share the same LMCS model. i. In one example, a fixed chroma scaling factor indexed by lmcs_crs_fixed_bin_idx is calculated once for an IDR / CRA / IRAP picture and used for all blocks of the IDR / CRA / IRAP picture. ii. In one example, a fixed chroma scaling factor indexed by lmcs_crs_fixed_bin_idx is calculated once for an IDR / CRA / IRAP picture and used for all blocks of the inter-coded picture before the next IDR / CRA / IRAP picture. e) In one example, a syntax element (e.g., a flag) may be signaled or derived to indicate whether all blocks (CTU / VPDU / CU, etc.) in a video unit / region share the same scaling factor. i. In one example, the video unit / region may be a sequence / picture / slice / tile / brick / CTU row / CTU / VPDU, etc. ii. In one example, syntax elements may be signaled at SPS / slice header / tile group header / PPS / picture header / brick / CTU row / CTU / VPDU level, etc. iii. In one example, if a syntax element indicates that all blocks (CTU / VPDU / CU, etc.) in a video unit / region do not share the same scaling factor, one or more extra syntax elements may be signaled or derived to indicate the scaling factor of one or more blocks. f) In one example, the number of CTUs / VPDUs / CUs (denoted as T) in a video unit that share the same scaling factor may be signaled or derived at a video domain level such as sequence / picture / slice / tile / brick / CTU row / CTU / VPDU. i. In one example, the number of CTUs / VPDUs / CUs (denoted as T) in a video unit sharing the same scaling factor may be coded in a predictive manner, such as (T-1) being coded instead of T, or alternatively, (the number of CTUs / VPDUs / CUs in video unit-T) may be coded instead. ii. In one example, the number of CTUs / VPDUs / CUs (denoted as T) in a video unit sharing the same scaling factor may be signaled at the SPS / slice header / tile group header / PPS / picture header / brick / CTU row / CTU / VPDU level, etc. iii. In one example, all T consecutive CTUs / VPDUs / CUs within a video unit may share the same scaling factor. 1) A first CTU / VPDU / CU and a second CTU / VPDU / CU are defined as consecutive if the second CTU / VPDU / CU is decoded after the first CTU / VPDU / CU is decoded. iv. In one example, T may be equal to the number of CTUs / VPDUs / CUs in the current video unit. v. In one example, T may be in the range [T1, T2] (inclusive), e.g., T1 equals 1 and T2 equals the number of CTUs / VPDUs / CUs in the current video unit. 1) In one example, T may be signaled according to a range. For example, T-T1 may be signaled, and the maximum signaled value of T-T1 is T2-T1. 2) In one example, T must be in the range parsed from the conforming bitstream. vi. In one example, T may be coded in a predictive manner. 1) In one example, T may be predicted by a fixed number. 2) In one example, T may be coded in a predictive manner using information of its previously coded video units / regions. a) For example, the number of CTUs / VPDUs / CUs (denoted as T1) in a first video unit that shares the same scaling factor may be predicted by the number of CTUs / VPDUs / CUs (denoted as T2) in a second video unit that shares the same scaling factor. vii. T (possibly post-prediction) may be binarized as unary / truncated unary / fixed-length / exponential-Golomb / truncated binary code. viii. T (which may be post-prediction) may be coded by bypass coding, using one or more contexts, without context or arithmetic coding. ix. In one example, T may be derived from multiple variables, which may be signaled. 1) For example, when T is equal to M×N, M and N may be signaled instead of T. a) The methods disclosed in this bullet point for T may also be applied to M and / or N. g) In one example, the regions of CTUs / VPDUs / CUs in a video unit that share the same scaling factor may be signaled or derived in the SPS / slice header / tile group header / PPS / picture header / brick / CTU row level / CTU / VPDU, etc. i. In one example, when a video unit contains a certain number of CTUs / VPDUs / CUs in raster scan order, the region of CTUs / VPDUs / CUs in the video unit that share the same scaling factor may be represented by the first CTU / VPDU / CU address (or index) and / or the last CTU / VPDU / CU address (or index) and / or the number of CTUs / VPDUs / CUs. 1) In one example, the first CTU / VPDU / CU address (index) and the last CTU / VPDU / CU index may be signaled. 2) In one example, the first CTU / VPDU / CU index and the number of CTUs / VPDUs / CUs that share the same scaling factor may be signaled. ii. In one example, if a video unit contains a number of CTUs / VPDUs / CUs that collectively form a rectangular area in the picture, the area of ​​CTUs / VPDUs / CUs in the video unit that share the same scaling factor may be represented by an upper-left CTU / VPDU / CU address (or index) and a lower-right CTU / VPDU / CU address (or index). 1) In one example, the top left CTU / VPDU / CU address (or index) and the bottom right CTU / VPDU / CU address (or index) may be signaled. 2) In one example, the first CTU / VPDU / CU address (or index) and the last CTU / VPDU / CU index may be signaled. 3) In one example, the first CTU / VPDU / CU address (or index) and the number of CTUs / VPDUs / CUs that share the same scaling factor may be signaled. iii. In one example, a region is defined by its width (denoted as W) and height (denoted as H). W may mean that there are W CTUs / VPDUs / CUs in a video unit / region, and H may mean that there are H CTUs / VPDUs / CUs in a video unit / region. 1) In one example, the number of CTUs / VPDUs / CUs coded in a region sharing the same chroma scaling factor may be less than W×H if one or more portions of the region are outside the current picture, slice, tile, or brick. 2) In one example, W may be equal to the number of CTUs / VPDUs / CUs along the width of the current video unit. 3) In one example, H may be equal to the number of CTUs / VPDUs / CUs along the height of the current video unit. 4) In one example, W may be in the range [W1, W2] inclusive, where W1 is equal to 1 and W2 is equal to the number of CTUs in the CTU row of the current video unit. a) In one example, W may be signaled according to a range, for example W-W1 is signaled and the maximum signaled value of W-W1 is W2-W1. b) In one example, W must be in the range parsed from the conforming bitstream. 5) In one example, H may be in the range [H1, H2] inclusive, where H1 is equal to 1 and H2 is equal to the number of CTUs in the CTU column of the current video unit. a) In one example, H may be signaled according to a range, for example, H-H1 is signaled and the maximum signaled value of H-H1 is H2-H1. b) In one example, H must be in the range parsed from the conforming bitstream. 6) In one example, W or H may be coded in a predictive manner. a) In one example, W or H may be predicted by a fixed number. b) In one example, W or H may be coded in a predictive manner using information from previously coded video units / regions. i. For example, the W or H of a first region that shares the same scaling factor may be predicted by the W or H of a second region that shares the same scaling factor. 7) W or H (possibly post-prediction) may be binarized as unary / truncated unary / fixed-length / exponential-Golomb / truncated binary code. 8) W or H (which may be post-prediction) may be coded with bypass coding without context or arithmetic coding using one or more contexts. iv. In one example, a first region having W×H CTUs / VPDUs / CUs and a second region having W×H CTUs / VPDUs / CUs may be decoded sequentially. v. In one example, the CTUs in the two regions may be decoded in an interleaved manner. For example, the decoding order may be the CTU in the first row of the first region. - CTU in the first row of the second area. - CTU in the first row of the first area. - CTU in the second column of the second area. - CTU in two rows in the first area. 20. The indication of the chroma scaling factor may be predictively coded between successive video units / regions. a) In one example, for each video unit / region to signal chroma residual scaling information, a syntax element (e.g., a flag) may be signaled or derived to indicate whether it is the same as a previously coded video unit / region. b) In one example, the difference between the chroma scaling factor of the current video unit and the chroma scaling factor of the previous video unit may be signaled. i. For example, one or more syntax elements may be signaled to indicate the difference. 1) In one example, two syntax elements such as absolute delta and delta sign flag may be signaled to represent the difference. a) In one example, the delta code flag may be conditionally signaled according to the absolute delta. In one example, if the absolute delta is equal to 0, the delta code flag is not signaled. ii. For example, if a difference is not signaled, it may be inferred to be 0, meaning that the signaled chroma scaling factor is the same as the previous chroma scaling factor. 21. In the present invention, the term "scaling factor" may refer to a scaling factor index or a scaling factor value. "Sharing the same scaling factor" may refer to "sharing the same scaling factor index" or "sharing the same scaling factor value." a) In one example, samples in a block may share the same scaling factor index, but they may have different scaling factor values. b) In one example, samples in a block may share the same scaling factor index, but they may also have the same scaling factor value. 22. A video unit / region of the present invention may refer to a sequence / GOP (Pictures of Pictures) / intra-period / picture / slice / tile / brick / VPDU / CTU row / group of CTU / CTU / CU.

[0074] 5. Implementation 5.1 Embodiment 1 The exemplary embodiment discussed below is for the exemplary method of Section 4, item 11. New additions are indicated by underlined and bold text, and deletions from the VVC Working Draft are indicated by double square brackets [[..]] and bold text. The amendments are based on the latest VVC working draft (JVET-M1007-v7) and the new adoption in JVET-N220-v3.

[0075] 8.7.5.4 Picture reconstruction by luma-dependent chroma residual scaling process for chroma samples The inputs to this process are: - The position (xCurr, yCurr) of the top-left sample of the current transform block relative to the top-left sample of the current picture - Variable nCurrSw that specifies the conversion block width - Variable nCurrSh that specifies the transformation block height - (nCurrSw) x (nCurrSh) array predSamples specifying the chroma prediction samples for the current block - resamples, a (nCurrSw) x (nCurrSh) array specifying the chroma residual samples for the current block

[0076] The output of this process is the reconstructed chroma picture sample array recSamples. (Outside 3) TIFF0007778765000026.tif149169

[0077] The reconstructed chroma picture samples recSamples are derived as follows for i=0..nCurrSw-1, j=0..nCurrSh-1: (outside 4) TIFF0007778765000027.tif225170TIFF0007778765000028.tif7127

[0078] The variable idxYInv is derived by calling the piecewise function index identification specified in Section 8.7.5.3.2 with invAvgLuma as input and idxYInv as output. 2. The variable varScale is derived as follows:

number

number

number

[0079] 8.7.5.4 Picture reconstruction by luma-dependent chroma residual scaling process for chroma samples The inputs to this process are: - Position (xCurr, yCurr) of the top-left sample of the current transform block relative to the top-left sample of the current sample - Variable nCurrSw that specifies the conversion block width - Variable nCurrSh that specifies the transformation block height - (nCurrSw) x (nCurrSh) array predSamples specifying the chroma prediction samples for the current block - resamples, a (nCurrSw) x (nCurrSh) array specifying the chroma residual samples for the current block

[0080] The output of this process is the reconstructed chroma picture sample array recSamples. (outside 5) TIFF0007778765000032.tif225170TIFF0007778765000033.tif61169

[0081] The reconstructed chroma picture samples recSamples are derived as follows for i=0..nCurrSw-1, j=0..nCurrSh-1: - If tile_group_chroma_residual_scale_flag is equal to 0 or nCurrSw*nCurrSh is less than or equal to 4, then apply:

number

number

[0082] The variable idxYInv is derived by calling the piecewise function index identification specified in Section 8.7.5.3.2 with invAvgLuma as input and idxYInv as output. The variable varScale is derived as follows:

number

number

number

[0083] 8.7.5.4 Picture reconstruction by luma-dependent chroma residual scaling process for chroma samples The inputs to this process are: - Position (xCurr, yCurr) of the top-left sample of the current transform block relative to the top-left sample of the current sample - Variable nCurrSw that specifies the conversion block width - Variable nCurrSh that specifies the transformation block height - (nCurrSw) x (nCurrSh) array predSamples specifying the chroma prediction samples for the current block - resamples, a (nCurrSw) x (nCurrSh) array specifying the chroma residual samples for the current block

[0084] The output of this process is the reconstructed chroma picture sample array recSamples.

[0085] The reconstructed chroma picture samples recSamples are derived as follows for i=0..nCurrSw-1, j=0..nCurrSh-1: (outside 6) TIFF0007778765000039.tif222169TIFF0007778765000040.tif241695.4 Embodiment 4 The following embodiment is directed to the method of item 12 of the present description. New additions are highlighted in bold italics, and deletions from the VVC Working Draft are highlighted in double square brackets [[..]]. The amendments are based on the latest VVC working draft (JVET-M1007-v7) and the new adoption in JVET-N220-v3.

[0086] 8.7.5.4 Picture reconstruction by luma-dependent chroma residual scaling process for chroma samples The inputs to this process are: - Position (xCurr, yCurr) of the top-left sample of the current transform block relative to the top-left sample of the current sample - Variable nCurrSw that specifies the conversion block width - Variable nCurrSh that specifies the transformation block height - (nCurrSw) x (nCurrSh) array predSamples specifying the chroma prediction samples for the current block - resamples, a (nCurrSw) x (nCurrSh) array specifying the chroma residual samples for the current block

[0087] The output of this process is the reconstructed chroma picture sample array recSamples.

[0088] The reconstructed chroma picture samples recSamples are derived as follows for i=0..nCurrSw-1, j=0..nCurrSh-1: - If slice_chroma_residual_scale_flag is equal to 0 or nCurrSw*nCurrSh is less than or equal to 4, then apply the following:

number

number

number

number

number

[0089] 7.4.5.4 Luma Mapping with Chroma Scaling Data Semantics The variable ChromaScaleCoeff[i] (i=0...15) is derived as follows: (outer 7) TIFF0007778765000046.tif125127

[0090] 8.7.5.4 Picture reconstruction by luma-dependent chroma residual scaling process for chroma samples The inputs to this process are: - Position (xCurr, yCurr) of the top-left sample of the current transform block relative to the top-left sample of the current sample - Variable nCurrSw that specifies the conversion block width - Variable nCurrSh that specifies the transformation block height - (nCurrSw) x (nCurrSh) array predSamples specifying the chroma prediction samples for the current block - resamples, a (nCurrSw) x (nCurrSh) array specifying the chroma residual samples for the current block

[0091] The output of this process is the reconstructed chroma picture sample array recSamples.

[0092] The reconstructed chroma picture samples recSamples are derived as follows for i=0..nCurrSw-1, j=0..nCurrSh-1: - If slice_chroma_residual_scale_flag is equal to 0 or nCurrSw*nCurrSh is less than or equal to 4, then apply the following:

number

number

number

number

number

[0093] 5.6 Embodiment 6 The following embodiment is directed to the method of item 19 in the list above. The working draft specified in JVET-N1001-v8 may be modified as follows (use underline or bold italics for emphasis, text for deletion): 7.3.5.4 Luma mapping via chroma scaling data syntax [Table 2] 7.4.6.4 Luma Mapping with Chroma Scaling Data Semantics (outside 8) TIFF0007778765000053.tif29169

[0094] The variable ChromaScaleCoeff[i] (i=0...15) is derived as follows: (outer 9) TIFF0007778765000054.tif56169

[0095] 8.7.5.3 Picture reconstruction by luma-dependent chroma residual scaling process for chroma samples The inputs to this process are: - Position (xCurr, yCurr) of the top-left sample of the current transform block relative to the top-left sample of the current sample - Variable nCurrSw that specifies the conversion block width - Variable nCurrSh that specifies the transformation block height - The variable tuCbfChroma that specifies the coded block flag of the current chroma transformation block - (nCurrSw) x (nCurrSh) array predSamples specifying the chroma prediction samples for the current block - resamples, a (nCurrSw) x (nCurrSh) array specifying the chroma residual samples for the current block

[0096] The output of this process is the reconstructed chroma picture sample array recSamples.

[0097] The reconstructed chroma picture samples recSamples are derived as follows for i=0..nCurrSw-1, j=0..nCurrSh-1: - recSamples[xCurr+i][yCurr+j] is set equal to Clip1C(presamples[i][j]+resSamples[i][j]) if one of the following conditions is true: - slice_chroma_residual_scale_flag equals 0 - nCurrSw*nCurrSh is 4 or less - tu_cbf_cb[xCurr][yCurr] equals 0 and tu_cbf_cr[xCurr][yCurr] equals 0 - Otherwise, the following applies: - [[ - In the derivation of the variable varScale, the following ordered steps are applied: 1. The variable invAvgLuma is derived as follows:

number

number

number

number

[0098] 5.7 Embodiment 7 The following embodiment is directed to the method of item 12 of the present description. The working draft specified in JVET-N1001-v8 may be modified as follows:

[0099] 7.4.6.4 Luma Mapping with Chroma Scaling Data Semantics The variable ChromaScaleCoeff[i] (i=0...15) is derived as follows: (Outside 10) TIFF0007778765000059.tif52158

[0100] 8.7.5.3 Picture reconstruction by luma-dependent chroma residual scaling process for chroma samples The inputs to this process are: - Position (xCurr, yCurr) of the top-left sample of the current transform block relative to the top-left sample of the current sample - Variable nCurrSw that specifies the conversion block width - Variable nCurrSh that specifies the transformation block height - The variable tuCbfChroma that specifies the coded block flag of the current chroma transformation block - (nCurrSw) x (nCurrSh) array predSamples specifying the chroma prediction samples for the current block - resamples, a (nCurrSw) x (nCurrSh) array specifying the chroma residual samples for the current block

[0101] The output of this process is the reconstructed chroma picture sample array recSamples.

[0102] The reconstructed chroma picture samples recSamples are derived as follows for i=0..nCurrSw-1, j=0..nCurrSh-1: - recSamples[xCurr+i][yCurr+j] is set equal to Clip1C(preSamples[i][j]+resSamples[i][j]) if one of the following conditions is true: - slice_chroma_residual_scale_flag equals 0. - nCurrSw*nCurrSh is 4 or less. - tu_cbf_cb[xCurr][yCurr] equals 0 and tu_cbf_cr[xCurr][yCurr] equals 0. - Otherwise, the following applies: - [[ - In the derivation of the variable varScale, the following ordered steps are applied: 1. The variable invAvgLuma is derived as follows:

number

number

number

number

[0103] 6. Exemplary Implementations of the Disclosed Techniques FIG. 10 is a block diagram of a video processing device 1000. The device 1000 may be used to implement one or more of the methods described herein. The device 1000 may be embodied in a smartphone, a tablet, a computer, an Internet of Things (IoT) receiver, etc. The device 1000 may include one or more processors 1002, one or more memories 1004, and video processing hardware 1006. The processor 1002 may be configured to implement one or more methods described herein (including, but not limited to, methods 800 and 900). The memory(s) 1004 may be used to store data and code used to implement the methods and techniques described herein. The video processing hardware 1006 may be used to implement some of the techniques described herein in a hardware circuit.

[0104] In some embodiments, the video coding method may be implemented using an apparatus implemented on a hardware platform as described with respect to FIG.

[0105] 11 shows a flowchart of an illustrative example 1100 for deriving a linear model for cross-component prediction in accordance with the disclosed techniques. The 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 are derived from a first set of color component values ​​included in one or more reference frames, the first set of color component values ​​being usable in a linear model of a video coding step.

[0106] Some embodiments may be described using the following section-based format.

[0107] (Item 1) A method for video processing, comprising: 1. A method comprising: performing a transformation between a current video block and a bitstream representation of the current video block, wherein during the transformation, a second set of color component values ​​of the current video block are derived from a first set of color component values ​​included in one or more reference frames, the first set of color component values ​​being usable in a linear model of a video coding step.

[0108] (Item 2) The method of item 1, wherein the first set of color component values ​​is interpolated before use in the linear model of the video coding step.

[0109] (Item 3) The method according to any one of items 1 to 2, wherein a linear combination of the first set of color component values ​​is usable as a parameter in a linear model.

[0110] (Item 4) The method of item 1, wherein the locations of the first set of color component values ​​included in one or more reference frames are selected based at least in part on motion information of the current video block.

[0111] (Item 5) The method of item 4, wherein the locations of luma component values ​​in one or more reference frames are calculated from the locations of corresponding luma component values ​​in the current video block and motion information of the current video block.

[0112] (Item 6) The method of Item 5, wherein the location of the corresponding luma component value is the top-left sample, the center sample, or the bottom-right sample in the current video block.

[0113] (Item 7) The method of item 6, wherein the motion information of the current video block corresponds to an integer motion vector or a fractional motion vector.

[0114] (Item 8) The method of item 7, wherein the fractional motion vector is derived using fractional luma component values ​​in one or more reference frames.

[0115] (Item 9) The method of item 7, in which integer motion vectors are derived by rounding towards or away from zero.

[0116] (Item 10) The method of item 1, wherein the locations of the first set of color component values ​​included in one or more reference frames are predefined locations.

[0117] (Item 11) A method according to any one of items 1 to 10, wherein the median or average of the first set of color component values ​​is used to derive a second set of color component values ​​for the current video block.

[0118] (Item 12) The method according to any one of items 1 to 11, wherein one or more reference frames are predefined reference frames.

[0119] (Item 13) The method according to item 12, wherein the predefined reference frame comprises a frame having a reference index in a reference picture list.

[0120] (Item 14) The method according to Item 13, wherein the reference index is zero and the reference picture list is zero.

[0121] (Item 15) The method of item 13, wherein the reference index and / or reference picture list is signaled in a bitstream representation associated with one or more of a sequence, a picture, a tile, a group, a slice, a tile, a coding tree unit, or a video block.

[0122] (Item 16) The method of item 1, wherein the second set of color component values ​​of the current video block are derived from a mathematical average or weighted average of the first set of color component values ​​contained in one or more reference frames.

[0123] (Item 17) The method described in Item 1, wherein the second set of color component values ​​of the current video block are selectively derived from the first set of color component values ​​contained in one or more reference frames based on whether the current video block is a bi-predictively coded block.

[0124] (Item 18) The method of Item 17, wherein the second set of color component values ​​for the current video block are derived separately for each first prediction direction of the first set of color component values.

[0125] (Item 19) The method described in Item 1, wherein the second set of color component values ​​of the current video block are selectively derived from the first set of color component values ​​contained in one or more reference frames based on whether the current video block is associated with sub-block-based prediction.

[0126] (Item 20) The method of item 1, wherein the sub-block-based prediction corresponds to affine prediction or alternative temporal motion vector prediction (ATMVP).

[0127] (Item 21) The method of any one or more of items 19-20, wherein the second set of color component values ​​of the current video block are derived for each individual sub-block.

[0128] (Item 22) The method of any one or more of items 19-21, wherein the second set of color component values ​​for the current video block are derived for the entire current video block regardless of sub-block-based prediction.

[0129] (Item 23) A method according to any one or more of items 19 to 22, wherein the first set of color component values ​​included in one or more reference frames are selected based at least in part on motion vectors of sub-blocks of the current video block.

[0130] (Item 24) The method of any one or more of items 1 to 23, wherein the first set of color component values ​​included in one or more reference frames are neutral color component values.

[0131] (Item 25) The method according to any one or more of items 1 to 24, wherein a video coding step precedes another video coding step.

[0132] (Item 26) The method described in Item 25, wherein the first set of color component values ​​included in one or more reference frames are selected based at least in part on an intermediate motion vector of a current video block or a sub-block of the current video block, the intermediate motion vector being calculated before another video coding step.

[0133] (Item 27) A method according to any one or more of items 24 to 26, wherein the separate video coding step includes one or a combination of a BDOF (Bi-Directional Optical Flow) step, a DMVR (decoder-side motion vector refinement) step, and a PROF (prediction refinement optical flow) step.

[0134] (Item 28) A method according to any one or more of items 1 to 27, wherein a first set of color component values ​​included in one or more reference frames corresponds to MxN luma component values ​​associated with corresponding luma blocks.

[0135] (Item 29) The method of Item 28, wherein the corresponding luma block is a collocated luma block of the current video block.

[0136] (Item 30) The method of Item 29, wherein the product of M and N is less than the product of the block width and block height of the co-located luma block of the current video block.

[0137] (Item 31) A method according to any one or more of items 27 to 30, wherein the first set of color component values ​​included in one or more reference frames correspond to at least a portion of reference samples identified at the positions of neighboring luma samples of adjacent luma blocks.

[0138] (Item 32) The method according to any one or more of items 1 to 31, wherein the first set of color component values ​​are downsampled before being used in the linear model of the video coding step.

[0139] (Item 33) The method described in Item 1, wherein the second set of color component values ​​for the current video block are selected based at least in part on one or more of the following information: a quantization parameter, a coding mode, or a picture order count (POC) for the current video block.

[0140] (Item 34) The method according to Item 31, wherein the positions of the neighboring luma samples are such that the top left sample of the adjacent luma block is covered.

[0141] (Item 35) The method described in Item 28, wherein the first set of color component values ​​included in one or more reference frames correspond to at least a portion of reference samples identified at positions outside the corresponding luma block.

[0142] (Item 36) The method described in Item 28, wherein the second set of color component values ​​of the current video block are selectively derived from the first set of color component values ​​contained in one or more reference frames based on the availability of neighboring samples of the corresponding luma block.

[0143] (Item 37) The availability of neighboring samples of the corresponding luma block is based on one or more of: a coding mode usage of the current video block, a coding mode usage of neighboring samples of the corresponding luma block, a coding mode usage of the corresponding luma block, a coding mode usage of one or more neighboring video blocks, a filter usage of a type associated with the neighboring samples of the corresponding luma block, or a position of the neighboring samples of the corresponding luma block relative to the current video block or its sub-blocks.

[0144] (Section 38) 29. The method of clause 28, further comprising, in response to neighboring samples of the corresponding luma block being unavailable, replacing, filling, or padding the unavailable samples with other samples.

[0145] (Section 39) 29. The method of clause 28, further comprising applying a smoothing filter to neighboring samples in the corresponding luma block.

[0146] (Item 40) A method for video processing, comprising: 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 are derived from a first set of color component values ​​included in one or more reference frames, the first set of color component values ​​being usable in a linear model of the video coding step; and in response to determining that a first set of color component values ​​included in one or more reference frames are collocated luma blocks of the current video block, selectively enabling or disabling derivation of a second set of color component values ​​for the current video block based on one or more conditions related to the collocated luma blocks of the current video block.

[0147] (Item 41) The method of item 40, wherein the one or more conditions related to the co-located luma block of the current video block include a partition size of the co-located luma block, a number of coding units of the co-located luma block reaching a threshold, an upper left luma sample of the co-located luma block reaching a threshold, a depth of a partition tree of the co-located luma block, a corresponding luma block covering the upper left luma sample of the co-located luma block, dimensions of the co-located luma block or the current video block, or a corresponding luma block covering the upper left luma sample of the co-located luma block and additionally contained within a bounding box of a predefined size.

[0148] (Item 42) The method of item 40, wherein the information indicating whether the derivation is to be selectively enabled or disabled is included in the bitstream representation.

[0149] (Item 43) The method of item 28, wherein the availability of neighboring samples of the corresponding luma block involves checking the neighboring samples according to a predefined order.

[0150] (Item 44) The method of item 41, wherein the collocated luma block and the current video block are associated with the same coding tree unit or the same row of the coding tree unit.

[0151] (Item 45) A method for video processing, comprising: 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 are derived from a first set of color component values ​​included in one or more reference frames, the first set of color component values ​​being usable in a linear model of the video coding step; and selectively enabling or disabling derivation of a second set of color component values ​​for the current video block in response to determining that one or more properties of the current video block or a neighboring video block of the current video block are satisfied.

[0152] (Claim 46) The method of Clause 45, wherein one or more properties of the current video block or neighboring video blocks of the current video block correspond to neighboring luma blocks covering a spatial position relative to the spatial position of the current video block.

[0153] (Claim 47) The method of Clause 45, wherein one or more properties of the current video block or a neighboring video block of the current video block correspond to a spatial position of the neighboring video block of the current video block relative to a spatial position of the current video block.

[0154] (Item 48) The method of item 45, further comprising disabling derivation of a second set of color component values ​​for the current video block in response to determining that the reconstruction of the neighboring video block is based at least in part on the coding mode of the current video block.

[0155] (Clause 49) The method of clause 45, further comprising disabling derivation of a second set of color component values ​​for the current video block in response to determining that the current video block is an inter-coded block and not a combined inter and intra prediction coded block, and that a block neighboring the corresponding luma block of the current video block is an intra-coded block, a combined inter and intra prediction (CIIP) block, or an intra block copy (IBC) coded block.

[0156] (Claim 50) The method of Clause 45, further comprising: enabling derivation of a second set of color component values ​​for the current video block in response to determining that the current video block is an inter-coded block and not a combined inter and intra-prediction coded block, and that a block neighboring the corresponding luma block of the current video block is an intra-coded block, a combined inter and intra prediction (CIIP) block, or an intra block copy (IBC) coded block, wherein the first set of color component values ​​are fixed values.

[0157] (Item 51) The method of item 45, wherein the first set of color component values ​​are fixed values.

[0158] (Item 52) The method according to Item 51, wherein the fixed values ​​correspond to the partition indices of a linear model of the video coding step.

[0159] (Item 53) The method of any one or more of items 1 to 52, wherein the neighboring samples may be adjacent or non-adjacent to the current video block.

[0160] (Item 54) The method of any one or more of items 1 to 52, wherein the neighboring samples may be associated with chroma blocks neighboring the current video block or neighboring chroma blocks neighboring the current video block.

[0161] (Item 55) The method of any one or more of items 1 to 54, wherein the current video block corresponds to a chroma block, a co-located luma block, or a corresponding luma block covering the top-left luma sample of the co-located chroma block.

[0162] (Item 56) A method according to any one or more of items 1 to 54, wherein the second set of color component values ​​of the current video block are stored for use in conjunction with one or more other video blocks.

[0163] (Item 57) The method according to any one or more of items 1 to 56, wherein the linear model corresponds to a cross-component linear model (CCLM) and the video coding step corresponds to a luma mapping with chroma scaling (LMCS) mode.

[0164] (Item 58) A method according to any one or more of items 1 to 57, wherein the current video block is an inter-coded block, a bi-predictively coded block, a combined inter and intra prediction (CIIP) block, or an intra block copy (IBC) coded block.

[0165] (Item 59) A method according to any one or more of items 1 to 58, wherein the second set of color component values ​​of the current video block are stored for use in association with other video blocks in the bitstream representation.

[0166] (Item 60) The method described in Item 59, wherein a second set of color component values ​​of the current video block are stored in a line buffer for selective availability or non-availability by neighboring video blocks included in other video blocks, and the current video block and the neighboring video blocks are associated with different slices, tiles, tile groups, coding tree units, or rows of coding tree units.

[0167] (Item 61) The method of item 60, wherein the second set of color component values ​​of the current video block are fixed values.

[0168] (Item 62) The method of item 60, wherein the second set of color component values ​​of the current video block are not derived.

[0169] (Item 63) The method of item 59, wherein derivation of the second set of color component values ​​for the current video block is prevented.

[0170] (Item 64) The method described in Item 59, wherein the second set of color component values ​​of the current video block are stored in a table for selective availability or non-availability by neighboring video blocks included in other video blocks.

[0171] (Item 65) The method of item 64, wherein the second set of color component values ​​of the current video block are dynamically updated.

[0172] (Item 66) The method of item 65, wherein the second set of color component values ​​of the current video block are the same as the previous video block of the other video block.

[0173] (Item 67) The method of item 64, wherein the second set of color component values ​​for the current video block are dynamically updated in a first in first out (FIFO) manner.

[0174] (Item 68) A method according to any one or more of items 1 to 67, 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.

[0175] (Item 69) A method for video processing, comprising: 12. A method comprising: determining, based on rules, applicability of a cross-component codec tool for a conversion between a video block including at least two component blocks and a bitstream representation of the video block; and selectively using the cross-component codec tool to perform the conversion.

[0176] (Item 70) The method of item 69, wherein the rule is based on the dimensions of the current video block.

[0177] (Item 71) The method of items 69 to 70, wherein the rule is based on partition information of the current video block.

[0178] (Item 72) The method of any one of Items 69 to 71, wherein the rule is based on a partition tree structure of the current video block.

[0179] (Item 73) The method of item 72, wherein the partition tree structure is one of a dual tree or a single tree.

[0180] (Item 74) The method of Item 72, wherein the rule specifies that the current video block is a chroma block having a dual-tree partition tree structure, thereby disabling the chroma component codec tool.

[0181] (Clause 75) The method according to any one of clauses 69 to 74, wherein the rules specify omitting signaling of syntax elements of cross-codec tools in the bitstream representation.

[0182] Additional examples and embodiments of items 69-75 are described in Section 4, Item 15.

[0183] (Item 76) An apparatus in a video system including a processor and non-transitory memory having instructions thereon, the instructions, when executed by the processor, causing the processor to implement a method according to any one of items 1 to 75.

[0184] (Item 77) A non-transitory computer program product stored on a non-transitory computer-readable medium, the computer program product comprising program code for executing the method of any one of items 1 to 75.

[0185] 12 is a block diagram illustrating an example video processing system 1200 capable of implementing various techniques disclosed herein. Various implementations may include some or all of the components of system 1200. System 1200 may include an input 1202 for receiving video content. The video content may be received in raw or uncompressed format, e.g., 8- or 10-bit multi-component pixel values, or in a compressed or encoded format. Input 1202 may represent a network interface, a peripheral bus interface, or a storage interface. Examples of network interfaces include wired interfaces such as Ethernet, passive optical network (PON), and wireless interfaces such as Wi-Fi or cellular interfaces.

[0186] System 1200 may include a coding component 1204 that may implement various coding or encoding methods described herein. Coding component 1204 may reduce the average bitrate of video from input 1202 to the output of coding component 1204 to generate a coded representation of the video. Thus, coding techniques are sometimes referred to as video compression or video transcoding techniques. The output of coding component 1204 may be stored or transmitted via a connected communication, as represented by component 1206. The stored or communicated bitstream (or coded) representation of the video received at input 1202 may be used by component 1208 to generate pixel values ​​or displayable video that are sent to display interface 1210. The process of generating user-viewable video from the bitstream representation is sometimes referred to as video decompression. Furthermore, while certain video processing operations are referred to as “coding” operations or tools, it will be understood that the coding tools or operations are used in an encoder, or that corresponding decoding tools or operations that reverse the results of the coding are performed by a decoder.

[0187] Examples of peripheral bus interfaces or display interfaces include universal serial bus (USB), high definition multimedia interface (HDMI), or display port, etc. Examples of storage interfaces include serial advanced technology attachment (SATA), PCI, IDE interfaces, etc. The technology described herein 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.

[0188] 13 is an exemplary method for visual media processing. The steps of this flowchart are discussed in conjunction with Examples 19bii-iv in Section 4 of this document. In step 1302, the process performs a conversion between a current video unit of the visual media data and a bitstream representation of the current video unit, the bitstream representation being configured according to format rules that specify a level of the video segment at which one or more syntax elements indicating scaling factors by which chroma residuals are scaled for coding the current video unit are selectively included in the bitstream representation.

[0189] 14 is a flowchart for an exemplary method of visual media processing. The steps of this flowchart are discussed in connection with Example 19e in Section 4 of this document. In step 1402, the process performs a conversion between visual media data including one or more video regions that include one or more video blocks and a bitstream representation of the visual media data, where the bitstream representation conforms to a format rule that specifies that one or more video blocks in the video region have the same chroma scaling factor in a luma-dependent chroma residual scaling step of the conversion.

[0190] 15 is a flowchart for an exemplary method of visual media processing. The steps of this flowchart are discussed in connection with Example 20 in Section 4 of this document. In step 1502, the process performs a transformation between a current video unit of visual media data and a bitstream representation of the visual media data, where the bitstream representation conforms to a format rule that specifies that one or more syntax elements in the bitstream representation that indicate a scaling factor associated with a chroma residual scaling step of the transformation of the current video unit are predictively coded in the bitstream representation.

[0191] Some embodiments of this document are presented in a section-based format and may be preferably incorporated into these embodiments.

[0192] (Item 1) A visual media processing method, comprising: performing a conversion between visual media data including one or more video regions including one or more video blocks and a bitstream representation of the visual media data, wherein the bitstream representation conforms to a format rule, and the format rule specifies that one or more video blocks in the video region have the same chroma scaling factor in a luma-dependent chroma residual scaling step of the conversion.

[0193] (Item 2) The method of item 1, wherein the video region is a virtual pipeline data unit (VPDU).

[0194] (Item 3) The method of item 1, wherein the format rule further specifies that the total number of blocks having the same chroma scaling factor is indicated by a syntax element or derived in the transform.

[0195] (Item 4) The method according to any one of items 1 to 2, wherein the one or more blocks in the video area correspond to all blocks in the video area.

[0196] (Item 5) A method according to any one or more of items 1 to 4, wherein the syntax elements in the bitstream representation used for the conversion are included at one of the sequence parameter set (SPS) level and / or slice header level and / or tile group header level and / or picture parameter set (PPS) level and / or picture header level and / or brick level and / or coding tree unit (CTU) row level and / or coding tree unit (CTU) level and / or coding unit (CU) level and / or virtual pipeline data unit (VPDU) level and / or block level.

[0197] (Item 6) A method according to any one or more of items 1 to 5, wherein in response to detecting that at least two blocks in one or more video regions have different chroma scaling factors, the format rules further specify that the bitstream representation includes additional syntax elements, which are used to derive different chroma scaling factors for the at least two blocks.

[0198] (Item 7) The method described in Item 1, wherein in response to detecting that one or more video blocks in the video domain have the same chroma scaling factor in a luma-dependent chroma residual scaling step of the transform, the format rules further specify the use of a syntax element used in the transform that indicates the total number of blocks that have the same chroma scaling factor.

[0199] (Section 8) The method of Section 7, wherein the formatting rules further specify that syntax elements are included in the bitstream representation using prediction techniques such that previous values ​​of the syntax elements are used to derive the current value of the syntax elements.

[0200] (Item 9) The method of item 8, wherein the prediction technique includes using a total number of blocks in a video region that have the same chroma scaling factor.

[0201] (Item 10) A method according to any one or more of items 6 to 9, wherein the syntax elements included in the bitstream representation relate to a video domain level, and the video domain level includes one of the sequence parameter set (SPS) level and / or slice header level and / or tile group header level and / or picture parameter set (PPS) and / or picture header level and / or brick level and / or coding tree unit (CTU) row level and / or coding tree unit (CTU) level and / or coding unit (CU) level and / or virtual pipeline data unit (VPDU) level and / or block level.

[0202] (Item 11) A method according to any one or more of items 1 to 10, wherein one or more blocks in a video region are spaced apart in the visual media data at consecutive intervals of fixed length, and a second block is defined to be contiguous to a first block if the second block is decoded subsequent to the first block.

[0203] (Item 12) The method of item 7, wherein the total number of blocks having the same chroma scaling factor is equal for all blocks in the video domain.

[0204] The method of clause 7, wherein the total number of blocks having the same chroma scaling factor is in a predetermined range expressed as [T1, T2], where T1 and T2 are both included in the predetermined range.

[0205] (Item 14) The method of item 13, wherein T1 is equal to 1 and T2 is equal to the total number of blocks in the video region.

[0206] (Item 15) The method of Item 14, wherein the syntax elements included in the bitstream representation are based on the range [T1, T2].

[0207] (Item 16) The method described in Item 15, wherein a syntax element included in the bitstream representation corresponds to the difference between the total number of blocks in the video domain and T1, or the maximum value of the syntax element is equal to the difference between T1 and T2.

[0208] (Item 17) A method according to any one or more of items 13 to 16, wherein the format rule further specifies that for the bitstream representation to conform to the format rule, the total number of blocks in the video region must satisfy a bitstream conformance constraint, and the bitstream conformance constraint specifies that the total number of blocks in the video region must be within a defined interval.

[0209] (Clause 18) The method described in Clause 7, wherein the format rules further specify that for two video units having the same scaling factor, syntax elements are included in the bitstream representation using prediction techniques such that syntax elements used to transform the first video unit are used to derive syntax elements used to transform the second video unit.

[0210] (Item 19) The method according to any one or more of items 7 to 18, wherein the syntax elements are included in the bitstream representation after application of a coding technique.

[0211] (Item 20) The method of item 19, wherein the coding technique includes one of a unary code, a truncated unary code, a fixed-length code, an exponential-Golomb code, or a truncated binomial code.

[0212] (Item 21) The method of item 19, wherein the coding technique includes one of context-less bypass coding or arithmetic coding using one or more contexts.

[0213] (Item 22) A method as described in Item 2 or 3, wherein in response to detecting that multiple blocks in the video domain have the same chroma scaling factor in the luma-dependent chroma residual scaling step of the transform, the format rules further specify the use of a syntax element indicating the video domain.

[0214] (Item 23) The method according to Item 22, wherein the blocks included in the video area are arranged in raster scan order.

[0215] (Item 24) The method described in Item 23, wherein the video area is described using an index associated with a first block of the plurality of blocks, and / or an index associated with a last block of the plurality of blocks, and / or a total count of the plurality of blocks.

[0216] (Item 25) A method according to any one or more of items 22 to 24, wherein the video area includes an area having a rectangular shape, and the video area is described using an index relative to an upper left block and an index relative to an upper right block.

[0217] (Item 26) The method of any one or more of items 22 to 24, wherein the video area includes an area having a rectangular shape, and the video area is described using dimensions of the area having the rectangular shape.

[0218] (Item 27) The method according to any one or more of Items 22 to 26, wherein an index corresponding to a video region is included as a syntax element in the bitstream representation.

[0219] (Item 28) A method according to any one or more of items 22 to 27, wherein the dimensions of the rectangular region include width and / or height, and the total count of the multiple blocks is less than the product of the width and height of the rectangular region.

[0220] (Item 29) The method according to Item 28, wherein the width of the rectangular region is equal to the number of blocks aligned in a direction along the width of the rectangular region.

[0221] (Item 30) The method according to Item 28, wherein the height of the rectangular region is equal to the number of blocks aligned in a direction along the height of the rectangular region.

[0222] (Item 31) The method of any one or more of items 26 to 27, wherein the dimensions of the rectangular region include a width and / or height each in a predefined range represented as [T1, T2], and both T1 and T2 are included in the predefined range.

[0223] (Item 32) The method according to Item 31, wherein T1 is equal to 1 and T2 is equal to the total number of CTUs in the CTU column of the video region.

[0224] (Item 33) The method according to any one or more of Items 31 to 32, wherein the syntax elements included in the bitstream representation are based on the range [T1, T2].

[0225] (Item 34) The method described in Item 33, wherein the syntax element included in the bitstream representation corresponds to the difference between the width and T1 of a region having a rectangular shape.

[0226] (Item 35) The method of item 33, wherein the syntax element included in the bitstream representation corresponds to the difference between the height of the region having a rectangular shape and T1.

[0227] (Item 36) A method according to any one or more of items 34 to 35, wherein the maximum value of the syntax element is equal to the difference between T1 and T2.

[0228] (Item 37) A method according to any one or more of Items 31 to 36, wherein the formatting rules further specify that, for the bitstream representation to conform to the formatting rules, the dimensions of the regions having a rectangular shape include widths and / or heights that each satisfy the bitstream conformance constraint, and the bitstream conformance constraint specifies that the dimensions of the regions having a rectangular shape include widths and / or heights that each fall within a defined interval.

[0229] (Clause 38) The method of clause 37, wherein the formatting rules further specify that the syntax element is to be included in the bitstream representation using a prediction technique such that a fixed number is used to predict the syntax element.

[0230] (Clause 39) The method described in Clause 37, wherein the format rules further specify that for two rectangular video regions having the same scaling factor, syntax elements are included in the bitstream representation using prediction techniques such that the syntax elements used to transform the first region are used to derive the syntax elements used to transform the second region.

[0231] (Item 40) The method according to any one or more of Items 25 to 39, wherein the syntax elements are included in the bitstream representation after application of a coding technique.

[0232] (Item 41) The method of Item 40, wherein the coding technique includes one of a unary code, a truncated unary code, a fixed-length code, an exponential-Golomb code, or a truncated binomial code.

[0233] (Item 42) The method of item 40, wherein the coding technique includes one of context-less bypass coding or arithmetic coding using one or more contexts.

[0234] (Item 43) The method of Item 37, wherein the transformation of the second domain is performed sequentially after the transformation of the first domain.

[0235] (Item 44) The method of item 39, wherein a coding tree unit (CTU) is associated with a first region and a second region, and the transformation of the CTU in the second region is interleaved with the transformation of the CTU in the first region.

[0236] (Item 45) The method described in Item 44, wherein the transformation order includes a CTU of a first row in a first region, a CTU of a first row in a second region, a CTU of a first row in the first region, a CTU of a second row in the second region, and a CTU of a second row in the first region.

[0237] (Item 46) The method of item 7, wherein using the syntax element corresponds to including the syntax element in the bitstream representation.

[0238] (Item 47) The method according to items 1 to 3, wherein the format rule further specifies that the total number of blocks having the same chroma scaling factor is calculated according to a derivation related to the transform.

[0239] (Item 48) The method according to any one or more of items 46 to 47, wherein the total number of blocks having the same chroma scaling factor is at the level of the video domain.

[0240] (Item 49) The method of item 48, wherein the derivation associated with the transform is based on the size of the video block.

[0241] (Item 50) The method of item 48, wherein the derivation associated with the transform ranges between a minimum or maximum value that depends on the size of the video block and a predefined number.

[0242] (Item 51) The method of item 26, wherein the dimensions of the video area are based on the size of the video block.

[0243] (Item 52) The method described in Item 26, wherein the dimensions of the video area are between a minimum or maximum value that depends on the size of the video block and a predefined number.

[0244] (Item 53) The method of items 50 or 52, wherein the predetermined number is 64.

[0245] (Item 54) A visual media processing method, comprising: performing a conversion between a current video unit of visual media data and a bitstream representation of the current video unit, the bitstream representation being configured according to format rules, the format rules specifying a level of a video segment at which one or more syntax elements indicating scaling factors by which chroma residuals are scaled to code the current video unit are selectively included in the bitstream representation.

[0246] (Clause 55) The method of clause 54, wherein the formatting rules specify that the video segments correspond to virtual pipeline data units (VPDUs) of visual media data.

[0247] (Item 56) The method of item 54, wherein the format rules specify that the video segment corresponds to the smaller of a virtual pipeline data unit (VPDU) and a coding tree unit (CTU).

[0248] (Item 57) The method described in Item 56, wherein, if the width of the VPDU is W' and the width of the CTU is W, the width of the video segment is equal to the minimum of W and W'.

[0249] (Clause 58) The method described in Clause 54, wherein the format rule specifies that one or more syntax elements are included at the current video unit level if the size of the current video unit is smaller than the size of a virtual pipeline data unit (VPDU).

[0250] (Clause 59) The method described in Clause 54, wherein the format rule specifies that one or more syntax elements are included at the current video unit level if the size of the current video unit is greater than the size of a virtual pipeline data unit (VPDU).

[0251] (Clause 60) A method according to any one or more of clauses 54 to 59, wherein the formatting rules specify that one or more syntax elements are used to derive scaling factors for all video units associated with the level of the video segment.

[0252] (Clause 61) A method according to any one or more of clauses 54 to 59, wherein the formatting rules specify that one or more syntax elements are used to derive scaling factors for a subset of video units associated with the level of a video segment.

[0253] (Clause 62) A method according to any one or more of clauses 54 to 61, wherein the level of the video segment includes one of the sequence parameter set (SPS) level and / or slice header level and / or tile group header level and / or picture parameter set (PPS) level and / or picture header level and / or brick level and / or coding tree unit (CTU) row level and / or coding tree unit (CTU) level and / or coding unit (CU) level and / or virtual pipeline data unit (VPDU) level and / or block level.

[0254] (Clause 63) A method according to any one or more of clauses 54 to 62, wherein the formatting rules specify that one or more syntax elements are to be selectively included in the bitstream representation upon determining that a video segment meets a threshold size condition.

[0255] (Item 64) The method of any one of items 54 to 63, wherein the threshold size condition is based on a comparison of a coding tree unit (CTU) width and a virtual pipeline data unit (VPDU) width.

[0256] (Item 65) A method for visual media processing, comprising performing a conversion between a current video unit of visual media data and a bitstream representation of the visual media data, wherein the bitstream representation complies with a format rule specifying that one or more syntax elements in the bitstream representation indicating a scaling factor associated with a chroma residual scaling step of the conversion of the current video unit are predictively coded in the bitstream representation.

[0257] (Clause 66) The method of clause 65, wherein predictive coding includes including in the bitstream representation an indication of whether the scaling factor of the second video unit is the same as the scaling factor of the previously transformed first video unit.

[0258] (Clause 67) The method of clause 65, wherein predictive coding includes including in the bitstream representation an indication of a coded difference between a scaling factor of the second video unit and a scaling factor of the previously transformed first video unit.

[0259] (Item 68) The method of Item 67, wherein the indication includes the sign of the coded difference and / or the absolute value of the coded difference.

[0260] (Item 69) The method of item 67, inferring that the scaling factor of the second video unit is the same as the scaling factor of the first video unit if no coded difference is included in the bitstream representation.

[0261] (Item 70) A video encoder apparatus comprising a processor configured to implement the method according to any one or more of items 1 to 69.

[0262] (Item 71) A video decoder apparatus comprising a processor configured to implement the methods described in any one or more of items 1 to 69.

[0263] (Item 72) A computer-readable medium having code stored thereon, the code embodying processor-executable instructions for implementing the methods described in any one or more of items 1 to 69.

[0264] In this document, the terms “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. The bitstream representation of a current video block may correspond to bits that are co-located or spread at different locations within the bitstream, for example, as defined by a syntax. For example, a macroblock may be encoded in terms of transformed and coded error residual values, and using bits within headers and other fields within the bitstream. Furthermore, during the conversion, a decoder may parse the bitstream, knowing that some fields may or may not be present based on a decision, as described in the above solutions. Similarly, an encoder may determine whether a particular syntax field is included or not, and generate a coded representation by including or excluding the syntax field from the coded representation accordingly. It will be understood that the disclosed techniques may be embodied in a video encoder or decoder to improve compression efficiency using techniques including the use of sub-block-based motion vector refinement.

[0265] From the foregoing, it will be appreciated that, for purposes of illustration, specific embodiments of the technology of the present disclosure have been described herein, but that various modifications can be made without departing from the scope of the invention. Accordingly, the technology of the present disclosure is not limited except as by the appended claims.

[0266] Implementations of the subject matter and functional operations described in this patent document can be implemented in various systems, digital electronic circuits, or computer software, firmware, or hardware, including the structures disclosed herein and their structural equivalents, or in one or more combinations thereof. Implementations of the subject matter described herein 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 executing or controlling the operation of a data processing apparatus. The computer-readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition affecting a machine-readable propagated signal, or a combination of one or more of these. The term "data processing unit" or "data processing apparatus" encompasses all apparatuses, devices, and machines for processing data, including, by way of example, a programmable processor, a computer, or multiple processors or computers. In addition to hardware, an apparatus can include code that generates an execution environment for the computer program in question, such as code constituting processor firmware, a protocol stack, a database management system, an operating system, or one or more combinations thereof.

[0267] A computer program (also known as a program, software, 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 as part 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 storing one or more modules, subprograms, or portions of code). A computer program can be deployed to be executed on multiple computers that are located on one computer or one site, or distributed across multiple sites and interconnected by a communications network.

[0268] The processes and logic flows described herein may 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 may also be performed by, and an apparatus may be implemented as, special purpose logic circuitry, such as an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).

[0269] Processors suitable for executing a computer program include, by way of example, both general-purpose and special-purpose microprocessors, and any one or more processors of any kind of digital computer. Typically, 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. Typically, a computer will also include, or be operatively coupled to receive and / or transfer data from, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical, or optical disks. However, a computer need not have such devices. Computer-readable media suitable for storing computer program instructions and data include, by way of example, 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 memory may be supplemented by, or incorporated in, special-purpose logic circuitry.

[0270] The specification, together with the drawings, are intended to be considered merely illustrative, by illustrative, and by example. As used herein, the use of "or" is intended to include "and / or" unless the context clearly dictates otherwise.

[0271] While this patent document contains many details, these should not be construed as limitations on the scope of any invention or what may be claimed, but rather as descriptions of features that may be specific to particular embodiments of a particular invention. 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. Furthermore, while features may be described above as acting in particular combinations and initially claimed by themselves, one or more features from a claimed combination can, in some cases, be deleted from the combination, and the claimed combination may be directed to subcombinations or variations of the subcombination.

[0272] Similarly, although the figures depict acts in a particular order, this should not be understood as requiring such acts to be performed in a particular order or sequentially, or that all of the depicted acts be performed, to achieve desired results. Furthermore, 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.

[0273] Only a few implementations and examples have been described, and other implementations, extensions and variations can be made based on what is described and shown in this patent document.

Claims

1. 1. A method for processing video data, comprising: determining that a scaling process is to be applied to chroma residual samples of a current chroma video block during conversion between the current chroma video block and a bitstream of the video; performing the conversion based on the determination; In the scaling process, the chroma residual samples are scaled based on at least one scaling factor before being used to reconstruct the current chroma video block; one or more chroma video blocks in a video region including the current chroma video block share at least one same scaling factor in the scaling process; a syntax element indicating enabling or disabling of the scaling process at a picture level conditionally included at the picture level relative to the current chroma video block; In response to the value of the syntax element being equal to 1, application of the scaling process at the picture level is enabled, and in response to the value of the syntax element being equal to zero, application of the scaling process at the picture level is disabled.

2. The method of claim 1 , wherein the one or more chroma video blocks in the video domain correspond to all chroma video blocks in the video domain to which the scaling process is applied.

3. The method of claim 1 or 2, wherein the video region is a virtual pipeline data unit.

4. The at least one scaling factor is: checking availability of each of one or more neighboring luma blocks of a video unit of the video, the video unit being a luma block and determined based on a luma sample corresponding to a top-left sample of the current chroma video block; determining whether to search for neighboring luma samples of the video unit based on availability of each of the one or more neighboring luma blocks, wherein the neighboring luma samples are located at predefined positions in the neighborhood of the video unit; and 4. The method of claim 3, wherein if at least one of the one or more neighboring luma blocks is available, deriving the at least one scaling factor based on an average luma variable calculated using the neighboring luma samples by an averaging operation.

5. The method of claim 4 , wherein the neighboring luma samples include at least one of one or more left neighboring sample columns or one or more above neighboring sample rows of the video unit.

6. The method of claim 4 or 5, wherein the total number of neighboring luma samples depends on size information of the virtual pipeline data unit.

7. 7. The method of claim 4, wherein the scaling process is based on a piecewise linear model, an index identifying the piece to which the average luma variable belongs, and the at least one scaling factor is derived based on the index.

8. in response to determining that all neighboring luma blocks of the video unit are unavailable, the at least one scaling factor is derived by setting the average luma variable equal to a default value; The method of any one of claims 4 to 7, wherein the default value is equal to 1<<(bitDepth-1), where bitDepth is the bit depth of the video, and the syntax element is included in a picture header.

9. The method of any one of claims 1 to 8, wherein the transforming comprises encoding the current chroma video block into the bitstream.

10. The method of any one of claims 1 to 8, wherein the converting comprises decoding the current chroma video block from the bitstream.

11. 1. An apparatus for processing video data, comprising: a processor; and a non-transitory memory having instructions that, when executed by the processor, cause the processor to: determining that a scaling process is to be applied to chroma residual samples of a current chroma video block during conversion between the current chroma video block and a bitstream of the video; performing the conversion based on the determination; In the scaling process, the chroma residual samples are scaled based on at least one scaling factor before being used to reconstruct the current chroma video block; one or more chroma video blocks in a video region including the current chroma video block share at least one same scaling factor in the scaling process; a syntax element indicating enabling or disabling of the scaling process at a picture level conditionally included at the picture level relative to the current chroma video block; In response to the value of the syntax element being equal to one, application of the scaling process at the picture level is enabled, and in response to the value of the syntax element being equal to zero, application of the scaling process at the picture level is disabled.

12. A non-transitory computer-readable storage medium storing instructions, the instructions causing a processor to: determining that a scaling process is to be applied to chroma residual samples of a current chroma video block during conversion between the current chroma video block and a bitstream of the video; performing the conversion based on the determination; In the scaling process, the chroma residual samples are scaled based on at least one scaling factor before being used to reconstruct the current chroma video block; one or more chroma video blocks in a video region including the current chroma video block share at least one same scaling factor in the scaling process; a syntax element indicating enabling or disabling of the scaling process at a picture level conditionally included at the picture level relative to the current chroma video block; In response to the value of the syntax element being equal to one, application of the scaling process at the picture level is enabled, and in response to the value of the syntax element being equal to zero, application of the scaling process at the picture level is disabled.

13. 1. A method for storing a video bitstream, comprising: determining a scaling process to be applied to chroma residual samples of a current chroma video block of the video; generating the bitstream based on the determination; and storing the bitstream on a non-transitory computer-readable recording medium; In the scaling process, the chroma residual samples are scaled based on at least one scaling factor before being used to reconstruct the current chroma video block; one or more chroma video blocks in a video region including the current chroma video block share at least one same scaling factor in the scaling process; a syntax element indicating enabling or disabling of the scaling process at a picture level conditionally included at the picture level relative to the current chroma video block; In response to the value of the syntax element being equal to 1, application of the scaling process at the picture level is enabled, and in response to the value of the syntax element being equal to zero, application of the scaling process at the picture level is disabled.

Citation Information

Patent Citations

  • JPP7460748B

  • Systems and methods for coding video data using adaptive component scaling

    WO2018016381A1