Signaling in Conversion Skip Mode

JP7640611B2Active Publication Date: 2025-03-05BYTEDANCE INC
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
JP2023086493
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-06-25
Filing Date
2023-05-25
Publication Date
2025-03-05
Estimated Expiration
2040-05-01

Smart Images

  • Figure 0007640611000026
    Figure 0007640611000026
  • Figure 0007640611000027
    Figure 0007640611000027
  • Figure 0007640611000028
    Figure 0007640611000028
Patent Text Reader

Abstract

To provide a video encoding apparatus, system, and method for improving efficiency of coefficients coding in transform skip mode.SOLUTION: A video encoding method includes: for encoding a current video block in a video region of visual media data into a bitstream representation of the visual media data, identifying the use of a coding mode and / or an intra prediction mode and / or a set of allowable intra prediction modes; and upon identifying the use, making a decision as to whether to include or exclude, in the bitstream representation, a syntax element indicative of selectively applying a transform skip mode to the current video block. In the transform skip mode, a residual of a prediction error between the current video block and a reference video block is represented in the bitstream representation of the visual media data without applying a transformation.SELECTED DRAWING: Figure 12
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS The present application, This is a divisional application of Japanese Patent Application No. 2021-564673 filed on October 29, 2021, based on International Application No. PCT / US2020 / 030979 filed on May 1, 2020. It is intended to timely claim priority to and the benefit of International Patent Application No. PCT / CN2019 / 085405, filed May 2, 2019, and International Patent Application No. PCT / CN2019 / 092831, filed June 25, 2019. For all purposes under law, the entire disclosures of the above applications are incorporated by reference as part of the disclosure herein.

[0002] This specification relates to video and image encoding / decoding technology. [Background technology]

[0003] Digital video accounts for the largest bandwidth usage on the Internet and other digital communications networks, and the bandwidth demands for digital video use are expected to continue to grow as the number of connected user devices capable of receiving and displaying video increases. Summary of the Invention

[0004] Apparatuses, systems, and methods are described that relate to digital video encoding / decoding, and in particular, to coefficient encoding in transform skip mode for video encoding / decoding. The described methods can be applied to both existing video encoding standards (e.g., High Efficiency Video Coding (HEVC)) and future video encoding standards (e.g., Versatile Video Coding (VVC)) or codecs.

[0005] In one exemplary aspect, a method of visual media processing is disclosed, the method including: identifying a coding mode and / or an intra-prediction mode and / or a set of allowed intra-prediction modes for use in encoding a current video block in a video domain of visual media data into a bitstream representation of the visual media data; and, upon identifying a use, making a decision to include or exclude, in the bitstream representation, a syntax element indicating selectively applying a transform skip mode to the current video block, where in the transform skip mode, a residual of a prediction error between the current video block and a reference video block is represented in the bitstream representation of the visual media data without applying a transform.

[0006] In another exemplary aspect, a method of visual media processing is disclosed that includes identifying an encoding mode and / or an intra-prediction mode and / or a set of allowed intra-prediction modes for use in decoding a current video block in a video domain of visual media data from a bitstream representation of the visual media data, and upon identifying the use, making a decision to include or exclude, in the bitstream representation, a syntax element indicating selectively applying a transform skip mode to the current video block, where in the transform skip mode, a residual of a prediction error between the current video block and a reference video block is represented in the bitstream representation of the visual media data without applying a transform.

[0007] In yet another exemplary aspect, a method of visual media processing is disclosed that includes identifying an encoding mode and / or an intra-prediction mode and / or a set of allowed intra-prediction modes for use in decoding a current video block in a video domain of visual media data from a bitstream representation of the visual media data, and upon identifying the use, making a decision to include or exclude, in the bitstream representation, a syntax element indicating selectively applying a transform skip mode to the current video block, where in the transform skip mode a residual between the current video block and a predicted video block is represented in the bitstream representation of the visual media data without applying a transform.

[0008] In yet another exemplary aspect, a method of visual media processing is disclosed that includes making a decision regarding selective application of a single or dual tree coding structure based on or inferring from at least a decision to enable a dual tree coding structure for encoding a current video block in a video domain of visual media data into a bitstream representation of said visual media data, and a syntax element indicating the selective application of the single or dual tree in the bitstream representation.

[0009] In yet another exemplary aspect, a method of visual media processing is disclosed that includes parsing a syntax element from a bitstream representation of visual media data comprising a video region that includes a current video block, the syntax element indicating selective application of a single or dual tree coding structure based on or inferred from at least a determination to enable a dual tree coding structure, and generating a decoded video region from the bitstream representation by decoding the current video block in accordance with the syntax element.

[0010] In yet another exemplary aspect, a method of visual media processing is disclosed that includes determining to apply an intra block copy (IBC) mode to a chroma component of a current video block of visual media data for conversion between the current video block and a bitstream representation of the visual media, and deriving motion information associated with a sub-block of the current video block using a first available sample contained in an IBC coded sub-region within a collocated luma block of the current video block.

[0011] In yet another exemplary aspect, a method of visual media processing is disclosed that includes determining to apply an intra block copy (IBC) mode to a current video block of visual media data for conversion between the current video block and a bitstream representation of the visual media, and including, in the bitstream representation, a syntax element indicating motion information associated with the current video block.

[0012] In yet another exemplary aspect, a method of visual media processing is disclosed that includes determining to apply an Intra Block Copy (IBC) mode to a current video block of visual media data for conversion between the current video block and a bitstream representation of the visual media, and determining, in the bitstream representation, to selectively include or exclude syntax elements indicative of motion information associated with the current video block based on at least one or more conditions.

[0013] In yet another exemplary aspect, the methods described above may be implemented by a video encoder that includes a processing device.

[0014] In yet another exemplary aspect, the methods may be embodied in a form of processor executable instructions and stored on a computer readable program medium.

[0015] These and other aspects are further described herein. [Brief description of the drawings]

[0016] [Figure 1] An example of intra block copy is shown. [Diagram 2] 1 shows an example of a block coded in palette mode. [Diagram 3] An example of using a palette predictor to signal palette entries is given below. [Figure 4] 4 shows examples of horizontal and vertical traverse scans. [Diagram 5] An example of encoding a palette index is shown below. [Figure 6] 4 illustrates a multi-type tree splitting mode. [Figure 7] 1 illustrates a sample used to derive parameters in a Cross-Component Linear Model (CCLM) prediction mode. [Figure 8] 1 illustrates an example architecture for luma mapping with chroma scaling. [Figure 9A] 1 is a flowchart illustrating an example of a video processing method. [Figure 9B] 1 is a flowchart illustrating an example of a video processing method. [Figure 9C] 1 is a flowchart illustrating an example of a video processing method. [Figure 9D] 1 is a flowchart illustrating an example of a video processing method. [Figure 9E] 1 is a flowchart illustrating an example of a video processing method. [Figure 10] FIG. 1 is a block diagram illustrating an example of a hardware platform for implementing the visual media decoding or visual media encoding techniques described in this patent specification. [Figure 11] FIG. 1 is a block diagram illustrating an example video processing system in which the disclosed techniques can be implemented. [Figure 12]1 is a flow chart illustrating an example of a video media processing method. [Figure 13] 1 is a flow chart illustrating an example of a video media processing method. [Figure 14] 1 is a flow chart illustrating an example of a video media processing method. [Figure 15] 1 is a flow chart illustrating an example of a video media processing method. [Figure 16] 1 is a flow chart illustrating an example of a video media processing method. [Figure 17] 1 is a flow chart illustrating an example of a video media processing method. [Figure 18] 1 is a flow chart illustrating an example of a video media processing method. [Figure 19] 1 is a flow chart illustrating an example of a video media processing method. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0017] This specification provides various techniques that can be used by a decoder of an image or video bitstream to improve the quality of the decompressed or decoded digital video or image. For simplicity, the term "video" is used herein to include both a series of pictures (conventionally called video) and individual images. Furthermore, a video encoder may implement these techniques during the encoding process to reconstruct the decoded frames that are used for further encoding.

[0018] Section headings are used herein for ease of understanding and are not intended to limit embodiments disclosed in one section to only that section, and thus embodiments in one section may be combined with embodiments in other sections.

[0019] 1. Summary of the Invention This specification relates to video coding technology. In particular, it relates to coefficient coding in transform skip mode in video coding. It may be applied to existing video coding standards such as HEVC, or to finalize standards (Versatile Video Coding). The present invention is also applicable to future video coding standards or video codecs.

[0020] 2. Initial Discussions Video coding standards have evolved mainly through the development of well-known ITU-T and ISO / IEC standards. ITU-T created H.261 and H.263, ISO / IEC created MPEG-1 and MPEG-4 Visual, and the two organizations jointly created H.262 / MPEG-2 Video, H.264 / MPEG-4 AVC (Advanced Video Coding), and H.265 / HEVC standards [1,2]. Since H.262, video coding standards have been based on hybrid video coding structures where temporal prediction and transform coding are utilized. In order to explore future video coding technologies beyond HEVC, in 2015, VCEG and MPEG jointly established the Joint Video Exploration Team (JVET). Since then, many new methods have been adopted by JVET and incorporated into reference software called JEM (Joint Exploration Mode). In April 2018, the Joint Video Expert Team (JVET) was established between VCEG (Q6 / 16) and ISO / IEC JTC1 SC29 / WG11 (MPEG), and is working on formulating the VVC standard with the goal of reducing the bitrate by 50% compared to HEVC.

[0021] The latest version of the VVC draft, namely Versatile Video Coding (Draft 4), can be found at: http: / / phenix.it-sudparis.eu / jvet / doc_end_user / current_document.php?id=5755

[0022] The latest reference software for VVC, called VTM, can be found at: https: / / vcgit.hhi.fraunhofer.de / jvet / VVCSoftware_VTM / tags / VTM-4.0

[0023] 2.1 Intra-block copy Intra Block Copy (IBC), also known as Current Picture Reference (CPR), is adopted in the HEVC Screen Content Coding Extension (HEVC-SCC) and the current VVC Test Model (VTM-4.0). IBC extends the concept of motion compensation from inter-frame coding to intra-frame coding. As shown in Figure 1, the current block is predicted by one reference block in the same picture when IBC is applied. Before encoding or decoding the current block, the samples in the reference block must already be reconstructed. IBC is not very efficient for most camera-captured sequences, but it shows significant coding gain for screen content. The reason is that there are many repeating patterns in screen content pictures, such as icons, characters, etc. IBC can effectively remove the redundancy between these repeating patterns. In HEVC-SCC, an inter-coding unit (CU) can apply IBC if it selects the current picture as its reference picture. In this case, the MV is renamed as the block vector (BV), and the BV always has integer pixel accuracy. To conform to the Main Profile HEVC, the current picture is marked as a "long-term" reference picture in the Decoded Picture Buffer (DPB), just as in multiple view / 3D video coding standards, inter-view reference pictures are also marked as "long-term" reference pictures.

[0024] After the BV finds its reference block, it can generate a prediction by copying this reference block. The residual can be obtained by subtracting the reference pixels from the original signal. Then, transforms and quantization can be applied as in other coding modes.

[0025] However, if the reference block is outside the picture, or overlaps with the current block, or is outside the reconstructed region, or is outside the valid region limited by some constraint, some or all of the pixel values ​​are undefined. Basically, there are two solutions to deal with such problems. One is to not allow such situations, e.g. bitstream conformance. The other is to apply padding to these undefined pixel values. The following sub-sections will explain the solutions in detail.

[0026] 2.2 IBC in HEVC Screen Content Coding Extensions In the screen content coding extensions of HEVC, when a block uses the current picture as a reference, it should be ensured that the entire reference block is within the available reconstructed region, as indicated in the specification text below. The variables offsetX and offsetY are derived as follows: offsetX=(ChromaArrayType==0)?0:(mvCLX[0]&0x7?2:0) (8-106) offsetY=(ChromaArrayType==0)?0:(mvCLX[1]&0x7?2:0) (8-107) It is a bitstream conformance requirement that when the reference picture is the current picture, the luma motion vector mvLX should obey the following constraints: - When the derivation process for z scan order block availability as specified in Section 6.4.1 is invoked with inputs (xCurr,yCurr) set equal to (xCb,yCb) and nearby luminance location (xNbY,yNbY) set equal to (xPb+(mvLX[0]>>2)-offsetX, yPb+(mvLX[1]>>2)-offsetY), the output is TRUE. - When the derivation process for z scan order block availability as specified in Section 6.4.1 is called with input (xCurr,yCurr) set equal to (xCb.yCb) and nearby luminance location (xNbY,yNbY) set equal to (xPb+(mvLX[0]>>2)+nPbW-1+offsetX,yPb+(mvLX[1]>>2)+nPbH-1+offsetY), the output is TRUE. - One or both of the following conditions are true: - The value of (mvLX[0]>>2)+nPbW+xB1+offsetX is less than or equal to 0. - The value of (mvLX[1]>>2) + nPbH + yB1 + offsetY is less than or equal to 0. - The following conditions must be true: (xPb+(mvLX[0]>>2)+nPbSw-1+offsetX) / CtbSizeY-xCurr / CtbSizeY<= yCurr / CtbSizeY-(yPb+(mvLX[1]>>2)+nPbSh-1+offsetY) / CtbSizeY (8-108)

[0027] In this way, cases where the reference block overlaps with the current block or where the reference block is outside the picture do not occur. There is no need to pad the reference block or the predicted block.

[0028] 2.3. IBC in the VVC test model In the current VVC test model, i.e., VTM-4.0 design, the entire reference block should have a current coding tree unit (CTU) and does not overlap with the current block. Therefore, there is no need to pad the reference or prediction block. The IBC flag is coded as the prediction mode of the current CU. Thus, there are a total of three prediction modes for each CU: MODE_INTRA, MODE_INTER, and MODE_IBC.

[0029] 2.3.1 IBC Merge Mode In IBC merge mode, an index that points to an entry in the IBC merge candidate list is parsed from the bitstream. The construction of this IBC merge list can be summarized according to the following sequence of steps:

[0030] Step 1: Derive spatial candidates

[0031] Step 2: Inserting HMVP candidates

[0032] Step 3: Inserting pairwise average candidates

[0033] In the derivation of spatial merge candidates, up to four merge candidates are selected from among the candidates at positions A1, B1, B0, A0 and B2. The order of derivation is A1, B1, B0, A0, B2. Position B2 is considered only if any PU at positions A1, B1, B0, A0 is not available (e.g., because it belongs to another slice or tile) or is not coded in IBC mode. After adding the candidate at position A1, the insertion of the remaining candidates is subject to a redundancy check, which ensures that candidates with the same motion information can be removed from the list, improving coding efficiency.

[0034] If after inserting the spatial candidates, the IBC merge list size is still less than the maximum IBC merge list size, then an IBC candidate from the HMVP table can be inserted. Upon inserting an HMVP candidate, a redundancy check is performed.

[0035] Finally, the pairwise average candidate is inserted into the IBC merge list.

[0036] If the reference block identified by a merge candidate is outside the picture, or if it overlaps with the current block, or if it is outside the reconstructed region, or if it is outside the valid region limited by some constraint, the merge candidate is called an invalid merge candidate.

[0037] Note that invalid merge candidates may be inserted into the IBC merge list.

[0038] 2.3.2 IBC AMVP mode In IBC AMVP mode, an AMVP index that points to an entry in an IBC AMVP list is parsed from the bitstream. The construction of this IBC AMVP list can be summarized according to the following sequence of steps:

[0039] Step 1: Derive spatial candidates

[0040] Check A0, A1 until a usable candidate is found.

[0041] Check B0, B1, B2 until an available candidate is found.

[0042] Step 2: Inserting HMVP candidates

[0043] Step 3: Inserting zero candidates

[0044] If after inserting the spatial candidates, the IBC AMVP list size is still less than the maximum IBC AMVP list size, then IBC candidates from the HMVP table can be inserted.

[0045] Finally, insert the zero candidate into the IBC AMVP list.

[0046] 2.4 Adaptive Motion Vector Resolution (AMVR) In HEVC, when use_integer_mv_flag is 0 in the slice header, the Motion Vector Difference (MVD) (the difference between a motion vector and a predicted motion vector of a CU) is signaled in units of 1 / 4 luma samples. In VVC, a CU-level Adaptive Motion Vector Resolution (AMVR) scheme is introduced. AMVR allows the MVD of a CU to be coded with different precisions. Based on the mode of the current CU (normal AMVP mode or affine AVMP mode), the MVD of the current CU can be adaptively selected as follows: - Normal AMVP mode: 1 / 4 luma samples, integer luma samples or 4 luma samples. - Affine AMVP mode: 1 / 4 luma samples, integer luma samples or 1 / 16 luma samples.

[0047] If the current CU has at least one non-zero MVD module, a CU-level MVD resolution indication is conditionally signaled. If all MVD modules (i.e., both horizontal and vertical MVDs in reference list L0 and reference list L1) are zero, a ¼ luma sample MVD resolution is inferred.

[0048] For a CU with at least one non-zero MVD module component, a first flag is signaled to indicate whether 1 / 4 luma sample MVD precision is used in the CU. If the first flag is 0, no further signaling is required and 1 / 4 luma sample MVD precision is used for the current CU. Otherwise, a second flag is signaled to indicate whether integer luma sample or 4 luma sample MVD precision is used for normal AMVP CUs. The same second flag is used to indicate whether integer luma sample or 1 / 16 luma sample MVD precision is used for affine AMVP CUs. To ensure that the reconstructed MV has the intended precision (1 / 4 luma sample, integer luma sample, or 4 luma sample), the motion vector predictor of the CU is rounded to the same precision as the MVD before being added with the MVD. The motion vector predictor is rounded towards zero (i.e., negative motion vector predictors are rounded towards positive infinity, and positive motion vector predictor modules are rounded towards negative infinity).

[0049] The encoder uses the RD check to determine the resolution of the motion vectors of the current CU. To avoid always performing the CU-level RD check three times for each MVD resolution, in VTM4, the RD check for MVD precisions other than 1 / 4 luma sample is only conditionally invoked. For normal AVMP mode, first calculate the RD costs of 1 / 4 luma sample MVD precision and integer luma sample MVD precision. Then, compare the RD cost of integer luma sample MVD precision with the RD cost of 1 / 4 luma sample MVD precision to determine whether the RD cost of 4 luma sample MVD precision needs to be further checked. If the RD cost of 1 / 4 luma sample MVD precision is much smaller than the RD cost of integer luma sample MVD precision, the RD check of 4 luma sample MVD precision is omitted. In affine AMVP mode, if affine inter mode is not selected after checking the rate-distortion ratios of affine merge / skip mode, merge / skip mode, 1 / 4 luma sampling MVD accuracy normal AMVP mode, and 1 / 4 luma sampling MVD accuracy affine AMVP mode, 1 / 16 luma sample MV accuracy and 1-pixel MV accuracy affine inter mode are not checked. Also, the affine parameters obtained in 1 / 4 luma sample MV accuracy affine inter mode are used as the search starting points in 1 / 16 luma sample and 1 / 4 luma sample MV accuracy affine inter modes.

[0050] 2.5 Palette Mode The basic idea behind the palette mode is to represent the samples in a CU by a small set of representative color values. This set is called the palette. It is also possible to indicate samples that are outside the palette by signaling an escape symbol followed by a (possibly quantized) component value. This is shown in Figure 2.

[0051] 2.6 Palette Mode in HEVC Screen Content Coding Extensions (HEVC-SCC) In the palette mode in HEVC-SCC, a prediction scheme is used to code the palette and index map.

[0052] 2.6.1 Encoding Palette Entries A palette predictor is maintained to code the palette entries. In the SPS, the maximum size of the palette and the palette predictor are signaled. In HEVC-SCC, palette_predictor_initializer_present_flag is introduced in the PPS. If this flag is 1, an entry to initialize the palette predictor is signaled in the bitstream. The palette predictor is initialized at the beginning of each CTU row, each slice, and each tile. Depending on the value of palette_predictor_initializer_present_flag, we either reset palette_predictor to 0 or initialize the palette predictor using the palette predictor initialization entry signaled in the PPS. In HEVC-SCC, we enabled a palette predictor initialization module of size 0 to specifically disable palette predictor initialization at the PPS level.

[0053] For each entry in the palette predictor, a reuse flag is signaled to indicate whether it is part of the current palette or not. This is shown in Figure 3. The reuse flag is transmitted using a run-length encoding of zeros. After this, the number of new palette entries is signaled using an Exponential-Golomb code of degree 0. Finally, the component values ​​for the new palette entries are signaled.

[0054] 2.6.2 Palette Index Encoding The palette index is coded using horizontal and vertical transpose scans as shown in Figure 4. Use palette_transpose_flag to explicitly signal the scan order in the bitstream. In the following subsections, we assume the scan is horizontal.

[0055] The palette index is coded using the two main palette sample modes: 'INDEX' and 'COPY_ABOVE'. As mentioned before, the escape symbol is also signaled as 'INDEX' mode and is assigned an index equal to the maximum palette size. This mode is signaled using flags except for the top row or if the previous mode was 'COPY_ABOVE'. In 'COPY_ABOVE' mode, we copy the palette index of the sample in the row above. In 'INDEX' mode, the palette index is signaled explicitly. For both 'INDEX' and 'COPY_ABOVE' modes, we signal a run value that specifies the number of subsequent samples that are coded using the same mode. An escape component value is signaled for each escape symbol if the escape symbol is part of a run in 'INDEX' or 'COPY_ABOVE' modes. The coding of the palette index is shown in Figure 5.

[0056] This syntax sequence is performed as follows: First, the number of index values ​​for a CU is signaled. This is followed by signaling the actual index value for the entire CU using truncated binary coding. In bypass mode, both the number of indices and the index value are coded. This results in index-related bypass bins being grouped together. Next, palette sample mode (if required) and execution is signaled in an interleaved manner. Finally, component escape values ​​corresponding to escape samples for the entire CU are grouped together and coded in bypass mode.

[0057] After signaling the index value, an additional syntax element, last_run_type_flag, is signaled, which in conjunction with the number of indexes, eliminates the need to signal the run value corresponding to the last run in the block.

[0058] In HEVC-SCC, palette mode is also enabled for 4:2:2, 4:2:0, and monochrome chroma formats. The signaling of palette entries and palette indexes is almost the same for all chroma formats. For non-monochrome formats, each palette entry consists of three components. For monochrome formats, each palette entry consists of a single component. For subsampled chroma direction, chroma samples are associated with luma sample indices that are divisible by 2. After reconstructing the palette index of a CU, if only a single component is associated with a sample, only the first component of the palette entry is used. The only difference in signaling is the escape component value. For each escape sample, the number of escape component values ​​signaled may vary depending on the number of components associated with that sample.

[0059] 2.7 Coefficient Coding in Transform Skip Mode In JVET-M0464 and JVET-N0280, some improvements are proposed for coefficient coding in Transform Skip (TS) mode to adapt the residual coding to the statistics and signal characteristics of the transform skip level.

[0060] The proposed variations are given below.

[0061] No last significant scan position: since the residual signal reflects the spatial residual after prediction and no energy compaction is performed by the transform on the TS, there is no longer any zero or non-significant level trailing with a higher probability at the end of the bottom right corner of the transform block. Therefore, the last significant scan position signaling is omitted in this case.

[0062] Sub-block CBF: In the absence of the last significant scan position signal, the sub-block CBF signal with coded_sub_block_flag in TS needs to be modified as follows:

[0063] o Due to quantization, the aforementioned non-significant sequences may still occur locally within a transform block, therefore the last significant scan position is removed and coded_sub_block_flag is coded for all sub-blocks as explained before.

[0064] ○ The coded_sub_block_flag of the subblock covering the DC frequency position (top left subblock) presents a special case. In VVC draft 3, the coded_sub_block_flag of this subblock is never signaled and is always inferred to be equal to 1. If the last significant scan position is located in another subblock, it means that there is at least one significant level outside the DC subblock. As a result, the DC subblock may contain only zero / non-significant levels, although the coded_sub_block_flag of this subblock is inferred to be equal to 1. In the absence of last scan position information in the TS, the coded_sub_block_flag of each subblock is signaled. This also includes the coded_sub_block_flag of the DC subblock, except if the other coded_sub_block_flag syntax elements are already equal to 0. In this case, the DC coded_sub_block_flag is inferred to be equal to 1 (inferDcSbCbf=1). Since there must be at least one significant level in this DC sub-block, if all other sig_coeff_flag syntax elements in this DC sub-block are equal to 0, then the sig_coeff_flag syntax element in the first position at (0,0) is not signaled and is derived to be equal to 1 (inferSbDcSigCoefflag=1).

[0065] o Change the context modeling of coded_sub_block_flag: The context model index is calculated as the logical OR of both the sum of coded_sub_block_flag to the left and the sum of coded_sub_block_flag onto the current sub-block.

[0066] sig_coeff_flag context modeling: The local template in the sig_coeff_flag context model is modified to include only the neighbors to the left (NB0) and above (NB1) of the current scan position. The context model offset is just the number of significant neighbor positions sig_coeff_flag[NB0]+sig_coeff_flag[NB1]. Thus, we preclude the selection of different context sets depending on the diagonal d in the current transform interval. As a result, we have three context models and one context model set for coding sig_coeff_flag.

[0067] abs_level_gt1_flag and par_level_flag context modelling: A single context model is used for abs_level_gt1_flag and par_level_flag.

[0068] abs_remainder coding: The empirical distribution of the transform skip residual absolute levels typically still fits the Laplacian or geometric distribution, but there is a larger instability than for the transform coefficient absolute levels. Specifically, the residual absolute levels have a higher variance within successive realization windows. This motivates the following modification of the binarization and context modeling of the abs_remainder syntax.

[0069] Better compression efficiency is achieved by using higher cutoffs in binarization, i.e. the transition points from coding with sig_coeff_flag, abs_level_gt1_flag, par_level_flag, and abs_level_gt3 to Rice coding of abs_remainder, and a dedicated context model for each bin position. Increasing the cutoffs results in more "greater than X" flags, e.g. introducing abs_level_gt5_flag, abs_level_gt7_flag, etc., until the cutoff is reached. The cutoff itself is fixed at 5 (numGtFlags=5).

[0070] o Modify the template for Rice parameter derivation, i.e. only consider the left and upper neighborhoods of the current scan position as similar to the local template for sig_coeff_flag context modeling.

[0071] coeff_sign_flag context modeling: Due to instability in the sequence of codes and the fact that prediction residuals are often biased, codes can be coded using a context model even if the overall empirical distribution is nearly uniform. A dedicated context model is used to code a code, and the code is parsed after sig_coeff_flag and all context coding bins are grouped together.

[0072] 2.8 Quantized Residual Block Differential Pulse Code Modulation (QR-BDPCM) In JVET-M0413, Quantized Residual Block Differential Pulse Code Modulation (QR-BDPCM) is proposed to efficiently code screen content.

[0073] The prediction directions used in QR-BDPCM can be vertical and horizontal prediction modes. Intra prediction predicts the entire block by copying samples to the prediction direction (horizontal or vertical prediction), similar to intra prediction. It quantizes the residual and encodes the delta between the quantized residual and its predictor (horizontal or vertical) quantized value. This can be explained as follows: For a block of size M (rows) × N (columns), r i,j , 0≦i≦M-1, 0≦j≦N-1 be the prediction residual after intra prediction in the horizontal direction (copying the pixel values ​​of the left neighbor to the prediction block line by line) or vertical direction (copying the upper neighbor to each line in the prediction block) using unfiltered samples from the boundary samples of the upper or left block. i , j ), 0≦i≦M-1, 0≦j≦N-1 is the residual r i , j where the residual is the difference between the original block and the predicted block values. Then, block DPCM is applied to the quantized residual samples, resulting in the element r ~ i,j A modified M×N array R ~ When the vertical BDPCM is signaled,

[0074]

number

[0075] For horizontal prediction, a similar rule applies and the residual quantized samples are given by:

[0076]

number

[0077] Residual quantized sample r ~ i,j is sent to the decoder.

[0078] At the decoder, the above calculation is reversed to obtain Q(r i,j ), 0≦i≦M-1, 0≦j≦N-1. For vertical prediction,

[0079]

number

[0080] For the horizontal direction,

[0081]

number

[0082] The dequantized residual Q -1 (Q(r i,j )) to the intrablock prediction to generate a reconstructed sample value.

[0083] The main advantage of this scheme is that the inverse DPCM can be done on the fly while parsing the coefficients, only needing to add the predictor while parsing the coefficients, or it can be done after parsing.

[0084] The proposed changes to the QR-BDPCM text are shown below.

[0085] 7.3.6.5 Coding Unit Syntax

[0086] [Table 1]

[0087] dbpcm_flag[x0][y0] equal to 1 specifies that bdpcm_dir_flag is present in the coding unit that contains the luma coding block at position (x0, y0). bdpcm_dir_flag[x0][y0]=0 specifies that the prediction direction used in the bdpcm block is horizontal, otherwise it is vertical.

[0088] 2.9 Partition Structure 2.9.1 Splitting CTUs using a tree structure In HEVC, CTUs are divided into CUs using a quad-tree structure called a coding tree to adapt to various local features. The decision of whether to code a picture region using inter-picture (temporal) prediction or intra-picture (spatial) prediction is made at the leaf CU level. Each leaf CU can be further divided into one, two or four PUs depending on the PU partition type. Inside one PU, the same prediction process is applied, and related information is sent to the decoder on a PU-by-PU basis. After applying the prediction process based on the PU partition type to obtain the residual block, the leaf CU can be divided into transform units (TUs) based on another quad-tree structure similar to the coding tree coding tree for CUs. One of the important features of the HEVC structure is that it has a multiple partition concept, including CUs, PUs and TUs.

[0089] In VVC, a quadtree with nested multi-type trees using binary and ternary split segmentation structures replaces the concept of multiple partition unit types. That is, it eliminates the separation of CU, PU, ​​and TU concepts, except when necessary for CUs with sizes that are too large for the maximum transform length, and supports more flexibility for CU partition shapes. In the coding tree structure, a CU can have either a square or a rectangle. First, a coding tree unit (CTU) is split by a quadtree structure. Then, the leaf nodes of the quadtree can be further partitioned by a multi-type tree structure. As shown in FIG. 6, there are four split types of the multi-type tree structure: vertical bisection (SPLIT_BT_VER), horizontal bisection (SPLIT_BT_HOR), vertical trisection (SPLIT_TT_VER), and horizontal trisection (SPLIT_TT_HOR). The leaf nodes of the multi-type tree are called coding units (CUs), and this segmentation is used for prediction and transformation processing without further splitting, unless the CU is too large for the maximum transform length. This means that in most cases, CU, PU, ​​and TU have the same block size in a quadtree with nested multi-type tree coding block structure. An exception to this occurs when the maximum supported transform length is smaller than the width or height of the color components of the CU. Also, luma and chroma components have separate partition structures on the I-tile.

[0090] 2.10 Cross-Component Linear Model Prediction To reduce cross-component redundancy, a cross-component linear model (CCLM) prediction mode is used in VTM4, where a linear model is used to predict chroma samples based on reconstructed luma samples of the same CU as follows:

[0091]

number

[0092] Here, pred C(i,j) represents the predicted chroma sample in one CU, and rec L (i,j) represents the same CU downsampled and reconstructed luma sample. The linear model parameters α and β are derived from the relationship between the luma and chroma values ​​of two samples, which are the luma samples with the minimum sample value and the luma samples with the maximum sample value in the collection of downsampled neighboring luma samples, and their corresponding chroma samples. The linear model parameters α and β are calculated according to the following formula:

[0093]

number

[0094] Here, Y a and X a represents the luminance and chroma values ​​of the luminance sample whose luminance sample value is the maximum, and X b and Y b , respectively, denote the luma and chroma values ​​of the luma sample with the minimum luma sample.,Figure 7 illustrates the location of the top left sample and the current location sample involved in,CCLM mode.

[0095] 2.11 Luminance Mapping with Chroma Scaling (LMCS) In VTM4, a coding tool called Luma Mapping with Chroma Scaling (LMCS) is added as a new processing block before the loop filter. LMCS has two main components: 1) in-loop mapping of luma components based on an adaptive piecewise linear model, and 2) for chroma components, it applies luma-dependent chroma residual scaling. Figure 8 shows the LMCS architecture from the decoder's perspective. The shaded blocks in Figure 8 indicate where processing is applied in the mapped domain, including inverse quantization, inverse transform, luma intra prediction, and adding luma prediction with luma residual. The unshaded blocks in Figure 8 indicate where processing is applied in the original (i.e., unmapped) domain, including deblocking, loop filter such as ALF, SAO, motion compensated prediction, chroma intra prediction, adding chroma prediction with chroma residual, and storing the decoded picture as a reference picture. The light yellow shaded blocks in Figure 8 are the new LMCS functional blocks, including forward and backward mapping of luma signals and luma-dependent chroma scaling processing. Like most other tools in VVC, LMCS can be enabled / disabled at the sequence level using the SPS flag.

[0096] 3. Examples of problems to be solved by the embodiments Although the coefficient coding in JVET-N0280 can realize coding advantages in coding screen contents, the coefficient coding and TS mode may still have some drawbacks.

[0097] (1) The maximum width or height allowed in TS mode is controlled by one common value in the PPS, which can limit flexibility.

[0098] (2) Every coding group (CG) needs to signal the cbf flag for TS mode, which may increase the overhead cost.

[0099] (3) The coefficient scanning order does not take into account intra-prediction modes.

[0100] (4) The sign flag encoding uses only one context.

[0101] (5) Transform skip in the chroma module is not supported.

[0102] (6) The transform skip flag is applied to all prediction modes, which increases the overhead cost and encoding complexity.

[0103] 4. Example of embodiment The following detailed inventions should be considered as examples to illustrate the general concept. These inventions should not be construed in a narrow sense. Moreover, these inventions can be combined in any manner. 1. In an SPS / VPS / PPS / picture header / slice header / tile group header / row of LCU / group of LCUs, both an indication of maximum allowed width and maximum allowed height for transform skip can be signaled. a. In one example, the maximum allowed width and maximum allowed height for transform skip may be indicated by different messages signaled in the SPS / VPS / PPS / picture header / slice header / tile group header / row of LCU / group of LCUs. b. In one example, the maximum allowed width and / or maximum allowed height may be first signaled in the SPS / PPS and then updated in the picture header / slice header / tile group header / LCU row / LCU group of the LCU. 2. A TS coding block is divided into multiple coefficient groups (CG), and signaling of the coded block flag (Cbf) flag of at least one CG may be omitted. In one example, for example, for TS coded blocks, signaling of Cbf flags for all CGs may be skipped. b. In one example, for TS mode, the skipped cbf flag of the CG can be inferred as 1. c. In one example, skipping some or all of the Cbf flags for a CG may depend on the coding mode. i. In one example, for TS coded intra blocks, signaling of all Cbf flags for CG is skipped. d. In one example, the skipped Cbf flag of a CG may be inferred based on the following: Messages signalled in i.SPS / VPS / PPS / Picture Header / Slice Header / Tile Group Header / LCU Row / LCU Group / LCU / CU ii.CG position iii. Block dimensions of the current block and / or its neighboring blocks iv. Block shapes of the current block and / or its neighboring blocks v. The most likely mode of the current block and / or its neighboring blocks. vi. Prediction mode of neighboring blocks of the current block (intra / inter) vii. Intra prediction mode of neighboring blocks of the current block; and motion vectors of neighboring blocks of the current block. viii. Motion vectors of neighboring blocks of the current block ix. Indication of QR-BDPCM mode of blocks adjacent to the current block x. The current quantization parameters of the current block and / or its neighboring blocks xi. Color format indication (e.g. 4:2:0, 4:4:4) xii. Single / Dual Coding Tree Structure xiii. Slice / Tile Group Type and / or Picture Type 3. The coefficient scan order in a TS coding block may depend on messages signaled in the SPS / VPS / PPS / picture header / slice header / tile group header / LCU row / LCU group / LCU / CU. Alternatively, when TS is used, the CG and / or coefficient scanning order may depend on the intra prediction mode. i. In one example, if the intra prediction mode is horizontally dominant, the scan order may be vertical. 1. In one example, when the intra-prediction mode index is in the range of 2 to 34, the scan order may be vertical. 2. In one example, when the intra-prediction mode index is in the range of 2 to 33, the scan order may be vertical. ii. In one example, if the intra prediction mode is vertically dominant, the scan order may be vertical. 1. In one example, when the intra-prediction mode index is in the range of 34 to 66, the scan order may be vertical. 2. In one example, when the intra-prediction mode index is in the range of 35 to 66, the scan order may be vertical. iii. In one example, if the intra prediction mode is vertically dominant, the scan order may be horizontal. 1. In one example, when the intra-prediction mode index is in the range from 34 to 66, the scan order may be vertical. 2. In one example, when the intra-prediction mode index is in the range from 35 to 66, the scan order may be vertical. iv. In one example, if the intra prediction mode is horizontally dominant, the scan order may be horizontal. 1. In one example, when the intra-prediction mode index is in the range of 2 to 34, the scan order may be vertical. 2. In one example, when the intra-prediction mode index is in the range of 2 to 33, the scan order may be vertical. 4. It is proposed that the context of the sign flag coding may depend on neighborhood information in the coefficient block for TS mode. In one example, the context of encoding the current code flag may depend on the value of the neighboring code flag for TS mode. i. In one example, the context for encoding the current sign flag may depend on the value of the sign flags of the left and / or upper neighbors. 1. In one example, the context of the current code flag may be derived as C=(L+A), where C is the context id, L is its left neighbor code flag, and A is its upper neighbor code flag. 2. In one example, the context of the current code flag may be derived as C=(L+A*2), where C is the context id, L is its left neighbor code flag, and A is its upper neighbor code flag. 3. In one example, the context of the current code flag may be derived as C=(L*2+A), where C is the context id, L is its left neighbor code flag, and A is its upper neighbor code flag. ii. In one example, the context for encoding the current sign flag may depend on the values ​​of the sign flags of the left, top neighbors, and top-left neighbors. iii. In one example, the context for encoding the current sign flag may depend on the values ​​of the sign flags of the left, top neighbor, top-left neighbor, and top-right neighbor. b. In one example, the context for encoding the current sign flag may depend on the position of the coefficient. i. In one example, the context of the sign flag may be different in different positions. ii. In one example, the context of the sign flag may depend on x+y, where x and y are the horizontal and vertical positions of the position. iii. In one example, the context of the sign flag may depend on min(x,y), where x and y are the horizontal and vertical positions of the position. iv. In one example, the context of the sign flag may depend on max(x,y), where x and y are the horizontal and vertical positions of the position. 5. It is proposed that chroma conversion skip mode can be supported. a. In one example, use of chroma transform skip mode may be based on a message signaled in the SPS / VPS / PPS / picture header / slice header / tile group header / LCU row / LCU group / LCU / CU / video data unit. b. Alternatively, the use of chroma transform skip mode may be based on decoded information of one or more representative previously encoded blocks in the same color component or other color components. In one example, if the indication of the TS flag of the representative block is FALSE, the indication of the chroma TS flag may be inferred to be FALSE. Alternatively, if the indication of the TS flag of the representative block is TRUE, the indication of the chroma TS flag may be inferred to be TRUE. ii. In one example, the representative block may be a luma block or a chroma block. iii. In one example, the representative block may be any block within the collocated luminance blocks. iv. In one example, the representative block may be one of the neighboring chroma blocks of the current chroma block. v. In one example, the representative block may be a block that overlays the corresponding luma sample of the central chroma sample in the current chroma block. vi. In one example, the representative block may be the block that overlays the corresponding luma sample of the bottom-right chroma sample in the current chroma block. 6. Whether and / or how transform skip mode is applied may depend on messages signaled in the SPS / VPS / PPS / picture header / slice header / tile group header / LCU row / LCU group / LCU / CU / video data unit. In one example, the indication of when and / or how to apply transform skip mode may depend on: i. Block dimensions of the current block and / or its neighboring blocks ii. Block shapes of the current block and / or its neighboring blocks iii. The most likely mode of the current block and / or its neighboring blocks iv. Prediction mode of neighboring blocks of the current block (intra / inter) v. Intra prediction mode of neighboring blocks of the current block vi. Motion vectors of neighboring blocks of the current block vii. Indication of QR-BDPCM mode of blocks neighboring the current block viii. Current quantization parameters of the current block and / or its neighboring blocks ix. Color format indication (e.g. 4:2:0, 4:4:4) x. Single / Dual Coding Tree Structure xi. Slice / tile group type and / or picture type xii. Time layer ID b. In one example, if the prediction mode is an IBC mode and the block width and / or block height is smaller / larger / equal to a threshold, a transform skip mode may be applied. In one example, the thresholds are set to 4, 8, 16 and 32. ii. In one example, the threshold may be signaled in the bitstream. iii. In one example, the threshold may be based on: 1. Messages signaled in SPS / VPS / PPS / Picture Header / Slice Header / Tile Group Header / LCU Row / LCU Group / LCU / CU 2. Block dimensions of the current block and / or its neighboring blocks 3. Block shapes of the current block and / or its neighboring blocks 4. The most likely mode of the current block and / or its neighboring blocks 5. Prediction mode of neighboring blocks of the current block (intra / inter) 6. Intra prediction modes of neighboring blocks of the current block 7. Motion vectors of neighboring blocks of the current block 8. Indication of QR-BDPCM mode of blocks adjacent to the current block 9. The current quantization parameters of the current block and / or its neighboring blocks 10. Color format indication (e.g. 4:2:0, 4:4:4) 11. Single / Dual Coding Tree Structure 12. Slice / Tile Group Type and / or Picture Type 13. Time layer ID 7. Whether to signal a TS mode indication may depend on the decoded / derived intra prediction mode. a. Alternatively, it may further depend on the allowed intra prediction modes / directions used in the QR-BDPCM coded block and the use of QR-BDPCM. b. For a decoded or derived intra-prediction mode, if it is part of the collection of allowed intra-prediction modes / directions used in the QR-BDPCM coded block, signaling of the TS flag may be skipped. i. In one example, if QR-BDPCM is allowed to encode one slice / picture / tile / brick, then in the QR-BDPCM process, vertical and horizontal modes are the two allowed modes, and the decoded / derived intra mode is vertical or horizontal mode, and no TS mode indication is signaled. c. In one example, if a QR-BDPCM mode indication (eg, bdpcm_flag) is 1, transform skip mode may be inferred to be enabled. d. The above method may be applied based on the following: Messages signalled in i.SPS / VPS / PPS / Picture Header / Slice Header / Tile Group Header / LCU Row / LCU Group / LCU / CU ii. Block dimensions of the current block and / or its neighboring blocks iii. The block shape of the current block and / or its neighboring blocks iv. The most likely mode of the current block and / or its neighboring blocks v. Prediction mode of neighboring blocks of the current block (intra / inter) vi. Intra prediction modes of neighboring blocks of the current block vii. Motion vectors of neighboring blocks of the current block viii. Indication of QR-BDPCM mode of blocks neighboring the current block ix. Current quantization parameters of the current block and / or its neighboring blocks x. Color format indication (e.g. 4:2:0, 4:4:4) xi. Single / Dual Coding Tree Structure xii. Slice / Tile Group Type and / or Picture Type xiii. Time Layer ID 8. Whether and / or how QR-BDPCM is applied may depend on the TS mode indication. In one example, the indication of whether to apply QR-BDPCM may be signaled at the Transform Unit (TU) level instead of being signaled at the CU. i. In one example, after a TS mode indication is applied to a TU, an indication of whether to apply QR-BDPCM may be signaled. b. In one example, QR-BDPCM is treated as a special case of TS mode. If a block is coded in TS mode, another flag may be further signaled to indicate whether QR-BDPCM mode or conventional TS mode is applied. If it is coded in QR-BDPCM, the prediction direction used in QR-BDPCM may be further signaled. ii. Alternatively, if a block is coded in TS mode, another flag may be further signaled to indicate which type of QR-BDPCM (e.g., QR-BDPCM based on horizontal / vertical prediction direction) or traditional TS mode is applied. c. In one example, an indication of whether to QR-BDPCM may be inferred based on an indication of TS mode. In one example, an indication of whether to apply QR-BDPCM to a luma block and / or a chroma block may be inferred to be TRUE if an indication of whether to apply a transform skip flag to the same block is TRUE. Alternatively, an indication of whether to apply QR-BDPCM to the same block may be inferred to be TRUE if an indication of whether to apply a transform skip flag to a luma block and / or a chroma block is TRUE. ii. In one example, an indication of whether to apply QR-BDPCM to a luma block and / or a chroma block may be inferred to be FALSE if an indication of whether to apply a transform skip flag to the same block is FALSE. Alternatively, an indication of whether to apply QR-BDPCM to the same block may be inferred to be FALSE if an indication of whether to apply a transform skip flag to a luma block and / or a chroma block is FALSE. 9. Whether and / or how single / dual tree is applied may depend on messages signaled in the SPS / VPS / PPS / Picture Header / Slice Header / Tile Group Header / LCU Row / LCU Group / LCU / CU / Video Data Unit. a. In one example, the indication of whether to apply one single / dual tree may depend on whether the current slice / tile / LCU / LCU row / LCU group / video data unit is determined as the screen content. i. Furthermore, in one example, whether a slice / tile / LCU / LCU row / LCU group / video data unit is determined as the screen content may depend on the following: 1. Messages / flags signaled in SPS / VPS / PPS / picture header / slice header / tile group header / LCU row / LCU group / LCU / CU / video data unit 2. Block dimensions of the current CTU and / or its neighboring CTUs 3. Block shape of the current CTU and / or its neighboring CTUs 4. The current quantization parameters of the current CTU and / or the current quantization parameters of its neighboring CTUs. 5. Color format indication (e.g. 4:2:0, 4:4:4) 6. Single / dual coding tree structure type of previous slice / tile / LCU / LCU row / LCU group / video data unit 7. Slice / Tile Group Type and / or Picture Type 8. Time layer ID b. In one example, the indication of whether to apply single / dual tree may be inferred, which may depend on the following: Messages signalled in i.SPS / VPS / PPS / Picture Header / Slice Header / Tile Group Header / LCU Row / LCU Group / LCU / CU / Video Data Unit ii. Hash hit rate of IBC / Inter mode in the previous coded image / tile / slice / reconstructed region iii. Block dimensions of the current CTU and / or its neighbouring CTUs; iv. Block shape of the current CTU and / or its nearby CTUs v. The current quantization parameters of the current CTU and / or the current quantization parameters of its neighboring CTUs vi. Color format indication (e.g. 4:2:0, 4:4:4) vii. Single / dual coding tree structure type of previous slice / tile / LCU / LCU row / LCU group / video data unit viii. Slice / Tile Group Type and / or Picture Type ix.Time layer ID c. In one example, the indication of whether to apply CCLM and / or LMCS may depend on the type of single / dual coding tree structure. i. In one example, if a single / dual tree is used, the indications CCLM and / or LMCS may be inferred to be FALSE. d. In one example, the indication of whether to apply single / dual tree (i.e., single tree or dual tree CTU level adaptation) may depend on whether an indication to enable dual tree (e.g., qtbtt_dual_tree_intra_flag) is TRUE. i. Alternatively, further, if dual tree for sequence / slice / tile / brick is not enabled (e.g., qtbtt_dual_tree_intra_flag is false), the indication of whether to apply single / dual tree at the lower level (e.g., CTU) may be inferred to be FALSE. 1. Alternatively, if dual trees are enabled (eg, qtbtt_dual_tree_intra_flag is TRUE), an indication of whether to apply single / dual trees to video units smaller than a sequence / slice / tile / brick may be signaled. e. In one example, the indication of whether to apply single / dual tree (i.e., CTU level adaptation of single tree or dual tree) may depend on whether a flag at a level higher than the CTU level (e.g., sps_asdt_flag and / or slice_asdt_flag) is TRUE. i. Alternatively, if a flag at a level higher than the CTU level (e.g., sps_asdt_flag and / or slice_asdt_flag) is FALSE, the indication of whether to apply single / dual tree (i.e., CTU level adaptation of single tree or dual tree) may be inferred to be FALSE. f. The above method can be applied to the single tree partition case or to the single / dual coding tree structure type. 10. Whether to enable IBC may depend on the type of coding tree structure. a. In one example, for a given coding tree structure type (eg, dual tree), signaling of IBC mode and / or indication of block vectors used in IBC mode may be omitted and inferred. b. In one example, an indication of IBC mode may be inferred to be FALSE if a dual coding tree structure type is applied. c. In one example, if a dual coding tree structure type is applied, the IBC mode indication of the luma block may be inferred to be FALSE. d. In one example, if a dual coding tree structure type is applied, the IBC mode indication of the chroma block may be inferred to be FALSE. e. In one example, an indication of IBC mode may be inferred based on the following: i. Messages signalled in SPS / VPS / PPS / picture header / slice header / tile group header / LCU row / LCU group / LCU / CU / video data unit. ii. Hash hit rate of IBC / Inter mode in the previous coded image / tile / slice / reconstructed region iii. Block dimensions of the current CTU and / or its neighbouring CTUs; iv. Block shape of the current CTU and / or its nearby CTUs v. The current quantization parameters of the current CTU and / or the current quantization parameters of its neighboring CTUs vi. Color format indication (e.g. 4:2:0, 4:4:4) vii. Previous slice / tile / LCU / LCU row / LCU group / video data unit coding tree structure type viii. Slice / Tile Group Type and / or Picture Type ix.Time layer ID 11. Whether CCLM is enabled may depend on the type of coding tree structure. a. In one example, for a given coding tree structure type (eg, dual tree), signaling of CCLM mode indication and / or other syntax related to CCLM mode may be skipped and inferred. b. In one example, if a dual coding tree structure type is applied, the CCLM mode indication may be inferred to be FALSE. c. In one example, when a dual coding tree structure type is applied, the indication of CCLM mode may be inferred based on the following: Messages signalled in i.SPS / VPS / PPS / Picture Header / Slice Header / Tile Group Header / LCU Row / LCU Group / LCU / CU / Video Data Unit ii. Hash hit rate of IBC / Inter mode in the previous coded image / tile / slice / reconstructed region iii. Block dimensions of the current CTU and / or its neighbouring CTUs; iv. Block shape of the current CTU and / or its nearby CTUs v. The current quantization parameters of the current CTU and / or the current quantization parameters of its neighboring CTUs vi. Color format indication (e.g. 4:2:0, 4:4:4) vii. Previous slice / tile / LCU / LCU row / LCU group / video data unit coding tree structure type viii. Slice / Tile Group Type and / or Picture Type ix.Time layer ID 12. Whether to enable LMCS for the chroma component may depend on the type of coding tree structure. a. In one example, for a given coding tree structure type (e.g., dual tree), signaling of LMCS indication for chroma components and / or other syntax related to LMCS mode may be omitted and inferred. b. In one example, if a dual coding tree structure type is applied, the LMCS indication for the chroma component may be inferred to be FALSE. c. In one example, the LMCS indication for the chroma component may be inferred based on the following when a dual coding tree structure type is applied: Messages signalled in i.SPS / VPS / PPS / Picture Header / Slice Header / Tile Group Header / LCU Row / LCU Group / LCU / CU / Video Data Unit ii. Hash hit rate of IBC / Inter mode in the previous coded image / tile / slice / reconstructed region iii. Block dimensions of the current CTU and / or its neighbouring CTUs; iv. Block shape of the current CTU and / or its nearby CTUs v. The current quantization parameters of the current CTU and / or the current quantization parameters of its neighboring CTUs vi. Color format indication (e.g. 4:2:0, 4:4:4) vii. Previous slice / tile / LCU / LCU row / LCU group / video data unit coding tree structure type viii. Slice / Tile Group Type and / or Picture Type ix.Time layer ID 13. The structure of the coding tree may depend on whether IBC is used or not. In one example, the dual tree structure and the IBC method may not be enabled simultaneously at the sequence / picture / tile / brick / CTU / VPDU / 32x32 block / 64x32 block / 32x64 block level. b. Alternatively, in one example, if the IBC method is enabled, the dual tree structure can be disabled at the sequence / picture / tile / brick / CTU / VPDU / 32x32 block / 64x32 block / 32x64 block level. c. In one example, if IBC is used in one region, the chroma coding tree structure may be aligned to the luma coding tree structure. i. In one example, the region may be a sequence / picture / tile / brick / CTU / VPDU / 32x32 block / 64x32 block / 32x64 block. ii. In one example, when splitting collocated luma blocks into sub-blocks, chroma blocks may be split into sub-blocks if splitting is allowed. iii. In one example, whether and how a chroma block is split may be inferred from the coding structure of its collocated luma block. iv. In one example, when inferring the chroma coding tree structure from the luma coding tree structure, the signal encoding the chroma coding tree structure may be omitted. v. In one example, a flag may be used to indicate whether the chroma coding structure can be inferred from the luma coding structure. The signaling of the flag may depend on: 1. Messages signaled in SPS / VPS / PPS / Picture Header / Slice Header / Tile Group Header / LCU Row / LCU Group / LCU / CU / Video Data Unit 2. Hash hit rate of IBC / Inter mode in the previous coded image / tile / slice / reconstructed area 3. Block dimensions of the current CTU and / or its neighboring CTUs 4. Block shape of the current CTU and / or its neighboring CTUs 5. The current quantization parameters of the current CTU and / or the current quantization parameters of its neighboring CTUs 6. Color format indication (e.g. 4:2:0, 4:4:4) 7. Previous slice / tile / LCU / LCU row / LCU group / video data unit coding tree structure type 8. Slice / Tile Group Type and / or Picture Type 9. Time layer ID 14. Whether the palette coding mode is enabled may depend on the type of coding tree structure. In one example, for a given coding tree structure type (eg, dual tree), the signaling of the palette coding mode indication may be omitted and inferred. b. In one example, if a dual-coding tree structure type is applied, the indication of palette coding mode may be inferred to be FALSE. c. In one example, if a dual coding tree structure type is applied, the palette coding mode indication of the luma block may be inferred to be FALSE. d. In one example, if a dual coding tree structure type is applied, the palette coding mode indication of the chroma block may be inferred to be FALSE. e. In one example, an indication of the palette encoding mode may be inferred based on the following: Messages signalled in i.SPS / VPS / PPS / Picture Header / Slice Header / Tile Group Header / LCU Row / LCU Group / LCU / CU / Video Data Unit ii. Hash hit rate of IBC / Inter mode in the previous coded image / tile / slice / reconstructed region iii. Block dimensions of the current CTU and / or its neighbouring CTUs; iv. Block shape of the current CTU and / or its nearby CTUs v. The current quantization parameters of the current CTU and / or the current quantization parameters of its neighboring CTUs vi. Color format indication (e.g. 4:2:0, 4:4:4) vii. Previous slice / tile / LCU / LCU row / LCU group / video data unit coding tree structure type viii. Slice / Tile Group Type and / or Picture Type ix.Time layer ID 15. The structure of the coding tree can depend on whether or not a palette coding mode is used. In one example, if a palette coding mode is used in one region, the chroma coding tree structure may be aligned to the luma coding tree structure. i. In one example, the region may be a sequence / picture / tile / brick / CTU / VPDU / 32x32 block / 64x32 block. ii. In one example, when splitting collocated luma blocks into sub-blocks, chroma blocks may be split into sub-blocks if splitting is allowed. iii. In one example, whether and how a chroma block is split may be inferred from the coding structure of its collocated luma block. iv. In one example, when inferring the chroma coding tree structure from the luma coding tree structure, the signal encoding the chroma coding tree structure may be omitted. v. In one example, a flag may be used to indicate whether the chroma coding structure can be inferred from the luma coding structure. The signaling of the flag may depend on: 1. Messages signaled in SPS / VPS / PPS / Picture Header / Slice Header / Tile Group Header / LCU Row / LCU Group / LCU / CU / Video Data Unit 2. Hash hit rate of IBC / Inter mode in the previous coded image / tile / slice / reconstructed area 3. Block dimensions of the current CTU and / or its neighboring CTUs 4. Block shape of the current CTU and / or its neighboring CTUs 5. The current quantization parameters of the current CTU and / or the current quantization parameters of its neighboring CTUs 6. Color format indication (e.g. 4:2:0, 4:4:4) 7. Previous slice / tile / LCU / LCU row / LCU group / video data unit coding tree structure type 8. Slice / Tile Group Type and / or Picture Type 9. Time layer ID 16. Motion / block vectors for sub-blocks / samples in a chroma IBC coded block may be derived from the first available IBC coded sub-region in the collocated luma block. In one example, a scan order, such as a raster scan order, for sub-regions within collocated luminance blocks may be defined. b. In one example, a sub-region may be defined as the smallest coding unit / smallest transform unit. c. In one example, the motion / block vectors of all samples in chroma IBC mode may be derived based on the motion vector of the top-left most sample in the collocated luma block coded in IBC or inter mode. 17. In chroma IBC mode, motion / block vectors can be signaled. In one example, the difference between the motion vector and the motion vector prediction module may be signaled. i. In one example, the motion vector prediction module may be derived based on motion vectors of adjacent luma blocks, neighboring luma blocks of the adjacent luma blocks, and neighboring chroma blocks of the current chroma block. 1. In one example, the motion / block vector prediction module may be derived based on the motion vector of the top-left sample in the collocated luminance block. 2. In one example, the motion / block vector prediction module may be derived based on the motion vector of a sample having a center position in the co-located luminance block. 3. In one example, the motion / block vector prediction module may be derived based on the motion vector of the top-left most sample coded in IBC or inter mode in the collocated luma block. ii. In one example, a motion vector prediction module associated with one sub-region of the luma component may be scaled before being used as a prediction module. iii. In one example, the block vectors may be derived from the motion vectors / block vectors of nearby (adjacent or non-adjacent) chroma blocks. b. In one example, a block vector candidate list can be constructed and an index into this list can be signaled. i. In one example, the candidate list may include motion vectors / block vectors from the collocated luma block, neighboring luma blocks of the collocated luma block, and neighboring chroma blocks. c. In one example, the indication of the AMVR flag may be inferred. i. In one example, the indication of the AMVR flag may be inferred to be FALSE (0) for blocks coded in chroma IBC mode. ii. In one example, motion vector difference measures may be estimated with integer precision for blocks coded in chroma IBC mode. d. In one example, the chroma IBC mode may use a separate HMVP table. i. In one example, the sizes of the chroma HMVP table and the luma HMVP table may be different. e. In one example, whether to signal a block / motion vector in chroma IBC mode may be determined based on the following: i. Whether all sub-regions within the collocated luminance block are coded in IBC mode. 1. If yes, then there is no need to signal the block vectors of the chroma blocks. If not, then the block vectors of the chroma blocks can be signaled. ii. Whether all sub-regions within a collocated luminance block are coded in IBC mode and all associated block vectors are valid. 1. If yes, then there is no need to signal the block vectors of the chroma blocks. If not, then the block vectors of the chroma blocks can be signaled. iii. Messages signaled in SPS / VPS / PPS / Picture Header / Slice Header / Tile Group Header / LCU Row / LCU Group / LCU / CU / Video Data Unit. iv. Hash hit rate of IBC / Inter mode in the previous coded image / tile / slice / reconstructed region v. Block dimensions of the current CTU and / or its neighboring CTUs vi. Block shape of the current CTU and / or its neighboring CTUs vii. The current quantization parameters of the current CTU and / or the current quantization parameters of its neighboring CTUs viii. Color format indication (e.g., 4:2:0, 4:4:4) ix. Previous slice / tile / LCU / LCU row / LCU group / video data unit coding tree structure type x. Slice / tile group type and / or picture type xi. Time layer ID 18. Single tree and split / dual tree selection / signaling may be at a level below the CTU / CTB. In one example, single tree and split / dual tree selection / signaling may be at the VPDU level. b. In one example, single tree and separate / dual tree selection / signaling may be at the level where explicit split tree signaling begins.

[0104] The above examples may be included in the methods described below, such as methods 900, 910, 920, 930, 940, which may be implemented in a video decoder or a video encoder.

[0105] An exemplary method for video processing includes performing a conversion between a current video block and a bitstream representation of a video that constitutes the current video block, the conversion selectively using a transform skip mode for the conversion based on an indicator included in the bitstream representation, and using the transform skip mode to represent a residual of a prediction error of the current video block in the bitstream representation without applying a conversion.

[0106] In some embodiments, this index is the maximum width allowed and the maximum height allowed in transform skip mode.

[0107] In some embodiments, the maximum allowed width and maximum allowed height are signaled in a sequence parameter set (SPS), a video parameter set (VPS), a picture parameter set (PPS), a picture header, a slice header, a tile header, a largest coding unit (LCU) row or a group of LCUs.

[0108] In some embodiments, the maximum allowed width and maximum allowed height are reported in different messages.

[0109] In some embodiments, the maximum allowed width and height are signaled in a sequence parameter set (SPS) or a picture parameter set (PPS), and updated values ​​of the maximum allowed width and height are signaled in a picture header, slice header, tile group header, largest coding unit (LCU) row or LCU group.

[0110] 9A shows another flow chart of an example video processing method. The method 900 includes, at step 902, determining whether to encode the current video block using a transform skip mode.

[0111] The method 900 includes, at step 904, performing a conversion between the current video block and a bitstream representation of the video that constitutes the current video block based on the determination.

[0112] In some embodiments, the current video block is divided into a plurality of coefficient sets and the bitstream representation omits coded block flag signaling for at least one of the plurality of coefficient sets, hi one example, the bitstream representation omits coded block flag signaling for each of the plurality of coefficient sets.

[0113] In some embodiments, coded block flags omitted in signaling in the bitstream representation are inferred based on one or more of the following: (1) a sequence parameter set (SPS), a video parameter set (VPS), a picture parameter set (PPS), a picture header, a slice header, a tile group header, a largest coding unit (LCU), an LCU row, an LCU group, or a message signaled in a coding unit (CU), (2) a position of at least one coefficient group of a plurality of coefficient groups, (3) a block dimension of the current video block or at least one neighboring block, (4) a block shape of the current video block or at least one neighboring block, (5) a maximum probability mode of the current video block or at least one neighboring block, and (6) at least one of the following: (7) a prediction mode of at least one neighboring block; (8) one or more motion vectors of at least one neighboring block; (9) an indication of a quantized residual pulse code modulation (QR-BDPCM) mode of at least one neighboring block; (10) a current quantization parameter (QP) of the current video block or at least one neighboring block; (11) an indication of a color format of the current video block; (12) a separate or dual coding tree structure associated with the current video block; or (13) a slice type, tile group type, or picture type of the current video block.

[0114] In some embodiments, the current video block is divided into a plurality of coefficient groups, and method 900 further includes determining a coefficient scanning order for the plurality of coefficient groups. In one example, the coefficient scanning order is based on messages signaled in a sequence parameter set (SPS), a video parameter set (VPS), a picture parameter set (PPS), a picture header, a slice header, a tile group header, a largest coding unit (LCU), an LCU row, an LCU group, or a coding unit (CU).

[0115] In an embodiment of the present invention, the plurality of sets of coefficients or coefficient scanning order is based on an intra prediction mode of the current image block. In one example, the coefficient scanning order is vertical and the intra prediction mode is horizontally dominant. In another example, the coefficient scanning order is horizontal and the intra prediction mode is horizontally dominant. For example, the index of the intra prediction mode ranges from 2 to 33 or 2 to 34.

[0116] In an embodiment of the present invention, the plurality of coefficient sets or coefficient scanning orders are based on an intra-prediction mode of the current image block. In one embodiment, the coefficient scanning order is vertical and the intra-prediction mode is vertically dominant. In another embodiment, the coefficient scanning order is horizontal and the intra-prediction mode is vertically dominant. For example, the index of the intra-prediction mode is 34 to 66 or 35 to 66.

[0117] In some embodiments, the context of the sign flag is based on neighborhood information in a coefficient block associated with the current video block. In one example, the context of the sign flag is further based on the position of the coefficient in the coefficient block. In another example, the context of the sign flag is based on (x+y), min(x,y) or max(x,y), where x and y are the horizontal and vertical values ​​of the position of the coefficient, respectively.

[0118] 9B shows yet another flow chart of an example video processing method.The method 910 includes, at step 912, determining that a chroma transform skip mode is applicable to the current video block.

[0119] The method 910 includes, at step 914, performing a conversion between the current video block and a bitstream representation of the video that constitutes the current video block based on the determination.

[0120] In some embodiments, the determination is based on a message signaled in a sequence parameter set (SPS), a video parameter set (VPS), a picture parameter set (PPS), a picture header, a slice header, a tile group header, a largest coding unit (LCU), an LCU row, an LCU group, a coding unit (CU), or a video data unit.

[0121] In some embodiments, this determination is based on decoded information from one or more representative video blocks that were decoded prior to performing the transform, where samples in each of the one or more representative video blocks and the current video block are based on common color information. In one example, the one or more representative video blocks are comprised of luma blocks or chroma blocks. In another example, the one or more representative video blocks include a block within a juxtaposed luma block.

[0122] 9C shows yet another flow chart of an exemplary video processing method. The method 920 includes, at step 922, determining, based on a condition, on selective application of a transform skip mode to the current video block during transforming between the current video block and a bitstream representation of the video that constitutes the current video block.

[0123] The method 920 includes, at step 924, performing a transformation based on the determination.

[0124] In some embodiments, the condition is based on a message signaled in a sequence parameter set (SPS), a video parameter set (VPS), a picture parameter set (PPS), a picture header, a slice header, a tile group header, a largest coding unit (LCU), an LCU row, an LCU group, a coding unit (CU), or a video data unit.

[0125] In some embodiments, the condition is based on one or more of the following: (1) a block dimension of the current video block or at least one neighboring block of the current video block, (2) a block shape of the current video block or at least one neighboring block, (3) a maximum probability mode of the current video block or at least one neighboring block, (4) a prediction mode of the at least one neighboring block, (5) an intra prediction mode of the at least one neighboring block, (6) one or more motion vectors of the at least one neighboring block, (7) an indication of a quantized residual block pulse code modulation (QR-BDPCM) mode of the at least one neighboring block, (8) a current quantization parameter (QP) of the current video block or at least one neighboring block, (9) an indication of a color format of the current video block, (10) a separate or dual coding tree structure associated with the current video block, (11) a slice type, tile group or picture type of the current video block, or (12) a temporal layer identification (ID).

[0126] In some implementations, a transform skip mode application is performed, the prediction mode of the current video block is an Inter Block Copy (IBC) mode, and the width or height of the current video block is compared to a threshold. In one example, the threshold is signaled in the bitstream representation. In another example, the threshold is set to 4, 8, 16, or 32.

[0127] In yet another example, the threshold is based on one or more of the following: (1) a sequence parameter set (SPS), a video parameter set (VPS), a picture parameter set (PPS), a picture header, a slice header, a tile group header, a largest coding unit (LCU), an LCU row, an LCU group, or a message signaled to a coding unit (CU), (2) a temporal layer identification (ID), (3) a block dimension of the current video block or at least one neighboring block of the current video block, (4) a block shape of the current video block or at least one neighboring block, (5) a maximum probability mode of the current video block or at least one neighboring block, (6) at least one metric of the current video block or at least one neighboring block, (7) a probability of at least one metric of the current video block or at least one neighboring block, (8) a probability of at least one metric of the current video block or at least one neighboring block, (9) a probability of at least one metric of the current video block or at least one neighboring block, (10) a probability of at least one metric of the current video block or at least one neighboring block, (11) a probability of at least one metric of the current video block or at least one neighboring block, (12) a probability of at least one metric of the current video block or at least one neighboring block, (13) a probability of at least one metric of the current video block or at least one neighboring block, (14) a probability of at least one metric of the current video block or at least one neighboring block, (15) a probability of at least one metric of the current video block or at least one neighboring block, (16) a probability of at least one metric of the current video block or at least one neighboring block, (17) a probability of at least one metric of the current video block or at least one neighboring block, (18) a probability of at least one metric of the current video block or at least one neighboring block, (19) a probability of at least one metric of the current video block or at least one neighboring block, (19) a probability of (7) a prediction mode of at least one neighboring block; (8) one or more motion vectors of at least one concatenated block; (9) an indication of a quantized residual block code modulation (QR-BDPCM) mode of at least one neighboring block; (10) a current quantization parameter (QP) of the current video block or at least one neighboring block; (11) an indication of a color format of the current video block; (12) a separate or dual coding tree structure associated with the current video block; or (13) a slice type, tile group type, or picture type of the current video block.

[0128] 9D shows yet another flow chart of an exemplary video processing method. The method 930 includes, at step 932, determining, during conversion between a current video block and a bitstream representation of a video that constitutes the current video block, based on an indication of a transform skip mode in the bitstream representation, regarding selective application of quantized residual block differential pulse code modulation (QR-BDPCM).

[0129] The method 930 includes, at step 934, performing a transformation based on the determination.

[0130] In some embodiments, the indication of transform skip mode is signaled at the transform unit (TU) level.

[0131] 9E shows yet another flow chart of an exemplary video processing method 940. The method 940 includes, at step 942, determining regarding selective application of a separate or dual tree based on a condition while converting between a current video block and a bitstream representation of a video that constitutes the current video block.

[0132] The method 940 includes, at step 944, performing a transformation based on the determination.

[0133] In some embodiments, the condition is based on a message signaled in a sequence parameter set (SPS), a video parameter set (VPS), a picture parameter set (PPS), a picture header, a slice header, a tile group header, a largest coding unit (LCU), an LCU row, an LCU group, a coding unit (CU), or a video data unit.

[0134] In some embodiments, the condition is based on determining whether a slice, a tile, a largest coding unit (LCU), a row of LCUs, a group of LCUs, a video data unit, etc., that makes up the current video block is screen content. In one example, the determination is made based on one or more of the following: (1) a sequence parameter set (SPS), a video parameter set (VPS), a picture parameter set (PPS), a picture header, a slice header, a tile group header, an LCU, an LCU row, an LCU group, a coding unit (CU), or a message signaled in a video data unit; (2) a block dimension of the current video block or at least one neighboring block of the current video block; (3) a block shape of the current video block or at least one neighboring block; (4) a current quantization parameter (QP) of the current video block or at least one neighboring block; (5) an indication of the color format of the current video block; (6) a separate or dual coding tree structure associated with the current video block; (7) a slice type, tile group type, or picture type of the current video block; or (8) a temporal layer identification (ID).

[0135] FIG. 10 is a block diagram of a video processing device 1000. The device 1000 may be used to implement one or more of the methods described herein. The device 1000 may be implemented by a smartphone, a tablet, a computer, an IoT (Internet of Things) receiver, etc. The device 1000 may include one or more processing devices 1002, one or more memories 1004, and video processing hardware 1006. The one or more processing devices 1002 may be configured to implement one or more methods described herein (including, but not limited to, methods 900, 910, 920, 930, and 940). The memory(s) 1004 may be used to store data and codes used to implement the methods and techniques described herein. The video processing hardware 1006 may be used to implement the techniques described herein in a hardware circuit.

[0136] In some embodiments, the video encoding method may be performed using an apparatus implemented on a hardware platform, such as that described with reference to FIG.

[0137] In some embodiments, for example as described in items 5 and 10 above, a video processing method includes determining whether an intra block copy mode is applicable for converting between a current video block and a bitstream representation of a video based on a type of coding tree structure corresponding to the current video block, and performing the conversion based on the determination.

[0138] In the above method, the bitstream representation excludes any indication of the intra block copy mode, in other words, the bitstream does not carry any explicit signaling of the IBC mode.

[0139] In the above method, it is determined that the type of the coding tree structure is a dual coding tree structure, and the intra block copy mode is not applicable.

[0140] FIG. 11 is a block diagram illustrating an exemplary video processing system in which the disclosed technology can be implemented. Various implementations may include some or all of the modules of the system 1100. The system 1100 may include an input unit 1102 for receiving video content. The video content may be received in a raw or uncompressed format, for example, 8 or 10 bit multi-module pixel values, or may be received in a compressed or encoded format. The input unit 1102 may represent a network interface, a peripheral bus interface, or a storage interface. Examples of network interfaces include wired interfaces such as Ethernet, Passive Optical Network (PON), and wireless interfaces such as Wi-Fi or cellular interfaces.

[0141] The system 1100 may include an encoding module 1104 that may implement various encoding or coding methods described herein. The encoding module 1104 may reduce the average bit rate of the video from the input unit 1102 to the output of the encoding module 1104, generating an encoded representation of the video. Thus, this encoding technique may be referred to as a video compression or video transcoding technique. The output of the encoding module 1104 may be stored or transmitted via a connected communication, as represented by module 1106. The bitstream (or encoded) representation of the video received at the input unit 1102, stored or communicated, may be used by module 1108 to generate pixel values ​​or displayable video that are transmitted to the display interface unit 1110. The process of generating a user-viewable video from the bitstream representation may be referred to as video decompression. Additionally, although certain video processing operations are referred to as “encoding” operations or tools, it will be understood that the encoding tools or operations are performed by an encoder and corresponding decoding tools or operations that reverse the results of the decoding, performed by a decoder.

[0142] Examples of peripheral bus interface units or display interface units may include Universal Serial Bus (USB) or High-Definition Multimedia Interface (HDMI) or DisplayPort, etc. Examples of storage interfaces include Serial Advanced Technology Attachment (SATA), PCI, IDE interfaces, etc. The techniques described herein may be implemented in various electronic devices such as mobile phones, laptops, smartphones, or other devices capable of digital data processing and / or video display.

[0143] 12 is a flow chart illustrating an example of a video media processing method. The steps of this flow chart are described in relation to Example Embodiment 7 in Chapter 4 of this application. In step 1202, the process identifies a coding mode and / or an intra-prediction mode and / or a set of allowed intra-prediction modes to be used for encoding a current video block in a video domain of visual media data into a bitstream representation of the visual media data. In step 1204, the process includes, in identifying the use, determining whether to include or exclude, in the bitstream representation, a syntax element indicating selectively applying a transform skip mode to the current video block, where in transform skip mode a residual of a prediction error between the current video block and a reference video block is represented in the bitstream representation of the visual media data without applying a transform.

[0144] 13 is a flow chart illustrating an example of a video media processing method. The steps of this flow chart are described in relation to Example Embodiment 7 in Chapter 4 of this application. In step 1302, the process identifies a coding mode and / or an intra-prediction mode and / or a set of allowed intra-prediction modes for decoding a current video block in a video domain of visual media data from a bitstream representation of the visual media data. In step 1304, the process includes, upon identifying the use, making a decision to include or exclude, in the bitstream representation, a syntax element indicating selectively applying a transform skip mode to the current video block, where in transform skip mode a residual of a prediction error between the current video block and a reference video block is represented in the bitstream representation of the visual media data without applying a transform.

[0145] 14 is a flow chart illustrating an example of a video media processing method. The steps of this flow chart are described in relation to Example Embodiment 7 in Chapter 4 of this application. In step 1402, the process identifies a coding mode and / or an intra-prediction mode and / or a set of allowed intra-prediction modes for decoding a current video block in a video domain of visual media data from a bitstream representation of the visual media data. In step 1404, the process includes, upon identifying the use, determining whether to include or exclude, in the bitstream representation, a syntax element indicating selectively applying a transform skip mode to the current video block, where in transform skip mode, a residual between the current video block and a predicted video block is represented in the bitstream representation of the visual media data without applying a transform.

[0146] 15 is a flow chart illustrating an example of a video media processing method. The steps of this flow chart are described in relation to exemplary embodiment 9d in Chapter 4 of this application. In step 1502, the process makes a decision regarding selective application of a single or dual tree coding structure based on or inferring from at least a determination to enable a dual tree coding structure for encoding a current video block in a video domain of visual media data into a bitstream representation of the visual media data. In step 1504, the process includes a syntax element indicating selective application of a single tree or a dual tree in the bitstream representation.

[0147] 16 is a flow chart illustrating an example of a video media processing method. The steps of this flow chart are described in relation to exemplary embodiment 9d in Chapter 4 of this application. In step 1602, the process parses from a bitstream representation of visual media data comprising a video region including a current video block a syntax element indicating selective application of a single or dual tree coding structure based on or inferred from the decision to enable at least the dual tree coding structure. In step 1604, the process generates a decoded video region from the bitstream representation by decoding the current video block according to the syntax element.

[0148] 17 is a flow chart illustrating an example of a video media processing method. The steps of this flow chart are described in relation to example embodiment 16 in section 4 of this application. In step 1702, the process determines to apply an intra block copy (IBC) mode to chroma components of a current video block of visual media data for conversion between the current video block and a bitstream representation of the visual media. In step 1704, the process derives motion information associated with a sub-block of the current video block using a first available sample contained in an IBC coded sub-region within a collocated luma block of the current video block.

[0149] 18 is a flow chart illustrating an example of a video media processing method. The steps of this flow chart are described in relation to example embodiment 17 in section 4 of this application. In step 1802, the process determines to apply an Intra Block Copy (IBC) mode to a current video block of visual media data for conversion between the current video block and a bitstream representation of the visual media. In step 1804, the process includes, in a bitstream representation, a syntax element indicating motion information associated with the current video block.

[0150] 19 is a flow chart illustrating an example of a video media processing method. The steps of this flow chart are described in relation to example embodiment 17e in Section 4 of this application. In step 1902, the process determines to apply an Intra Block Copy (IBC) mode to a current video block of visual media data for conversion between the current video block and a bitstream representation of the visual media. In step 1904, the process determines whether to selectively include or exclude syntax elements indicative of motion information associated with the current video block in a bitstream representation based on at least one or more conditions.

[0151] Some embodiments of the present specification are presented in a section-based format.

[0152] 1. A method of encoding visual media, comprising: identifying a coding mode and / or an intra-prediction mode and / or a set of allowed intra-prediction modes to use for encoding a current video block in a video domain of visual media data into a bitstream representation of the visual media data; When identifying the use, determining whether to include or exclude in the bitstream representation a syntax element indicating selectively applying a transform skip mode to the current video block, wherein in transform skip mode a residual of a prediction error between the current video block and a reference video block is represented in the bitstream representation of the visual media data without applying a transform.

[0153] 2. A method of decoding visual media, comprising: identifying a coding mode and / or an intra-prediction mode and / or a set of allowed intra-prediction modes to use for decoding a current video block in a video domain of visual media data from a bitstream representation of the visual media data; When identifying the use, making a decision to include or exclude in the bitstream representation a syntax element indicating selective application of a transform skip mode to the current video block, wherein in transform skip mode a residual of a prediction error between the current video block and a reference video block is represented in the bitstream representation of the visual media data without applying a transform.

[0154] 3. A method according to any one or more of items 1 to 2, wherein the allowed intra prediction mode set corresponds to an intra mode set used in a quantized residual block differential pulse code modulation (QR-BDPCM) technique for the current video block, and in the QR-BDPCM technique, the difference between the quantized residual of the intra prediction of the current video block and a prediction of the quantized residual is represented in the bitstream representation of the current video block using differential pulse coding modulation (DPCM).

[0155] 4. A method according to any one or more of items 1 to 2, wherein if the coding mode belongs to one of a plurality of coding modes used in QR-BDPCM technology, the syntax element is excluded from the bitstream representation, and in QR-BDPCM technology, the difference between a quantized residual of intra prediction of the current video block and a prediction of the quantized residual is represented in the bitstream representation of the current video block using Differential Pulse Coded Modulation (DPCM).

[0156] 5. A method according to any one or more of items 1 to 2, wherein if the intra prediction mode belongs to an intra mode set used in a QR-BDPCM technique for the current video block, the syntax element is excluded from the bitstream representation, and in the QR-BDPCM technique, the difference between the quantized residual of the intra prediction of the current video block and a prediction of the quantized residual is represented in the bitstream representation of the current video block using differential pulse coding modulation (DPCM).

[0157] 6. A method according to any one or more of items 1 to 2, wherein in response to determining to apply the QR-BDPCM technique to the current video block, the syntax element is excluded from the bitstream representation and the transform skip mode is inferred to be applied, and in the QR-BDPCM technique, the difference between a quantized residual of intra prediction of the current video block and a prediction of the quantized residual is represented in the bitstream representation of the current video block using differential pulse coding modulation (DPCM).

[0158] 7. The method according to any one or more of items 1 to 6, wherein selectively applying or skipping the transform skip mode is further based on one or more of the following: (1) a message signaled in a sequence parameter set (SPS), a video parameter set (VPS), a picture parameter set (PPS), a picture header, a slice header, a tile group header, a largest coding unit (LCU), an LCU row, an LCU group, or a coding unit (CU); (2) a block size of the current video block or at least one neighboring block of the current video block; (3) a block shape of the current image block or at least one neighboring block; (4) a maximum probability mode of the current video block or at least one neighboring block; (5) a prediction mode of at least one neighboring block; (6) the intra prediction mode of at least one neighboring block; (7) one or more motion vectors of at least one neighboring block; (8) an indication of the QR-BDPCM technique for at least one neighboring block; (9) a current quantization parameter (QP) for the current video block or at least one neighboring block; (10) an indication of the color format of the current image block; (11) a separate or dual coding tree structure associated with the current video block; (12) The slice type, tile group type, or picture type of the current video block, or (13) Time layer ID.

[0159] 8. A method of decoding visual media, comprising: identifying a coding mode and / or an intra-prediction mode and / or a set of allowed intra-prediction modes to use for decoding a current video block in a video domain of visual media data from a bitstream representation of the visual media data; The process includes, upon identifying the use, making a decision to include or exclude in the bitstream representation a syntax element indicating selective application of a transform skip mode to the current video block, in which in transform skip mode a residual between the current video block and a predicted video block is represented in the bitstream representation of the visual media data without applying a transform.

[0160] 9. A method of encoding visual media, comprising: The process includes making a decision regarding selective application of a single or dual tree coding structure based on or inferring from at least a determination to enable a dual tree coding structure for coding a current video block in a video domain of visual media data into a bitstream representation of the visual media data; Contains syntax elements that indicate the selective application of single or dual trees in the bitstream representation.

[0161] 10. A method of decoding visual media, comprising: parsing from a bitstream representation of visual media data comprising a video region that includes a current video block for syntax elements indicative of selective application of a single or dual tree coding structure based on or inferred from determining to enable at least said dual tree coding structure; The current video block is decoded according to the syntax elements to generate a decoded video region from the bitstream representation.

[0162] 11. A method according to any one or more of items 9 to 10, wherein the dual tree coding structure is associated with a first video level and the syntax elements are associated with a second video level, further comprising: upon determining to disable the dual tree coding structure associated with the first video level, inferring a syntax element associated with the second video level as Boolean false.

[0163] 12. The method of claim 11, wherein the syntax element is included in the bitstream representation.

[0164] 13. The method according to any one or more of items 11 to 12, wherein the second video level is lower than the first video level.

[0165] 14. A method according to any one or more of items 11 to 12, wherein the second video level is a coding tree unit (CTU) level and the first video level is a sequence / slice / tile / brick level.

[0166] 15. The method according to any one or more of items 9 to 10, wherein the syntax element is associated with a coding tree unit (CTU) level, further comprising: The inclusion of a syntax element in a bitstream representation based at least on a flag that is Boolean true.

[0167] 16. The method according to item 15, wherein the flag is at a level higher than the CTU level.

[0168] 17. The method according to any one or more of items 9 to 10, wherein the syntax element is associated with a coding tree unit (CTU) level, further comprising: inferring the syntax element in the bitstream representation to be Boolean false if a flag at a level higher than the CTU level is determined to be Boolean false.

[0169] 18. A method according to any one or more of items 9 to 10, wherein the syntax element is at a level lower than the coding tree unit (CTU) level.

[0170] 19. The method of claim 18, wherein the syntax elements are at a virtual pipeline data unit (VPDU) level.

[0171] 20. The method of claim 18, wherein the syntax element is at a level corresponding to a signaling level of a splitting tree.

[0172] 21. A visual media processing method, comprising: The process includes determining to apply an intra block copy (IBC) mode to a chroma component of a current video block of visual media data for conversion between the current video block and a bitstream representation of the visual media; and and deriving motion information associated with a sub-block of the current video block using a first available sample included in an IBC encoded sub-region within a collocated luminance block of the current video block.

[0173] 22. The method according to claim 21, wherein the IBC-encoded sub-regions within the collocated luminance blocks are scanned in order.

[0174] 23. The method according to item 22, wherein the order is a raster scan order.

[0175] 24. The method according to claim 21, wherein the motion information is a motion vector or a block vector of a sub-block or sub-sample.

[0176] 25. The method according to claim 21, wherein the size of the IBC encoded sub-region corresponds to the size of a minimum coding unit.

[0177] 26. The method according to claim 21, wherein the size of the IBC encoded sub-region corresponds to the size of a minimum transform unit.

[0178] 27. The method of claim 22, wherein the first available sample includes a top-left sample of a collocated luminance block, the top-left sample being an IBC-coded sample.

[0179] 28. The method of claim 22, wherein the first available sample includes a top-left sample of a collocated luma block, the top-left sample being an inter mode coded sample.

[0180] 29. The method according to any one or more of items 21 to 28, wherein the conversion includes generating the bitstream representation from a current video block.

[0181] 30. The method according to any one or more of items 21 to 28, wherein the conversion includes generating pixel values ​​of the current video block from the bitstream representation.

[0182] 31. A visual media processing method, comprising: The process includes determining to apply an intra block copy (IBC) mode to a current video block of visual media data for conversion between the current video block and a bitstream representation of the visual media; and In a bitstream representation, it contains syntax elements that indicate motion information associated with the current video block.

[0183] 32. The method of claim 31, wherein the syntax element corresponds to a difference between motion information associated with the current video block and a motion information predictor.

[0184] 33. The method of claim 32, wherein the motion information predictor is calculated using motion information of samples contained in adjacent luminance blocks of the current video block, one or more neighboring blocks of the adjacent luminance block, or neighboring chroma blocks.

[0185] 34. The method according to claim 32, wherein the sample included in the juxtaposed luminance block is the top left sample of the juxtaposed luminance block.

[0186] 35. The method according to claim 32, wherein the samples included in the aligned luminance blocks are central samples of the aligned luminance blocks.

[0187] 36. The method according to claim 34, wherein the top left sample of the juxtaposed luminance block is an IBC coded sample.

[0188] 37. The method according to claim 34, wherein the top left sample of the juxtaposed luminance block is an inter mode coded sample.

[0189] 38. The method of claim 33, wherein the motion information predictor is associated with a sub-region of the collocated luminance block, and the motion information predictor is scaled before use on the current video block.

[0190] 39. The method of claim 33, wherein the neighboring chroma blocks are adjacent or non-adjacent neighbors of the current image block.

[0191] 40. The method of claim 31, wherein the motion information associated with the current video block is included in a candidate motion vector list, and the syntax element included in the bitstream representation corresponds to an index that points to the candidate motion vector list.

[0192] 41. The method of claim 31, wherein the candidate motion vector list includes motion information of samples contained in adjacent luminance blocks of the current image block, one or more neighboring blocks of the adjacent luminance blocks, or neighboring chroma blocks.

[0193] 42. The method of claim 32, further comprising inferring an indication of the use of adaptive motion vector resolution (AMVR) techniques based at least in part on parsing the bitstream representation.

[0194] 43. The method of claim 42, wherein the current video block is a chroma, IBC coded block, and further comprising: Using the indication of use of AMVR technology to infer that the AMVR technology has not been applied to the current video block.

[0195] 44. The method of claim 43, wherein the difference between the motion information associated with the current video block and the motion information predictor is estimated to be at integer value precision.

[0196] 45. The method according to any one or more of items 31 to 44, wherein the conversion includes generating the bitstream representation from a current video block.

[0197] 46. ​​The method according to any one or more of items 31 to 44, wherein the conversion includes generating pixel values ​​of the current video block from the bitstream representation.

[0198] 47. A visual media processing method, comprising: The process includes determining to apply an intra block copy (IBC) mode to a current video block of visual media data for conversion between the current video block and a bitstream representation of the visual media; and The process determines, based on at least one or more conditions, whether to selectively include or exclude syntax elements indicative of motion information associated with the current video block from a bitstream representation.

[0199] 48. The method according to item 47, wherein the one or more conditions include: (1) the IBC coding mode of a sub-region within a collocated luminance block of the current video block; (2) a valid motion vector associated with an IBC coded sub-region within a collocated luminance block of the current video block; (3) a message signaled in a sequence parameter set (SPS), a video parameter set (VPS), a picture parameter set (PPS), a picture header, a slice header, a tile group header, a largest coding unit (LCU), an LCU row, an LCU group, or a coding unit (CU); (4) a hash hit ratio for IBC and / or inter modes in a coded picture / tile / slice / reconstruction region associated with another video block; (5) a block size of the current image block or at least one neighboring block of the current image block; (6) a block shape of the current image block or at least one neighboring block; (7) a current quantization parameter (QP) for the current video block or at least one neighboring block; (8) an indication of the color format of the current image block; (9) a separate or dual coding tree structure associated with the current video block; (10) the slice type, tile group type, or picture type of the current video block, or (11) Time layer ID.

[0200] 49. The method of claim 48, further comprising excluding the syntax element from the bitstream representation in response to determining to IBC code all sub-regions within collocated luminance blocks of the current video block.

[0201] 50. The method of claim 48, further comprising excluding the syntax element from the bitstream representation in response to determining that all motion vectors associated with all IBC encoded sub-regions within a collocated luminance block of the current video block are valid.

[0202] 51. The method according to any one or more of items 47 to 48, wherein the conversion includes generating the bitstream representation from a current video block.

[0203] 52. The method according to any one or more of items 47-48, wherein the conversion includes generating pixel values ​​of the current video block from the bitstream representation.

[0204] 53. A video encoder apparatus comprising a processing device configured to implement the methods described in any one or more of items 1 to 52.

[0205] 54. A video decoder device comprising a processing device configured to implement the methods described in any one or more of items 1 to 52.

[0206] 55. A computer readable medium having code stored thereon, the code embodying instructions executable by a processor for implementing the methods described in any one or more of items 1 to 52.

[0207] As used herein, the term "video processing" or "video media processing" may refer to video encoding, video decoding, video compression, or video decompression. For example, a video compression algorithm may be applied during conversion from a pixel representation of a video to a corresponding bitstream representation, or vice versa. The bitstream representation of a current video block may correspond to bits spread to the same or different locations in the bitstream, for example, as specified by a syntax. For example, one macroblock may be encoded in terms of transformed and coded error residual values, and using bits in a header and other fields in the bitstream. Furthermore, during conversion, the decoder may parse the bitstream with the knowledge that some fields may or may not be present, based on a decision, as described in the above solution. Similarly, the encoder may determine whether a particular syntax field should or should not be included, and generate the encoded representation accordingly by including or excluding the syntax field in the encoded representation.

[0208] While specific embodiments of the disclosed technology have been described above for purposes of illustration, it will be understood that various modifications may be made without departing from the scope of the invention. Accordingly, the disclosed technology is not to be limited except as by the appended claims.

[0209] Implementations of the subject matter and functional operations described in this patent specification may be implemented in various systems, digital electronic circuits, or computer software, firmware, or hardware, including the structures disclosed herein and their structural equivalents, or in one or more combinations thereof. Implementations of the subject matter described herein may be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a tangible, non-transportable computer-readable medium for execution by or for controlling the operation of a data processing device. The computer-readable medium may be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of matter that provides a machine-readable propagated signal, or one or more combinations thereof. The term "data processing unit" or "data processing device" includes all apparatus, devices, and machines for processing data, including, for example, a programmable processing device, a computer, or multiple processing devices or computers. In addition to hardware, the apparatus may include code that creates an environment for the execution of the computer program, such as code that constitutes a processing device firmware, a protocol stack, a database management system, an operating system, or one or more combinations thereof.

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

[0211] The processes and logic flows described herein may be performed by one or more programmable processing devices executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows may also be performed by, and devices may be implemented as, special purpose logic circuits, such as an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).

[0212] Processing devices suitable for executing computer programs include, for example, both general purpose and special purpose microprocessors, as well as any one or more processors of any kind of digital computer. Typically, a processing device receives instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more storage devices for storing instructions and data. Typically, a computer may include one or more mass storage devices, e.g., magnetic, magneto-optical, or optical disks, for storing data, or may be operatively coupled to receive data from or transfer data to these mass storage devices. However, a computer need not have such devices. Computer-readable media suitable for storing computer program instructions and data include all types of non-volatile memory, media, and memory devices, including, for example, semiconductor memory devices such as EPROM, EEPROM, flash memory devices, and the like. The processing device and memory may be supplemented by, or incorporated in, special purpose logic circuitry.

[0213] This specification, together with the drawings, are for illustrative purposes only, and illustrative is intended to mean examples. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. Further, the use of "or" is intended to include "and / or" unless the context clearly indicates otherwise.

[0214] Although this patent specification contains many details, these should not be construed as limiting the scope of any invention or the scope of the claims, but rather as descriptions of features that may be specific to certain embodiments of a particular invention. Certain features described in this patent document in the context of separate embodiments may be implemented in combination in one example. Conversely, various features described in the context of one example may be implemented in multiple embodiments separately or in any suitable subcombination. Furthermore, although features may be described above as acting in a particular combination and initially claimed as such, one or more features from a claimed combination may, in some cases, be extracted from the combination, and the claimed combination may be directed to a subcombination or a variation of the subcombination.

[0215] Similarly, although operations are shown in a particular order in the figures, this should not be understood as requiring that such operations be performed in the particular order or sequential order shown, or that all of the operations shown be performed, to achieve desired results, nor should the separation of various system components in the examples described in this patent specification be understood as requiring such separation in all embodiments.

[0216] Only certain implementations and examples have been described; other embodiments, extensions and variations are possible based on the content described and illustrated in this patent document.

[0217] 5. Additional Examples of the Disclosed Technique 5.1 Dual Tree Related Examples The proposed draft changes for JVET-N1001-v7 are listed below. Added text is shown in bold italic font. Deleted text is shown in bold capital letters font. 5.1.1 Embodiment #1

[0218] [Table 2]

[0219] 5.1.2 Embodiment #2 7.3.2.3 Sequence Parameter Set RBSP Syntax

[0220] [Table 3]

[0221] 5.1.3 Embodiment #3 7.3.5 Slice Header Syntax 7.3.5.1 General slice segment header syntax

[0222] [Table 4]

[0223] sps_asdt_flag=1 specifies that the suggested method is enabled for use in the current sequence. If it is equal to 0, it specifies that the suggested method is not enabled for use in the current sequence. If sps_ASDT_flag is not present, it is inferred to be equal to 0. slice_asdt_flag=1 specifies that the proposed method can be enabled in the current slice. If it is equal to 0, it specifies that the proposed method cannot be enabled in the current slice. If slice_ASDT_flag is not present, it is inferred to be equal to 0. 7.3.7.2 Coding Tree Unit Syntax

[0224] [Table 5]

[0225] ctu_dual_tree_intra_flag=1 specifies that the current CTU employs a dual tree coding structure. It is equal to 0, which specifies that the current CTU uses a single tree coding structure. If ctu_dual_tree_intra_flag is not present, it is inferred to be equal to 0.

[0226] 5.1.4 Embodiment #4 7.3.5 Slice Header Syntax 7.3.5.1 General slice segment header syntax

[0227] [Table 6]

[0228] sps_asdt_flag=1 specifies that the suggested method is enabled for use in the current sequence. If it is equal to 0, it specifies that the suggested method is not enabled for use in the current sequence. If sps_ASDT_flag is not present, it is inferred to be equal to 0. slice_asdt_flag=1 specifies that the proposed method can be enabled in the current slice. If it is equal to 0, it specifies that the proposed method cannot be enabled in the current slice. If slice_ASDT_flag is not present, it is inferred to be equal to 0. 7.3.7.2 Coding Tree Unit Syntax

[0229] [Table 7]

[0230] ctu_dual_tree_intra_flag=1 specifies that the current CTU employs a dual tree coding structure. It is equal to 0, which specifies that the current CTU uses a single tree coding structure. If ctu_dual_tree_intra_flag is not present, it is inferred to be equal to 0. 5.2 IBC-related Examples 7.3.7.5 Coding Unit Syntax

[0231] [Table 8]

[0232] 8.6 Decoding process for coding units coded in IBC prediction mode 8.6.1 General Decoding Process for Units Coded in IBC Prediction Mode

[0233] The inputs to this process are: - a luminance position (xCb, yCb) that defines the top-left sample of the current coding block relative to the top-left luminance sample of the current picture, a variable cbWidth that specifies the width of the current coding block in luma samples, a variable cbHeight that specifies the height of the current coding block in luma samples, - A variable tree type that specifies whether a single or dual tree is used, and if a dual tree is used, whether the current tree corresponds to the luma or chroma component.

[0234] The output of this processing is the corrected reconstructed image before in-loop filtering.

[0235] Invoke the quantization parameter derivation process specified in Section 8.7.1 using the luma position (xCb, yCb), the width of the current coding block in luma samples cbWidth, the height of the current coding block in luma samples cbHeight, and the variable tree type as input.

[0236] The decoding process for encoding a unit encoded in ibc prediction mode consists of the following ordered steps: 1. The motion vector components of the current coding unit are derived as follows: [ka] - The motion vector component derivation procedure specified in clause 8.6.2.1 is called with the position (xCb, yCb) of the luma coding block, the width cbWidth of the luma coding block, the height cbHeight of the luma coding block as input, and the luma motion vector mvL[0][0] as output. - If the tree type is equal to SINGLE_TREE, the chroma motion vector derivation process of section 8.6.2.5 is performed using the luma motion vector mvL[0][0] as input and the chroma motion vector mvC[0][0] as output. - The number of luma coding sub-blocks in the horizontal direction numSbX and the vertical direction numSbY are both set to 1. [ka] [ka] 2. The predicted samples for the current coding unit are derived as follows: [ka] The decoding process of the ibc block as specified in subclause 8.6.3.1 takes as input the position of the luma coding block (xCb, yCb), the width cbWidth of the luma coding block and the height cbHeight of the luma coding block, the number of luma coding sub-blocks in the horizontal direction numSbX and the vertical direction numSbY, the luma motion vector mvL[xSbIdx][ySbIdx] with xSbIdx=0..numSbX-1 and SbIdx=0..numSbY-1, and the variable cIdx set equal to 0, and returns the (cbWidth) × (cbHeight) array of predicted luma samples predSamples L It is called with ibc predicted samples (predSamples) as output. [ka] The decoding process of the ibc block as specified in subclause 8.6.3.1 takes as input the position of the luma coding block (xCb, yCb), the width cbWidth of the luma coding block and the height cbHeight of the luma coding block, the number of luma coding sub-blocks in the horizontal direction numSbX and the vertical direction numSbY, the chroma motion vector mvC[xSbIdx] with xSbIdx=0..numSbX-1 and ySbIdx=0..numSbY-1, and the variable cIdx set equal to 1, and returns a (cbWidth / 2) × (cbHeight / 2) array of predicted chroma samples for the chroma component Cb, predSamples Cb It is called with ibc predicted samples (predSamples) as output. The decoding process for the ibc block as specified in subclause 8.6.3.1 is called with input the position of the luma-coded block (xCb, yCb), the width cbWidth of the luma-coded block and the height cbHeight of the luma-coded block, the number of luma-coded sub-blocks in the horizontal direction numSbX and vertical direction numSbY, the chroma motion vector mvC[xSbIdx] with xSbIdx=0..numSbX-1, ySbIdx=0..numSbY-1, and a variable cIdx set equal to 2, and with output ibc predicted samples (predSamples), which is a (cbWidth / 2) by (cbHeight / 2) array predSamplesCr of predicted chroma samples for chroma component Cr. 3. The variables NumSbX[xCb][yCb] and NumSbY[xCb][yCb] are set equal to numSbX and numSbY, respectively. 4. The residual samples of the current coding unit are derived as follows: [ka] [ka] [ka] 5. The reconstructed samples of the current coding unit are derived as follows: [ka] [ka] [ka]

Claims

1. A method for processing video data, comprising the steps of: determining whether a differential coding mode is enabled or disabled for a first video block in a video domain of a video during conversion between the first video block and a bitstream of the video, wherein in the differential coding mode, a difference between a quantized residual derived in an intra prediction mode of the first video block and a prediction of the quantized residual is included in the bitstream; performing the conversion based on the determining; a first syntax element is conditionally included in the bitstream indicating whether a transform skip mode is applied to the first video block based on the determining, in which in the transform skip mode a transform is skipped for a prediction residual; the image region further includes a second image block that is a chroma block; The method further comprises: determining whether the second video block is included in a dual tree structure having separate partition tree structures for a luma component and at least one chroma component during conversion between the second video block and the bitstream of the video; A conversion between the second video block and the bitstream of a previous video is performed based on the determination of whether the second video block is included in the dual tree structure; and whether a fourth syntax element is present in the bitstream indicating application of a first prediction mode to the second video block is based on at least whether the second video block is included in the dual tree structure, and in the first prediction mode, predicted samples of the second video block are derived from blocks of sample values ​​of the same decoded video region as determined by a block vector. A method for processing video data.

2. In response to determining that the differential coding mode is enabled, the transform skip mode is inferred to be applied. The method of claim 1.

3. in response to the differential coding mode being enabled, the first syntax element is excluded from the bitstream. The method of claim 1.

4. whether the first syntax element is included in the bitstream is based on a block size of the first video block. The method of claim 1.

5. whether the first syntax element is included in the bitstream is based on a coding tree structure of the first video block. The method of claim 1.

6. if the first syntax element is absent from the bitstream, the transform skip mode is inferred to be enabled in response to a value of a second syntax element included in the bitstream indicating that the differential coding mode is enabled; the second syntax element is included in the bitstream under conditions including a condition that the size of the first video block is less than or equal to a threshold. The method of claim 1.

7. In response to a value of the second syntax element indicating that the differential coding mode is enabled, a third syntax element is included in the bitstream, the third syntax element indicating that a prediction direction of the differential coding mode for a residual sample applied to the first video block is vertical or horizontal. The method according to claim 6.

8. the difference being represented using a block-based differential pulse coding modulation representation; The method of claim 1.

9. in response to the second video block being included in the dual tree structure, the fourth syntax element is absent from the bitstream; the fourth syntax element is inferred as a particular value indicating that the first prediction mode is disabled; The method of claim 1.

10. if the fourth syntax element is not present in the bitstream, the fourth syntax element is inferred based on a type of a slice that contains at least the second video block. The method of claim 1.

11. If the first prediction mode is applied to the second video block, a candidate list construction process for the first prediction mode is performed, the candidate list construction process comprising: adding at least one spatial candidate to the candidate list; adding at least one history-based motion vector prediction candidate to the candidate list; or adding at least one zero candidate to said candidate list; at least one of The method of claim 1.

12. Adding at least one spatial candidate to the candidate list includes: Checking the availability of spatial candidates in a specific neighboring block A1, the specific neighboring block A1 being adjacent to the second image block at a lower left corner; responsive to the particular neighboring block A1 being available, adding a spatial candidate in the particular neighboring block A1 to the candidate list; checking the availability of spatial candidates in a specific neighboring block B1, the specific neighboring block B1 being adjacent to the second image block at a top right corner; In response to the availability of the particular neighboring block B1, a first redundancy check is performed to ensure that spatial candidates in the particular neighboring block B1 having the same motion information as spatial candidates in the particular neighboring block A1 are excluded from the candidate list. The method of claim 11.

13. The building process further comprises: if after adding the at least one spatial candidate, a size of the candidate list is smaller than a maximum list size allowed for the first prediction mode, adding the at least one history-based motion vector prediction candidate to the candidate list; a second redundancy check is performed to ensure that candidates having the same motion information are excluded from the candidate list when adding the at least one history-based motion vector prediction candidate; The method of claim 11.

14. The building process further comprises: in response to the size of the candidate list being less than a maximum list size allowed for the first prediction mode, adding the at least one zero candidate to the candidate list. The method of claim 11.

15. the transforming includes encoding the video blocks into the bitstream.

15. The method according to any one of claims 1 to 14.

16. the converting includes decoding from the bitstream to the video blocks.

15. The method according to any one of claims 1 to 14.

17. 1. An apparatus for processing video data comprising a processor and a non-transitory memory containing instructions, the instructions, when executed by the processor, causing the processor to: determining whether a differential coding mode is enabled or disabled for a first video block in a video domain of a video during conversion between the first video block and a bitstream of the video, wherein in the differential coding mode, a difference between a quantized residual derived in an intra prediction mode of the first video block and a prediction of the quantized residual is included in the bitstream; performing the conversion based on the determining; a first syntax element is conditionally included in the bitstream indicating whether a transform skip mode is applied to the first video block based on the determining, in which in the transform skip mode a transform is skipped for a prediction residual; the image region further includes a second image block that is a chroma block; The instructions, when executed by the processor, further cause the processor to: determining whether the second video block is included in a dual tree structure having separate partition tree structures for a luma component and at least one chroma component during conversion between the second video block and the bitstream of the video; A conversion between the second video block and the bitstream of a previous video is performed based on the determination of whether the second video block is included in the dual tree structure; and whether a fourth syntax element is present in the bitstream indicating application of a first prediction mode to the second video block is based on at least whether the second video block is included in the dual tree structure, and in the first prediction mode, predicted samples of the second video block are derived from blocks of sample values ​​of the same decoded video region as determined by a block vector. Device.

18. A non-transitory computer-readable storage medium storing instructions that cause a processor to: determining whether a differential coding mode is enabled or disabled for a first video block in a video domain of a video during conversion between the first video block and a bitstream of the video, wherein in the differential coding mode, a difference between a quantized residual derived in an intra prediction mode of the first video block and a prediction of the quantized residual is included in the bitstream; performing the conversion based on the determining; a first syntax element is conditionally included in the bitstream indicating whether a transform skip mode is applied to the first video block based on the determining, in which in the transform skip mode a transform is skipped for a prediction residual; the image region further includes a second image block that is a chroma block; The instructions further include for the processor to: determining whether the second video block is included in a dual tree structure having separate partition tree structures for a luma component and at least one chroma component during conversion between the second video block and the bitstream of the video; A conversion between the second video block and the bitstream of a previous video is performed based on the determination of whether the second video block is included in the dual tree structure; and whether a fourth syntax element is present in the bitstream indicating application of a first prediction mode to the second video block is based on at least whether the second video block is included in the dual tree structure, and in the first prediction mode, predicted samples of the second video block are derived from blocks of sample values ​​of the same decoded video region as determined by a block vector. A non-transitory computer-readable storage medium.

19. A method for storing a video bitstream, the method comprising: determining whether a differential coding mode is enabled or disabled for a first video block in a video domain of a video during conversion between the first video block and a bitstream of the video, wherein in the differential coding mode, a difference between a quantized residual derived in an intra prediction mode of the first video block and a prediction of the quantized residual is included in the bitstream; generating the bitstream based on said determining; storing the bitstream on a non-transitory computer-readable recording medium; a first syntax element is conditionally included in the bitstream indicating whether a transform skip mode is applied to the first video block based on the determining, in which in the transform skip mode a transform is skipped for a prediction residual; the image region further includes a second image block that is a chroma block; The method further comprises: determining whether the second video block is included in a dual tree structure having separate partition tree structures for a luma component and at least one chroma component during conversion between the second video block and the bitstream of the video; A conversion between the second video block and the bitstream of a previous video is performed based on the determination of whether the second video block is included in the dual tree structure; and whether a fourth syntax element is present in the bitstream indicating application of a first prediction mode to the second video block is based on at least whether the second video block is included in the dual tree structure, and in the first prediction mode, predicted samples of the second video block are derived from blocks of sample values ​​of the same decoded video region as determined by a block vector. method.

Citation Information

Cited By

  • Context coding for transform skip mode

    US12634431B2