QUANTIFICATION PARAMETER FOR CHROMA UNBLOCKING FILTRATION

MX434922BActive Publication Date: 2026-06-12BYTEDANCE INC

Patent Information

Authority / Receiving Office
MX · MX
Patent Type
Patents
Current Assignee / Owner
BYTEDANCE INC
Filing Date
2022-03-07
Publication Date
2026-06-12

AI Technical Summary

Technical Problem

Current video coding technologies face challenges in achieving better compression ratios and lower complexity while maintaining effective deblocking filtering, particularly in handling chroma components in video encoding and decoding processes.

Method used

The implementation of a method for video processing that involves selective deblocking filtering of chroma components using chroma quantization parameter (QP) offsets and rules based on encoding modes, allowing for independent determination of quantization parameters and filtering processes across different video units, including joint chroma residue coding and transform skip modes.

Benefits of technology

This approach enhances the efficiency of video encoding and decoding by improving deblocking filtering for chroma components, leading to better compression ratios and reduced computational complexity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure MX434922B0
    Figure MX434922B0
Patent Text Reader

Abstract

An example video processing method includes determining, for a conversion between a block of a video chroma component and a bitstream representation of the video, whether or how to apply a filtering process to an edge of the block based on first quantization information for a first video region comprising samples on one side of the edge and / or second quantization information for a second video region comprising samples on the other side of the edge, according to a rule based on an encoding mode applicable to the block for encoding the samples on one side or the samples on the other side of the edge. The rule specifies that multiple QP offsets at different video unit levels are used to determine the first quantization information or the second quantization information. The method also includes performing the conversion based on this determination.
Need to check novelty before this filing date? Find Prior Art

Description

QUANTIFICATION PARAMETER FOR CHROMA UNBLOCKING FILTRATION Cross-reference to related applications Under patent law and / or applicable rules pursuant to the Paris Convention, this application is made to timely claim priority and benefits of International Patent Application No. PCT / CN2019 / 105831, filed on September 14, 2019. For all purposes under the law, the entire description of the aforementioned applications is incorporated by reference as part of the description of this application. Technical field of the invention This patent document relates to video encoding techniques, devices, and systems. Background of the invention Currently, efforts are underway to improve the performance of existing video encoding technologies to provide better compression ratios or to offer video encoding and decoding schemes that allow for less complexity or simultaneous implementation. Industry experts have recently proposed several new video encoding tools, and testing is currently in progress to determine their effectiveness. Brief description of the invention This paper describes devices, systems, and methods related to digital video coding, and specifically to motion vector management. The methods described can be applied to existing video coding standards (e.g., High Efficiency Video Coding (HEVC) or Versatile Video Coding) as well as future video coding standards or codecs. In a representative aspect, the disclosed technology can be used to provide a method for video processing. This method involves implementing a conversion between a block of a video's chroma component and a bitstream representation of the video. During the conversion, an unblocking filtering process is selectively applied to samples along the block's edges, and chroma quantization (QP) parameter offsets are added to the outputs of a chroma QP table to determine the parameters for the unblocking filtering process. In another representative aspect, the disclosed technology can be used to provide a method for video processing. This method includes determining, for a conversion between a block of a chroma component of a video and a bitstream representation of the video, whether or how to apply a filtering process to an edge of the block based on first quantization information for a first video region comprising samples on one side of the edge and / or second quantization information for a second video region comprising samples on the other side of the edge, according to a rule. The rule is based on an encoding mode applicable to the block to encode the samples on one side or the samples on the other side of the edge.The rule specifies that multiple QP offsets are used at different video unit levels to determine the first or second quantization information. The method also includes performing the conversion based on this determination. In another representative aspect, the disclosed technology can be used to provide a method for video processing. This method includes determining, for a conversion between a current block of video and a bitstream representation of the video, whether to enable the use of a chroma quantization parameter (QP) offset for the current block according to a syntax element at the video unit level. The video unit includes the current block and a second video block. In another representative aspect, the disclosed technology can be used to provide a method for video processing. This method involves implementing a conversion between a video comprising a first chroma component and a second chroma component and a bitstream representation of the video. The residues of a first chroma block from the first chroma component and a second chroma block from the second chroma component are co-encoded into the bitstream representation using an encoding mode according to a rule. The rule specifies that a method for deriving a quantization parameter (QP) for the conversion is independent of the encoding mode. In another representative aspect, the disclosed technology can be used to provide a method for video processing. This method involves performing a conversion between a first block of a video and a bitstream representation of the video. The video has a multi-component color format, and the first block is associated with a first color component of the video. During the conversion, an unblocking filtering process is applied to at least some samples along an edge of the first block. The method also includes implementing subsequent conversions between blocks associated with the remaining color components of the video and the bitstream representation of the video. During the subsequent conversions, the unblocking filtering process is applied to at least some samples along an edge of each of the blocks in the same way as the conversion of the first block. In another representative aspect, the disclosed technology can be used to provide a method for video processing. This method includes determining, for a conversion between a video and a bitstream representation of the video, a boundary intensity between two blocks of a video. The boundary intensity is determined independently of whether either of the two blocks is encoded in a Joint Chroma Residual Coding (JCCR) mode. The method also includes performing the conversion based on this determination. In another representative aspect, the disclosed technology can be used to provide a method for video processing. This method includes determining, for a conversion between a video and a bitstream representation of the video, a boundary intensity of a boundary between a first block c LOznn / zznz / E / Yi and a second block. The determination is made without comparing the information of the first block with the corresponding information of the second block. The information comprises a reference image and / or a number of motion vectors of a corresponding block, and the boundary intensity is used to determine whether an unblocking filtering process is applicable to the boundary. The method also includes performing the conversion based on this determination. In another representative aspect, the disclosed technology can be used to provide a method for video processing. This method includes determining, for a conversion between a video block and a bitstream representation of the video, a quantization parameter (QP) used to apply unblocking filtering to the video block according to a rule. The rule specifies that a first QP is used to determine the appropriate QP if the video block is encoded using a transformation-skipping (TS) mode, where a portion of the video block is encoded in the bitstream representation without applying a transformation. A second QP, different from the first, is used to determine the appropriate QP if the video block is encoded using a transformation-free skipping mode, where the portion of the video block is encoded in the bitstream representation after applying the transformation.The method also includes performing the conversion based on the determination. In another representative aspect, the disclosed technology can be used to provide a method for video processing. This method includes determining, for a conversion between a video block and a bitstream representation of the video, a gradient to determine the applicability of an unblocking filtering process to at least some samples from an edge of the video block according to a rule. The rule specifies that the way in which the gradient is determined is independent of the size of the video block. The method also includes performing the conversion based on this determination. In another representative aspect, the disclosed technology can be used to provide a method for video processing. This method includes implementing a conversion between a video unit and a bitstream representation of the video unit, where, during the conversion, an unlocking filter is used at the video unit boundaries, so that when a chroma quantization parameter (QP) table is used to derive parameters for the unlocking filter, processing by the chroma QP table is performed on individual chroma QP values. In another representative aspect, the disclosed technology can be used to provide an alternative method for video processing. This method involves implementing a conversion between a video unit and a bitstream representation of the video unit. During the conversion, an unlocking filter is used at the video unit boundaries, utilizing chroma QP offsets within the unlocking filter. These chroma QP offsets are located at the image / segment / piece / block / subimage level. In another representative aspect, the disclosed technology can be used to provide another method for video processing. This method includes the implementation of a conversion between a video unit and a bitstream representation of the video unit, where, during the conversion, an unlocking filter is used at the boundaries of the video unit such that chroma QP offsets are used in the unlocking filter, where information belonging to the same luma encoding unit is used in the unlocking filter to derive a chroma QP offset. In another representative aspect, the disclosed technology can be used to provide an alternative method for video processing. This method involves implementing a conversion between a video unit and a bitstream representation of the video unit, where, during the conversion, an unlocking filter is used at the video unit boundaries so that chroma QP offsets are utilized in the unlocking filter, thus enabling the use of chroma QP offsets in the bitstream representation. In another representative aspect, the disclosed technology can be used to provide another method for video processing. This method includes implementing a conversion between a video unit and a bitstream representation of the video unit, where, during the conversion, an unlocking filter is used at the video unit boundaries such that chroma QP offsets are used in the unlocking filter, where the chroma QP offsets used in the unlocking filter are identical whether the JCCR encoding method is applied at a video unit boundary or whether a method other than the JCCR encoding method is applied at the video unit boundary. In another representative aspect, the disclosed technology can be used to provide another method for video processing. This method includes the implementation of a conversion between a video unit and a bitstream representation of the video unit, where, during the conversion, an unlocking filter is used at the video unit boundaries such that chroma QP offsets are used in the unlocking filter, where a boundary intensity (BS) of the unlocking filter is calculated without comparing reference images and / or a series of motion vectors (MV) associated with the video unit at a side boundary. Furthermore, in a representative aspect, a device is disclosed in a video system comprising a processor and a non-transient memory containing instructions. Upon execution by the processor, these instructions cause the processor to implement one or more of the disclosed methods. Furthermore, in a representative aspect, a video decoding apparatus comprising a processor configured to implement one or more of the disclosed methods. In another representative aspect, a video encoding apparatus comprising a processor configured to implement one or more of the disclosed methods. Also disclosed is a computer program product stored on a non-transient, computer-readable medium; the computer program product includes the program code to carry out one or more of the disclosed methods. The foregoing and other aspects and features of the disclosed technology are described in greater detail in the drawings, description and claims. Brief description of the drawings Figure 1 shows an example of a general processing flow of a lock-unblocking filter process. Figure 2 shows an example of a flowchart for a Bs calculation. Figure 3 shows an example of referenced information for calculating Bs at the CTU limit. Figure 4 shows an example of pixels involved in the filter on / off decision and strong / weak filter selection. Figure 5 shows an example of a general processing flow of the unblocking filter process in WC. Figure 6 shows an example of a luma unblocking filter process in WC. Figure 7 shows an example of a chroma unlocking filter process in WC Figure 8 shows an example of a filter length determination for sub-PU limits. Figure 9A shows an example of center positions of a chroma block. Figure 9B shows another example of central positions of a chroma block. Figure 10 shows examples of blocks on the P side and the Q side. Figure 11 shows examples of using the decoded information from a luma block. Figure 12 is a block diagram of an example of a hardware platform for implementing a visual media decoding or visual media encoding technique described herein. Figure 13 shows a flowchart of an example method for video encoding. Figure 14 is a block diagram of an exemplary video processing system in which the described techniques can be implemented. Figure 15 is a flowchart representation of a video processing method according to the present technology. Figure 16 is a flowchart representation of another video processing method according to the present technology. Figure 17 is a flowchart representation of another method for video processing according to the present technology. Figure 18 is a flowchart representation of another method for video processing according to the present technology. Figure 19 is a flowchart representation of another method for video processing according to the present technology. Figure 20 is a flowchart representation of another video processing method according to the present technology. c LOznn / zznz / E / Yi Figure 21 is a flowchart representation of another video processing method according to the present technology. Figure 22 is a flowchart representation of another method for video processing according to the present technology. Figure 23 is a flowchart representation of yet another method for video processing according to the present technology. Figure 24 is a block diagram illustrating an exemplary video coding system. Figure 25 is a block diagram illustrating an encoder according to some modalities of the present disclosure. Figure 26 is a block diagram illustrating a decoder according to some modalities of the present disclosure. Detailed description of the invention 1. Video encoding in HEVC / H.265 Video coding standards have evolved primarily through the development of the well-known ITU-T and ISO / IEC standards. The ITU-T produced H.261 and H.263, ISO / IEC produced MPEG-1 and MPEG-4 Visual, and the two organizations jointly produced the H.262 / MPEG-2 Video and H.264 / MPEG-4 Advanced Video Coding (AVC) and H.265 / HEVC standards. Since H.262, video coding standards have been based on a hybrid video coding structure that utilizes both time prediction and transform coding. To explore future video coding technologies beyond HEVC, the Joint Video Exploration Team (JVET) was established in 2015 by the Video Coding Expert Group (VCEG) and the Moving Picture Expert Group (MPEG).Since then, the JVET has adopted many new methods and incorporated them into the reference software known as the Joint Exploration Model (JEM). In April 2018, the Joint Video Exploration Team (JVET) was established between VCEG (Q6 / 16) and ISO / IEC JTC1 SC29 / WG11 (MPEG) to work on the next-generation Versatile Video Coding (VVC) standard, which aims for a 50% bitrate reduction compared to HEVC. 2.1. Unlocking scheme in HEVC A filtering process is performed for each CU in the same order as the decoding process. First, the vertical edges are filtered (horizontal filtering), then the horizontal edges are filtered (vertical filtering). Filtering is applied to the 8x8 block boundaries determined to be filtered, for both luma and chroma components. 4x4 block boundaries are not processed to reduce complexity. Figure 1 illustrates the overall processing flow of the unblocking filter process. A boundary can have three filtering states: no filtering, weak filtering, and strong filtering. Each filtering decision is based on the boundary strength, Bs, and threshold values, β and tc. c LOznn / zznz / E / Yi Three types of boundaries can be involved in the filtering process: CU boundaries, TU boundaries, and PU boundaries. CU boundaries, which are external edges of CUs, are always involved in filtering, as CU boundaries are always also TU or PU boundaries. When the PU shape is 2NxN (N > 4) and the RQT depth is equal to 1, the TU boundary on the 8x8 block grid and the PU boundary between each PU within CUs are involved in filtering. An exception is that when the PU boundary is inside a TU, the boundary is not filtered. 2.1.1. Calculation of the limit intensity In general terms, the boundary intensity (Bs) reflects how intense the filtering is needed to reach the boundary. If Bs is large, intense filtering should be considered. P and Q are defined as blocks involved in the filtering, where P represents the block located to the left (vertical edge case) or above (horizontal edge case) of the boundary, and Q represents the block located to the right (vertical edge case) or above (horizontal edge case) of the boundary. Figure 2 illustrates how the value of Bs is calculated based on the intracoding mode, the existence of non-zero transformation coefficients, and the motion information, reference image, number of motion vectors, and motion vector difference. Bs is calculated based on 4x4 blocks, but is reassigned to an 8x8 grid. The maximum of the two Bs values ​​that correspond to 8 pixels consisting of a line in the 4x4 grid is selected as Bs for the boundaries in the 8x8 grid. In order to reduce the line buffer requirement, just for the CTU limit, the information in every second block (4x4 grid) on the left or top side is reused as shown in Figure 3. 2.1.2. Decision of β and tC The threshold values ​​β and te that determine the filter's on / off decision, the selection of a strong and weak filter, and the weak filtering process are derived based on the luma quantization parameter of the P and Q blocks, QPp and QPq, respectively. Q, used to derive β and te, is calculated as follows. Q = ((QPp + QPq + 1) » 1). A variable β is derived as shown in Table 1, based on Q. If Bs is greater than 1, the variable te is specified as in Table 1 with Clip3(0, 55, Q + 2) as input. Otherwise (BS is equal to or less than 1), the variable te is specified as in Table 1 with Q as input. c LOznn / zznz / E / Yi Table 1 Derivation of threshold variables β and te from the input Q Q 0 1 2 33 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 β 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 7 8 te 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Q 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 β 9 10 11 12 13 14 15 16 17 18 20 22 24 26 28 30 32 34 36 te 1 1 1 1 1 1 1 1 2 2 2 2 33 33 33 33 4 4 4 Q 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 β 38 40 42 44 46 48 50 52 54 56 58 60 62 64 64 64 64 64 te 5 5 6 6 7 8 9 9 10 10 11 11 12 12 13 13 14 14 c LOznn / zznz / E / viAi 2.1.3. Decision to turn filters on / off for 4 lines The filter on / off decision is made for four lines as a unit. Figure 4 illustrates the pixels involved in the filter on / off decision. The six pixels in the two red boxes for the first four lines are used to determine the filter on / off for those four lines. The six pixels in the two red boxes for the second four lines are used to determine the filter on / off for those four lines. If dp0+dq0+dp3+dq3 < β, the filtering of the first four lines is activated and the strong / weak filter selection process is applied. Each variable is derived as follows. dpO = | p2,o - 2*pi ,o + po,o |, dp3 = | p2,3 - 2*pi,3 + po,31, dp4 = | p2,4 - 2*pi ,4 + po,41, dp7 = | Ρ27 - 2*pi ,7 + Po,7 | dqO = | q2,o-2*qi,o + qo,o |, dq3 = | q2,3-2*qi,3 + qo,31, dq4 = | q2,4-2*qi,4 + qo,41, dq7 = | q2,7-2*qv + qo,71 If the condition is not met, no filtering is performed for the first 4 lines. Furthermore, if the condition is met, dE, dEp1, and dEp2 are derived for a weak filtering process. The variable dE is set equal to 1. If dpO + dp3 < (β + ( β » 1 )) » 3, the variable dEp1 is set equal to 1. If dqO + dq3 < (β + ( β » 1 )) » 3, the variable dEq1 is set equal to 1. For the second four lines, the decision is made in the same way as before. 2.1.4. Selection of strong / weak filter for 4 lines After it is determined that the first four lines are filtered in the filter's on / off decision, if the following two conditions are met, a strong filter is used to filter the first four lines. Otherwise, a weak filter is used. The pixels involved are the same as those used for the filter's on / off decision, as shown in Figure 4. 1) 2*(dp0+dq0) < (β » 2 ), | p30- pOo | + | qOo - q3o | < ( β » 3 ) and | pOo - qOo | < ( 5* te + 1 ) »1 2) 2*(dp3+dq3) < (β » 2 ), | p33- p031 + | q03- q331 < ( β » 3 ) and | p03- q031 < ( 5* te + 1 ) »1 Similarly, if two conditions are met, a strong filter is used to filter the next four lines. Otherwise, a weak filter is used. 1) 2*(dp4+dq4) < (β » 2 ), | p34 - pÜ41 + | qÜ4 - q341 < ( β » 3 ) and | pÜ4 - qÜ41 < ( 5* te + 1 ) »1 2) 2*(dp7+dq7) < ( β » 2 ), | p37- p07| + | q07- q37| < ( β » 3 ) and | p07- q07| < ( 5* te + 1 ) »1 2.1.4.1. Intense filter For intensive filtering, the filtered pixel values ​​are obtained using equations. It's worth noting that three pixels are modified using four pixels as input for each P and Q block, respectively. po' = ( Ρ2 + 2*pi + 2*po + 2*qo + qi + 4 ) » 3 qo' = (Pi + 2*po + 2*qo + 2*qi + q2 + 4 ) » 3 pi ' = ( P2 + pi + po + qo + 2 ) » 2 qi' = ( po + qo + qi + 2 ) » 2 Ρ2' = (2*ps + 3*p2 + pi + po + qo + 4 ) » 3 qz' = ( po + qo + qi + 3*qz + 2*qa + 4 ) » 3 2.1.4.2. Weak filtering Δ is defined as follows. Δ = ( 9 * (qo - po ) - 3 * ( qi - pi ) + 8 ) » 4 When abs(A) is less than te *10, Δ = Clip3( - te , te , Δ) po' = Cliplγ( po + Δ) qo' = Cliplγ( qo - Δ) is equal to dp 1 Δρ = CIip3( -(te » 1), te » 1, ( (( P2 + po + 1 ) » 1 ) - pi + Δ) »1 ) pi' = Cliplγ( P1 + Δρ ) if dEq1 is equal to 1 Δς = Clip3( -(te » 1), te » 1, ((( q2+ qo + 1 ) » 1 ) - qi - Δ) »1) qi' = Cliply( qi + Δη ) It is worth noting that a maximum of two pixels is modified by using three pixels as input for each block of P and Q, respectively. 2.1.4.3. Chrome Filtered The chroma filtering Bs is inherited from luma. If Bs > 1 or if the encoded chroma coefficient exists in the case, chroma filtering is performed. There is no other filtering decision. And only one filter is applied for chroma. No filter selection process is used for chroma. The filtered sample values ​​po' and qo' are derived as follows. Δ = Clip3( -te, te, (((( qo - po ) « 2 ) + pi - qi + 4 ) » 3 )) po' = Cliplc( po + Δ ) qo' = Clip1c( qo-Δ) 2.6 Unlocking Scheme in VVC In VTM6, the unlocking filtering process is almost the same as in HEVC. However, the following modifications are added. A) The intensity of the unblocking filter depends on the average luma level of the reconstructed samples. B) Unlocking the tC table extension and adapting to 10-bit video. C) 4x4 grid unlock for luma. D) More intense unlocking filter for luma. E) More intense unblocking filter for chroma. F) Unblocking filter for the subblock limit. c LOznn / zznz / E / viaA G) Unlocking decision adapted to smaller movement difference. Figure 5 represents a flowchart of the filter unlocking process in VVC for an encoding unit. 2.2.1. The filter intensity depends on the average reconstructed luma In HEVC, the intensity of the unblocking filter is controlled by the variables β and tc, which are derived from the averaged quantization parameters qPL. In VTM6, the unblocking filter's intensity is controlled by adding a shift to qPi_ based on the luma level of the reconstructed samples if the SPS indicator for this method is true. The reconstructed luma level LL is derived as follows: LL= (( po,o + po,3 + qo,o + qo,3) >> 2 ) / (1 « bitDepth ) (3-1) where, the sample values ​​p¡;kyq¡,k can be derived with i = 0..3 andk = 0 and 3. Next, LL is used to decide the offset qpOffset based on the threshold noted in SPS. After that, qPi, which is derived as follows, is employed to derive β and tc. qPr = (( Qpo + Qpp +1 ) » 1 ) + qpOffset (3-2) where Opa and Qpp denote the quantization parameters of the encoding units containing the sample qo,oy po,o, respectively. In current VVC, this method is only applied in the luma unlocking process. 2.2.2. 4x4 unlock grid for luma HEVC uses an 8x8 unlocking grid for both luma and chroma. In VTM6, unlocking on a 4x4 grid was introduced for luma boundaries to handle blocking artifacts from rectangular transform shapes. Luma-friendly parallel unlocking on a 4x4 grid is achieved by restricting the number of samples to be unlocked to either one sample on each side of a vertical luma boundary where one side has a width of 4 or less, or one sample on each side of a horizontal luma boundary where one side has a height of 4 or less. 2.2.3. Derivation of the limit intensity for luma The detailed derivation of the limiting intensity can be found in Table 2. The conditions in Table 2 are checked sequentially. c LOznn / zznz / B / Yi Table 2 Derivation of the limit intensity Conditions YUVP and Q are BDPCM 0 N / AN / AP or Q is intra 2 2 2 It is a transform block boundary, and P or Q is ClIP 2 2 2 It is a transform block boundary, and P or Q has non-zero transform coefficients. 1 1 1 It is a transform block boundary, and P or Q is JCCR N / A 1 1 P and Q are in different encoding modes 1 1 1 One or more of the following conditions are met: 1. P and Q are both IBCs, and the BV distance >= half-pel in x- or y-dir. 2. P and Q have different reference images*, or have a different number of MVs. 3. Both P and Q have only one mv, and the MV distance >= half-pel in x- or y-dir. 4. P has two MVs pointing to two different reference images, and P and Q have the same reference images in list 0; the pair of MVs in list 0 or list 1 has a distance >= half-pel in x- or y-dir. 5. P has two MVs pointing to two different reference images, and P and Q have different reference images in list 0; the MV of P in list 0 and the MV of Q in list 1 have the distance >= half-pel in x- or y-dir, or the MV of P in list 1 and the MV of Q in list 0 have the distance >= half-pel in x- or y-dir 6.Both P and Q have two MVs that point to the same reference images, and the following two conditions are met: either P's MV in list 0 and Q's MV in list 0 have a distance >= half-pel in x- or y-direction, or P's MV in list 1 and Q's MV in list 1 have a distance >= half-pel in x- or y-direction, or P's MV in list 0 and Q's MV in list 1 have a distance >= half-pel in x- or y-direction, or P's MV in list 1 and Q's MV in list 0 have a distance >= half-pel in x- or y-direction. *Note: The determination of whether the reference images used for the two encoding sub-blocks are the same or different is based solely on which images are referenced, without regard to whether a prediction is formed using an index in reference image list 0 or an index in reference image list 1. regardless of whether the index position within a reference image list is different.1 N / A / A Otherwise 0 0 0. c LOznn / zznz / E / Yi 2.2.4. More intense unlocking filter for luma The proposal uses a bilinear filter when the samples on either side of a boundary belong to a large block. A sample belonging to a large block is defined as when the width >= 32 for a vertical edge, and when the height >= 32 for a horizontal edge. The bilinear filter is listed below. The block boundary samples pi for i=0 to Sp-1 and qi for j=0 to Sq-1 (pi and qi follow the definitions in HEVC unlocking described above) are replaced by linear interpolation as follows: — Pi = ( / i* Middlest+ (64 — / )) * Ps+ 32) » 6~),clipped to pt+ tcPDi — Qj=(.9j * Middles t+ (64 — gj) * Qs+ 32) » 6), clipped to q¡ + tcPD¡ where the terms tcPDi and tcPDj are a position-dependent clipping described in the c LOznn / zznz / B / Yi Section 2.2.5 yg},fi,Middlest, Psy Qsse are given below: Sp, Sq 7, 7 (lado p: 7, lado q: 7) f = 59 — i * 9, can also be described as f = {59,50,41,32,23,14,5} gj = 59 — j * 9, can also be described as g = {59,50,41,32,23,14,5} Middle77 = (2 * (p0 + q0) + p4 + q1 + p2 + q2 +P3 + Q3+P4 + Q4+P5 + 9s+Pe + 9β + θ) » 4 p? = (p6 + P7 +1) » 1. Q? = (de + q7 +1) »1 7, 3 (lado p: 7 lado q: 3) f = 59 — i * 9, can also be described as f = {59,50,41,32,23,14,5} g¡ = 53 — j * 21, can also be described as g = {53,32,11} Middle73 = (2 * (p0 + q0) + q0 + 2 * (¾ + q2) + p1+q1+ P2+P3+P4+P5 + Pe + 8) » 4 P7 = (Pe + P7 +1) » i- Q3 = (q2 + q3 +1) »1 3, 7 (lado p: 33 lado q: 7) gj = 59 — j * 9, can also be described as g = {59,50,41,32,23,14,5} fi = 53 — i * 21, can also be described as f = {53,32,11} Middle37 = (2 * (q0 + pj + p0 + 2 * + p2) + q1 + pí+ q2+q3+q4+qs + q6 + 8) » 4 Q? = (qe + q? +1) » p3 = (p2 + p3 +1) »1 7, 5 (lado p: 7 lado q: 5) g¡ = 58 — j * 13, can also be described as g = {58,45,32,19,6} f = 59 — i * 9, can also be described as f = {59,50,41,32,23,14,5} Middle7,5 = (2 * (p0 +q0 + p1 + q^ + q2 + p2 + q3 + p3 + q4 + p4 + q3 + p5 + 8) » 4 Qs = (q4 + q3 +1) » 1-P7 = (Pe + p7 +1) » i 5, 7 (lado p: 5 lado q: 7) gj = 59 — j * 9, can also be described as g = {59,50,41,32,23,14,5} ft = 58 — i * 13, can also be described as f = {58,45,32,19,6} Middle5,7 = (2 * (q0 +p0 + p4 + qd + q2 + p2 + q3 + P3 + q4 + P4 + qs + Ps + 8) » 4 Q? = (q6 + q? +1)» LA; = (p4 + Ps +1)»i 5, 5 (lado p: 5 lado q: 5) g¡ = 58 — j * 13, can also be described as g = {58,45,32,19,6} = 58 — i * 13, can also be described as f = {58,45,32,19,6} Middle5,5 = (2 * (q0 + p0 + p¡ + q¡ + q2 + p2) + Q3 + P3 + q4 + P4 + 8) » 4 Qs = (q4 + qs +1)»1.85 = (P4 + Ps +1)»i 5, 3 (lado p: 5 lado q: 3) g¡ = 53 — j * 21, can also be described as g = {53,32,11} fi = 58 — i * 13, can also be described as f = {58,45,32,19,6} Middle5,3 = (q0 + p0 + p4 + q4 + q2 + p2 + q3 + p3 + 4) » 3 Q3 = (q2 + q3 + V » LA; = (p4 + p5 +1) »1 3, 5 (lado p: 33 lado q: 5) gj = 58 — j * 13,can also be described as g = {58,45,32,19,6} fi = 53 — i * 21, can also be described as f = {53,32,11} Middle3,5 = (q0 + p0 + Pi + q4 + q2 + p2 + q3 + p3 + 4) » 3 Qs = (q4 + qs +1) » i- p3 = (p2 + p3 +1) »1, 2.2.5. Luma unlock control The unlocking decision process is described in this subsection. Stronger and wider luma filters are used only if all of Condition 1, Condition 2, and Condition 3 are TRUE. Condition 1 is the “large block condition.” This condition detects whether the samples on the T side and the Q side belong to large blocks, which are represented by the variables bSidePisLargeBIk and bSideQisLargeBIk, respectively. The variables bSidePisLargeBIk and bSideQisLargeBIk are defined as follows. bSidePisLargeBIk = ((the border type is vertical and po belongs to a coding unit (CU) with width >= 32)||(the border type is horizontal and po belongs to a CU with height >= 32))? TRUE: FALSE bSideQisLargeBIk = ((the border type is vertical and qo belongs to a CU with width >= 32) ||(the border type is horizontal and qo belongs to a CU with height >= 32))? TRUE: FALSE Based on bSidePisLargeBIk and bSideQisLargeBIk, condition 1 is defined as follows: Condition 1 = (bSidePisLargeBIk || bSidePisLargeBIk) ? TRUE: FALSE Then, if Condition 1 is true, Condition 2 will be checked additionally. First, the following variables are derived: dpO, dp3, dqO, dq3 are first differentiated as in HEVC if (side p is greater than or equal to 32) dpO = ( dpO + Abs( ps,o - 2 * p4,o + pa,o ) + 1 ) »1 dp3 = ( dp3 + Abs( ps,3 - 2 * p4,3 + P3,3) + 1 ) »1 if (side q is greater than or equal to 32) dqO = ( dqO + Abs( qs,o - 2 * q4,o + qs,o) + 1 ) »1 dq3 = ( dq3 + Abs( qs,3 - 2 * q4,3 + qs,3) + 1 ) »1 dpqO, dpq3, dp, dq, d are differentiated as in HEVC. Then condition 2 is defined as follows. Condition2 = (d < β) ? TRUE: FALSE where d= dpO + dqO + dp3 + dq3, as shown in section 2.1.4. If Conditionl and Condition2 are valid, check if any of the blocks use subblocks: If (bSidePisLargeBIk) If (mode block P == SUBBLOCKMODE) Sp=5 else Sp = 7 else Sp = 3 If (bSideQisLargeBIk) If (mode block Q == SUBBLOCKMODE) Sq = 5 else Sq = 7 else Sq = 3 Finally, if both Condition 1 and Condition 2 are valid, the proposed unlocking method will verify Condition 3 (the large block strong filter condition), which is defined as follows. c LOznn / zznz / E / Yi In Condition 3 StrongFilterCondition, the following variables are derived: dpq is derived as in HEVC. sp3 = Abs(p3 - pO), derived as in HEVC if (side p is greater than or equal to 32) if (Sp==5) sp3 = ( sp3 + Abs( p5 - p3) + 1) » 1 else sp3 = ( sp3 + Abs( p5 - p3) + 1) » 1 sq3 = Abs( qO - q3 ), derived as in HEVC if (side q is greater than or equal to 32) If (Sp==5) sq3 = (sq3 + Abs( q5 - q3) + 1) » 1 else sq3 = (sq3 + Abs( q7 — q3) + 1) » 1 Since they are derived in HEVC, StrongFilterCondition = (dpq is less than ( β » 2 ), sp3 + sq3 is less than (3* β » 5 ), and Abs( pO - qO) is less than (5 * tC + 1 ) » 1) ? TRUE : FALSE Figure 6 represents the flow diagram of the luma unblocking filter process. 2.2.6. Strong unblocking filter for chroma The following strong unblocking filter is defined for chroma: P2- (3*p3+2*p2+pi+po+qo+4) » 3 pi - (2*p3+p2+2*pi+po+qo+qi+4) » 3 po- (p3+p2+pi+2*po+qo+qi+q2+4) » 3 The proposed chroma filter performs unlocking on a 4x4 grid of chroma samples. 2.2.7. Chroma unlock control The previous chroma filter performs unblocking on an 8x8 chroma sample grid. Strong chroma filters are used on both sides of the block boundary. Here, the chroma filter is selected when both sides of the chroma boundary are greater than or equal to 8 (in chroma sample units), and the following decision is met with three conditions. The first is for the boundary strength decision, as well as the large block size. The second and third are essentially the same as for the HEVC luma unblocking decision, which are an on / off decision and a strong filter decision, respectively. Figure 7 represents the flow diagram of the chroma unblocking filter process. 2.2.8. Position-dependent cut The proposal also introduces a position-dependent cutoff tcPD applied to the output samples of the luma filtration process involving long, intensive filters that modify 7, 5, and 3 samples at the boundary. Assuming the quantization error distribution, it is proposed to increase the cutoff value for samples expected to have higher quantization noise, and therefore, a greater deviation of the reconstructed sample value from the true sample value. For each proposed asymmetric filtered limit P or Q, depending on the outcome of the decision-making process described in section 2.2, the position-dependent threshold table is selected from tables Tc7 and Tc3 provided to the decoder as side information: Tc7 = { 6, 5, 4, 3, 2, 1, 1}; Tc3 = {6,4,2}; tcPD = (SP == 3) ? Tc3 : Tc7; tcQD = (SQ == 3) ? Tc3 : Tc7; For P or Q limits that are filtered with a short symmetric filter, a position-dependent threshold of lesser magnitude is applied: Tc3 = { 3, 2, 1}; After defining the threshold, the filtered sample values ​​p'i and q'i are trimmed according to the trim values ​​tcP and tcQ: p”i = Clip3(p'i + tcP:, p'¡ - tcP¡, p'i); q''¡ = Clip3(q'¡ + tcQ¡, q'¡- tcQ¡, q'¡); where p' and q' are filtered sample values, p' and q' are output sample values ​​after clipping, and tcP and tcQD are clipping thresholds derived from the VVC parameter te and tcPD and tcQD. The term Clip3 is a clipping function as specified in VVC. 2.2.9. Sub-block unlocking adjustment To allow parallel unlocking through the use of both long filters and subblock unlocking, long filters are restricted to modifying a maximum of 5 samples on one side using subblock unlocking (AFFINE or ATMVP), as shown in the luma control for long filters. Additionally, subblock unlocking is adjusted so that subblock boundaries on an 8x8 grid that are close to a CU or implicit TU boundary are restricted to modifying a maximum of two samples on each side. The following applies to subblock boundaries that are not aligned with the CU boundary. If(mode block Q == SUBBLOCKMODE && edge !=0){ if (!(¡mplicitTU && (edge ​​== (64 / 4)))) if (edge ​​== 2 || edge == (orthogonalLength - 2) || edge == (56 / 4) || edge == (72 / 4)) Sp = Sq = 2; else Sp = Sq = 3; else Sp = Sq = bSideQisLargeBIk? 5:3} When the edge equal to 0 corresponds to the CU limit, the edge equal to 2 or equal to orthogonalLength-2 corresponds to samples of the sub-block limit 8 of a CU limit, etc. Where implicit TU is true if implicit TU division is used. Figure 8 shows the process flow diagrams LOznn / zznz / E / Yi for determining the TU limits and sub-PU limits. The horizontal boundary filter limits Sp=3 for luma, Sp=1 and Sq=1 for chroma, when the horizontal boundary is aligned with the CTU boundary. 2.2.10. Unlocking decision adapted to a smaller movement difference HEVC allows the unlocking of a prediction unit boundary when the difference in at least one motion vector component between blocks on the respective side of the boundary is equal to or greater than a 1-sample threshold. In VTM6, a half-luma sample threshold is introduced to also allow the removal of blocking artifacts originating from boundaries between prediction units that have a small difference in motion vectors. 2.3. Combined Inter- and Intraprediction (CIIP) In VTM6, when a CU is encoded in fusion mode, if the CU contains at least 64 luma samples (i.e., the CU width times the CU height is equal to or greater than 64), and if both the CU width and CU height are less than 128 luma samples, an additional flag is set to indicate whether the combined inter- and intraprediction (CIIP) mode is applied to the current CU. As the name suggests, CIIP prediction combines an interprediction signal with an intraprediction signal. The interprediction signal Pmter in CIIP mode is derived using the same interprediction process applied to regular fusion mode; and the intraprediction signal Pinta is derived following the regular intraprediction process with flat mode.Next, the intra- and interprediction signals are combined using weighted averaging, where the weight value is calculated depending on the encoding modes of the adjacent blocks above and to the left as follows:. - If the adjacent property above is available and is intracoded, then set ¡slntraTop to 1, otherwise set ¡slntraTop to 0; - If the adjacent left-hand property is available and is intracoded, then set IntraLeft to 1, otherwise set IntraLeft to 0; - If (slntraLeft + slntraLeft) equals 2, then wt is set to 3; - Otherwise, if (slntraLeft + slntraLeft) equals 1, then wt is set to 2; - Otherwise, set wt to 1. The CIIP prediction is formed as follows: Fciip = ((4 - wt) * Pinter+ wt * Pinter+ 2) » 2 2.4. Design of Chroma QP board in VTM-6.0 In some modes, a chroma QP table is used. In some modes, a signaling mechanism is used for the chroma QP tables, allowing for flexibility and enabling encoders to optimize the table for SDR and HDR content. It supports signaling the tables separately for the Cb and Cr components. The proposed mechanism signals the chroma QP table as a piecewise linear function. 2.5. Omission of transformation (TS) As in HEVC, the remainder of a block can be encoded using transform bypass mode. To avoid syntax encoding redundancy, the transform bypass flag (LOznn / zznz / B / Yi) is not set when the CU level MTS_CU_flag is not zero. The block size limitation for transform bypass is the same as for MTS in JEM4, meaning that transform bypass is applicable to a CU when both the block width and height are 32 or less. It should be noted that implicit MTS transform is set in DCT2 when LFNST or MIP is enabled for the current CU. Furthermore, implicit MTS can still be enabled even when MTS is enabled for encoded blocks. Furthermore, for the transformation omission block, the minimum allowed quantization parameter (QP) is defined as 6* (internalBitDepth - inputBitDepth) + 4. 2.6. Joint Chroma Residue Coding (JCCR)In some modes, chroma residues are co-coded. The use (activation) of a co-chroma coding mode is indicated by a TU level indicator, tuJoint_cbcr_residual_flag, and the selected mode is implicitly indicated by the chroma CBF. The tuJoint_cbcr_residual_flag indicator is present if one or both of the chroma CBFs for a TU are equal to 1. In the PPS header and segment, the chroma QP offset values ​​are flagged for the co-chroma residue coding mode to differentiate them from the usual chroma QP offset values ​​flagged for the regular chroma residue coding mode. These chroma QP offset values ​​are used to derive the chroma QP values ​​for those blocks coded using the co-chroma residue coding mode.When a corresponding set chroma encoding mode (modes 2 in Table 3) is active in a TU, this chroma QP offset is added to the luma-derived chroma QP applied during the quantization and decoding of that TU. For the other modes (modes 1 and 3 in Table 3), the chroma QPs are derived in the same way as for conventional Cb or Cr blocks. The process of reconstructing the chroma residues (resCb and resCr) of the transmitted transform blocks is represented in Table 3. When this mode is activated, a single joint chroma residue block (resJointC[x][y] in Table 3) is pointed out, and a residue block for Cb (resCb) and a residue block for Cr (resCr) are derived taking into account information such as tu_cbf_cb, tu_cbf_cr and CSign, which is a sign value specified in the segment header. In the encoder, the joint chroma components are derived as explained below. Depending on the mode (listed in the tables above), resJointC{1,2} is generated by the encoder as follows: • If the mode is equal to 2 (unique residue with reconstruction Cb = C, Cr = CSign * C), the joint residue is determined according to resJointCj x ][ y ] = (resCb[ x ][ y ] + CSign * resCr[ x ][ y ]) / 2. • Otherwise, if the mode is equal to 1 (unique residue with reconstruction Cb = C, Cr = (CSign * C) / 2), the joint residue is determined according to resJointC[ x][y] = (4* resCb[ x ][ y ] + 2 * CSign * resCr[ x ][ y ]) / 5. • Otherwise (the mode is equal to 3, i.e., single residue, reconstruction Cr = C, Cb = (CSign * C) / 2), the joint residue is determined according to c LOznn / zznz / E / Yi resJointC[ x ][ y ] = ( 4 * resCr[ x ][ y ] + 2 * CSign * resCb[ x ][ y ]) / 5. Table 3 Chroma residue reconstruction. The CSign value is a sign value (+1 or -1), which is specified in the segment header, resJointC[][] is the transmitted residue. c LOznn / zznz / E / Yi tu_cbf_cb tu_cbf_cr reconstruction of Cb and Cr residues mode 1 0 resCb[ x ][ y ] = resJointC[ x ][ y ] resCr[ x ][ y ] = ( CSign * resJointCj x ][ y ]) » 1 1 1 1 resCb[ x ][ y ] = resJointC[ x ][ y ] resCr[ x ][ y ] = CSign * resJointC[ x ][ y ] 2 0 1 resCb[ x ][ y ] = ( CSign * resJointC[ x ][ y ]) » 1 resCr[ x ][ y ] = resJointC[ x ][ y ] 33 Different QP values ​​are used, which are the three modes mentioned above. For mode 2, the QP offset specified in PPS is applied to the JCCR-coded block, while for the other two modes, it is not applied; instead, the QP offset specified in PPS is applied to the non-JCCR-coded block. The corresponding specification is as follows: 8.7.1 Derivation process for quantification parameters The variable Οργ is derived as follows: Οργ = (( qPv_pRED + CuQpDeltaVal + 64 + 2 * QpBdOffsetY)%( 64 + QpBdOffsetY)) QpBdOffsetY (8-933) The luma quantization parameter Qp'y is derived as follows: Qp' y = Οργ + QpBdOffsetY (8-934) When ChromaArrayType is not equal to 0 and treeType is equal to SINGLE_TREE or DUAL_TREE_CHROMA, the following applies: - When treeType is equal to DUAL_TREE_CHROMA, the variable Οργ is set equal to the luma quantization parameter Οργ of the luma encoding unit that covers the luma location ( xCb + cbWidth / 2, yCb + cbHeight / 2 ). - The variables qPcb, qPcr and qPeber are derived as follows: qPichroma = Clip3( -QpBdOffsetc, 63, QpY ) (8-935) qPicb = ChromaQpTable[ 0 ][ qPichroma ] (8-936) qPicr = ChromaQpTable[ 1 ][ qPichroma ] (8-937) qPieber = ChromaQpTable[ 2Pichroma [ ] (8-938) The chroma quantization parameters for the components Cb and Cr, Qp'cb and Qp'cr, and the joint Cb-Cr encoding Qp'cbcr are derived as follows: Qp' cb = Clip3( -QpBdOffsetc, 63, qPcb + pps_cb_qp_offset + slice_cb_qp_offset +CuQpOffsetcb) + QpBdOffsetc (8-939) Qp' cr = Clip3( -QpBdOffsetc, 63, qPcr + pps_cr_qp_offset + slice_cr_qp_offset +CuQpOffsetcr) + QpBdOffsetc (8-940) Qp' cbcr = Clip3( -QpBdOffsetc, 63, qPeber + pps_cbcr_qp_offset + slice_cbcr_qp_offset +CuQpOffsetcbCr) + QpBdOffsetc (8-941) 8.7.3 Scaling Process of Transformation Coefficients The inputs to this process are: - a luma location (xTbY, yTbY) that specifies the top-left luma sample of the current block relative to the top-left luma sample of the current image, - an nTbW variable that specifies the width of the transformation block, - an nTbH variable that specifies the height of the transformation block, - a cldx variable that specifies the color component of the current block, - a bitDepth variable that specifies the bit depth of the current color component. The output of this process is the (nTbW)x(nTbH) d matrix of scaled transformation coefficients with elements d[ x ][ y ]. The quantization parameter qP is derived as follows: - If cldx is equal to 0 and transform_skip_flag[ xTbY ][ yTbY ] is equal to 0, the following applies: qP = Qp' and (8-950) - Otherwise, if cldx is equal to 0 (and transform_skip_flag[ xTbY ][ yTbY ] is equal to 1), the following applies: qP = Max( QpPrimeTsMin, Qp' γ) (8-951) - Otherwise, if TuCResMode[xTbY][yTbY] is equal to 2, apply the following: qP = Qp' cbcr (8-952) - Otherwise, if cldx equals 1, the following applies: qP = Qp' cb (8-953) - Otherwise, (cldx equals 2), apply the following: qP = Qp' cr (8-954) 3. Disadvantages of existing implementations DMVR and BIO do not incorporate the original signal during motion vector refinement, which can result in encoding blocks with inaccurate motion information. Furthermore, DMVR and BIO sometimes use fractional motion vectors after motion refinement, whereas on-screen videos typically have integer motion vectors, making the information less precise and worsening encoding performance. 1. The interaction between the chroma QP table and chroma unlocking can have problems, for example, the chroma QP table should be applied to individual QPs but not to the weighted sum of QPs. 2. The logic of the luma unlocking filtering process is complicated for hardware design. 3. The logic of deriving the limit intensity is too complicated for both software and hardware design. 4. In the BS decision process, JCCR is treated separately for the c LOznn / zznz / E / Yi blocks encoded without JCCT applied. However, JCCR is just a special way of encoding the residue. Therefore, such a design can introduce additional complexity without clear benefits. 5. In the chroma edge decision, Qpa and Qpp are set equal to the Orγ values ​​of the encoding units that include the encoding blocks containing the sample qo, o, and po. o, respectively. However, in the quantization / dequantization process, the QP for a chroma sample is derived from the QP of the luma block that covers the corresponding luma sample at the current CU chroma center position. When the dual tree is enabled, different luma block locations can result in different QPs. Therefore, in the chroma unblocking process, incorrect QPs may be used for the filter decision. Such misalignment can result in visual artifacts. An example is shown in Figure 9, including Figure 9(a) and Figure 9(b).In Figure 9, the left side (Figure 9(a)) is the corresponding CTB partition for the luma block, and the right side (Figure 9(b)) is the chroma CTB partition under the dual tree. To determine the QP for the chroma block, denoted by CU01, the central position of CUc1 is first derived. Then, the corresponding luma sample from the central position of CUc1 is identified, and the luma QP associated with the luma CU covering the corresponding luma sample—i.e., CUy3—is then used to derive the QP for CUc1. However, when making filter decisions for the three represented samples (with solid circles), the QPs of the CUs covering the three corresponding samples are selected. Therefore, for the 1st, 2nd, and 3rd chroma samples (represented in Figure 9(b)), the QPs of CUy2, CUy3, and CUy4 are used, respectively.In other words, chroma samples in the same CU may use different QPs for filter decision, which can result in incorrect decisions. 6. A different image-level QP offset (i.e., ppsjoint_cbcr_qp_offset) is applied to JCCR-encoded blocks, which differs from the image-level Cb / Cr offsets (e.g., pps_cb_qp_offset and pps_cr_qp_offset) applied to non-JCCR-encoded blocks. However, in the chroma unlocking filter decision process, only the offsets for non-JCCR-encoded blocks are used. Failure to consider the encoding modes can result in an incorrect filter decision. 7. TS and non-TS encoded blocks use different QPs in the dequantization process, which can also be considered in the unlocking process. 8. Different QPs are used in the scaling process (quantization / dequantization) for JCCR-encoded blocks with different modes. Such a design is inconsistent. 4. Example techniques and modalities The modalities described below should be considered as examples to explain the general concepts. These modalities should not be interpreted restrictively. Furthermore, these modalities can be combined in any way. The methods described below may also be applicable to other decoder motion information derivation technologies besides DMVR and BIO mentioned below. In the following examples, MVM[i].xy and MVM[i].y denote the horizontal and vertical components of the movement vector in the reference image list i (i is 0 or 1) of the block on the M side (M is P or Q). Abs denotes the operation to obtain the absolute value of an input, and && and || denote the logical AND and OR operations. With reference to Figure 10, P can denote the samples on the P side, and Q can denote the samples on the Q side. The blocks on the P side and Q side can denote the block marked by the dashed lines. Regarding the chroma QP in unlocking 1. When using the chroma QP table to derive parameters to control chroma unlocking (e.g., in the decision process for chroma block edges), chroma QP offsets can be applied after applying the chroma QP table. a. In one example, chroma QP offsets can be added to the value generated by a chroma QP table. b. Alternatively, chroma QP shifts may not be considered as input to a chroma QP table. c. In one example, chroma QP offsets can be the offset of chroma quantization parameters at the image level or another video unit (segment / piece / block / sub-image) (e.g., pps_cb_qp_offset, pps_cr_qp_offset in the descriptive memory). 2. It is possible that the QP cut will not apply to the input of a chroma QP table. 3. It is proposed to consider the shifts in quantization parameters at the image / segment / piece / block / subimage level used for different encoding methods in the unlocking filter decision process. a. In one example, the selection of image / segment / piece / block / subimage level quantization parameter offsets for filter decision (e.g., chroma edge decision in the unlock filter process) may depend on the coded methods for each side. b. In one example, the filtering process (e.g., the chroma edge decision process) that requires using quantization parameters for chroma blocks may depend on whether the blocks use JCCR. i. Alternatively, in addition, image / segment level QP offsets (e.g., ppsjoint_cbcr_qp_offset) applied to JCCR-encoded blocks can be given more consideration in the unblocking filtering process. ii. In one example, the cQpPicOffset used to decide the configuration of Te and β can be set to pps_joint_cbcr_qp_offset instead of pps_cb_qp_offset or pps_cr_qp_offset under certain conditions: c LOznn / zznz / E / Yi 1. In one example, when any of the blocks on either side of P or Q uses JCCR. 2. In one example, when both blocks on either side of P or Q use JCCR. 4. The chroma filtering process (e.g., the chroma edge decision process) that requires accessing the decoded information of a luma block can use the information associated with the same luma encoding block that is used to derive the chroma QP in the dequantization / quantization process. a. In one example, the chroma filtering process (e.g., the chroma edge decision process) that requires using quantification parameters for luma blocks can use the luma encoding unit that covers the corresponding luma sample from the center position of the current chroma CU. b. Figure 9 shows an example where the decoded information from CUy3 can be used to filter the decision of the three chroma samples (1st, 2nd, 3rd) in Figure 9(b). 5. The chroma filtering process (e.g., the chroma edge decision process) may depend on the quantization parameter applied to the chroma block scaling process (e.g., quantization / dequantization). a. In one example, the QP used to derive β and Tc may depend on the QP applied to the chroma block scaling process. b. Alternatively, the QP used for the chroma block scaling process may have taken into account the chroma CU level QP offset. 6. Whether to invoke the above bullet points may depend on whether the sample to be filtered is in the block on the P or Q side. a. For example, whether to use the luma encoding block information covering the corresponding luma sample of the current chroma sample or to use the luma encoding block information covering the corresponding luma sample from the central position of the chroma encoding block covering the current chroma sample may depend on the position of the block. i. In one example, if the current chroma sample is in the block on the Q side, the QP information from the luma encoding block covering the corresponding luma sample can be used from the central position of the chroma encoding block covering the current chroma sample. ii. In one example, if the current chroma sample is in the block on the P side, QP information from the luma encoding block covering the corresponding luma sample of the chroma sample can be used. Regarding the QP configuration 7. It is proposed to indicate the indication to enable the QP offset of chroma ac LOznn / zznz / E / Yi at block level (for example, slice_cu_chroma_qp_offset_enabled_flag) at the segment / piece / block / subimage level. a. Alternatively, the signage of such indication may be conditionally indicated. i. In one example, it can be pointed out under the condition of the JCCR enabling indicator. i. In one example, it can be pointed out under the condition of the block-level chroma QP shift enabler indicator at the image level. iii. Alternatively, such an indication may be derived instead. b. In one example, slice_cu_chroma_qp_offset_enabled_flag can only be signaled when the chroma QP offset PPS flag (e.g., slice_cu_chroma_qp_offset_enabled_flag) is true. c. In one example, slice_cu_chroma_qp_offset_enabled_flag can be inferred as false only when the chroma QP offset PPS flag (e.g., slice_cu_chroma_qp_offset_enabled_flag) is false. d. For example, if chroma QP offset is to be used in a block, it can be based on chroma QP offset indicators at the PPS level and / or segment level. 8. The same QP derivation method is used in the scaling process (quantization / dequantization) for JCCR-encoded blocks with different modes. a. In one example, for JCCR with mode 1 and 3, the QP depends on the QP offset specified at the image / segment level (e.g., pps_cbcr_qp_offset, slice_cbcr_qp_offset). Filtering procedures 9. Unlocking for all color components, except the first color component, can follow the unlocking process for the first color component. a. In one example, when the color format is 4:4:4, the unlocking process for the second and third component can follow the unlocking process for the first component. b. In one example, when the color format is 4:4:4 in the RGB color space, the unlocking process for the second and third components can follow the unlocking process for the first component. c. In one example, when the color format is 4:2:2, the vertical unlocking process for the second and third component can follow the vertical unlocking process for the first component. d. In the examples above, the unlocking process may refer to the unlocking decision process and / or the unlocking filtering process. c LOznn / zznz / E / Yi With respect to the derivation of the limit intensity 10. It is proposed to treat blocks encoded with JCCR as those blocks encoded without JCCR in the boundary intensity decision process. a. In one example, the determination of the limiting intensity (BS) can be independent of the JCCR use check for two blocks on the P and Q sides. a. In one example, the limit strength (BS) for a block can be determined independently of whether the block is JCCR encoded or not. 11. It is proposed to derive the boundary intensity (BS) without comparing the reference images and / or the number of MV associated with the block on the P side with the reference images of the block on the Q side. b. In one example, the unlock filter can be disabled even when two blocks have different reference images. c. In one example, the unlock filter can be disabled even when two blocks are with a different number of MV (e.g., one is single prediction and the other is dual prediction). d. In one example, the BS value can be set to 1 when the motion vector differences for one or all of the reference image lists between the blocks on the P side and the Q side are greater than or equal to a Th threshold. i. Alternatively, in addition, the BS value can be set to 0 when the motion vector differences for one or all of the reference image lists between the blocks on the P side and the Q side are less than or equal to a Th threshold. e. In one example, the difference of the movement vectors of two blocks that are greater than a threshold Th can be defined as (Abs(MVP[0].x - MVQ[0].x) > Th || Abs(MVP[0].y - MVQ[0].y) > Th || Abs(MVP[1].x - MVQ[1].x) > Th) || Abs(MVP[1].y - MVQ[1].y) > Th) i. Alternatively, the difference of the movement vectors of two blocks that are greater than a threshold of Th can be defined as (Abs(MVP[0].x - MVQ[0].x) > Th && Abs(MVP[0].y - MVQ[0].y) > Th && Abs(MVP[1].x - MVQ[1].x) > Th) && Abs{MVP[1].y - MVQ[1].y) > Th) {i. Alternatively, in an example, the difference of the movement vectors of two blocks that are greater than a threshold of Th can be defined as {Abs(MVP[0].x - MVQ[0].x) > Th || Abs(MVP[0].y - MVQ[0].y) > Th ) && (Abs(MVP[1].x - MVQ[1].x) > Th) || Abs(MVP[1].y - MVQ[1].y) > Th) c LOznn / zznz / E / Yi iii. Alternatively, in an example, the difference of the movement vectors of two blocks that are greater than a threshold of Th can be defined as (Abs(MVP[0].x - MVQ[0].x) > Th && Abs(MVP[0].y - MVQ[0].y) > Th ) || (Abs(MVP[1].x - MVQ[1].x) > Th) && Abs{MVP[1].y - MVQ[1].y) > Th) f. In one example, a block that has no move vector in a given list can be treated as if it had zero move vector in that list. g. In the examples above, Th is an integer (e.g., 4, 8, or 16). h. In the examples above, Th may depend on i. Video contents (e.g., screen contents or natural contents) i. A message pointed to in the DPS / SPS / VPS / PPS / APS / picture title / cut title / tile group title / largest encoding unit (LCU) / encoding unit (CU) / LCU row / LCU group / TU / PU block / video encoding unit iii. Position of CU / PU / TU / block / video encoding unit iv. Encoded modes of blocks containing samples along the edges v. Transformation matrices applied to the blocks containing the samples along the edges vi. Block dimension / Block shape of the current block and / or its adjacent blocks vii. Indication of the color format (such as 4:2:0, 4:4:4, RGB or YUV) viii. Encoding tree structure (such as dual tree or single tree) ix. Type of slice / mosaic group and / or image type x. Color component (e.g., can only be applied to Cb or Cr) xi. Temporal layer ID xii. Profiles / levels / categories of a standard xiii. Alternatively, Th can be pointed to for the decoder. i. The above examples may apply under certain conditions. i. In one example, the condition is that blkP and blkQ are not encoded with intra modes. i. In one example, the condition is that blkPy blkQ have zero coefficients in the luma component. iii. In one example, the condition is that blkP and blkQ are not coded with Cl IP mode. iv. In one example, the condition is that blkP and blkQ are coded with the same prediction mode (e.g., IBC or Inter). Regarding the luma c unlocking filtering process LOznn / zznz / E / Yi 12. Unlocking can use different QP for TS-encoded blocks and non-TS-encoded blocks. a. In one example, QP for TS can be used on TS-encoded blocks, while QP for non-TS-encoded blocks can be used on non-TS-encoded blocks. 13. The luma filtering process (e.g., the luma edge decision process) may depend on the quantization parameter applied to the luma block scaling process. a. In one example, the QP used to derive beta and Te may depend on the transformation omission cutoff interval, for example, as indicated by QpPrimeTsMin. 14. It is proposed to use an identical gradient calculation for large block boundaries and smaller block boundaries. a. In one example, the on / off decision of the unblocking filter described in section 2.1.4 can also be applied to the large block limit. i. In one example, the threshold beta in the decision can be modified for the large block boundary. 1. In one example, beta may depend on the quantification parameter. 2. In one example, beta used to unlock the on / off filter decision for large block boundaries may be smaller than that used for smaller block boundaries. a. Alternatively, in one example, beta used to unlock the on / off filter decision for large block boundaries may be greater than that for smaller block boundaries. b. Alternatively, in one example, beta used to unlock the on / off decision of the filter for large block boundaries may be equal to that for smaller block boundaries. 3. In one example, beta is an integer and can be based on a. Video content (e.g., screen content or natural content) b. A message indicated in the DPS / SPS / VPS / PPS / APS / image title / cut title / tile group title / largest encoding unit (LCU) / encoding unit (CU) / LCU row / LCU group / TU / PU block / video encoding unit c LOznn / zznz / E / Yi c. Position of CU / PU / TU / block / video encoding unit d. Encoded block modes containing samples along the edges e. Transformation matrices applied to the blocks containing the samples along the edges f. Dimension of the current block and / or its adjacent blocks g. Block shape of the current block and / or its adjacent blocks h. Indication of the color format (such as 4:2:0, 4:4:4, RGB or YUV) i. Encoding tree structure (such as dual tree or simple tree) j. Type of cutting / mosaic group and / or image type k. Color component (e.g., can only be applied in Cb or Cr) I. Temporary Layer ID m. Profiles / levels / categories of a standard n. Alternatively, beta can be designated for the decoder. General 15. The methods proposed above can be applied under certain conditions. a. In one example, the condition is that the color format is 4:2:0 and / or 4:2:2. i. Alternatively, in addition, for the 4:4:4 color format, the way of applying the unlock filter to the two color chroma components can follow the current design. b. In one example, the indication of the use of the above methods can be indicated in sequence / image / segment / piece / block / at the video region level, such as SPS / PPS / image header / segment header. c. In one example, the use of the above methods may depend on: i. Video content (e.g., screen content or natural content) iii. A message signaled in the DPS / SPSA / PS / PPS / APS / picture title / cut title / tile group title / largest encoding unit (LCU) / encoding unit (CU) / LCU row / LCU group / TU / PU block / video encoding unit iv. Position of CU / PU / TU / block / video encoding unit c LOznn / zznz / E / Yi v. Encoded modes of blocks containing samples along the edges vi. Transformation matrices applied to the blocks containing samples along the edges vii. Block dimension of the current block and / or its adjacent blocks viii. Block shape of the current block and / or its adjacent blocks ix. Indication of the color format (such as 4:2:0, 4:4:4, RGB or YUV) x. Encoding tree structure (such as dual tree or single tree) xii. Slice / mosaic group type and / or image type xii. Color component (e.g., can only be applied to Cb or Cr) xiii. Temporal layer ID xiv. Profiles / levels / categories of a standard xv. Alternatively, my / or π may be pointed to for the decoder. 5. Additional Options Newly added text is displayed in bold, underlined, and italicized. Deleted text is marked with [[]]. 5.1. Mode #1 in chroma QP in unlock 8.8.3.6 Edge filtering process for one direction - Otherwise (cldx is not equal to 0), the edge filtering process in the chroma encoding block of the current encoding unit specified by cldx consists of the following steps in order: 1. The variable cQpPicOffset is derived as follows: cQpPicOffset = cldx = = 1 ? pps_cb_qp_offset : pps_cr_qp_offset (8-1065) 8.8.3.6.3 Decision process for chroma block edges The variables Qpo and Qpp are set equal to the Qpy values ​​of the coding units that include the coding blocks containing the sample qo,oy po,o, respectively. c LOznn / zznz / B / Yi The Qpc variable is derived as follows: [[qPi = Clip3( 0, 63, (( Qpo + Qpp + 1 ) » 1 ) + cQpPicOffset) (8-1132) Qpc = ChromaQpTable[ cldx - 1 ][ qPi ] (8-1133)]] qPi = ( Qpc + Qpp + 1 )»1 (8-1132) Qpc = ChromaQpTable[ cldx - 1 ][ qPi ] + cQpPicOffset (8-1133) NOTE - The variable cQpPicOffset provides an adjustment for the value of pps_cb_qp_offset or pps_cr_qp_offset, depending on whether the filtered chroma component is the Cb or Cr component. However, to avoid the need to vary the amount of the adjustment within the image, the filtering process does not include an adjustment for the value of slice_cb_qp_offset or slice_cr_qp_offset, nor (when cu_chroma_qp_offset_enabled_flag is equal to 1) for the value of CuQpOffseteb, CuQpOffsetcr, or CuQpOffsetCbcr. The value of the variable β' is determined as specified in Table 8-18 based on the quantization parameter of Q derived as follows: Q = Clip3( 0, 63, Qpc + ( slice_beta_offset_div2 « 1 ) ) (8-1134) where slice_beta_offset_div2 is the value of the syntax element slice_beta_offset_div2 for the segment containing the sample qo.o. The variable β is derived as follows: β = β'*(1 «(BitDepthc - 8)) (8-1135) The value of the variable tc' is determined as specified in Table 8-18 based on the chroma quantification parameter of Q derived as follows: Q = Clip3( 0, 65, Qpc + 2 * ( bS - 1 ) + (slice_tc_offset_div2 « 1 )) (8-1136) where slice_tc_offset_div2 is the value of the syntax element slice_tc_offset_div2 for the segment containing the sample qo,o. The variable tc is derived as follows: tc = (BitDepthc < 10) ? (tc' + 2 ) » ( 10 — BitDepthc ) : tc' * ( 1 « ( BitDepthc - 8 )) (8-1137) 5.2. Modality #2 in limit intensity derivation 8.8.3.5 Boundary Filtration Strength Derivation Process The inputs to this process are: - an array of recPicture image samples, - a location (xCb, yCb) that specifies the top-left sample of the current encoding block relative to the top-left sample of the current image, - an nCbW variable that specifies the width of the current encoding block, - an nCbH variable that specifies the height of the current encoding block, - an edgeType variable that specifies whether a vertical edge (EDGE_VER) or a horizontal edge (EDGE_HOR) is filtered, - a cldx variable that specifies the color component of the current encoding block, - a two-dimensional array (nCbW)x(nCbH) edgeFlags. The output of this process is a two-dimensional (nCbW)x(nCbH) bS matrix that specifies the boundary filtering strength. For xD¡ with i = 0..xN and yDj with j = O..yN, the following applies: - If edgeFlags[ xD¡ ][ yDj ] is equal to 0, the variable bS[ xD¡ ][ yDj ] is set equal to 0. - Otherwise, apply the following: - The variable bS[ xD¡ ][ yDj ] is derived as follows: - If cldx is equal to 0 and both samples po and qo are in a coding block with intra_bdpcm_flag equal to 1, bS[ xD¡ ][ yDj ] is set equal to 0. c LOznn / zznz / E / Yi - Otherwise, if the sample po or qo is in the encoding block of an encoding unit encoded with intraprediction mode, bS[ xD¡ ][ yDj ] is set equal to 2. - Otherwise, if the block border is also a transform block border and the sample po or qo is in an encoding block with ciip_flag equal to 1, bS[ xD¡ ][ yDj ] is set equal to 2. - Otherwise, if the block boundary is also a transformation block boundary and the sample po or qo is in a transformation block containing one or more non-zero transformation coefficient levels, bS[ xD¡ ][ yD¡ ] is set equal to 1. - Otherwise, if the block edge is also a transformation block edge, cldx is greater than 0, and the sample po or qo is in a transformation unit with tujoint_cbcr_residual_flag equal to 1, bS[ xD¡ ][ yDj ] is set equal to 1. - Otherwise, if the prediction mode of the encoding subblock containing sample po is different from the prediction mode of the encoding subblock containing sample qo (i.e., one of the encoding subblocks is encoded in IBC prediction mode and the other is encoded in interprediction mode), bS[ xD¡ ][ yD¡ ] is set equal to L - Otherwise, if cldx equals 0 and one or more of the following conditions are true, bS[ xD¡ ][ yDj ] is set equal to 1: - The absolute difference between the horizontal or vertical component of the movement vectors from list 0 used in the prediction of the two coding sub-blocks is greater than or equal to 8 in 1 / 16 luma samples, or the absolute difference between the horizontal or vertical component of the movement vectors from list 1 used in the prediction of the two coding sub-blocks is greater than or equal to 8 in 1 / 16 luma sample units. - Both the coding sub-block containing sample po and the coding sub-block containing sample qo are coded in IBC prediction mode, and the absolute difference between the horizontal or vertical component of the block vectors used in the prediction of the two coding sub-blocks is greater than or equal to 8 in units of 1 / 16 luma samples. - For the prediction of the encoding sub-block containing sample po, different reference images or a different number of motion vectors are used than for the prediction of the encoding sub-block containing sample qo. NOTE 1 - The determination of whether the reference images c LOznn / zznz / E / Yi used for the two encoding sub-blocks are the same or different is based solely on which images are referenced, without regard to whether a prediction is formed using an index in reference image list 0 or an index in reference image list 1, and also without regard to whether the position of the index within a reference image list is different. NOTE 2 - The number of movement vectors used for the prediction of a sub-block of encoding with top-left sample coverage (xSb, ySb ), is equal to PredFlagLO[ xSb ][ ySb] + PredFlagL1[xSb][ySb ]. - A motion vector is used to predict the encoding sub-block containing sample po and a motion vector is used to predict the encoding sub-block containing sample qo, and the absolute difference between the horizontal or vertical component of the motion vectors used is greater than or equal to 8 in units of 1 / 16 luma samples. - Two motion vectors and two different reference images are used to predict the encoding sub-block containing sample po, two motion vectors for the same two reference images are used to predict the encoding sub-block containing sample qo, and the absolute difference between the horizontal or vertical component of the two motion vectors used in predicting the two encoding sub-blocks for the same reference image is greater than or equal to 8 in units of 1 / 16 luma samples. - Two motion vectors for the same reference image are used to predict the encoding sub-block containing sample po, two motion vectors for the same reference image are used to predict the encoding sub-block containing sample qo, and both conditions are true: - The absolute difference between the horizontal or vertical component of the movement vectors from list 0 used in the prediction of the two encoding sub-blocks is greater than or equal to 8 in 1 / 16 luma samples, or the absolute difference between the horizontal or vertical component of the movement vectors from list 1 used in the prediction of the two encoding sub-blocks is greater than or equal to 8 in 1 / 16 luma sample units. - The absolute difference between the horizontal or vertical component of the movement vector of list 0 used in the prediction of the coding subblock containing sample po and the movement vector c LOznn / zznz / E / Yi of list 1 used in the prediction of the coding subblock containing sample qo is greater than or equal to 8 in units of 1 / 16 luma samples, or the absolute difference between the horizontal or vertical component of the movement vector of list 1 used in the prediction of the coding subblock containing sample po and the movement vector of list 0 used in the prediction of the coding subblock containing sample qo is greater than or equal to 8 in units of 1 / 16 luma samples. - Otherwise, the variable bS[ xD¡ ][ yD¡ ] is set equal to 0. 5.3. Modality #3 in limit intensity derivation Limit filtration strength derivation process The inputs to this process are: - an array of recPicture image samples, - a location (xCb, yCb) that specifies the top-left sample of the current encoding block relative to the top-left sample of the current image, - an nCbW variable that specifies the width of the current encoding block, - an nCbH variable that specifies the height of the current encoding block, - an edgeType variable that specifies whether a vertical edge (EDGE_VER) or a horizontal edge (EDGE_HOR) is filtered, - a cldx variable that specifies the color component of the current encoding block, - a two-dimensional array (nCbW)x(nCbH) edgeFlags. The output of this process is a two-dimensional (nCbW)x(nCbH) bS matrix that specifies the boundary filtering strength. For xD¡ with i = O..xN and yD¡ with j = O..yN, the following applies: - If edgeFlags[ xD¡ ][ yD¡ ] is equal to 0, the variable bS[ xD¡ ][ yD¡ ] is set equal to 0. - Otherwise, apply the following: - The variable bS[ xD¡ ][ yD¡ ] is derived as follows: - If cldx is equal to 0 and both samples po and qo are in a coding block with intra_bdpcm_flag equal to 1, bS[ xD¡ ][ yD¡ ] is set equal to 0. - Otherwise, if the sample po or qo is in the encoding block of an encoding unit encoded with intraprediction mode, bS[ xD¡ ][ yD¡ ] is set equal to 2. - Otherwise, if the block border is also a transform block border and the sample po or qo is in an encoding block with ciip_flag equal to 1, bS[ xD¡ ][ yDj ] is set equal to 2. - Otherwise, if the block boundary is also a block boundary of c LOznn / zznz / B / Yi transformation and the sample po or qo is in a transformation block containing one or more non-zero transformation coefficient levels, bS[ xD¡ ][ yDj ] is set equal to 1. - [[Otherwise, if the block edge is also a transformation block edge, cldx is greater than 0, and the sample po or qo is in a transformation unit with tujoint_cbcr_residual_flag equal to 1, bS[ xD¡ ][ yDj ] is set equal to 1.]] - Otherwise, if the prediction mode of the encoding subblock containing sample po is different from the prediction mode of the encoding subblock containing sample qo (i.e., one of the encoding subblocks is encoded in IBC prediction mode and the other is encoded in inter-prediction mode), bS[ xD¡ ][ yDj ] is set equal to 1t - Otherwise, if cldx equals 0 and one or more of the following conditions are true, bS[ xD¡ ][ yDj ] is set equal to 1: - Both the coding sub-block containing sample po and the coding sub-block containing sample qo are coded in IBC prediction mode, and the absolute difference between the horizontal or vertical component of the block vectors used in the prediction of the two coding sub-blocks is greater than or equal to 8 in units of 1 / 16 luma samples. - For the prediction of the encoding sub-block containing sample po, different reference images or a different number of motion vectors are used than for the prediction of the encoding sub-block containing sample qo. NOTE 1 - The determination of whether the reference images used for the two coding sub-blocks are the same or different is based solely on which images are referenced, without regard to whether a prediction is formed using an index in reference image list 0 or an index in reference image list 1, and also without regard to whether the position of the index within a reference image list is different. NOTE 2 - The number of movement vectors used for the prediction of a sub-block of encoding with top-left sample coverage (xSb, ySb), is equal to PredFlagLO[xSb][ySb] + PredFlagL1[xSb][ySb]. - A movement vector is used to predict the encoding sub-block containing sample po and a movement vector is used to predict the encoding sub-block containing sample qo, and the absolute difference between the horizontal or vertical component of the movement vectors c LOznn / zznz / E / Yi used is greater than or equal to 8 in units of 1 / 16 luma samples. - Two motion vectors and two different reference images are used to predict the encoding sub-block containing sample po, two motion vectors for the same two reference images are used to predict the encoding sub-block containing sample qo, and the absolute difference between the horizontal or vertical component of the two motion vectors used in predicting the two encoding sub-blocks for the same reference image is greater than or equal to 8 in units of 1 / 16 luma samples. - Two motion vectors for the same reference image are used to predict the encoding sub-block containing sample po, two motion vectors for the same reference image are used to predict the encoding sub-block containing sample qo, and both conditions are true: - The absolute difference between the horizontal or vertical component of the movement vectors from list 0 used in the prediction of the two encoding subblocks is greater than or equal to 8 in 1 / 16 luma samples, or the absolute difference between the horizontal or vertical component of the movement vectors from list 1 used in the prediction of the two encoding subblocks is greater than or equal to 8 in 1 / 16 luma sample units. - The absolute difference between the horizontal or vertical component of the movement vector of list 0 used in the prediction of the coding sub-block containing sample po and the movement vector of list 1 used in the prediction of the coding sub-block containing sample qo is greater than or equal to 8 in units of 1 / 16 luma samples, or the absolute difference between the horizontal or vertical component of the movement vector of list 1 used in the prediction of the coding sub-block containing sample po and the movement vector of list 0 used in the prediction of the coding sub-block containing sample qo is greater than or equal to 8 in units of 1 / 16 luma samples. - Otherwise, the variable bS[ xD¡ ][ yDj ] is set equal to 0. 5.4. Mode # 4 in the luma unlocking filtering process 8.8.3.6.1 Decision process for luma block edges The inputs to this process are: - an array of recPicture image samples, - a location (xCb, yCb) that specifies the top-left sample of the current encoding block relative to the top-left sample of the current image, - a location (xBl, yBl) that specifies the upper left sample of the current block c LOznn / zznz / E / Yi relative to the upper left sample of the current encoding block, - an edgeType variable that specifies whether a vertical edge (EDGE_VER) or a horizontal edge (EDGE_HOR) is filtered, - a bS variable that specifies the intensity of boundary filtering, - a maxFilterLengthP variable that specifies the maximum length of the filter, - a maxFilterLengthQ variable that specifies the maximum length of the filter. The outputs of this process are: - the variables dE, dEp and dEq that contain the decisions, - the modified filter length variables maxFilterLengthP and maxFilterLengthQ, - the variable te. The following steps apply in order: 1. When sidePisLargeBIk or sideQisLargeBIk is greater than 0, the following applies: a. The variables dpOL, dp3L and maxFilterLengthP are derived and modified from the c LOznn / zznz / E / Yi as follows: - [[If sidePisLargeBIk is equal to 1, the following applies: dpOL = ( dpO + Abs( p5,o - 2 * p4,o + ps,o) + 1 ) » 1 (8-1087) dp3L = ( dp3 + Abs( p5,s - 2 * p4,3 + ps,3 ) + 1 ) » 1 (8-1088) - Alternatively, apply the following:]] dpOL = dpO (8-1089) dp3L=dp3 (8-1090) [[maxFilterLengthP = 3 (8-1091)]] maxFilterLengthP = sidePisLargeBIk ? maxFilterLengthP; 33 b. The variables dqOL and dq3L are derived as follows: - [[If sideQisLargeBIk equals 1, the following applies: dqOL = ( dqO + Abs( qs,o - 2 * q4,o + qs,o) + 1 ) » 1 (8-1092) dq3L = ( dq3 + Abs( qs,3 - 2 * q4,3 + qs,3) + 1 ) » 1 (8-1093) - Alternatively, apply the following:]] dqOL=dqO (8-1094) dq3L=dq3 (8-1095) maxFilterLengthQ = sidePisLargeBIk ? maxFilterLengthQ ; 33 2. The variables dE, dEp, and dEq are derived as follows: 5.5. Mode #5 in the chroma unlocking filtering process 8.8.3.6.3 Decision process for chroma block edges This process is only invoked when ChromaArrayType is not equal to 0. The inputs to this process are: - an array of chroma key image samples from recPicture, - a chroma location (xCb, yCb) that specifies the top left sample of the current chroma encoding block relative to the top left chroma sample of the current image, - a chroma location (xBI, yBI) that specifies the top left sample of the current chroma block relative to the top left sample of the current chroma encoding block, - an edgeType variable that specifies whether a vertical edge (EDGE_VER) or a horizontal edge (EDGE_HOR) is filtered, - a cldx variable that specifies the index of the color component. - a cQpPicOffset variable that specifies the offset of the image-level chroma quantization parameter, - a bS variable that specifies the intensity of boundary filtering, - a maxFilterLengthCbCr variable. The outputs of this process are: - the modified variable maxFilterLengthCbCr, - the variable te. The maxK variable is derived as follows: - If edgeType is equal to EDGE_VER, the following applies: maxK = (SubHeightC = = 1) ? 3:1 (8-1124) - Otherwise, (edgeType is equal to EDGE_HOR), apply the following: maxK = (SubWidthC = = 1) ? 3:1 (8-1125) The values ​​p¡ and q¡ with i = 0.. maxFilterLengthCbCr and k = O..maxK are derived as follows: - If edgeType is equal to EDGEVER, the following applies: q¡,k = recPicture[ xCb + xBI + i ][ yCb + yBI + k ] (8-1126) p¡,k = recPicture[ xCb + xBI - i - 1 ][ yCb + yBI + k ] (8-1127) subSampleC = SubHeightC (8-1128) - Otherwise, (edgeType is equal to EDGE_HOR), apply the following: q¡,k = recPicture[ xCb + xBI + k ][ yCb + yBI + i ] (8-1129) p¡,k = recPicture[ xCb + xBI + k ][ yCb + yBI - i - 1 ] (8-1130) subSampleC = SubWidthC (8-1131) When ChromaArrayType is not equal to 0 and treeType is equal to SINGLE TREE or DUAL TREE CHROMA, the following applies: - When treeType is equal to DUAL TREE CHROMA, the Qpy variable is set equal to the luma quantization parameter Qpy of the luma encoding unit that covers the luma location (xCb + cbWidth / 2, yCb + cbHeight / 2). - The variables gPcb, gPcr and gPcbcrse are derived as follows: c LOznn / zznz / E / Yi gPichroma = Clip3( -QpBdOffsetc, 63, Qpy)(8-935) qPicb = ChromaQpTablef OU gPichroma / (8-936) gPicr = ChromaQpTablef 1 lf gPichroma 1(8-937) gPicbcr = ChromaQpTablef 2 K gPichroma 1(8-938) - The chroma quantification parameters for the Cb and Cr components, Qp'cb v Qp'cr, and the joint Cb-Cr coding Qp'cbcr are derived as follows: Qp'cb = Clip3( -QpBdOffsetc, 63, gPcb + pos cb gp offset + slice cb gp offset +CuQpOffsetcb)(8-939) Qp'cr = Clip3( -QpBdOffsetc, 63, gPcr + ops cr gp offset + slice cr gp offset +CuQpOffsetcr)(8-940) Qp'cbcr = Clip3( -QpBdOffsetc, 63, gPcbcr + pps cbcr gp offset + slice cbcr gp offset+CuQpOffsetcbcr)(8-941) The variables Qpq and Qpp are set equal to the corresponding values ​​of Qp'cb or Q& cr o Cid cbcr of the coding units that include the coding blogs that contain the sample gp.o vpo.o, respectively. The Qpc variable is derived as follows: Qpc = ( Qpq + Qpp + 1 )»1(8-1133) The value of the variable β' is determined as specified in table t-18 based on the quantization parameter of Q derived as follows: Q = Clip3( 0, 63, Qpc + ( slice_beta_offset_div2 « 1 )) (8-1134) where slice_beta_offset_div2 is the value of the syntax element slice_beta_offset_div2 for the segment containing the sample qo,o. The variable β is derived as follows: β = β'*(1 «(BitDepthc - 8)) (8-1135) The value of the variable te' is determined as specified in Table 8-18 based on the chroma quantification parameter of Q derived as follows: Q = Clip3( 0, 65, Qpc + 2 * ( bS - 1 ) + (slice_tc_offset_div2 « 1 )) (8-1136) where slice_tc_offset_div2 is the value of the syntax element slice_tc_offset_div2 for the segment containing the sample qo,o. The variable te is derived as follows: te = (BitDepthc < 10) ? (te' + 2 ) » (10 - BitDepthc ) : te' * (1 « (BitDepthc - 8 )) (81137) When maxFilterLengthCbCr equals 1 and bS does not equal 2, maxFilterLengthCbCr is set to 0. 5.6. Mode #6 in chroma QP in unlock 8.8.3.6.3 Decision process for chroma block edges This process is only invoked when ChromaArrayType is not equal to 0. The inputs to this process are: c LOznn / zznz / E / Yi - an array of chroma key image samples from recPicture, - a chroma location (xCb, yCb) that specifies the top left sample of the current chroma encoding block relative to the top left chroma sample of the current image, - a chroma location (xBI, yBI) that specifies the top left sample of the current chroma block relative to the top left sample of the current chroma encoding block, - an edgeType variable that specifies whether a vertical edge (EDGE_VER) or a horizontal edge (EDGE_HOR) is filtered, - a cldx variable that specifies the index of the color component. - a cQpPicOffset variable that specifies the offset of the image-level chroma quantization parameter, - a bS variable that specifies the intensity of boundary filtering, - a maxFilterLengthCbCr variable. The outputs of this process are: - the modified variable maxFilterLengthCbCr, - the variable tc. The maxK variable is derived as follows: - If edgeType is equal to EDGE_VER, the following applies: c LOznn / zznz / B / Yi maxK = ( SubHeightC = = 1)73:1 (8-1124) - Otherwise, (edgeType is equal to EDGE_HOR), apply the following: maxK = (SubWidthC = = 1) ? 3:1 (8-1125) The values ​​p¡ and q¡ with i = 0.. maxFilterLengthCbCr and k = O..maxK are derived as follows: - If edgeType is equal to EDGEVER, the following applies: q¡,k = recPicture[ xCb + xBI + i ][ yCb + yBI + k ] (8-1126) p¡,k = recPicture[ xCb + xBI - i - 1 ][ yCb + yBI + k ] (8-1127) subSampleC = SubHeightC (8-1128) - Otherwise, (edgeType is equal to EDGE_HOR), apply the following: q¡,k = recPicture[ xCb + xBI + k ][ yCb + yBI + i ] (8-1129) p¡,k = recPicture[ xCb + xBI + k ][ yCb + yBI - i - 1 ] (8-1130) subSampleC = SubWidthC (8-1131) The variables Qpo and Qpp are set equal to the Qpy values ​​of the coding units that include the coding blocks containing the sample qo,oy po,o, respectively. The variables iccr flaqp and iccr fiado are set equal to the values ​​tu ioint cbcr residual flag of the encoding units that include the encoding blocks containing the sample qo.o and ypo.o, respectively. The Qpc variable is derived as follows: [[qPi = Clip3( 0, 63, (( Qpo + Qpp + 1 ) » 1 ) + cQpPicOffset) (8-1132)]] gPi = Clip3( O, 63, ( ( Qdq + (iccr flagp ? two ioint cbcr ao offset; cQpPicOffset) + Qdp + (iccr skinny ? two ioint cbcr gp offset: cQpPicOffset) + 1)» 1)) Qpc = ChromaQpTable[ cldx - 1 ][ qPi ] (8-1133) NOTE - The variable cQpPicOffset provides an adjustment for the value of pps_cb_qp_offset or pps_cr_qp_offset, depending on whether the filtered chroma component is the Cb or Cr component. However, to avoid the need to vary the amount of the adjustment within the image, the filtering process does not include an adjustment for the value of slice_cb_qp_offset or slice_cr_qp_offset, nor (when cu_chroma_qp_offset_enabled_flag is equal to 1) for the value of CuQpOffsetcb, CuQpOffsetcr, or CuQpOffsetcbCr. 5.7. Mode #7 in chroma QP in unlock 8.8.3.6.3 Decision process for chroma block edges This process is only invoked when ChromaArrayType is not equal to 0. The inputs to this process are: - an array of chroma key image samples from recPicture, - a chroma location (xCb, yCb) that specifies the top left sample of the current chroma encoding block relative to the top left chroma sample of the current image, c LOznn / zznz / E / Yi The outputs of this process are: - the modified variable maxFilterLengthCbCr, - the variable te. The maxK variable is derived as follows: - If edgeType is equal to EDGEVER, the following applies: maxK = ( SubHeightC = = 1)73:1 (8-1124) - Otherwise, (edgeType is equal to EDGE_HOR), apply the following: maxK = (SubWidthC = = 1) ? 3:1 (8-1125) The values ​​p¡ and q¡ with i = 0.. maxFilterLengthCbCr and k = 0..maxK are derived as follows: - If edgeType is equal to EDGEVER, the following applies: q¡,k = recPicture[ xCb + xBl + i ][ yCb + yBl + k ] (8-1126) p¡,k = recPicture[ xCb + xBl - i - 1 ][ yCb + yBl + k ] (8-1127) subSampleC = SubHeightC (8-1128) - Otherwise, (edgeType is equal to EDGE_HOR), the following applies: q¡,k = recPicture[ xCb + xBl + k ][ yCb + yBl + i ] (8-1129) p¡,k = recPicture[ xCb + xBl + k ][ yCb + yBl - i - 1 ] (8-1130) subSampleC = SubWidthC (8-1131) [[The variables Qpo and Qpp are set equal to the Qpv values ​​of the coding units that include the coding blocks containing the sample qo,oy po,o, respectively.]] The Qpq variables are set equal to the luma quantization parameter Qpy of the luma coding unit that covers the luma location (xCb + cbWidth / 2, vCb + cbHeight / 2) where cbWidth specifies the width of the current chroma coding block in luma samples, and cbHeight specifies the height of the current chroma coding block in luma samples. The Qpp variables are set equal to the luma quantization parameter Qpy of the luma coding unit that covers the luma location ( xCb' + cbWidth 72, vCb' + cbHeight' / 2) where fxCb', vCb') is the upper left sample of the chroma coding block that covers δο,ο with respect to the upper left chroma sample of the current image, cbWidth' specifies the width of the current chroma coding block in luma samples, and cbHeight specifies the height of the current chroma coding block in luma samples. The Qpc variable is derived as follows: qPi = Clip3( 0, 63, (( Qpe + Qpp + 1 ) » 1 ) + cQpPicOffset) (8-1132) Qpc = ChromaQpTable[ cldx - 1 ][ qPi ] (8-1133) NOTE - The variable cQpPicOffset provides an adjustment for the value of pps_cb_qp_offset or pps_cr_qp_offset, depending on whether the filtered chroma component is the Cb or Cr component. However, to avoid the need to vary the amount of the adjustment within the image, the filtering process does not include an adjustment for the value of slice_cb_qp_offset or slice_cr_qp_offset, nor (when cu_chroma_qp_offset_enabled_flag is equal to 1) for the value of CuQpOffsetcb, CuQpOffsetcr, or CuQpOffsetcbCr. The value of the variable β' is determined as specified in Table 8-18 based on the quantization parameter of Q derived as follows: Q = Clip3( 0, 63, Qpc + ( slice_beta_offset_div2 « 1 ) ) (8-1134) where slice_beta_offset_div2 is the value of the syntax element slice_beta_offset_div2 for the segment containing the sample qo,o. The variable β is derived as follows: β = β'*(1 « ( BitDepthc - 8 )) (8-1135) The value of the variable te' is determined as specified in Table 8-18 based on the chroma quantification parameter Q derived as follows: Q = Clip3( 0, 65, Qpc + 2 * ( bS - 1 ) + (slice_tc_offset_div2 « 1 )) (8-1136) where slice_tc_offset_div2 is the value of the syntax element slice_tc_offset_div2 for the segment containing the sample qo.o. 5.8. Mode #8 in chroma QP in unlock When making filter decisions for the three represented samples (with solid circles), the luma CU QPs that cover the central position of the chroma CU are selected, including all three samples. Therefore, for the 1st, 2nd, and 3rd chroma samples (represented in Figure 11), only the CUy3 QPs are used, respectively. In this way, the method of selecting the luma CU for the chroma quantification / dequantification process is combined with that of the chroma filter decision process. c LOznn / zznz / E / Yi 5.9. Mode #9 in QP used for blocks encoded with JCCR 8.7.3 Scaling process of the transformation coefficients The inputs to this process are: - a luma location (xTbY, yTbY) that specifies the top-left luma sample of the current block relative to the top-left luma sample of the current image, - an nTbW variable that specifies the width of the transformation block, - an nTbH variable that specifies the height of the transformation block, - a cldx variable that specifies the color component of the current block, - a bitDepth variable that specifies the bit depth of the current color component. The output of this process is the (nTbW)x(nTbH) d matrix of scaled transformation coefficients with elements d[ x ][ y ]. The quantization parameter qP is derived as follows: - If cldx is equal to 0 and transform_skip_flag[ xTbY ][ yTbY ] is equal to 0, the following applies: qP = Qp'y (8-950) - Otherwise, if cldx is equal to 0 (and transform_skip_flag[ xTbY ][ yTbY ] is equal to 1), the following applies: qP = Max( QpPrimeTsMin, Qp'y ) (8-951) - Otherwise, if TuCResMode[ xTbY ][ yTbY ] is unequal to 0 [[equal to 2]], the following applies: qP = Qp'cbcr (8-952) - Otherwise, if cldx equals 1, the following applies: qP = Qp'cb (8-953) - Otherwise, (cldx equals 2), apply the following: qP = Qp'cr (8-954) 6. Exemplary implementations of the described technology Figure 12 is a block diagram of a video processing device 1200. The device 1200 can be used to implement one or more of the methods described herein. The device 1200 can be incorporated into a smartphone, tablet, computer, Internet of Things (IoT) receiver, etc. The device 1200 can include one or more processors 1202, one or more memories 1204, and video processing hardware 1206. The processor(s) 1202 can be configured to implement one or more of the methods described herein. The memory(s) 1204 can be used to store data and the code used to implement the methods and techniques described herein.The 1206 video processing hardware can be used to apply, in hardware circuits, some of the techniques described herein, and can be partly or totally integrated into the 1202 processors (e.g., the central GPU of the graphics processor or other signal processing circuits). c LOznn / zznz / E / Yi In this document, the term “video processing” may refer to video encoding, video decoding, video compression, or video decompression. For example, video compression algorithms may be applied during the conversion of a video's pixel representation to a corresponding bitstream representation, or vice versa. The bitstream representation of a video block may, for example, correspond to bits that are grouped together or scattered throughout the bitstream, as defined in the syntax. For instance, a macroblock may be encoded in terms of transformed and encoded error residual values ​​and may also utilize bits in headers and other bitstream fields. It will be appreciated that the disclosed methods and techniques will benefit the video encoder and / or decoder modalities incorporated in video processing devices such as smartphones, laptops, desktop computers, and similar devices by enabling the use of the techniques disclosed herein. Figure 13 is a flowchart for an example video processing method 1300. Method 1300 includes, in 1310, performing a conversion between a video unit and a bitstream representation of the video unit, where, during the conversion, an unlocking filter is used at the video unit boundaries so that when a chroma quantization parameter (QP) table is used to derive unlocking filter parameters, processing by the chroma QP table is performed on individual chroma QP values. Some modalities can be described using the following clause-based format. 1. A video processing method comprising: performing a conversion between a video unit and a bitstream representation of the video unit, wherein, during the conversion, an unlocking filter is used at the boundaries of the video unit, so that when a chroma quantization parameter (QP) table is used to derive unlocking filter parameters, processing by the chroma QP table is done on individual chroma QP values. 2. The method of clause 1, where the chroma QP offsets are added to the individual post-processing chroma QP values ​​by the chroma QP table. 3. The method of any of clauses 1-2, where the chroma QP offsets are added to the values ​​generated by the chroma QP table. 4. The method of any of clauses 1-2, where the chroma QP offsets are not considered as input to the chroma QP table. 5. The method of clause 2, where the chroma QP offsets are at the image level or at the video unit level. 6. A video processing method comprising: performing a conversion between a video unit and a bitstream representation of the video unit, wherein, during the conversion, an unlocking filter is used at the boundaries of the video unit such that chroma QP offsets are used in the unlocking filter, wherein the chroma QP offsets are at the picture / segment / piece / block / subpicture level. c LOznn / zznz / E / Yi 7. The method of clause 6, where the chroma QP offsets used in the unlock filter are associated with an encoding method applied at a video unit boundary. 8. The method of clause 7, where the encoding method is a joint chroma residue coding (JCCR) method. 9. A video processing method comprising: performing a conversion between a video unit and a bitstream representation of the video unit, wherein, during the conversion, an unlocking filter is used at the boundaries of the video unit such that chroma QP offsets are used in the unlocking filter, wherein information relating to the same luma encoding unit is used in the unlocking filter and to derive a chroma QP offset. 10. The method of clause 9, wherein the same luma encoding unit covers a corresponding luma sample from a central position of the video unit, wherein the video unit is a chroma encoding unit. 11. The method of clause 9, where a scaling process is applied to the video unit, and where one or more parameters of the unlocking filter depend, at least in part, on the quantization / dequantization parameters of the scaling process. 12. The method of clause 11, where the quantification / dequantification parameters of the scaling process include the chroma QP shift. 13. The method of any of clauses 9-12, where the luma sample in the video unit is on the P side or on the Q side. 14. The method of clause 13, where the information relating to the same luma coding unit depends on a relative position of the coding unit with respect to the same luma coding unit. 15. A video processing method comprising: performing a conversion between a video unit and a bitstream representation of the video unit, wherein, during the conversion, an unlocking filter is used at the boundaries of the video unit so that chroma QP offsets are used in the unlocking filter, wherein it is indicated that the use of chroma QP offsets is enabled in the bitstream representation. 16. The method of clause 15, where the indication is signaled conditionally in response to the detection of one or more indicators. 17. The method of clause 16, where one or more indicators relate to a JCCR enable indicator or a chroma QP shift enable indicator. 18. The method of clause 15, where the indication is indicated on the basis of a derivation. 19. A video processing method comprising: performing a conversion between a video unit and a bitstream representation of the video unit, wherein, during the conversion, an unlocking filter is used at the video unit boundaries such that chroma QP offsets are used in the unlocking filter, wherein the chroma QP offsets used in the unlocking filter are identical whether the JCCR encoding method is applied at a video unit boundary or a different method of JCCR encoding is applied at the video unit boundary. 20. A video processing method comprising: performing a conversion between a video unit and a bitstream representation of the video unit, wherein, during the conversion, an unlocking filter is used at the boundaries of the video unit such that chroma QP offsets are used in the unlocking filter, wherein a boundary intensity (BS) of the unlocking filter is calculated without comparing reference images and / or a number of motion vectors (MV) associated with the video unit at a lateral boundary P with reference images and / or a number of motion vectors (MV) associated with the video unit on one side of Q. 21. The method of clause 20, where the unlock filter is disabled in one or more conditions. 22. The method of clause 21, where one or more conditions are associated with: a magnitude of the motion vectors (MV) or a threshold value. 23. The method of clause 22, wherein the threshold value is associated with at least one of: i. video unit content, ii. a message signaled in DPS / SPS / VPS / PPS / APS / image header / segment header / piece group header / largest encoding unit (LCU) / encoding unit (CU) / LCU row / LCU group / TU / PU block / video encoding unit, iii. a position of the CU / PU / TU / block / video encoding unit, iv. a block encoding mode sampled along boundaries, v. a transformation matrix applied to video units sampled along boundaries, vi. a video unit shape or dimension, vil. an indication of a color format, viii. an encoding tree structure, ix. a section / piece group type and / or image type, x. a color component, xiii. a temporary layer ID, or xii. a profile / level / phase of a standard. 24. The method of clause 20, where different QP offsets are used for TS-encoded video units and non-TS-encoded video units. 25. The method of clause 20, where a QP used in a luma filtering step is related to a QP used in a luma block scaling process. 26. A video decoding apparatus comprising a processor configured to implement a method mentioned in one or more of clauses 1 to 25. 27. A video encoding apparatus comprising a processor configured to implement a method mentioned in one or more of clauses 1 to 25. 28. A computer program product that has computer code stored therein, the code, when executed by means of a processor, causes the processor to implement a method mentioned in any of clauses 1 to 25. 29. A method, apparatus or system described in this document. Figure 14 is a block diagram showing an exemplary 1400 video processing system in which different techniques disclosed in this document can be implemented. c LOznn / zznz / E / Yi Different implementations may include some or all of the components of the 1400 system. The 1400 system may include input 1402 for receiving video content. The video content can be received in a raw or uncompressed format, for example, 8-bit or 10-bit multi-component pixel values, or it can be in a compressed or encoded format. Input 1902 can 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), etc., and wireless interfaces such as Wi-Fi or cellular interfaces. The 1400 system may include an encoding component 1404 that can implement the various encoding methods described herein. The encoding component 1404 can reduce the average bitrate of the video from input 1402 to the output of the encoding component 1404 to produce a bitstream representation of the video. Therefore, encoding techniques are sometimes referred to as video compression techniques or video transcoding techniques. The output of the encoding component 1404 can be stored or transmitted via a connected communication, as represented by component 1406. The stored or transmitted bitstream (or encoded) representation of the video received at input 1402 can be used by component 1408 to generate pixel values ​​or viewable video, which is then sent to a display interface 1410.The process of generating user-viewable video from a bitstream representation is sometimes called video decompression. Furthermore, since certain video processing operations are referred to as "encoding" operations or tools, it will be noted that encoding tools or operations are used in an encoder, and the corresponding decoding tools or operations that reverse the encoding results are performed by a decoder. Examples of peripheral bus interfaces or display interfaces include Universal Serial Bus (USB), High-Definition Multimedia Interface (HDMI), and DisplayPort. Storage interfaces include Serial Advanced Technology Accessory Interface (SATA), Peripheral Component Interconnect (PCI), Integrated Device Interface (IDE), and similar interfaces. The techniques described herein can be incorporated into various electronic devices such as mobile phones, laptops, smartphones, and other devices capable of digital data processing and / or video display. Figure 15 is a flowchart representation of a video processing method 1500 according to the present technology. Method 1500 includes, in operation 1510, performing a conversion between a block of a chroma component of a video and a bitstream representation of the video. During the conversion, an unblocking filtering process is applied to at least some samples along an edge of the block, and chroma quantization parameter (QP) offsets are added to the outputs of a chroma QP table to determine the parameters for the unblocking filtering process. In some modes, chroma QP offsets are indicated by elements of c LOznn / zznz / B / Yi syntax at least at the image level or at the video unit level in the bitstream representation. In some modes, the video unit comprises a segment, piece, brick, sub-image, or block. In some modes, chroma QP offsets comprise at least pps_cb_qp_offset and / or pps_cr_qp_offset. In some modes, a QP cutting process is disabled for an entry in the chroma QP table. In some modes, the chroma component includes a Cr component of the video. In some modes, the chroma component includes a Cb component of the video. Figure 16 is a flowchart representation of a video processing method 1600 according to the present technology. Method 1600 includes, in operation 1610, determining, for a conversion between a block of a chroma component of a video and a bitstream representation of the video, whether or how to apply a filtering process to an edge of the block based on first quantization information for a first video region comprising samples on one side of the edge and / or second quantization information for a second video region comprising samples on the other side of the edge according to a rule. The rule is based on an encoding mode applicable to the block to encode the samples on one side or the samples on the other side of the edge.The rule specifies that multiple QP offsets are used at different video unit levels to determine the first quantization information or the second quantization information. Method 1600 also includes, in operation 1620, performing the conversion based on this determination. In some modes, the different levels of the video unit comprise at least one picture level, one segment level, one piece level, one block level, or one sub-picture level. In some modes, multiple QP offsets comprise offsets for a Cb component of the video. In some modes, multiple QP offsets comprise offsets for a Cr component of the video. In some modes, the rule specifies that the selection of multiple QP shifts is based on the encoding mode. In some modes, the encoding mode includes a Joint Chroma Residual Coding (JCCR) mode. In some modes, if the block is encoded in JCCR mode, the multiple QP shifts include at least one image-level QP shift or one segment-level QP shift. In some modes, the multiple QP shifts used to determine the threshold values ​​of β and tC for the filtering process include a QP shift value for JCCR mode if at least one of the first or second video regions is encoded using JCCR mode. In some modes, information from a corresponding luma component block is used to determine the first quantization information for the first video region or the second quantization information for the second video region. In some modes, to filter a current chroma sample in the chroma component block, information from a luma encoding unit covering a luma sample corresponding to the current chroma sample c LOznn / zznz / B / Yi is used to determine the first quantization information for the first video region or the second quantization information for the second video region. In some modes, whether or how the filtering process is applied depends on a scaling process applicable to the block. In some modes, the first quantization information for the first video region or the second quantization information for the second video region used to determine the threshold values ​​β and tC is based on the quantization information used in the scaling process. In some modes, one or more QP shifts at the encoding unit level are used to determine the quantization information used in the scaling process. In some modalities, the applicability of the method depends on whether the block is on one side of the border or the other. In some modalities, whether the information from the corresponding block of the luma component is used for the filtering process depends on the block's position. In some modalities, if the block is on the other side of the border, the information from the corresponding block of the luma component is used for the filtering process. In some modalities, if the block is on one side of the border, the information from the corresponding block of the luma component is used for the filtering process. Figure 17 is a flowchart representation of a 1700 video processing method according to the present technology. Method 1700 includes, in operation 1710, determining, for a conversion between a current block of video and a bitstream representation of the video, whether to allow the use of a chroma quantization parameter (QP) offset for the current block according to a syntax element at the video unit level. The video unit includes the current block and a second block of video. Method 1700 also includes, in operation 1720, performing the conversion based on this determination. In some formats, the video unit comprises a segment. In some formats, the video unit also comprises a piece, a block, or a sub-image. In some modes, the syntax element is conditionally included in the bitstream representation at the video unit level. In some modes, the syntax element is conditionally included in the bitstream representation based on whether co-coding of the chroma residual mode is enabled. In some modes, the syntax element is included in the bitstream representation at the video unit level based on a second syntax element at the picture level that indicates the use of block-level chroma quantization parameter (QP) offset.In some modes, the syntax element is omitted from the bitstream representation, and the use of block-level chroma quantization parameter (QP) offset is determined to be disabled if a second image-level syntax element indicates that the use of block-level chroma quantization parameter (QP) offset is disabled. In some modes, the use of chroma quantization parameter (QP) offset for the current block is determined based on both the syntax element at the segment level and the second image-level syntax element. Figure 18 is a flowchart representation of a 1800 method for processing c LOznn / zznz / E / Yi video according to the present technology. The 1800 method includes, in operation 1810, performing a conversion between a video comprising a first chroma component and a second chroma component and a bitstream representation of the video. The residues of a first chroma block from the first chroma component and a second chroma block from the second chroma component are co-encoded in the bitstream representation using an encoding mode according to a rule. The rule specifies that a way of deriving a quantization parameter (QP) for the conversion is independent of the encoding mode. In some modes, the QP for the conversion is derived based on a QP offset signaled at the image level or a segment level in the bitstream representation. Figure 19 is a flowchart representation of a video processing method 1900 according to the present technology. Method 1900 includes, in operation 1910, performing a conversion between a block of video and a bitstream representation of the video. The video has a multi-component color format, and the first block is associated with the first color component of the video. During the conversion, an unblocking filtering process is applied to at least some samples along an edge of the first block. Method 1900 includes, in operation 1920, performing subsequent conversions between blocks associated with the remaining color components of the video and the bitstream representation of the video. During the subsequent conversions, the unblocking filtering process is applied to at least some samples along an edge of each of the blocks in the same manner as the conversion of the first block. In some modes, the color format is 4:4:4. In some modes, the color format is 4:4:4 in the red-green-blue (RGB) color space. In some modes, the color format is 4:2:2, and the unlocking filter process is applied vertically. In some modes, the unlocking filter process comprises a decision process and / or a filtering process. Figure 20 is a flowchart representation of a video processing method 2000 according to the present technology. Method 2000 includes, in operation 2010, determining, for a conversion between a video and a bitstream representation of the video, a boundary intensity between two blocks of a video. The boundary intensity is determined independently of whether either of the two blocks is encoded in a joint chroma residue coding (JCCR) mode. Method 2000 includes, in operation 2020, performing the conversion based on this determination. In some modes, if one of the two blocks is encoded in JCCR mode, that block is treated as being encoded in a non-JCCR mode for determining the limit strength. In some modes, the limit strength is determined independently of whether JCCR was used for the two blocks. Figure 21 is a flowchart representation of a video processing method 2100 according to the present technology. Method 2100 includes, in operation 2110, determining, for a conversion between a video and a bitstream representation of the video, a boundary intensity c LOznn / zznz / E / Yi of a boundary between a first block and a second block. The determination is made without comparing the information of the first block with the corresponding information of the second block. The information comprises a reference image and / or a number of motion vectors of a corresponding block, and the boundary intensity is used to determine whether an unblocking filtering process is applicable to the boundary. Method 2100 also includes, in operation 2120, carrying out the conversion based on the determination. In some modes, the threshold intensity indicates that the unlock filtering process is disabled if the reference image of the first block differs from the reference image of the second block. In some modes, the threshold intensity indicates that the unlock filtering process is disabled if the number of movement vectors in the first block differs from the number of movement vectors in the second block. In some modes, the limit intensity is set to 1 if the difference between one or more movement vectors in the first block and one or more movement vectors in the second block is greater than or equal to a threshold, where the threshold is an integer. In some modes, one or more movement vectors in the first block are denoted as MVP[0] and MVP[1], and one or more movement vectors in the second block are denoted as MVQ[0] and MVQ[1]. The difference is greater than or equal to the threshold of Th if (Abs(MVP[0].x - MVQ[0].x) > Th || Abs(MVP[0].y - MVQ[0].y) > Th || Abs(MVP[1].x - MVQ[1].x) > Th) || Abs(MVP[1].y - MVQ[1].y) > Th). In some modes, the difference is greater than or equal to the Th threshold if (Abs(MVP[0].x - MVQ[0].x) > Th && Abs(MVP[0].y MVQ[0].y) > Th && Abs(MVP[1].x - MVQ[1].x) > Th) && Abs(MVP[1].y - MVQ[1].y) > Th). In some modes, the difference is greater than or equal to the Th threshold if (Abs(MVP[0].x - MVQ[0].x) > Th || Abs(MVP[0].y - MVQ[0].y) > Th ) && (Abs(MVP[1].x - MVQ[1].x) > Th) || Abs(MVP[1].y - MVQ[1].y) > Th). In some modes, the difference is greater than or equal to the threshold of Th if (Abs(MVP[0].x - MVQ[0].x) > Th && Abs(MVP[0].y - MVQ[0].y) > Th ) || (Abs(MVP[1].x - MVQ[1].x) > Th) && Abs(MVP[1].y - MVQ[1].y) > Th). In some modes, the limit intensity is set to 0 if a difference between a movement vector of the first block and a movement vector of the second block is less than or equal to a threshold, the threshold being an integer. In some modalities, the threshold is 4, 8, or 16. In some modalities, the threshold is based on a video feature. In some modalities, the applicability of the method is determined based on a condition. In some modalities, the method is applicable if the first and second blocks are not coded with an intraprediction mode. In some modalities, the method is applicable if the first and second blocks have zero coefficients for a luma component. In some modalities, the method is applicable if the first and second blocks are not coded with a combined inter- and intraprediction mode. In some modalities, the method is applicable if the first and second blocks are coded with the same prediction mode, which can be either an intrablock copy prediction mode or an interprediction mode. Figure 22 is a flowchart representation of a method 2200 for processing c LOznn / zznz / E / Yi video according to the present technology. Method 2200 includes, in operation 2210, determining, for a conversion between a video block and a bitstream representation of the video, a quantization parameter (QP) used to apply unblocking filtering to the video block according to a rule. The rule specifies that a first QP is used to determine whether the video block is encoded using a transformation omission (TS) mode, where a residue of the video block is encoded in the bitstream representation by omitting the application of a transformation.A second QP, different from the first QP, is used to determine if the video block is encoded using a no-transformation skip mode, where the remaining portion of the video block is encoded in the bitstream representation after applying the transformation. Method 2200 also includes, in operation 2220, performing the conversion based on this determination. In some modes, for luma block conversion, a filtering process applicable to the luma block is based on a QP applied to a luma block scaling process. In some modes, the QP used to determine if the filtering process is applicable to the luma block is determined based on a TS mode clipping interval. Figure 23 is a flowchart representation of a video processing method 2300 according to the present technology. Method 2300 includes, in operation 2310, determining, for a conversion between a video block and a bitstream representation of the video, a gradient to determine the applicability of an unblocking filtering process to at least some samples from an edge of the video block according to a rule. The rule specifies that the way in which the gradient is determined is independent of the size of the video block. Method 2300 also includes, in operation 2320, carrying out the conversion based on the determination. In some modes, a threshold for determining whether the unlock filtering process is enabled is adjusted for blocks with different boundary sizes; this threshold is an integer. In some modes, the threshold is based on a specific quantization parameter for the unlock filtering process. In some modes, the threshold for a block with a large boundary is lower than a second threshold for a block with a small boundary. In some modes, the threshold for a block with a large boundary is higher than a second threshold for a block with a small boundary. In some modes, the threshold for a block with a large boundary is equal to a second threshold for a block with a small boundary. In some modes, the threshold is based on a video characteristic. In some modes, the applicability of one or more of the above methods depends on a video feature. In some modes, the video feature comprises video content. In some modes, the video feature comprises information specified in a decoder parameter set, a segment parameter set, a video parameter set, a picture parameter set, an adaptation parameter set, a picture header, a sector header, a piece group header, a larger encoding unit (LCU), an encoding unit, an LCU row, an LCU group, a transformation unit, a picture unit, or a video encoding unit in the bitstream representation.In some modes, the video feature comprises a position of an encoding unit, an image unit, a transformation unit, a block, or a video encoding unit within the video. In some modes, the video feature comprises an encoding mode of a block that includes at least some samples along its edge. In some modes, the video feature comprises a transformation matrix that is applied to a block that includes at least some samples along its edge. In some modes, the feature of a current block or blocks neighboring the current block comprises a dimension of the current block or a dimension of a block neighboring the current block. In some modes, the feature of a current block or blocks neighboring the current block comprises a shape of the current block or a shape of a block neighboring the current block.In some modes, the video characteristic includes an indication of a video color format. In some modes, the video characteristic includes an encoding tree structure applicable to the video. In some modes, the video characteristic includes a slice type, icon group type, or video image type. In some modes, the video characteristic includes a video color component. In some modes, the video characteristic includes a video time layer identifier. In some modes, the video characteristic includes a video standard profile, level, or phase. In some modes, the conversion includes encoding the video into a bitstream representation. In some modes, the conversion includes decoding the bitstream representation back into the video. Figure 24 is a block diagram illustrating an example video coding system that can utilize the techniques in this disclosure. As shown in Figure 24, the video encoding system 100 may include a source device 110 and a destination device 120. The source device 110 generates encoded video data and can be referred to as a video encoding device. The destination device 120 can decode the encoded video data generated by the source device 110 and can be referred to as a video decoding device. The source device 110 may include a video source 112, a video encoder 114, and an input / output (I / O) interface 116. Video source 112 may include a source such as a video capture device, an interface for receiving video data from a video content provider, and / or a computer graphics system for generating video data, or a combination of these sources. The video data may comprise one or more images. Video encoder 114 encodes the video data from video source 112 to generate a bitstream. The bitstream may include a sequence of bits that form an encoded representation of the video data. The bitstream may include encoded images and associated data. The encoded image is an encoded representation of an image. The associated data may include sequence parameter sets, image parameter sets, and other syntax structures. I / O interface 116 may include a modulator / demodulator (modem) and / or a transmitter.The encoded video data can be transmitted directly to the destination device 120 c LOznn / zznz / E / Yi via the I / O interface 116 over the network 130a. The encoded video data can also be stored on a storage medium / server 130b for access by the destination device 120. The target device 120 may include an I / O interface 126, a video decoder 124, and a display device 122. The I / O interface 126 can include a receiver and / or a modem. The I / O interface 126 can acquire encoded video data from the source device 110 or the storage / server medium 130b. The video decoder 124 can decode the encoded video data. The display device 122 can display the decoded video data to a user. The display device 122 can be integrated with the target device 120, or it can be external to the target device 120 and configured to interface with an external display device. The 114 video encoder and 124 video decoder can operate in accordance with a video compression standard, such as the High Efficiency Video Coding (HEVC) standard, the Versatile Video Coding (VVC) standard, and other current and / or additional standards. Figure 25 is a block diagram illustrating an example of video encoder 200, which can be video encoder 114 in system 100 illustrated in Figure 24. The Video Encoder 200 can be configured to perform any or all of the techniques in this disclosure. In the example in Figure 25, the Video Encoder 200 includes a plurality of functional components. The techniques described in this disclosure can be shared among the various components of the Video Encoder 200. In some examples, a single processor can be configured to perform any or all of the techniques described in this disclosure. The functional components of the video encoder 200 may include a partitioning unit 201, a predication unit 202 which may include a mode selection unit 203, a motion estimation unit 204, a motion compensation unit 205 and an intraprediction unit 206, a residual generation unit 207, a transformation unit 208, a quantization unit 209, an inverse quantization unit 210, an inverse transformation unit 211, a reconstruction unit 212, a buffer 213 and an entropic encoding unit 214. In other examples, the video encoder 200 may include more, fewer, or different functional components. In one example, the predication unit 202 may include an intrablock copy (IBC) unit. The IBC unit can perform prediction in an IBC mode in which at least one reference image is an image where the current video block is located. In addition, some components, such as the motion estimation unit 204 and the motion compensation unit 205, may be highly integrated, but are represented separately in the example in Figure 5 for explanatory purposes. The 201 partition unit can partition an image into one or more video blocks. The 200 video encoder and 300 video decoder can support various video block sizes. The mode selection unit 203 can select one of the encoding modes, intra or inter, for example, based on the error results, and provide the resulting intercoded intracoded block oc LOznn / zznz / E / Yi to a residual generation unit 207 to generate residual block data and to a reconstruction unit 212 to reconstruct the encoded block for use as a reference image. In some examples, the mode selection unit 203 can select a combination of intraprediction and interprediction (CIIP) modes in which the prediction is based on an interprediction signal and an intraprediction signal. The mode selection unit 203 can also select a resolution for a motion vector (for example, subpixel or whole-pixel precision) for the block in the case of interprediction. To perform interprediction on a current video block, the motion estimation unit 204 can generate motion information for the current video block by comparing one or more reference frames from buffer 213 with the current video block. The motion compensation unit 205 can determine a predicted video block for the current video block based on the motion information and decoded image samples from buffer 213 other than the image associated with the current video block. The motion estimation unit 204 and the motion compensation unit 205 can perform different operations for a current video block, for example, depending on whether the current video block is in an I segment, a P segment, or a B segment. In some examples, the Motion Estimation Unit 204 can perform unidirectional prediction for the current video block. The Motion Estimation Unit 204 can search for reference images in List 0 or List 1 for a reference video block. The Motion Estimation Unit 204 can then generate a reference index indicating the reference image in List 0 or List 1 that contains the reference video block, and a motion vector indicating a spatial displacement between the current video block and the reference video block. The Motion Estimation Unit 204 can generate the reference index, a prediction direction indicator, and the motion vector as the motion information for the current video block.The 205 motion compensation unit can generate the predicted video block of the current block based on the reference video block indicated by the motion information of the current video block. In other examples, the motion estimation unit 204 can perform bidirectional prediction for the current video block. It can search for reference images in list 0 for a reference video block for the current video block and also search for reference images in list 1 for another reference video block for the current video block. The motion estimation unit 204 can then generate reference indices indicating the reference images in lists 0 and 1 containing the reference video blocks, and motion vectors indicating spatial displacements between the reference video blocks and the current video block. The motion estimation unit 204 can generate the reference indices and motion vectors for the current video block as motion information for that block.The motion compensation unit 205 can generate the predicted video block of the current video block based on the reference video blocks c LOznn / zznz / E / Yi indicated by the motion information of the current video block. In some examples, the motion estimation unit 204 can generate a complete set of motion information for a decoder's decoding processing. In some examples, motion estimation unit 204 may not generate a complete set of motion information for the current video. Instead, motion estimation unit 204 may signal the motion information of the current video block by referencing the motion information of another video block. For example, motion estimation unit 204 may determine that the motion information of the current video block is sufficiently similar to the motion information of an adjacent video block. In one example, the motion estimation unit 204 may indicate, in a syntax structure associated with the current video block, a value that tells the video decoder 300 that the current video block has the same motion information as the other video block. In another example, motion estimation unit 204 can identify, within a syntax structure associated with the current video block, another video block and a motion vector difference (MVD). The motion vector difference indicates a difference between the motion vector of the current video block and the motion vector of the specified video block. Video decoder 300 can use the motion vector of the specified video block and the motion vector difference to determine the motion vector of the current video block. As discussed earlier, the Video Encoder 200 can predictively signal the motion vector. Two examples of predictive signaling techniques that can be implemented using the Video Encoder 200 include Advanced Motion Vector Prediction (AMVP) and fusion mode signaling. The intraprediction unit 206 can perform intraprediction on the current video block. When intraprediction unit 206 performs intraprediction on the current video block, it can generate prediction data for the current video block based on decoded samples from other video blocks in the same image. The prediction data for the current video block can include a predicted video block and various syntax elements. The residual generation unit 207 can generate residual data for the current video block by subtracting (for example, indicated by the minus sign) the predicted video blocks from the current video block. The residual data for the current video block can include residual video blocks that correspond to different sample components of the samples in the current video block. In other examples, there may be no residual data for the current video block, for example, in a skip mode, and the residual generation unit 207 may not perform the subtraction operation. The 208 transform processing unit can generate one or more transform coefficient video blocks for the current video block by applying one or more transforms to a residual video block associated with the current video block. c LOznn / zznz / E / Yi After the transformation processing unit 208 generates a transformation coefficient video block associated with the current video block, the quantization unit 209 can quantize the transformation coefficient video block associated with the current video block based on one or more quantization parameter (QP) values ​​associated with the current video block. The inverse quantization unit 210 and the inverse transformation unit 211 can apply inverse quantization and inverse transformations to the transformation coefficient video block, respectively, to reconstruct a residual video block from the transformation coefficient video block. The reconstruction unit 212 can add the reconstructed residual video block to corresponding samples of one or more predicted video blocks generated by the prediction unit 202 to produce a reconstructed video block associated with the current block for storage in buffer 213. After the reconstruction unit 212 reconstructs the video block, a loop filtering operation can be performed to reduce video blocking artifacts in the video block. The entropic encoding unit 214 can receive data from other functional components of the video encoder 200. When the entropic encoding unit 214 receives the data, the entropic encoding unit 214 can perform one or more entropic encoding operations to generate entropy-encoded data and generate a bitstream that includes the entropy-encoded data. Figure 26 is a block diagram illustrating an example of a video decoder 300, which can be a video decoder 114 in the system 100 illustrated in Figure 24. The Video Decoder 300 can be configured to perform any or all of the techniques described in this disclosure. In the example in Figure 26, the Video Decoder 300 includes a plurality of functional components. The techniques described in this disclosure can be shared among the various components of the Video Decoder 300. In some examples, a single processor can be configured to perform any or all of the techniques described in this disclosure. In the example in Figure 26, the video decoder 300 includes an entropic decoding unit 301, a motion compensation unit 302, an intraprediction unit 303, an inverse quantization unit 304, an inverse transformation unit 305, a reconstruction unit 306, and a buffer 307. The video decoder 300 can, in some examples, perform a decoding pass that is generally the reciprocal of the encoding pass described with respect to the video encoder 200 (Figure 25). The entropy decoding unit 301 can retrieve an encoded bitstream. The encoded bitstream can include entropy-encoded video data (e.g., encoded blocks of video data). The entropy decoding unit 301 can decode the entropy-encoded video data, and from the entropy-decoded video data, the motion compensation unit 302 can determine motion information, including motion vectors, motion vector accuracy, reference image list indices, and other motion information. The motion compensation unit 302 can, for example, determine this information when performing fusion mode and AMVP. c LOznn / zznz / E / Yi The 302 motion compensation unit can produce motion-compensated blocks, possibly by performing interpolation based on interpolation filters. Identifiers for interpolation filters to be used with subpixel precision can be included in the syntax elements. Motion compensation unit 302 can use interpolation filters, as used by video encoder 20 during video block encoding, to calculate interpolated values ​​for subinteger pixels in a reference block. Motion compensation unit 302 can determine the interpolation filters used by video encoder 200 based on received syntax information and use those filters to produce predictive blocks. The 302 motion compensation unit can use some of the syntax information to determine the block sizes used to encode frames and / or segments of the encoded video sequence, partitioning information that describes how each macroblock of an image in the encoded video sequence is divided, modes that indicate how each partition is encoded, one or more reference frames (and reference frame lists) for each intercoded block, and other information to decode the encoded video sequence. The intraprediction unit 303 can use intraprediction modes, for example, received in the bitstream, to form a prediction block from spatially adjacent blocks. The inverse quantization unit 303 inversely quantizes, i.e., dequantizes, the quantized video block coefficients provided in the bitstream and decoded by the entropic decoding unit 301. The inverse transformation unit 303 applies an inverse transformation. The reconstruction unit 306 can sum the residual blocks with the corresponding prediction blocks generated by the motion compensation unit 202 or the intraprediction unit 303 to form decoded blocks. If desired, an unblocking filter can also be applied to filter the decoded blocks to remove blocking artifacts. The decoded video blocks are stored in buffer 307, which provides reference blocks for post-motion compensation / intraprediction and also produces decoded video for display on a screen. Some aspects of the disclosed technology include making a decision to enable a video processing tool or mode. For example, when a video processing tool or mode is enabled, the encoder will use or implement that tool or mode when processing a video block, but may not necessarily modify the resulting bitstream based on that tool or mode. In other words, converting the video block to a bitstream representation will use the video processing tool or mode when it is enabled based on that decision. In another example, when a video processing tool or mode is enabled, the decoder will process the bitstream knowing that it has been modified by that tool or mode.In other words, the bitstream representation of the video will be converted to a video block using the video processing tool or mode that was enabled based on the decision or determination. c LOznn / zznz / E / Yi Some aspects of the disclosed technology include making a decision to disable a video processing tool or mode. In one example, when a video processing tool or mode is disabled, the encoder will not use that tool or mode when converting the video block to the video bitstream representation. In another example, when a video processing tool or mode is disabled, the decoder will process the bitstream knowing that the bitstream has not been modified using the video processing tool or mode that was enabled based on the decision. The solutions, examples, modalities, disclosed or different modules, and functional operations disclosed and described herein may be implemented in digital electronic circuits, or in computer software, firmware, or hardware, including the structures disclosed herein and their structural equivalents, or in combinations thereof. The disclosed and other modalities may be implemented as one or more computer program products, that is, one or more computer program instruction modules encoded in a computer-readable medium for execution by, or to control the operation of, a data processing device.A computer-readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a material composition that produces a machine-readable propagated signal, or a combination of one or more of these. The term “data processing apparatus” encompasses all apparatus, devices, and machines for processing data, including, for example, a programmable processor, a computer, or multiple processors or computers. The apparatus may include, in addition to hardware, code for creating an execution environment for the computer program in question, for example, the code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of these.A propagated signal is a signal that is artificially generated, for example, a machine-generated electrical, optical, or electromagnetic signal, which is generated to encode information for transmission to a suitable receiving device. A computer program (also known as a program, software, sequence, software application, or code) can be written in any programming language, including compiled or interpreted languages, and can be developed in any form, including as a standalone 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 may be stored in a portion of a file containing other programs or data (for example, 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 (for example, files that store one or more modules, subprograms, or code snippets).A computer program can be deployed to be run on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by means of a communication network. c LOznn / zznz / B / Yi The processes and logic flows described in this document can be implemented using one or more programmable processors that execute one or more computer programs to perform functions by operating on input data and generating output. These processes and logic flows can also be implemented using, and the apparatus can be implemented as, special-purpose logic circuits, such as a field-programmable gate array (FPGA) or an application-specific integrated circuit (ASIC). The processors suitable for executing a computer program include, for example, general-purpose and special-purpose microprocessors, and any one or more processors of any type of digital computer. Generally, a processor will receive instructions and data from read-only memory, random-access memory, or both. The essential elements of a computer are a processor to carry out instructions and one or more memory devices to store instructions and data. In general, a computer will include, or be operatively coupled to, one or more mass storage devices for storing data, such as magnetic, magneto-optical, or optical disks. However, a computer does not necessarily need to have such devices.Computer-readable media suitable for storing computer program instructions and data include all forms of memory devices, media, and non-volatile memory, which include, for example, semiconductor memory devices, such as erasable programmable read-only memory (ERROM), electrically erasable programmable read-only memory (EEPROM), and flash memory devices; magnetic disks, such as internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM discs. The processor and memory may be supplemented by, or incorporated into, special-purpose logic circuits. While this patent document contains many details, these should not be interpreted as limitations on the scope of any subject matter described or what may be claimed, but rather as descriptions of features that may be specific to particular embodiments of particular techniques. Certain features described in this patent document may also be implemented in the context of separate embodiments in combination with a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented in multiple embodiments separately or in any suitable subcombination.Furthermore, although the features may be described above as acting in certain combinations and even initially claimed as such, one or more features of a claimed combination may in some cases be separated from the combination, and the claimed combination may be directed towards a subcombination or variation of a subcombination. Similarly, while the operations are illustrated in the drawings in a particular order, this should not be construed as requiring that such operations be carried out in the specific order shown or in a sequential order, or that all of the illustrated operations be performed in order to achieve the desired results. Furthermore, the separation of various components of the system in the embodiments described in this patent document should not be construed as requiring such separation in all embodiments. Only a few implementations and examples are described, and other implementations, improvements, and variations may be made based on what is described and illustrated in this patent document.

Claims

1. A video processing method comprising: determining, for a conversion between a block of a chroma component of a video and a bitstream representation of the video, whether or how to apply a filtering process to an edge of the block based on first quantization information for a first video region comprising samples on one side of the edge and / or second quantization information for a second video region comprising samples on the other side of the edge according to a rule, wherein the rule is based on an encoding mode applicable to the block to encode the samples on one side or the samples on the other side of the edge, and wherein the rule specifies that multiple QP offsets at different levels of video units are used to determine the first quantization information or the second quantization information; and carrying out the conversion based on the determination.

2. The method according to claim 1, wherein the different levels of video units comprise at least one picture level, one segment level, one piece level, one block level, or one sub-picture level.

3. The method according to claim 1 or 2, wherein the multiple displacements of QP comprise displacements for a Cb component of the video.

4. The method according to claim 1 or 2, wherein the multiple displacements of QP comprise displacements for a Cr component of the video.

5. The method according to any of claims 1 to 4, wherein the rule specifies that the selection of the multiple QP offsets is based on the encoding mode.

6. The method according to claim 5, wherein the encoding mode comprises a joint chroma residue encoding (JCCR) mode.

7. The method according to claim 6, wherein, in the event that the block is encoded in the JCCR encoding mode, the multiple QP shifts comprise at least one image-level QP shift or one segment-level QP shift.

8. The method according to claim 6, wherein the multiple QP offsets used to determine the threshold values ​​β and tC for the filtering process include a QP offset value for the JCCR encoding mode in case at least one of the first video region or the second video region is encoded using the JCCR encoding mode.

9. The method according to any of claims 1 to 8, wherein information from a corresponding block of a luma component is used to determine the first quantization information for the first video region or the second quantization information for the second video region.

10. The method according to claim 9, wherein, to filter a current chroma sample in the chroma component block, information from a luma encoding unit covering a luma sample corresponding to the current chroma sample is used to determine the first c LOznn / zznz / E / Yi quantization information for the first video region or the second quantization information for the second video region.

11. The method according to any of claims 1 to 10, wherein if or how to apply the filtering process is based on a scaling process applicable to the block.

12. The method according to claim 11, wherein the first quantization information for the first video region or the second quantization information for the second video region used to determine the threshold values ​​of β and te is based on the quantization information used in the scaling process.

13. The method according to claim 11 or 12, wherein one or more QP shifts at the encoding unit level are used to determine the quantization information used in the scaling process.

14. The method according to any of claims 1 to 13, wherein the applicability of the method is based on whether the block is on one side of the edge or the other side of the edge.

15. The method according to claim 14, wherein information from the corresponding block of the luma component is used for the filtering process, is based on a position of the block.

16. The method according to claim 15, wherein, in the event that the block is on the other side of the edge, the information from the corresponding block of the luma component is used for the filtering process.

17. The method according to claim 15, wherein, in the event that the block is on one side of the edge, the information from the corresponding block of the luma component is used for the filtering process.

18. The method according to any of claims 1 to 17, wherein the conversion includes encoding the video in the bitstream representation.

19. The method according to any of claims 1 to 17, wherein the conversion includes decoding the bitstream representation to generate the video.

20. A video processing apparatus comprising a processor configured to implement a method according to any of claims 1 to 19.

21. A computer-readable medium having code stored therein, the code, to be executed by a processor, causes the processor to implement a method according to any one of claims 1 to 19.

22. A computer-readable medium that stores a bitstream representation generated in accordance with any of claims 1 to 19.