Handling of skip mode transitions in video encoding and decoding

By introducing transformation skip mode and transformation type processing methods, the video block conversion process is optimized, solving the problems of redundancy and low efficiency in transformation mode selection in the existing technology, and improving the efficiency and compression performance of video encoding and decoding.

CN115362676BActive Publication Date: 2025-10-28DOUYIN VISION CO LTD +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202180019494.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-03-07
Filing Date
2021-03-08
Publication Date
2025-10-28
Estimated Expiration
2041-03-08

AI Technical Summary

Technical Problem

Existing video codec standards suffer from redundancy and low efficiency in transform mode selection when processing video blocks, especially when processing non-square blocks. Traditional transform modes cannot efficiently utilize the characteristics of video blocks, resulting in low codec efficiency.

Method used

The system introduces methods for handling transform skipping modes and transform types, including rules for using identity transform modes, rules for applying zeroing operations, and optimization of the video block transformation process based on the coefficient determination of representative blocks. It also selects appropriate transform types implicitly and explicitly to reduce redundant syntax encoding and decoding.

Benefits of technology

It improves the efficiency and compression performance of video encoding and decoding, especially when dealing with non-square blocks, reduces redundant syntax encoding and decoding, and enhances the processing capabilities of encoders and decoders.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115362676B_ABST
    Figure CN115362676B_ABST
Patent Text Reader

Abstract

Methods, systems, and apparatus for video processing are described. An example video processing method includes performing a conversion between a current video block and a bitstream of video according to a rule. During this conversion, an identity transformation mode is applied to the current video block, and the rule specifies that a zeroing operation is enabled, during which non-zero coefficients are restricted to sub-regions of the current video block.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] Pursuant to applicable patent law and / or the rules of the Paris Convention, this application claims priority and interest in International Patent Application No. PCT / CN2020 / 078334, filed on March 7, 2020. For all legal purposes, the entire disclosure of the aforementioned application is incorporated herein by reference as a part of the disclosure. Technical Field

[0003] This patent document relates to image encoding and decoding as well as video encoding and decoding. Background Technology

[0004] Digital video accounts for the largest share of bandwidth usage on the Internet and other digital communication networks. As the number of connected user devices capable of receiving and displaying video increases, the bandwidth demand for digital video is expected to continue to grow. Summary of the Invention

[0005] This document discloses techniques that can be used by video encoders and decoders to process the encoded and decoded representation of video using control information useful for decoding the encoded and decoded representation.

[0006] In one example aspect, a video processing method is disclosed. For the conversion between a current video block and the video bitstream, the method determines the use of an identity transformation mode for the conversion of the current video block according to rules specifying that the mode should be used based on representative coefficients of one or more representative blocks of the video. The method also includes performing the conversion based on this determination.

[0007] In another example, a video processing method is disclosed. This method includes a conversion between a current video block and the video bitstream, determining a default transform applicable to the current video block based on a rule that specifies that the identity transform is not used for the conversion of the current video block. The method also includes performing the conversion based on this determination.

[0008] In another example, a video processing method is disclosed. This method includes performing conversions between video and video bitstreams according to rules. These rules specify an indication at the video region level. This indication indicates whether a zeroing operation, which sets some residual coefficients to zero, is applied to the transformed blocks of video blocks within the video region.

[0009] In another example, a video processing method is disclosed. This method includes performing a conversion between a current video block and a bitstream of the video according to a rule. During the conversion, an identity transformation mode is applied to the current video block, and the rule specifies that a zeroing operation is enabled, during which non-zero coefficients are restricted to sub-regions of the current video block.

[0010] In another example, a video processing method is disclosed. The method includes: converting between a current video block and a bitstream of the video; determining the zeroing type of the current video block for a zeroing operation. The method also includes performing a conversion based on the determination. The current video block is encoded and decoded by applying an identity transformation to it. The zeroing type of the video block defines a sub-region of the video block in which non-zero coefficients are restricted to zeroing operations.

[0011] In another example, a video processing method is disclosed. This method includes performing a conversion between a current video block and a video bitstream according to a rule. The rule stipulates that the use of an identity transformation mode to transform the current video block is prohibited if at least one non-zero coefficient lies outside a zeroing region defined by the identity transformation mode. The zeroing region includes areas where non-zero coefficients are restricted from being used for zeroing operations.

[0012] In another example, a video processing method is disclosed. The method includes: converting video blocks of a video to a codec representation of the video; determining, based on a rule, whether a horizontal or vertical identity transformation is applied to the video block; and performing the transformation based on the determination. The rule specifies the relationship between the determination and the representative coefficients of the decoding coefficients from one or more representative blocks of the video.

[0013] In another example, a different video processing method is disclosed. This method includes: converting video blocks to a codec representation of the video; determining, based on a rule, whether a horizontal or vertical identity transformation is applied to the video block; and performing the conversion based on that determination. The rule specifies the relationship between the determination and the decoded luminance coefficients of the video block.

[0014] In another example, a different video processing method is disclosed. This method includes: converting video blocks of a video to their codec representations; determining, based on a rule, whether a horizontal or vertical identity transformation is applied to the video blocks; and performing the transformation based on that determination. The rule specifies the relationship between the determination and a value V, which is associated with decoding coefficients or representative coefficients of a representative block.

[0015] In another example, another video processing method is disclosed. This method includes determining that one or more syntax fields exist in the codec representation of a video, wherein the video contains one or more video blocks; and based on the one or more syntax fields, determining whether a horizontal identity transformation or a vertical identity transformation is enabled on the video blocks in the video.

[0016] In another example, another video processing method is disclosed. This method includes making a first determination regarding whether to enable the use of an identity transformation for the conversion between video blocks and the codec representation of the video; making a second determination regarding whether to enable a zeroing operation during the conversion; and performing the conversion based on the first and second determinations.

[0017] In another example, another video processing method is disclosed. This method includes performing a conversion between video blocks and a codec representation of the video; wherein the video blocks are represented as codec blocks in the codec representation, wherein the non-zero coefficients of the codec blocks are restricted to one or more sub-regions; and wherein an identity transformation is applied to generate the codec blocks.

[0018] In yet another example, a video encoder apparatus is disclosed. The video encoder includes a processor configured to implement the methods described above.

[0019] In yet another example, a video decoder apparatus is disclosed. The video decoder includes a processor configured to implement the methods described above.

[0020] In yet another example, a computer-readable medium on which code is stored is disclosed. This code embodies one of the methods described herein in the form of processor-executable code.

[0021] These and other features are described in this document. Attached Figure Description

[0022] Figure 1 A block diagram of an example video encoder is shown.

[0023] Figure 2 Examples of 67 intra-frame prediction modes are shown.

[0024] Figure 3A An example of a reference sample for wide-angle intra-frame prediction is shown.

[0025] Figure 3B Another example of a reference sample for wide-angle intra-frame prediction is shown.

[0026] Figure 4 The discontinuity problem is shown when the orientation exceeds 45 degrees.

[0027] Figure 5A An example definition of the sample points used by the PDPC applied to diagonal intra-frame mode and adjacent angle intra-frame mode is shown.

[0028] Figure 5B Another example definition of the sample points used by the PDPC applied to diagonal intra-frame mode and adjacent angle intra-frame mode is shown.

[0029] Figure 5C Another example definition of the sample points used by the PDPC applied to diagonal intra-frame mode and adjacent angle intra-frame mode is shown.

[0030] Figure 5D This shows yet another example definition of the samples used by the PDPC applied to diagonal intra-frame mode and adjacent angle intra-frame mode.

[0031] Figure 6 Examples of 4×8 and 8×4 block partitioning are shown.

[0032] Figure 7 Examples of block partitioning are shown for all blocks except 4×8, 8×4, and 4×4.

[0033] Figure 8 An example of a quadratic transformation in JEM is shown.

[0034] Figure 9 An example of the simplified quadratic transformation LFNST is shown.

[0035] Figure 10A An example of positive simplification transformation is shown.

[0036] Figure 10B An example of the inverse reduction transformation is shown.

[0037] Figure 11 An example of a positive LFNST8×8 process with a 16×48 matrix is ​​shown.

[0038] Figure 12 Examples of scan positions 17 to 64 for non-zero elements are shown.

[0039] Figure 13 Examples of subblock transformation modes SBT-V and SBT-H are shown.

[0040] Figure 14A An example of Scan Region Based Coefficient Coding (SRCC) is shown.

[0041] Figure 14B Another example of scan region-based coefficient encoding and decoding (SRCC) is shown.

[0042] Figure 15A Example constraints of IST based on the position of non-zero coefficients are shown.

[0043] Figure 15B Another example constraint of IST based on the position of non-zero coefficients is shown.

[0044] Figure 16A An example of a zeroed-type TS codec block is shown.

[0045] Figure 16B Another example of a zeroed-type TS codec block is shown.

[0046] Figure 16C Another example of a zeroed-type TS codec block is shown.

[0047] Figure 16D Another zero-type TS codec block is shown.

[0048] Figure 17 This is a block diagram of an example video processing system.

[0049] Figure 18 This is a block diagram illustrating a video encoding / decoding system according to some embodiments of the present disclosure.

[0050] Figure 19 This is a block diagram illustrating an encoder according to some embodiments of the present disclosure.

[0051] Figure 20 This is a block diagram illustrating a decoder according to some embodiments of the present disclosure.

[0052] Figure 21 This is a block diagram of a video processing device.

[0053] Figure 22 This is a flowchart of an example method for video processing.

[0054] Figure 23 This is a flowchart representation of the video processing method based on this technology.

[0055] Figure 24 This is a flowchart representation of another video processing method based on this technology.

[0056] Figure 25 This is a flowchart representation of another video processing method based on this technology.

[0057] Figure 26 This is a flowchart representation of another video processing method based on this technology.

[0058] Figure 27 This is a flowchart representation of another video processing method based on this technology.

[0059] Figure 28 This is a flowchart representation of another video processing method based on this technology.

[0060] Figure 29 This is a flowchart representation of another video processing method based on this technology. Detailed Implementation

[0061] The use of section headings in this document is for ease of understanding and does not limit the application of the technologies and embodiments disclosed in each section to that section only. Furthermore, the use of H.266 terminology in some specifications is merely for ease of understanding and not to limit the scope of the disclosed technologies. Thus, the technologies described herein are also applicable to other video codec protocols and designs.

[0062] 1. Overview

[0063] This document relates to video codec technology. Specifically, it covers transform skipping modes and transform types (e.g., identity transform) in video codecs. It can be applied to existing video codec standards (e.g., HEVC) or upcoming standards (General Video Codec). It can also be applied to future video codec standards or video codecs.

[0064] 2. Preliminary Discussion

[0065] Video codec standards have primarily evolved through the development of well-known ITU-T and ISO / IEC standards. ITU-T developed H.261 and H.263, while ISO / IEC developed MPEG-1 and MPEG-4. These two organizations jointly developed the H.262 / MPEG-2 video and H.264 / MPEG-4 Advanced Video Coding (AVC) standards, as well as the H.265 / HEVC standard. Since H.262, video codec standards have been based on a hybrid video codec architecture, utilizing temporal prediction plus transform coding. To explore future video codec technologies beyond HEVC, VCEG and MPEG jointly established the Joint Video Exploration Team (JVET) in 2015. Since then, JVET has adopted many new methods and incorporated them into reference software called the Joint Exploration Model (JEM). In April 2018, the Joint Video Experts Group (JVET) between VCEG (Q6 / 16) and ISO / IEC JTC1 SC29 / WG11 (MPEG) was established to work on the VVC (Versatile Video Coding) standard, with the goal of reducing the bit rate by 50% compared to HEVC.

[0066] 2.1. Encoding and decoding process of a typical video codec

[0067] Figure 1An example of a VVC encoder block diagram is shown, comprising three in-loop filtering blocks: Deblocking Filter (DF), Sample Adaptive Offset (SAO), and ALF. Unlike DF, which uses predefined filters, SAO and ALF utilize the raw samples of the current image, signaling the offset and filter coefficients with encoding / decoding side information. They reduce the mean square error between the raw and reconstructed samples by adding an offset and by applying a Finite Impulse Response (FIR) filter, respectively. ALF is the last processing stage for each image and can be viewed as a tool attempting to capture and repair artifacts created in previous stages.

[0068] 2.2. Intra-mode encoding and decoding with 67 intra-prediction modes

[0069] To capture arbitrary edge directions presented in natural video, the number of intra-frame directional modes has been expanded from the 33 used in HEVC to 65. Additional directional modes include... Figure 2 The dashed arrows in the diagram depict this, and the planar and DC modes remain unchanged. These dense directional intra-prediction modes are applicable to all block sizes as well as luma and chroma intra-prediction.

[0070] Traditional intra-frame prediction direction is defined as ranging from 45 degrees to -135 degrees in a clockwise direction, such as... Figure 2 As shown. In VTM2, for non-square blocks, several traditional angular intra-prediction modes are adaptively replaced with wide-angle intra-prediction modes. The replaced modes are signaled using the original method and remapped to the wide-angle mode index after parsing. The total number of intra-prediction modes remains unchanged, for example, 67, and the intra-mode encoding and decoding remain unchanged.

[0071] In HEVC, each intra-codec block has a square shape, with each side's length being a power of 2. Therefore, division is unnecessary for generating intra-prediction values ​​using DC mode. In VVV2, blocks can have rectangular shapes, which typically requires division for each block. To avoid division for DC prediction, only the longer sides are used to calculate the average of non-square blocks.

[0072] 2.3. Wide-angle intra-frame prediction for non-rectangular blocks

[0073] Traditional angular intra-prediction directions are defined clockwise from 45 degrees to -135 degrees. In VTM2, for non-square blocks, several traditional angular intra-prediction modes are adaptively replaced with wide-angle intra-prediction modes. The replaced modes are communicated using the original method signaling and remapped to the wide-angle mode index after resolution. The total number of intra-prediction modes for a given block remains unchanged, for example, 67, and the intra-mode encoding and decoding remain unchanged.

[0074] To support these predicted directions, a top reference of length 2W+1 and a left reference of length 2H+1 are defined as follows: Figures 3A to 3B As shown.

[0075] The number of replacement modes in wide-angle directional mode depends on the aspect ratio of the block. Table 1 shows the intra-prediction modes for replacement.

[0076] Table 1: Intra-prediction modes replaced by wide-angle mode

[0077]

[0078]

[0079] like Figure 4 As shown, in the case of wide-angle intra-frame prediction, two vertically adjacent prediction samples can use two non-adjacent reference samples. Therefore, low-pass reference sample filtering and side smoothing are applied to wide-angle prediction to reduce the increased gap Δp. α The negative impact.

[0080] 2.4. Location-dependent intra-frame prediction combination

[0081] In VTM2, the intra-prediction results for planar modes are further modified using the position-dependent intraprediction combination (PDPC) method. PDPC is an intra-prediction method that combines unfiltered boundary reference samples with HEVC-style intra-prediction using filtered boundary reference samples. PDPC is applied to the following intra-modal modes without signaling notification: planar, DC, horizontal, vertical, lower left angle mode and its eight adjacent angle modes, and upper right angle mode and its eight adjacent angle modes.

[0082] Using a linear combination of intra-frame prediction modes (DC, plane, angle) and reference samples, the prediction sample pred(x,y) is predicted according to the following equation:

[0083] pred(x,y)=(wL×R -1,y +wT×R x,-1 –wTL×R -1,-1 +(64–wL–wT+wTL)×pred(x,y)+32)>>6

[0084] Where R x,-1 R -1,y R represents the reference sample points located at the top and left of the current sample point (x,y), respectively. -1,-1 This represents the reference sample point located at the top left corner of the current block.

[0085] If PDPC is applied to DC intra-frame mode, planar intra-frame mode, horizontal intra-frame mode, and vertical intra-frame mode, no additional boundary filtering is required, but it is required in the case of HEVC DC mode boundary filtering or horizontal / vertical mode edge filtering.

[0086] Figures 5A to 5D Reference samples (R) of PDPC applied to various prediction modes are shown. x,-1 ,R -1,y and R -1,-1 The definition of ). The predicted sample point pred(x',y') is located at (x',y') within the prediction block. The reference sample point R. x,-1 The coordinates x are given by the following formula: x = x' + y' + 1, with reference sample point R. -1,y The coordinates y are similarly given by the following formula: y = x' + y' + 1. Figure 5A The top-right diagonal pattern is shown. Figure 5B The bottom left diagonal pattern is shown. Figure 5C The adjacent diagonal top right pattern is shown. Figure 5D This shows an adjacent diagonal bottom left pattern.

[0087] The PDPC weights depend on the prediction pattern, as shown in Table 2.

[0088] Table 2: Examples of PDPC weights based on prediction patterns

[0089]

[0090]

[0091] 2.5. Intra-frame sub-block segmentation (ISP)

[0092] In some embodiments, an ISP is proposed, which divides the luminance intra-frame prediction block vertically or horizontally into 2 sub-segments or 4 sub-segments based on the block size dimension, as shown in Table 3. Figure 6 and Figure 7 Examples of two possibilities are shown. All sub-segments satisfy the condition of having at least 16 samples.

[0093] Table 3: The number of sub-segments depends on the block size.

[0094] Block size Number of sub-segments 4×4 Undivided 4×8 and 8×4 2 All other cases 4

[0095] For each of these sub-segments, a residual signal is generated by entropy decoding of the coefficients transmitted by the encoder, followed by inverse quantization and inverse transform. The sub-segment is then intra-predicted, and the corresponding reconstructed samples are finally obtained by adding the residual signal to the predicted signal. Thus, the reconstructed values ​​of each sub-segment can be used to generate the next prediction, and this process is repeated. All sub-segments share the same intra-frame mode.

[0096] Based on the intra-frame mode and the partitions used, two different types of processing orders are employed, referred to as the normal order and the reverse order. In the normal order, the first sub-segment to be processed is the one containing the top-left sample of the CU, then it continues downwards (horizontal partitioning) or to the right (vertical partitioning). As a result, the reference samples used to generate the sub-segment prediction signal are located only to the left and above these lines. On the other hand, the reverse processing order starts with the sub-segment containing the bottom-left sample of the CU and continues upwards, or starts with the sub-segment containing the top-right sample of the CU and continues to the left.

[0097] 2.6. Multiple Transform Set (MTS)

[0098] In addition to DCT-II, which is already used in HEVC, the Multiple Transform Selection (MTS) scheme is used for residual coding and decoding of both inter-frame and intra-frame codec blocks. It uses multiple transforms selected from DCT8 / DST7. The newly introduced transform matrices are DST-VII and DCT-VIII. Table 4 shows the basis functions of the selected DST / DCTs.

[0099] Table 4: Transformation Types and Basis Functions

[0100]

[0101] There are two ways to enable MTS: explicit MTS and implicit MTS.

[0102] 2.6.1. Implicit MTS

[0103] Implicit MTS is a new tool in VVC. The derivation of the variable implicitMtsEnabled is as follows:

[0104] Whether implicit MTS is enabled depends on the value of the variable implicitMtsEnabled. The derivation of the variable implicitMtsEnabled is as follows:

[0105] – If sps_mts_enabled_flag equals 1, and one or more of the following conditions are true, then implicitMtsEnabled is set to equal to 1:

[0106] –IntraSubPartitionsSplitType is not equal to ISP_NO_SPLIT (i.e., ISP is enabled).

[0107] –cu_sbt_flag equals 1 (i.e., ISP is enabled), and Max(nTbW, nTbH) is less than or equal to 32.

[0108] –sps_explicit_mts_intra_enabled_flag equals 0 (i.e., explicit MTS is disabled), CuPredMode[0][xTbY][yTbY] equals MODE_INTRA, and lfnst_idx[x0][y0] equals 0, and intra_mip_flag[x0][y0] equals 0.

[0109] Otherwise, implicitMtsEnabled is set to 0.

[0110] The derivation of the variable trTypeHor, which defines the horizontal transform kernel, and the variable trTypeVer, which defines the vertical transform kernel, is as follows:

[0111] – Set trTypeHor and trTypeVer to 0 if one or more of the following conditions are true (e.g., DCT2).

[0112] –cIdx is greater than 0 (i.e., for the chromaticity component).

[0113] –IntraSubPartitionsSplitType is not equal to ISP_NO_SPLIT, lfnst_idx is not equal to 0

[0114] Otherwise, if implicitMtsEnabled equals 1, the following applies:

[0115] – If cu_sbt_flag equals 1, then trTypeHor and trTypeVer are specified in Table 40 according to cu_sbt_horizontal_flag and cu_sbt_pos_flag.

[0116] Otherwise (cu_sbt_flag equals 0), the derivation of trTypeHor and trTypeVer is as follows:

[0117] trTypeHor=(nTbW>=4&&nTbW<=16)? 1:0(1188)

[0118] trTypeVer=(nTbH>=4&&nTbH<=16)? 1:0(1189)

[0119] Otherwise, trTypeHor and trTypeVer are specified in Table 39 according to mts_idx.

[0120] The derivation of variables nonZeroW and nonZeroH is as follows:

[0121] – If ApplyLfnstFlag equals 1, nTbW is greater than or equal to 4, and nTbH is greater than or equal to 4, then the following conditions apply:

[0122] nonZeroW=(nTbW==4||nTbH==4)? 4:8 (1190)

[0123] nonZeroH=(nTbW==4||nTbH==4)? 4:8 (1191)

[0124] Otherwise, the following applies:

[0125] nonZeroW=Min(nTbW,(trTypeHor>0)?16:32) (1192)

[0126] nonZeroH=Min(nTbH,(trTypeVer>0)?16:32) (1193)

[0127] 2.6.2. Explicit MTS

[0128] To control the MTS scheme, a flag is used to specify whether explicit MTS exists in the bitstream for intra / inter-frame use. Additionally, two separate enable flags are specified at the SPS level for intra-frame and inter-frame use respectively to indicate whether explicit MTS is enabled. When MTS is enabled at SPS, the CU-level transform index can be signaled to indicate whether MTS should be applied. Here, MTS applies only to luma. The MTS CU-level index (represented by mts_idx) is signaled when the following conditions are met.

[0129] - Width and height are both less than or equal to 32

[0130] -CBF brightness mark equals one

[0131] -Non-TS

[0132] -Non-ISP

[0133] -Non-SBT

[0134] -LFNST is disabled

[0135] - There exists a non-zero coefficient that is not at the DC position (top left of the block).

[0136] - There are no non-zero coefficients outside the 16×16 region at the top left.

[0137] If the first bit of `mts_idx` is zero, DCT2 applies in both directions. However, if the first bit of `mts_idx` is one, additional signaling informs the other two bits to indicate the transform type in the horizontal and vertical directions, respectively. The transform and signaling mapping table is shown in Table 5. For transform matrix precision, an 8-bit master transform kernel is used. Therefore, all transform kernels used in HEVC remain unchanged, including 4-point DCT-2 and DST-7, 8-point DCT-2, 16-point DCT-2, and 32-point DCT-2. Furthermore, other transform kernels, including 64-point DCT-2, 4-point DCT-8, 8-point, 16-point, 32-point DST-7, and DCT-8, use an 8-bit master transform kernel.

[0138] Table 5: Signaling Notifications of MTS

[0139]

[0140] To reduce the complexity of large-sized DST-7 and DCT-8 blocks, the high-frequency transform coefficients are set to zero for DST-7 and DCT-8 blocks with a size (width or height, or both) equal to 32. Only the coefficients in the 16×16 low-frequency region are retained.

[0141] In HEVC, for example, block residuals can be encoded and decoded using transform skip mode. To avoid redundancy in syntax encoding and decoding, the transform skip flag is not signaled when the CU level MTS_CU_flag is not equal to zero. The block size limit for transform skip is the same as the block size limit for MTS in JEM4, which indicates that transform skip applies to the CU when both the block width and block height are equal to or less than 32.

[0142] 2.6.3. Zeroing in MTS

[0143] In VTM8, large block size transforms up to 64×64 are enabled, primarily for higher resolution video, such as 1080p and 4K sequences. For transform blocks with a size (width or height, or both) of 64 or more, the high-frequency transform coefficients of the block to which DCT2 transform is applied are set to zero, thus retaining only the low-frequency coefficients, and all other coefficients are forced to zero without signaling notification. For example, for an M×N transform block, where M is the block width and N is the block height, when M is not less than 64, only the left 32 columns of transform coefficients are retained. Similarly, when N is not less than 64, only the first 32 rows of transform coefficients are retained.

[0144] For transform blocks with dimensions (width or height, or both) not less than 32, the high-frequency transform coefficients of blocks to which DCT8 or DST7 transform is applied are set to zero, thus retaining only the low-frequency coefficients, while all other coefficients are forced to zero without being notified. For example, for an M×N transform block, where M is the block width and N is the block height, when M is not less than 32, only the left 16 columns of transform coefficients are retained. Similarly, when N is not less than 32, only the first 16 rows of transform coefficients are retained.

[0145] 2.7. Low-frequency non-separable secondary transform (LFNST)

[0146] 2.7.1. JEM Non-Separable Secondary Transform (NSST)

[0147] In JEM, a quadratic transform is applied between the forward master transform and quantization (at the encoder) and between the dequantization and inverse master transform (at the decoder). For example... Figure 8 As shown, a 4×4 (or 8×8) quadratic transformation is performed based on the block size. For example, for each 8×8 block, the 4×4 quadratic transformation is applied to the smaller block (e.g., min(width, height) < 8), and the 8×8 quadratic transformation is applied to the larger block (e.g., min(width, height) > 4).

[0148] The following uses the input as an example to illustrate the application of the inseparable transformation. To apply the inseparable transformation, a 4×4 input block X...

[0149]

[0150] It is first represented as a vector

[0151]

[0152] The inseparable transformation is calculated as in This indicates the transformation coefficient vector, and T is a 16x16 transformation matrix. The 16x1 coefficient vector is then transformed using the scan order of this block (horizontal, vertical, or diagonal). Reorganized into 4x4 blocks. Coefficients with smaller indices are placed in the 4x4 coefficient block together with smaller scan indices. There are a total of 35 transform sets, and each transform set uses 3 non-separable transform matrices (kernels). The mapping from the intra prediction mode to the transform set is predefined. For each transform set, the selected non-separable quadratic transform candidate is further specified by a quadrature transform index signaled explicitly. After the transform coefficients, this index is signaled once per frame per CU in the bitstream.

[0153] 2.7.2. Reduced Secondary Transform (LFNST)

[0154] In some embodiments, LFNST is introduced and a 4-transform-set (instead of 35 transform sets) mapping is used. In some implementations, 16×64 (which can be further reduced to 16×48) matrices and 16×16 matrices are used for 8×8 blocks and 4×4 blocks respectively. For ease of annotation, the 16×64 (which can be further reduced to 16×48) transform is denoted as LFNST8×8, and the 16×16 transform is denoted as LFNST4×4. Figure 9 An example of LFNST is shown.

[0155] LFNST calculation

[0156] The main idea of the reduction transform (RT) is to map an N-dimensional vector to an R-dimensional vector in a different space, where R / N (R < N) is the reduction factor.

[0157] The RT matrix is an R×N matrix as follows:

[0158]

[0159] where the R rows of the transform are the R bases of the N-dimensional space. The inverse transform matrix of RT is the transpose of its forward transform. The forward RT and the inverse RT are as Figure 10A and Figure 10B depicted.

[0160] In this proposal, a reduction factor of 4 (1 / 4 size) is applied to LFNST 8×8. Therefore, instead of 64×64, a 16×64 direct matrix is ​​used, which is the traditional size of an 8×8 inseparable transform matrix. In other words, a 64×16 inverse LFNST matrix is ​​used on the decoder side to generate the core (first) transform coefficients in the top-left region of the 8×8. Positive LFNST 8×8 uses a 16×64 (or 8×64 for 8×8 blocks) matrix such that it produces non-zero coefficients only in the top-left 4×4 region of a given 8×8 region. In other words, if LFNST is applied, the 8×8 region outside the top-left 4×4 region will only have zero coefficients. For LFNST 4×4, 16×16 (or 8×16 for 4×4 blocks) direct matrix multiplication is applied.

[0161] The inverse LFNST is conditionally applied when the following two conditions are met:

[0162] a. Block size is greater than or equal to a given threshold (W>=4 && H>=4)

[0163] b. The transition skip mode flag is equal to zero.

[0164] If both the width (W) and height (H) of the transform coefficient block are greater than 4, then LFNST 8x8 is applied to the top-left 8×8 region of the transform coefficient block. Otherwise, LFNST 4x4 is applied to the top-left min(8,W)×min(8,H) region of the transform coefficient block.

[0165] If the LFNST index is equal to 0, then LFNST is not applied. Otherwise, LFNST is applied, and its core is selected along with the LFNST index. The LFNST selection method and the encoding / decoding of the LFNST index will be explained later.

[0166] In addition, LFNST is applied to intra-frame CUs in intra-frame and inter-frame stripes, as well as luma and chroma. If dual-tree is enabled, the LFNST indexes for luma and chroma are signaled separately. For inter-frame stripes (where dual-tree is disabled), a single LFNST index is signaled and used for luma and chroma.

[0167] At the 13th JVET conference, Intra-Frame Sub-Segmentation (ISP) was adopted as a new intra-frame prediction mode. When ISP mode is selected, LFNST is disabled, and the LFNST index is not signaled because the performance improvement is limited even if LFNST is applied to every feasible segmentation block. Furthermore, disabling LFNST on the residuals of ISP predictions reduces coding complexity.

[0168] LFNST selection

[0169] The LFNST matrix is ​​selected from four transform sets, each consisting of two transforms. Which transform set is applied is determined by the intra-prediction mode, as follows:

[0170] 1) If one of the three CCLM modes is indicated, then select transform set 0.

[0171] 2) Otherwise, perform the transformation set selection according to Table 6.

[0172] Table 6: Transform Set Selection Table

[0173] IntraPredMode Tr. set index IntraPredMode<0 1 0<=IntraPredMode<=1 0 2<=IntraPredMode<=12 1 13<=IntraPredMode<=23 2 24<=IntraPredMode<=44 3 45<=IntraPredMode<=55 2 56<=IntraPredMode 1

[0174] The index of the access table, denoted as IntraPredMode, ranges from [-14, 83], and is the transform mode index used for wide-angle intra-frame prediction.

[0175] reduce LFNST matrix of dimension

[0176] For further simplification, a 16×48 matrix is ​​used instead of a 16×64 matrix with the same transformation set configuration. Each matrix obtains 48 input data points from three 4×4 blocks, excluding the bottom right 4×4 block from the top left 8×8 block. Figure 11 ).

[0177] LFNST signaling

[0178] A positive LFNST 8×8 with R=16 uses a 16×64 matrix, therefore it produces non-zero coefficients only in the top-left 4×4 region of a given 8×8 region. In other words, if LFNST is applied, the 8×8 region produces only zero coefficients except for the top-left 4×4 region. Therefore, when the top-left 4×4 region is excluded (e.g., ... Figure 12 When any non-zero element is detected in an 8×8 block region outside of the one shown in the diagram, the LFNST index is not encoded or decoded because this means that no LFNST has been applied. In this case, the LFNST index is inferred to be zero.

[0179] Zeroing range

[0180] Normally, any coefficient in a 4×4 subblock can be nonzero before applying the inverse LFNST to it. However, in some cases, there are constraints that some coefficients in the 4×4 subblock must be zero before applying the inverse LFNST to it.

[0181] Let nonZeroSize be a variable. Any coefficient with an index not less than nonZeroSize must be zero when rearranging it into a 1-D array before inverting LFNST.

[0182] When nonZeroSize equals 16, the coefficients in the top left 4×4 sub-block have no zeroing constraint.

[0183] In some examples, nonZeroSize is set to 8 when the current block size is 4×4 or 8×8. For other block sizes, nonZeroSize is set to 16.

[0184] 2.8. Affine linear weighted intra prediction (ALWIP, also known as matrix-based intra prediction)

[0185] In some embodiments, alpha-based weighted intra prediction (ALWIP, also known as matrix-based intra prediction (MIP)) is used.

[0186] In some embodiments, two tests are performed. In Test 1, ALWIP is designed with an 8KB memory limit and a maximum of 4 multiplications per sample. Test 2 is similar to Test 1, but with a further simplified design in terms of memory requirements and model architecture.

[0187] • A single set of matrices and offset vectors for all block shapes.

[0188] • The number of patterns for all block shapes has been reduced to 19.

[0189] • Reduce memory requirements to 5760 10-bit values, or 7.20 kilobytes.

[0190] • Linear interpolation of the predicted samples is performed in a single step in each direction, instead of iterative interpolation in the first test.

[0191] 2.9. Sub-block Transformation

[0192] For an inter-frame prediction CU with a cu_cbf equal to 1, the cu_sbt_flag can be signaled to indicate whether to decode the entire residual block or a sub-part of the residual block. In the former case, the inter-frame MTS information is further parsed to determine the transform type of the CU. In the latter case, a portion of the residual block is encoded and decoded using the inferred adaptive transform, and the other portion of the residual block is set to zero. SBT is not applied to combined inter-frame and intra-frame modes.

[0193] In the sub-block transformation, a position-dependent transformation is applied to the luma transform blocks in SBT-V and SBT-H (chroma TB always uses DCT-2). The two positions in SBT-H and SBT-V are associated with different kernel transforms. More specifically, the horizontal and vertical transforms at each SBT position are... Figure 13The rules specify that, for example, the horizontal and vertical transformations for SBT-V position 0 are DCT-8 and DST-7, respectively. When one side of the residual TU is greater than 32, the corresponding transformation is set to DCT-2. Therefore, the sub-block transformation joint specifies TU tiling, cbf, and the horizontal and vertical transformations of the residual block, which can be considered a syntax shortcut for cases where the main residual of the block is on one side of the block.

[0194] 2.10. Scan Region-Based Coefficient Encoding / Decoding (SRCC)

[0195] SRCC has been adopted by AVS-3. Regarding SRCC, such as... Figures 14A to 14B The lower right position (SRx, SRy) shown in the diagram is signaled, and only the coefficients within the rectangle with its four corners (0, 0), (SRx, 0), (0, SRy), and (SRx, SRy) are scanned and signaled. All coefficients outside the rectangle are zero.

[0196] 2.11. Implicit Selection of Transform (IST)

[0197] As disclosed in PCT / CN2019 / 090261 (included herein by reference), an implicit choice of the transformation solution is given, wherein the choice of the transformation matrix (DCT2 for horizontal and vertical transformations, or DST7 for both) is determined by the parity of the non-zero coefficients in the transformation block.

[0198] The proposed method is applied to the luminance component of intra-frame encoded blocks, excluding those encoded using DT, and allows block sizes from 4×4 to 32×32. The transform type is hidden in the transform coefficients. Specifically, the parity of the number of valid coefficients (e.g., non-zero coefficients) in a block is used to indicate the transform type. Odd numbers indicate the application of DST-VII, and even numbers indicate the application of DCT-II.

[0199] To eliminate the 32-point DST-7 introduced by IST, it is proposed that the use of IST be limited based on the remaining scan area when using SRCC. For example... Figures 15A to 15B As shown, IST is not allowed when the x-coordinate or y-coordinate of the lower right position in the remaining scan area is not less than 16. That is to say, in this case, DCT-II is applied directly.

[0200] In another scenario, when using run-length coefficient encoding / decoding, each non-zero coefficient needs to be checked. IST is not allowed when the x-coordinate or y-coordinate of a non-zero coefficient position is not less than 16.

[0201] The corresponding grammatical changes are indicated by bold, italic, and underlined text, as shown below:

[0202]

[0203]

[0204]

[0205]

[0206] 3. Examples of technical problems solved by publicly available technical solutions

[0207] The current designs of IST and MTS have the following problems:

[0208] 1. In VVC, the TS mode is signaled at the block level. However, while DCT2 and DST7 work well for residual blocks in camera-captured sequences, the Transition Skip (TS) mode is used more frequently for video with screen content compared to DST7. Further research is needed on how to more effectively determine the use of the TS mode.

[0209] 2. In VVC, the maximum allowed TS block size is set to 32×32. How to support large TS blocks requires further investigation.

[0210] 4. Example technologies and implementation examples

[0211] The items listed below should be considered as examples for explaining general concepts. These items should not be interpreted in a narrow way. Furthermore, these items can be combined in any way.

[0212] min(x, y) yields the smaller of x and y.

[0213] Implicit determination of transformation skip mode / identity transformation

[0214] A method is proposed to determine whether to apply a horizontal and / or vertical identity transform (IT) (e.g., transform skip mode) to the current first block based on the decoding coefficients of one or more representative blocks. This method is called "implicit determination of IT". When both the horizontal and vertical transforms are IT, the transform skip (TS) mode is applied to the current first block.

[0215] A “block” can be a transform unit (TU) / prediction unit (PU) / encoder / decoder unit (CU) / transform block (TB) / prediction block (PB) / encoder / decoder block (CB). A TU / PU / CU can include one or more color components, such as a luma-only component for a two-tree segment, where the currently encoded color component is luma; and two chroma components for a two-tree segment, where the currently encoded color component is chroma; or three color components for a single-tree case.

[0216] 1. Decoding coefficients can be associated with one or more representative blocks of the same or different color components of the current block.

[0217] a. In one example, the representative block is the first block, and the decoding coefficients associated with the first block are used to determine the use of IT in the first block.

[0218] b. In one example, the determination of which IT is used for the first block may depend on the decoding coefficients of multiple blocks, including at least one block different from the first block.

[0219] i. In one example, multiple blocks may include the first block.

[0220] ii. In one example, multiple blocks may include one or more blocks that are adjacent to the first block.

[0221] iii. In one example, multiple blocks may include one or more blocks having the same block dimension as the first block.

[0222] iv. In one example, multiple blocks may include the last N decoded blocks that precede the first block in decoding order and satisfy certain conditions (such as having the same prediction mode as the current block, e.g., all intra-frame codecs or IBC codecs, or having the same dimensions as the current block). N is an integer greater than 1.

[0223] v. In one example, multiple blocks may include one or more blocks that have a different color component than the first block.

[0224] 1) In one example, the first block can be in the luminance component. Multiple blocks can include blocks in the chrominance components (e.g., a second block in the Cb / B component and a third block in the Cr / R component).

[0225] a) In one example, the three blocks are in the same codec unit.

[0226] b) In addition, optionally, implicit MTS is applied only to the luma block and not to the chroma block.

[0227] 2) In one example, the first block in the first color component and the multiple blocks included in the multiple blocks that are not in the first color component can be in corresponding or juxtaposed positions in the image.

[0228] 2. The decoding coefficients used to determine the use of IT are called representative coefficients.

[0229] a. In one example, the representative coefficients only include coefficients that are not equal to zero (referred to as effective coefficients).

[0230] b. In one example, the representativeness coefficient can be modified before it is used to determine the use of IT.

[0231] i. For example, representativeness coefficients can be calibrated before being used to derive the transform.

[0232] ii. For example, representativeness coefficients can be scaled before being used to derive the transformation.

[0233] iii. For example, the representativeness coefficient can be offset before it is used to derive the transformation.

[0234] iv. For example, representativeness coefficients can be filtered before being used to derive the transform.

[0235] v. For example, coefficients or representative coefficients can be mapped to other values ​​(e.g., by lookup tables or dequantization) before being used to derive a transformation.

[0236] c. In one example, the representative coefficients are all the significant coefficients in the representative block.

[0237] d. Alternatively, the representativeness coefficient is a portion of the effective coefficients in the representative block.

[0238] i. In one example, the representative coefficients are those odd-numbered valid decoding coefficients.

[0239] 1) Optionally, the representative coefficients are those even-numbered valid decoding coefficients.

[0240] ii. In one example, the representative coefficients are those valid decoding coefficients that are greater than or not less than the threshold.

[0241] 1) Optionally, representative coefficients are those effective decoding coefficients whose amplitude is greater than or not less than a threshold.

[0242] iii. In one example, the representative coefficients are those valid decoding coefficients that are less than or no greater than the threshold.

[0243] 1) Optionally, representative coefficients are those effective decoding coefficients whose amplitude is less than or not greater than the threshold.

[0244] iv. In one example, the representative coefficients are the first K (K>=1) valid decoded coefficients in the decoding order.

[0245] v. In one example, the representative coefficients are the last K (K>=1) valid decoded coefficients in the decoding order.

[0246] vi. In one example, the representativeness coefficient can be the coefficient at a predefined location within the block.

[0247] 1) In one example, the representativeness coefficient may include only one coefficient relative to the representative block at the coordinates (xPos, yPos). For example, xPos = yPos = 0.

[0248] 2) In one example, the representativeness coefficient may include only one coefficient relative to the representative block at coordinates (xPos, yPos). And xpo and / or ypo satisfy the following condition:

[0249] a) In one example, xPos is not greater than the threshold Tx (e.g., 31) and / or yPos is not greater than the threshold Ty (e.g., 31).

[0250] b) In one example, xPos is not less than the threshold Tx (e.g., 32) and / or yPos is not less than the threshold Ty (e.g., 32).

[0251] 3) For example, the location can depend on the dimensions of the block.

[0252] vii. In one example, representative coefficients can be those coefficients at predefined positions in the coefficient scan order.

[0253] e. Alternatively, the representativeness coefficient may also include those with zero coefficients.

[0254] f. Alternatively, the representative coefficients may be coefficients derived from the decoded coefficients, such as by limiting to a range, or by quantization.

[0255] g. In one example, the representative coefficient can be the coefficient preceding the last effective coefficient (which may include the last effective coefficient).

[0256] 3. The determination of whether to use IT for the first block may depend on the decoding luminance coefficient of the first block.

[0257] a. In addition, optionally, the use of a specific IT is applied only to the luminance component of the first block, while DCT2 is always used for the chrominance component of the first block.

[0258] b. Alternatively, the determined IT is applied to all color components of the first block. That is, the same transformation matrix is ​​applied to all color components of the first block.

[0259] 4. The determination of the use of IT can depend on a function of representativeness coefficients, such as a function that uses representativeness coefficients as input and value V as output.

[0260] a. In one example, V is derived as the number of representative coefficients.

[0261] i. Optionally, V is derived as the sum of representative coefficients.

[0262] 1) Optionally, V is derived as the sum of the levels (or absolute values) of the representative coefficients.

[0263] 2) Optionally, V can be derived as a level (or absolute value) of a representative coefficient (such as the last one).

[0264] 3) Optionally, V can be derived as the number of representative coefficients of even levels.

[0265] 4) Optionally, V can be derived as the number of representative coefficients of odd level.

[0266] 5) In addition, optionally, the sum can be limited to derive V.

[0267] ii. Alternatively, V is derived as the output of a function, where the function defines the residual energy distribution.

[0268] 1) In one example, the function returns the ratio of the sum of the absolute values ​​of the partial representative coefficients to the absolute values ​​of all representative coefficients.

[0269] 2) In one example, the function returns the ratio of the sum of squares of the absolute values ​​of the partial representative coefficients to the sum of squares of the absolute values ​​of all representative coefficients.

[0270] iii. Alternatively, V is derived as whether at least one representative coefficient is located outside a subregion of the representative block.

[0271] 1) In one example, a subregion is defined as the top left subregion of the representative block, for example, the top left quarter of the representative block.

[0272] b. In one example, the determination of the use of IT may depend on the parity of V.

[0273] i. For example, if V is even, then IT is used; but if V is odd, then IT is not used.

[0274] 1) Optionally, if V is even, use IT; if V is odd, do not use IT.

[0275] ii. In one example, if V is less than threshold T1, then IT is used; but if V is greater than threshold T2, then IT is not used.

[0276] 1) Optionally, if V is greater than threshold T1, then IT is used; if V is less than threshold T2, then IT is not used.

[0277] iii. For example, the threshold can depend on encoding / decoding information, such as block dimension and prediction mode.

[0278] iv. For example, the threshold can depend on QP.

[0279] c. In one example, the determination of the use of IT may depend on a combination of V and other codec information (e.g., prediction mode, strip type / picture type, block dimension).

[0280] 5. The determination of the use of IT can further depend on the encoding and decoding information of the current block.

[0281] a. In one example, the determination may also depend on mode information (e.g., inter-frame, intra-frame, or IBC).

[0282] b. In one example, the transformation determination may depend on the scan area, which is the smallest rectangle covering all valid coefficients (e.g., as depicted in Figure 14).

[0283] i. In one example, if the size of the scan region associated with the current block (e.g., width multiplied by height) is greater than a given threshold, a default transformation (such as DCT-2) can be used, including both horizontal and vertical transformations. Otherwise, rules such as those defined in bullet point 3 can be used (e.g., IT when V is even and DCT-2 when V is odd).

[0284] ii. In one example, if the width of the scan region associated with the current block is greater than (or less than) a given maximum width (e.g., 16), then a default horizontal transformation (such as DCT-2) can be used. Otherwise, rules such as those defined in bullet point 3 can be used.

[0285] iii. In one example, if the height of the scan region associated with the current block is greater than (or less than) a given maximum height (e.g., 16), a default vertical transformation (such as DCT-2) can be utilized. Otherwise, rules such as those defined in bullet point 3 can be used.

[0286] iv. In one example, the given dimensions are L×K, where L and K are integers, such as 16.

[0287] v. In one example, the default transformation matrix can be either DCT-2 or DST-7.

[0288] 6. One or more of the methods disclosed in bullet points 1 through 5 can only be applied to a specific block.

[0289] a. For example, one or more of the methods disclosed in bullets 1 to 5 may only be applied to blocks of IBC encoding and / or intra-frame encoding and decoding other than DT.

[0290] b. For example, one or more of the methods disclosed in bullet points 1 through 5 can only be applied to blocks with specific constraints on the coefficients.

[0291] i. A rectangle with four corners (0, 0), (CRx, 0), (0, CRy), and (CRx, CRy) is defined as a constrained rectangle, as in the SRCC method, for example. In one example, one or more of the methods disclosed in bullets 1 through 5 may be applied only if all coefficients outside the constrained rectangle are zero. For example, CRx = CRy = 16.

[0292] 1) For example, CRx = SRx and CRy = SRy, where (SRx, SRy) is defined in SRCC as described in Section 2.14.

[0293] 2) Alternatively, the above method may be applied only when the block width or block height is greater than K.

[0294] a) In one example, K equals 16.

[0295] b) In one example, the above method is applied only when the block width is greater than K1 and K1 equals CRx; or when the block height is greater than K2 and K2 equals CRy.

[0296] ii. One or more of the methods may be applied only if the last non-zero coefficients (in the forward scan order) meet certain conditions, such as when the horizontal / vertical coordinates are not greater than a threshold (e.g., 16 / 32).

[0297] 7. When it is determined that IT is not to be used, default transformations such as DCT-2 or DST-7 can be used instead.

[0298] a. Optionally, when it is determined that IT is not to be used, one can choose from several default transformations such as DCT-2 or DST-7.

[0299] 8. Whether and / or how the methods disclosed above can be applied to signaling notification at the video region level (such as sequence level / picture level / strip level / group level / piece level).

[0300] a. In one example, signaling notifications (e.g., flags) can be found in the sequence header / picture header / SPS / VPS / DCI / DPS / PPS / APS / strip header / piece group header.

[0301] i. Additionally, alternatively, one or more syntax elements (e.g., one or more flags) may be signaled to specify whether an implicit determination method of IT is enabled.

[0302] 1) In one example, a signaling notification first flag can be used to control the use of a method for implicitly determining the IT of an IBC codec block at the video region level.

[0303] a) Additionally, a signaling notification flag may be added if IBC is checked to see if it is enabled.

[0304] 2) In one example, a signaling notification of a second flag may be used to control the implicit determination of the IT of intra-frame codec blocks at the video region level (e.g., blocks with DT mode may be excluded).

[0305] 3) In one example, a signaling notification of a second flag can be used to control the implicit determination of the IT of inter-frame codec blocks at the video region level (e.g., blocks with DT mode can be excluded).

[0306] 4) In one example, a signaling notification of a second flag may be used to control the implicit determination of the IT of intra-frame and inter-frame codec blocks (e.g., blocks with DT mode may be excluded) at the video region level.

[0307] 5) In one example, a signaling notification of a second flag may be used to control the implicit determination of the IT of IBC codec blocks and inter-frame codec blocks at the video region level (e.g., blocks with DT mode may be excluded).

[0308] ii. Additionally, optionally, when an implicit determination method for the video region is enabled, the following can be further applied:

[0309] 1) In one example, for IBC codec blocks, if IT is used for the block, TS mode is applied; otherwise, DCT2 is used.

[0310] 2) In one example, for intra-frame encoded blocks (e.g., blocks with DT mode can be excluded), if IT is used for the block, then TS mode is applied; otherwise, DCT2 is used.

[0311] iii. Additionally, optionally, when the implicit determination method of IT is disabled for video regions, the following can be further applied;

[0312] 1) In one example, DCT-2 is used for IBC codec blocks.

[0313] 2) In one example, for intra-frame encoded blocks (e.g., excluding blocks with DT mode), DCT-2 or DST-7 can be determined on the fly, such as by IST.

[0314] 9. At the video region level, such as sequence level / picture level / strip level / group level / piece level, signaling indicates whether to apply a zeroing instruction to transform blocks (including identity transforms).

[0315] a. In one example, the indication (e.g., a flag) can be signaled in the sequence header / picture header / SPS / VPS / DCI / DPS / PPS / APS / strip header / piece group header.

[0316] b. In one example, when the instruction specifies that zeroing is enabled, only IT transformations are allowed.

[0317] c. In one example, when the instruction specifies that zeroing is disabled, only non-IT transformations are allowed.

[0318] d. Additionally, optionally, the allowed range of binary / context modeling / last valid coefficients / bottom-right position (e.g., the maximum X / Y coordinates relative to the top-left position of the block) in the SRCC can depend on this indication.

[0319] 10. The first rule (e.g., in bullet points 1 to 7 above) can be used to determine the use of IT in the first block, and the second rule can be used to determine the transformation type that does not include IT.

[0320] a. In one example, the first rule can be defined as the residual energy distribution.

[0321] b. In one example, the second rule can be defined as the parity of the representative coefficients.

[0322] Transformation skip

[0323] 11. Apply zeroing to IT (e.g., TS) codec blocks, where non-zero coefficients are restricted to specific sub-regions of the block.

[0324] a. In one example, the zeroing range of an IT (e.g., TS) codec block is set to the upper right K*L sub-region of the block, where K is set to min(T1, W) and L is set to min(T2, H), where W and H are the block width / block height respectively, and T1 / T2 are two thresholds.

[0325] i. In one example, T1 and / or T2 can be set to 32 or 16.

[0326] ii. Alternatively, the last non-zero coefficient should be located within the K*L subregion.

[0327] iii. Alternatively, the lower right position (SRx, SRy) in the SRCC method should be located within the K*L subregion.

[0328] 12. Several zeroing types are defined for IT (e.g., TS) codec blocks, where each type corresponds to a sub-region of the block, where non-zero coefficients exist only in that sub-region.

[0329] a. In one example, non-zero coefficients exist only in the top-left K0*L0 subregion of the block.

[0330] b. In one example, non-zero coefficients exist only in the upper right K1*L1 subregion of the block.

[0331] i. Alternatively, signaling may be used to indicate the lower left position of a sub-region with a non-zero coefficient.

[0332] c. In one example, non-zero coefficients exist only in the lower left K2*L2 subregion of the block.

[0333] i. Alternatively, signaling may be used to indicate the upper right position of a sub-region with a non-zero coefficient.

[0334] d. In one example, non-zero coefficients exist only in the lower right K3*L3 subregion of the block.

[0335] i. Alternatively, signaling may be used to indicate the upper left position of a sub-region with a non-zero coefficient.

[0336] e. In addition, alternatively, explicit signaling notifications or immediate export of IT zeroing type instructions may be provided.

[0337] 13. When at least one valid coefficient is outside the zeroing region defined by IT (e.g., TS), such as outside the top-left K0*L0 sub-region of the block, IT (e.g., TS) is not used in the block.

[0338] a. Alternatively, in this case, the default transformation can be used.

[0339] 14. Use IT (e.g., TS) in a block when at least one valid coefficient is outside the zeroing region defined by another transformation matrix (e.g., DST7 / DCT2 / DCT8), such as outside the top-left K0*L0 sub-region of the block.

[0340] a. Alternatively, in this case, the TS mode may be used for inference.

[0341] Figures 16A to 16D The various zeroing types of TS codec blocks are shown. Figure 16A The top-left K0*L0 sub-region is shown. Figure 16B The upper right K1*L1 sub-region is shown. Figure 16C The lower left K2*L2 sub-region is shown. Figure 16D The lower right K3*L3 sub-region is shown.

[0342] General

[0343] 15. The transformation matrix can be determined at the CU / CB level or the TU level.

[0344] a. In one example, the decision is made at the CU level, where all TUs share the same transformation matrix.

[0345] i. Alternatively, when a CU is divided into multiple TUs, the coefficients in one TU (e.g., the first TU or the last TU) or some or all of the TUs can be used to determine the transformation matrix.

[0346] b. Whether to use a CU-level solution or a TU-level solution may depend on the block size and / or VPDU size and / or maximum CTU size and / or encoding / decoding information of a block.

[0347] i. In one example, when the block size is larger than the VPDU size, the CU level determination method can be applied.

[0348] 16. Whether and / or how the disclosed methods are applied may depend on encoding / decoding information, which may include:

[0349] a. Block dimension.

[0350] i. In one example, the implicit MTS method described above can be applied to blocks whose width and height are no greater than a threshold (e.g., 32).

[0351] b.QP

[0352] c. Image or strip type (such as I-frame or P / B frame, I-strip or P / B strip)

[0353] i. In one example, the proposed method can be enabled for I-frames but disabled for P / B frames.

[0354] d. Structural segmentation methods (single-tree or dual-tree)

[0355] i. In one example, the implicit MTS method described above can be applied to strips / images / tiles / pieces for which single-tree segmentation is applied.

[0356] e. Encoding / decoding modes (such as inter-frame mode / intra-frame mode / IBC mode, etc.).

[0357] i. In one example, the implicit MTS method described above can be applied to blocks that are intra-frame encoded or decoded.

[0358] f. Encoding and decoding methods (such as intra-frame sub-block segmentation, Derived Tree (DT) methods, etc.).

[0359] i. In one example, for an intra-frame codec block that applies DT, the implicit MTS method described above can be disabled.

[0360] ii. In one example, the implicit MTS method described above can be disabled for intra-frame codec blocks that have applied ISP.

[0361] g. Color components

[0362] i. In one example, the implicit MTS method described above can be applied to the luma block, but not to the chroma block.

[0363] h. Intra-frame prediction modes (such as DC, vertical, horizontal, etc.).

[0364] i. Motion information (such as MV and reference index).

[0365] j. Standard grade / level / hierarchy

[0366] Figure 17 This is a block diagram illustrating an example video processing system 1700, in which various techniques disclosed herein can be implemented. Various implementations may include some or all of the components of system 1700. System 1700 may include an input 1702 for receiving video content. The video content may be received in a raw or uncompressed format (e.g., 8-bit or 10-bit multi-component pixel values), or in a compressed or encoded format. Input 1702 may represent a network interface, a peripheral bus interface, or a storage interface. Examples of network interfaces include wired interfaces (e.g., Ethernet, Passive Optical Networking (PON), etc.) and wireless interfaces (e.g., Wi-Fi or cellular interfaces).

[0367] System 1700 may include codec component 1704, which can implement the various codec or encoding methods described in this document. Codec component 1704 can reduce the average bit rate of video from input 1702 to the output of codec component 1704 to produce a codec representation of the video. Therefore, codec techniques are sometimes referred to as video compression or video transcoding techniques. The output of codec component 1704 can be stored or transmitted via communication through the connection represented by component 1706. The stored or transmitted bitstream (or codec) representation of the video received at input 1702 can be used by component 1708 to generate pixel values ​​or displayable video to be sent to display interface 1710. The process of generating a user-viewable video from the bitstream is sometimes referred to as video decompression. Furthermore, although some video processing operations are referred to as “codec” operations or tools, it will be understood that codec tools or operations are used at the encoder, and the corresponding decoding tools or operations that inversely represent the codec results will be performed by the decoder.

[0368] Examples of peripheral bus interfaces or display interfaces may include Universal Serial Bus (USB), High Definition Multimedia Interface (HDMI), or DisplayPort. Examples of storage interfaces include SATA (Serial Advanced Technology Accessory), PCI, IDE, etc. The technologies described in this document can be found in a variety of electronic devices, such as mobile phones, laptops, smartphones, or other devices capable of performing digital data processing and / or video display.

[0369] Figure 21 This is a block diagram of a video processing apparatus 2100. Apparatus 2100 can be used to implement one or more methods described herein. Apparatus 2100 can be embodied in smartphones, tablets, computers, Internet of Things (IoT) receivers, etc. Apparatus 2100 may include one or more processors 2102, one or more memories 2104, and video processing hardware 2106. The processors(multiple) 2102 can be configured to implement one or more methods described in this document. The one or more memories 2104 can be used to store data and code used to implement the methods and techniques described herein. The video processing hardware 2106 can be used to implement some of the techniques described in this document in hardware circuitry.

[0370] Figure 18 This is a block diagram illustrating an example video codec system 100 that can utilize the techniques disclosed herein.

[0371] like Figure 18As shown, the video encoding / decoding system 100 may include a source device 110 and a destination device 120. The source device 110 generates encoded video data, which may be referred to as a video encoding device. The destination device 120 can decode the encoded video data generated by the source device 110, which may be referred to as a video decoding device.

[0372] The source device 110 may include a video source 112, a video encoder 114, and an input / output (I / O) interface 116.

[0373] Video source 112 may include sources such as video capture devices, interfaces for receiving video data from video content providers, and / or computer graphics systems for generating video data, or combinations of these sources. Video data may include one or more images. Video encoder 114 encodes the video data from video source 112 to generate a bitstream. The bitstream may include a sequence of bits forming a codec representation of the video data. The bitstream may include codec images and associated data. A codec image is a codec representation of an image. Associated data may include sequence parameter sets, image parameter sets, and other syntax structures. I / O interface 116 may include a modulator / demodulator (modem) and / or a transmitter. Encoded video data can be transmitted directly to destination device 120 via network 130a through I / O interface 116. Encoded video data may also be stored on storage medium / server 130b for access by destination device 120.

[0374] Destination device 120 may include I / O interface 126, video decoder 124 and display device 122.

[0375] I / O interface 126 may include a receiver and / or a modem. I / O interface 126 may acquire encoded video data from source device 110 or storage medium / server 130b. Video decoder 124 may decode the encoded video data. Display device 122 may display the decoded video data to a user. Display device 122 may be integrated with destination device 120, or may be located external to destination device 120, which is configured to interact with an external display device.

[0376] The video encoder 114 and the video decoder 124 can operate according to video compression standards such as the High Efficiency Video Codec (HEVC) standard, the Universal Video Codec (VVM) standard, and other current and / or further standards.

[0377] Figure 19 This is a block diagram illustrating an example of a video encoder 200, which can be... Figure 18 The video encoder 114 in the system 100 shown.

[0378] The video encoder 200 can be configured to perform any or all of the techniques disclosed herein. Figure 19 In the example, the video encoder 200 includes multiple functional components. The techniques described in this disclosure can be shared among the various components of the video encoder 200. In some examples, the processor can be configured to perform any or all of the techniques described in this disclosure.

[0379] The functional components of the video encoder 200 may include a segmentation unit 201, a prediction unit 202 (which may include a mode selection unit 203), a motion estimation unit 204, a motion compensation unit 205, an intra-frame prediction unit 206, a residual generation unit 207, a transform unit 208, a quantization unit 209, an inverse quantization unit 210, an inverse transform unit 211, a reconstruction unit 212, a buffer 213, and an entropy coding unit 214.

[0380] In other examples, the video encoder 200 may include more, fewer, or different functional components. In one example, the prediction unit 202 may include an intra-block copy (IBC) unit. The IBC unit can perform prediction in IBC mode, where at least one reference picture is the picture containing the current video block.

[0381] Furthermore, some components (such as motion estimation unit 204 and motion compensation unit 205) may be highly aggregated, but for illustrative purposes, in Figure 11 The examples represent the examples respectively.

[0382] The segmentation unit 201 can segment an image into one or more video blocks. The video encoder 200 and the video decoder 300 can support various video block sizes.

[0383] The mode selection unit 203 can, for example, select one of the encoding / decoding modes (intra-frame or inter-frame) based on the error result, and provide the resulting intra-frame or inter-frame encoded / decoded block to the residual generation unit 207 to generate residual block data, and to the reconstruction unit 212 to reconstruct the coded block for use as a reference picture. In some examples, the mode selection unit 203 can select a combination of intra-frame prediction and inter-frame prediction (CIIP) modes, where the prediction is based on the inter-frame prediction signal and the intra-frame prediction signal. The mode selection unit 203 can also select the resolution of the motion vector for the block (e.g., sub-pixel precision or integer pixel precision) in the case of inter-frame prediction.

[0384] To perform inter-frame prediction on the current video block, motion estimation unit 204 can generate motion information for the current video block by comparing one or more reference frames from buffer 213 with the current video block. Motion compensation unit 205 can determine the predicted video block for the current video block based on motion information and decoded samples from images other than those associated with the current video block from buffer 213.

[0385] For example, motion estimation unit 204 and motion compensation unit 205 can perform different operations on the current video block, depending on whether the current video block is in an I-band, P-band, or B-band.

[0386] In some examples, motion estimation unit 204 can perform unidirectional prediction on the current video block, and can search for a reference video block for the current video block in the reference images of list 0 or list 1. Then, motion estimation unit 204 can generate a reference index indicating the reference image in list 0 or list 1 containing the reference video block, and a motion vector indicating the spatial displacement between the current video block and the reference video block. Motion estimation unit 204 can output the reference index, prediction direction indicator, and motion vector as motion information for the current video block. Motion compensation unit 205 can generate a predicted video block for the current block based on the reference video block indicated by the motion information of the current video block.

[0387] In other examples, motion estimation unit 204 can perform bidirectional prediction on the current video block. Motion estimation unit 204 can search for a reference video block for the current video block in the reference images in list 0, and also search for another reference video block for the current video block in the reference images in list 1. Then, motion estimation unit 204 can generate reference indices indicating the reference images in lists 0 and 1 containing the reference video blocks, and motion vectors indicating the spatial displacement between the reference video blocks and the current video block. Motion estimation unit 204 can output the reference index and motion vector of the current video block as the motion information of the current video block. Motion compensation unit 205 can generate a predicted video block for the current video block based on the reference video blocks indicated by the motion information of the current video block.

[0388] In some examples, the motion estimation unit 204 can output a complete set of motion information for the decoder's decoding processing.

[0389] In some examples, motion estimation unit 204 may not output the complete set of motion information for the current video. Instead, motion estimation unit 204 can signal the motion information of the current video block by referencing the motion information of another video block. For example, motion estimation unit 204 may determine that the motion information of the current video block is sufficiently similar to the motion information of neighboring video blocks.

[0390] In one example, the motion estimation unit 204 may instruct the video decoder 300, within the syntax structure associated with the current video block, to indicate that the current video block has the same motion information as another video block.

[0391] In another example, motion estimation unit 204 can identify another video block and motion vector difference (MVD) within the syntactic structure associated with the current video block. The motion vector difference indicates the difference between the motion vector of the current video block and the motion vector of the indicated video block. Video decoder 300 can use the motion vector of the indicated video block and the motion vector difference to determine the motion vector of the current video block.

[0392] As discussed above, the video encoder 200 can predictively signal motion vectors. Two examples of predictive signaling techniques that can be implemented by the video encoder 200 include Advanced Motion Vector Prediction (AMVP) and merge pattern signaling.

[0393] Intra-prediction unit 206 can perform intra-prediction on the current video block. When intra-prediction unit 206 performs intra-prediction on the current video block, it can generate prediction data for the current video block based on decoded samples from other video blocks in the same frame. The prediction data for the current video block may include the predicted video block and various syntax elements.

[0394] The residual generation unit 207 can generate residual data for the current video block by subtracting (e.g., indicated by a minus sign) the predicted video block from the current video block. The residual data for the current video block can include residual video blocks corresponding to different sample components in the current video block.

[0395] In other examples, there may be no residual data for the current video block. For example, in skip mode, the residual generation unit 207 may not perform the subtraction operation.

[0396] The transform processing unit 208 can generate one or more transform coefficient video blocks for the current video block by applying one or more transforms to the residual video blocks associated with the current video block.

[0397] After the transform processing unit 208 generates a transform coefficient video block associated with the current video block, the quantization unit 209 can quantize the transform coefficient video block associated with the current video block based on one or more quantization parameter (QP) values ​​associated with the current video block.

[0398] The inverse quantization unit 210 and the inverse transform unit 211 can apply inverse quantization and inverse transform to the transform coefficient video block, respectively, to reconstruct the residual video block based on the transform coefficient video block. The reconstruction unit 212 can add the reconstructed residual video block to the corresponding samples of one or more predicted video blocks generated by the prediction unit 202 to produce a reconstructed video block associated with the current block, which is then stored in the buffer 213.

[0399] After the video block is reconstructed by reconstruction unit 212, a loop filtering operation can be performed to reduce video block artifacts in the video block.

[0400] Entropy encoding unit 214 can receive data from other functional components of video encoder 200. When entropy encoding unit 214 receives data, it can perform one or more entropy encoding operations to generate entropy encoded data and output a bit stream including the entropy encoded data.

[0401] Figure 20 This is a block diagram illustrating an example of a video decoder 300, which can be... Figure 18 The video decoder 114 in the system 100 shown.

[0402] The video decoder 300 can be configured to perform any or all of the technologies disclosed herein. Figure 20 In the example, the video decoder 300 includes multiple functional components. The techniques described in this disclosure can be shared among the various components of the video decoder 300. In some examples, the processor can be configured to perform any or all of the techniques described in this disclosure.

[0403] exist Figure 20 In the example, the video decoder 300 includes an entropy decoding unit 301, a motion compensation unit 302, an intra-frame prediction unit 303, an inverse quantization unit 304, an inverse transform unit 305, a reconstruction unit 306, and a buffer 307. In some examples, the video decoder 300 can perform encoding passes typically described with respect to the video encoder 200. Figure 19 The opposite decoding iteration.

[0404] The entropy decoding unit 301 can retrieve the encoded bitstream. The encoded bitstream may include entropy-coded video data (e.g., encoded blocks of video data). The entropy decoding unit 301 can decode the entropy-coded video data, and the motion compensation unit 302 can determine motion information based on the entropy-decoded video data. This motion information includes motion vectors, motion vector precision, reference image list index, and other motion information. For example, the motion compensation unit 302 can determine this information by executing AMVP and merge modes.

[0405] The motion compensation unit 302 can generate motion compensation blocks, possibly performing interpolation based on an interpolation filter. The syntax elements may include identifiers for the interpolation filter used at sub-pixel precision.

[0406] The motion compensation unit 302 can use the interpolation filter used by the video encoder 200 during video block encoding to calculate the interpolation of sub-integer pixels of the reference block. The motion compensation unit 302 can determine the interpolation filter used by the video encoder 200 based on the received syntax information, and use the interpolation filter to generate the prediction block.

[0407] The motion compensation unit 302 may use some syntax information to determine the size of the blocks used to encode (multiple) frames and / or (multiple) stripes of the encoded video sequence, segmentation information describing how each macroblock of the image of the encoded video sequence is segmented, a mode indicating how each partition is encoded, one or more reference frames (and a list of reference frames) for each inter-frame coded block, and other information for decoding the encoded video sequence.

[0408] Intra-prediction unit 303 can use, for example, an intra-prediction mode received in the bitstream to form prediction blocks based on spatially adjacent blocks. Dequantization unit 303 dequantizes (e.g., dequantizes) the quantized video block coefficients provided in the bitstream and decoded by entropy decoding unit 301. Inverse transform unit 303 applies an inverse transform.

[0409] The reconstruction unit 306 can add the residual block to the corresponding prediction block generated by the motion compensation unit 202 or the intra-frame prediction unit 303 to form a decoded block. If necessary, a deblocking filter can also be applied to filter the decoded block to remove block artifacts. The decoded video block is then stored in a buffer 307, which provides a reference block for subsequent motion compensation / intra-frame prediction and also generates decoded video for presentation on a display device.

[0410] Below is a list of preferred solutions for some embodiments.

[0411] The following solutions illustrate example embodiments of the techniques discussed in the previous section (e.g., Project 1).

[0412] 1. A video processing method (e.g., Figure 22 The method described in the document (2200) includes: converting between video blocks of a video and a codec representation of the video; determining, based on a rule, whether to apply a horizontal identity transformation or a vertical identity transformation to the video blocks (2202); and performing the conversion based on the determination (2204), wherein the rule specifies the relationship between the determination and the representative coefficients of the decoding coefficients from one or more representative blocks of the video.

[0413] 2. The method of Solution 1, wherein one or more representative blocks belong to the color component to which the video block belongs.

[0414] 3. The method of Solution 1, wherein one or more representative blocks belong to a color component that is different from the color component of the video block.

[0415] 4. The method of any one of solutions 1-3, wherein the one or more representative blocks correspond to video blocks.

[0416] 5. The method of any one of solutions 1-3, wherein the one or more representative blocks do not include video blocks.

[0417] The following solutions illustrate example embodiments of the techniques discussed in the previous section (e.g., bullet points 1 and 2).

[0418] 6. The method of any one of solutions 1-5, wherein the representative coefficients include decoding coefficients with non-zero values.

[0419] 7. The method of any one of solutions 1-6, wherein the relationship specifies the use of the representativeness coefficient based on a modified coefficient determined by modifying the representativeness coefficient.

[0420] 8. The method of any one of solutions 1-7, wherein the representative coefficient corresponds to the effective coefficient of the decoding coefficient.

[0421] The following solutions illustrate example embodiments of the techniques discussed in the previous section (e.g., Project 3).

[0422] 9. A video processing method, comprising: converting between video blocks of a video and a encoded / decoded representation of the video; determining, based on a rule, whether to apply a horizontal identity transformation or a vertical identity transformation to the video blocks; and performing the conversion based on the determination, wherein the rule specifies a relationship between the determination and the decoded luminance coefficients of the video blocks.

[0423] 10. The method of Solution 1, wherein performing the transformation includes applying a horizontal or vertical isomorphic transformation of the luminance component of the video block and applying DCT2 to the chrominance component of the video block.

[0424] The following solutions illustrate example embodiments of the techniques discussed in the previous section (e.g., Items 1 and 4).

[0425] 11. A video processing method comprising: converting between video blocks of a video and a codec representation of the video; determining, based on a rule, whether to apply a horizontal identity transformation or a vertical identity transformation to the video blocks; and performing the conversion based on the determination, wherein the rule specifies a relationship between the determination and a value V associated with a decoding coefficient or a representative coefficient of a representative block.

[0426] 12. The method of Solution 11, where V equals the number of representative coefficients.

[0427] 13. The method of Solution 11, where V equals the sum of the values ​​of the representative coefficients.

[0428] 14. The method of Solution 11, where V is a function of the residual energy distribution of the representative coefficient.

[0429] 15. The method of any one of solutions 11-14, wherein the relation is defined with respect to the parity of the value V.

[0430] The following solutions illustrate example embodiments of the techniques discussed in the previous section (e.g., Project 5).

[0431] 16. The method of any of the above solutions, wherein the rule specifies that the relationship further depends on the encoding and decoding information of the video block.

[0432] 17. The method of Solution 16, wherein the encoding / decoding information is the encoding / decoding mode of the video block.

[0433] 18. The method of Solution 16, wherein the encoding / decoding information comprises a minimum rectangular region covering all valid coefficients of the video block.

[0434] The following solutions illustrate example embodiments of the techniques discussed in the previous section (e.g., Item 6).

[0435] 19. The method of any of the above solutions, wherein the determination is performed because the video block has a pattern or a constraint on the coefficients.

[0436] 20. The method of Solution 19, wherein the type corresponds to the Intra-Block Copy (IBC) mode.

[0437] 21. The method of Solution 19, wherein the constraint on the coefficients makes the coefficients outside the rectangle of the current block zero.

[0438] The following solutions illustrate example embodiments of the techniques discussed in the previous section (e.g., item 7).

[0439] 22. The method of any one of solutions 1-21, wherein, in the case that horizontal and vertical identity transformations are not used, the transformation is performed using DCT-2 transformation or DST-7 transformation.

[0440] The following solutions illustrate example embodiments of the techniques discussed in the previous section (e.g., Item 9).

[0441] 23. The method of any one of solutions 1-22, wherein one or more syntax fields in the codec representation indicate whether the method is enabled for video blocks.

[0442] 24. The method of Solution 23, wherein the one or more syntax fields are included at the sequence level, picture level, strip level, slice group level, slice level, or sub-picture level.

[0443] 25. The method of any one of solutions 23-24, wherein the one or more syntax fields are included in a strip header or an image header.

[0444] The following solutions illustrate example embodiments of the techniques discussed in the previous section (e.g., items 1 and 8).

[0445] 26. A video processing method, comprising: determining that one or more syntax fields exist in the codec representation of a video, wherein the video contains one or more video blocks; and determining, based on the one or more syntax fields, whether to enable a horizontal identity transformation or a vertical identity transformation on the video blocks in the video.

[0446] 27. The method of Solution 1, wherein, in response to the implicit determination of the transform skip mode indicated by the one or more syntax fields being enabled, a transformation between a first video block of a video and the codec representation of the video is performed, and a rule is used to determine whether to apply a horizontal identity transformation or a vertical identity transformation to the video block; and a transformation is performed based on the determination, wherein the rule specifies the relationship between the determination and the representative coefficients of the decoding coefficients from one or more representative blocks of the video.

[0447] 28. The method of Solution 27, the first video block is encoded and decoded in intra-block copy mode.

[0448] 29. The method of Solution 27, the first video block is encoded and decoded in intra-frame mode.

[0449] 30. Solution 27's approach involves encoding and decoding the first video block using intra-frame mode instead of derivative tree (DT) mode.

[0450] 31. The method of Solution 27, wherein the parity is determined based on the number of non-zero coefficients in the first video block.

[0451] 32. The method of Solution 27 applies the horizontal and vertical identity transformations to the first video block when the parity of the number of non-zero coefficients in the first video block is even.

[0452] 33. The method of Solution 27, where the horizontal and vertical identity transformations are not applied to the first video block when the parity of the number of non-zero coefficients in the first video block is even.

[0453] 34. Solution 33 applies DCT-2 to the first video block.

[0454] 35. The method of Solution 32 further includes: in response to one or more syntax fields indicating that the implicit determination of the transform skip mode is disabled, the horizontal identity transformation and the vertical identity transformation are not applied to the first video block.

[0455] 36. The method of solution 32, wherein DCT-2 is applied to the first video block.

[0456] The following solutions illustrate example embodiments of the techniques discussed in the previous section (e.g., items 9, 10).

[0457] 37. A video processing method, comprising: making a first determination regarding whether to enable the use of an identity transformation for a conversion between video blocks of a video and a codec representation of a video; making a second determination regarding whether to enable a zeroing operation during the conversion; and performing the conversion based on the first determination and the second determination.

[0458] 38. The method of solution 37, wherein one or more syntax fields of the first level in the codec representation indicate a first determination.

[0459] 39. The method of any one of solutions 37-38, wherein one or more syntax fields of the second level in the codec representation indicate a second determination.

[0460] 40. The method of any one of solutions 38-39, wherein the first level and the second level correspond to the header field at the sequence or image level or the parameter set at the sequence or image level or the adaptive parameter set.

[0461] 41. The method of any one of solutions 37-40, wherein the transformation uses an identity transformation or a zeroing operation, but not both.

[0462] The following solutions illustrate example embodiments of the techniques discussed in the previous section (e.g., items 12 and 13).

[0463] 42. A video processing method, comprising: performing a conversion between video blocks of a video and a codec representation of the video; wherein the video blocks are represented as codec blocks in the codec representation, wherein the non-zero coefficients of the codec blocks are restricted to one or more sub-regions; and wherein an identity transformation is applied to generate the codec blocks.

[0464] 43. The method of Solution 1, wherein the one or more sub-regions include an upper right sub-region of a video block with dimensions K×L, where K and L are integers, K is min(T1, W), L is min(T2, H), where W and H are the width and height of the video block, respectively, and T1 and T2 are thresholds.

[0465] 44. The method of any one of solutions 42-43, wherein the encoding / decoding representation indicates the one or more sub-regions.

[0466] The following solutions illustrate example embodiments of the techniques discussed in the previous section (items 16 and 17).

[0467] 45. The method of any one of solutions 1-44, wherein the video region includes a video encoding / decoding unit.

[0468] 46. ​​The methods of solutions 1-45, wherein the video region is a prediction unit or a transform unit.

[0469] 47. The method of any one of solutions 1-46, wherein the video blocks satisfy a specific dimension condition.

[0470] 48. The method of any one of solutions 1-47, wherein the video block is encoded and decoded using a predefined range of quantization parameters.

[0471] 49. The method of any one of solutions 1-48, wherein the video region includes video images.

[0472] 50. The method of any one of solutions 1 to 49, wherein the conversion includes encoding the video into a codec representation.

[0473] 51. The method of any one of solutions 1 to 49, wherein the conversion includes decoding the encoding / decoding representation to generate pixel values ​​of a video.

[0474] 52. A video decoding apparatus, comprising a processor configured to implement the method described in one or more of solutions 1 to 51.

[0475] 53. A video encoding / decoding apparatus, comprising a processor configured to implement the method described in one or more of solutions 1 to 51.

[0476] 54. A computer program product having computer code stored thereon, which, when executed by a processor, causes the processor to implement the method described in any one of solutions 1 to 51.

[0477] 55. The methods, apparatus or systems described in this document.

[0478] Figure 23This is a flowchart representation of a video processing method according to the present technology. Method 2300 includes, in operation 2310, a conversion between a current video block and a video bitstream, determining, according to a rule, that the conversion of the current video block uses an identity transformation mode. The rule specifies that the conversion uses representative coefficients based on one or more representative blocks of the video. Method 2300 further includes, in operation 2320, performing the conversion based on the determination.

[0479] In some embodiments, the identity transform mode includes a transform skip mode. In the transform skip mode, the residual of the prediction error between the current video block and the reference video block is represented in the bitstream without applying a transform. In some embodiments, in response to the transform skip mode being applied to the transformation of the current video block, the transform skip mode includes a horizontal transform mode and / or a vertical transform mode.

[0480] In some embodiments, determining the use of the identity transform mode includes implicit determination of the identity transform. In some embodiments, one or more representative blocks belong to the same color component. In some embodiments, the color component includes a luminance component. In some embodiments, one or more representative blocks belong to different color components. In some embodiments, the video block belongs to the luminance component of the video, and one or more representative blocks belong to the chrominance component of the video. In some embodiments, one or more representative blocks and the video block are in the same encoding / decoding unit. In some embodiments, one or more representative blocks are located juxtaposed with the image of the video block.

[0481] In some embodiments, one or more representative blocks include the current video block, and the use of the identity transform mode for the current video block is based on representative coefficients associated with the current video block. In some embodiments, the application of the identity transform mode to the current video block is based on the representative coefficients of one or more representative blocks, wherein at least one representative block is not the same as the video block. In some embodiments, one or more representative blocks include the current video block. In some embodiments, one or more representative blocks include neighboring blocks of the current video block. In some embodiments, one or more representative blocks include at least N blocks that satisfy a condition regarding the video block, where N is an integer greater than 1. In some embodiments, the condition is satisfied when at least N blocks are encoded and decoded using the same prediction mode as the video block. In some embodiments, the condition is satisfied when at least N blocks have the same dimensions as the video block. In some embodiments, the representative coefficients used to determine the application of the identity transform mode to the current video block include decoding coefficients.

[0482] In some embodiments, the representativeness coefficients include only non-zero coefficients. In some embodiments, non-zero coefficients are represented as valid coefficients. In some embodiments, the representativeness coefficients are modified before being used to determine the use of the identity transform mode for the current video block. In some embodiments, at least one of the representativeness coefficients is modified based on: (1) clipping at least one of the representativeness coefficients, (2) scaling at least one of the representativeness coefficients, (3) adding an offset to at least one of the representativeness coefficients, (4) filtering at least one of the representativeness coefficients, or (5) mapping at least one of the representativeness coefficients to another value.

[0483] In some embodiments, the representative coefficient includes all non-zero coefficients in one or more representative blocks. In some embodiments, the representative coefficient includes a portion of the non-zero coefficients in one or more representative blocks. In some embodiments, the representative coefficient includes an even number of non-zero coefficients in one or more representative blocks. In some embodiments, the representative coefficient includes an odd number of non-zero coefficients in one or more representative blocks. In some embodiments, the representative coefficient includes a portion of non-zero coefficients whose absolute values ​​are greater than or equal to a threshold. In some embodiments, the representative coefficient includes a portion of non-zero coefficients whose absolute values ​​are less than or equal to a threshold. In some embodiments, the representative coefficient includes the first or last K non-zero coefficients in the decoding order, where K is greater than or equal to 1. In some embodiments, the representative coefficient includes coefficients at predefined positions in one or more representative blocks. In some embodiments, the representative coefficient includes only one coefficient located at a position (xPos, yPos) relative to the representative block, where xPos and yPos satisfy a condition. In some embodiments, the condition specifies that xPos is less than or equal to a first threshold. In some embodiments, the condition specifies that yPos is greater than a second threshold. In some embodiments, xPos = 0 and yPos = 0. In some embodiments, the position (xPos, yPos) is based on the dimension of the video block. In some embodiments, the representative coefficient includes coefficients preceding the last non-zero coefficient. In some embodiments, the representative coefficients include the coefficients preceding the last non-zero coefficient and the last non-zero coefficient.

[0484] In some embodiments, the representativeness coefficients include zero and non-zero coefficients. In some embodiments, the representativeness coefficients are derived based on modified decoding coefficients. In some embodiments, the representativeness coefficients include representativeness coefficients associated with the luminance component of the current video block. In some embodiments, the application of the identity transform mode to the current video block is applied only to the luminance component of the current video block. In some embodiments, Discrete Cosine Transform 2 (DCT-2) is applied to one or more chrominance components of the current video block. In some embodiments, the application of the identity transform mode to the current video block is applied to all chrominance components of the current video block.

[0485] In some embodiments, the use of an identity transformation mode for the current video block is determined based on a function of the representative coefficients of the output value V. In some embodiments, the value V is derived based on the number of representative coefficients. In some embodiments, the value V is derived based on the number of representative coefficients whose level is even. In some embodiments, the derived value V is based on: (1) the sum of the levels of the representative coefficients, (2) a level of the representative coefficients, or (3) the number of representative coefficients whose level is odd. In some embodiments, a function of the representative coefficients defines the residual energy distribution. In some embodiments, the function returns (1) the ratio of the sum of the absolute values ​​of the partial representative coefficients to (2) the ratio of the absolute values ​​of all representative coefficients. In some embodiments, the function returns the ratio of the sum of the squares of the absolute values ​​of the partial representative coefficients to (2) the ratio of the sum of the squares of the absolute values ​​of all representative coefficients. In some embodiments, the value V is determined based on whether at least one representative coefficient is located outside a sub-region of the representative block. In some embodiments, the use of an identity transformation mode for the current video block is based on the parity of the value V. In some embodiments, the identity transformation mode is used when the value V is even, and not used when the value V is odd. In some embodiments, the identity transformation mode is used when the value V is less than a first threshold, and not used when the value V is greater than a second threshold. In some embodiments, the identity transformation mode is used when the value V is less than a third threshold, and not used when the value V is greater than a fourth threshold.

[0486] In some embodiments, the use of the identity transform mode is also based on the encoding / decoding information of the current video block. In some embodiments, the encoding / decoding information includes at least one of the following: prediction mode, stripe type, picture type, block dimension, a flag indicating whether the identity transform mode is enabled at the sequence level, or a flag indicating whether the identity transform mode is enabled in the picture header. In some embodiments, the encoding / decoding information includes information about the encoding / decoding mode of the current video block. In some embodiments, the encoding / decoding information includes information about a scan region, which is a minimum rectangular area covering all representative coefficients. In some embodiments, a default transform is used if the dimension of the scan region is greater than a threshold. In some embodiments, the dimension includes width, height, or a dimension equal to the width multiplied by the height.

[0487] In some embodiments, whether a rule applies to the current video block is based on the codec characteristics of the current video block. In some embodiments, the codec characteristics of the current video block include the block's codec mode, which includes at least an intra-block copy codec mode or an intra-frame codec mode. In some embodiments, the codec characteristics of the current video block include constraints on the block's coefficients. In some embodiments, the constraint is satisfied when all coefficients in a rectangular region of the current video block are zero. In some embodiments, the constraint is satisfied when the last non-zero coefficient is less than or equal to a threshold. In some embodiments, the codec characteristics of the current video block include the dimension of the codec block.

[0488] Figure 24 This is a flowchart representation of a video processing method according to the present technology. Method 2400 includes, in operation 2410, a conversion between the current video block and the video bitstream, applying a default transformation to the current video block according to a rule. This rule specifies that an identity transformation is not applied to the conversion of the current video block. Method 2400 includes, in operation 2420, performing the conversion based on this determination.

[0489] In some embodiments, the identity transform mode includes a transform skip mode. In transform skip mode, the residual of the prediction error between the current video block and the reference video block is represented in the bitstream without applying the transform. In some embodiments, the default transform includes Discrete Cosine Transform 2 (DCT-2) or Discrete Sine Transform 7 (DST-7). In some embodiments, a default transform is selected from a plurality of default transform candidates. In some embodiments, the determination of applicability is indicated at the video region level. In some embodiments, the video region includes a sequence, picture, strip, slice group, or slice. In some embodiments, the determination of applicability to the video block is indicated in the sequence header, picture header, sequence parameter set, video parameter set, decoder parameter set, picture parameter set, adaptive parameter set, strip header, or slice group header.

[0490] In some embodiments, one or more syntax elements are used to indicate whether the determination applies to a video block. In some embodiments, a first syntax element is used at the video region level for blocks encoded in intra-block copy mode. In some embodiments, a second syntax element is used at the video region level for blocks encoded in intra-block copy mode. In some embodiments, a second syntax element is used at the video region level for blocks encoded in inter-frame copy mode. In some embodiments, a second syntax element is used at the video region level for both blocks encoded in intra-block copy mode and blocks encoded in inter-frame copy mode. In some embodiments, a second syntax element is used at the video region level for both blocks encoded in intra-block copy mode and blocks encoded in inter-frame copy mode.

[0491] In some embodiments, when an identity transformation is applied to a block encoded using an intra-block copy coding mode or an intra-code-decoding mode, a transform skip mode is applied to the block. In some embodiments, when an identity transformation is disabled for a block, DCT-2 or DST-7 is determined for the transformation.

[0492] Figure 25 This is a flowchart representation of a video processing method according to the present technology. Method 2500 includes, in operation 2510, performing a conversion between video and video bitstreams according to a rule. The rule specifies an indication at the video region level. This indication indicates whether a zeroing operation, which sets some residual coefficients to zero, is applied to the transformed blocks of video blocks within the video region.

[0493] In some embodiments, a video region includes a sequence, a picture, a strip, a slice group, or a slice. In some embodiments, the video region level includes a sequence header, a picture header, a sequence parameter set, a video parameter set, a decoder parameter set, a picture parameter set, an adaptive parameter set, a strip header, or a slice group header. In some embodiments, only identity transformations are allowed when zeroing is enabled, and only non-identical transformations are allowed when zeroing is disabled. In some embodiments, information from the coefficient encoding / decoding tool based on the scan region is based on an indication.

[0494] In some embodiments, the transformation is performed according to a second rule that specifies the transformation type of the video block, wherein the transformation type does not include the identity transformation. In some embodiments, the rule is defined as a residual energy distribution rule, and the second rule is defined as the parity of the representative coefficients.

[0495] In some embodiments, the transform matrix is ​​determined at the codec unit level, the codec block level, or the transform unit level. In some embodiments, when all transform units share the same transform matrix, the determination is performed at the codec unit level. In some embodiments, whether the determination is performed at the codec unit level or the transform unit level is based on the codec information of the video block.

[0496] In some embodiments, the applicability of one of the above methods is based on the codec information of the current video block. In some embodiments, the codec information includes the dimensions of the video block. In some embodiments, the method is applicable when the width and / or height of the current video block is less than or equal to a threshold. In some embodiments, the method is applicable when the width and / or height of the current video block is less than a threshold. In some embodiments, the threshold is equal to 32. In some embodiments, the codec information includes a segmentation method applied to the current video block. In some embodiments, the segmentation method includes single-tree and / or dual-tree segmentation. In some embodiments, the codec information includes the codec mode of the video block. In some embodiments, the codec mode includes inter-frame prediction mode, intra-frame prediction mode, or intra-block copy prediction mode. In some embodiments, the codec information includes quantization parameters associated with the video block, picture or stripe type, codec method, color components, intra-frame prediction mode, or motion information. In some embodiments, the codec information includes the level, grade, or hierarchy of the video codec standard.

[0497] Figure 26 This is a flowchart representation of a video processing method 2600 according to the present technology. Method 2600 includes, in operation 2610, performing a conversion between a current video block and a video bitstream according to a rule. During the conversion, an identity transformation mode is applied to the current video block, and the rule specifies that a zeroing operation is enabled, during which non-zero coefficients are restricted to sub-regions of the current video block.

[0498] In some embodiments, the identity transform mode includes a transform skip mode. In transform skip mode, the residual of the prediction error between the current video block and the reference video block is represented in the bitstream without applying a transform. In some embodiments, the current video block is a prediction residual block.

[0499] In some embodiments, during the zeroing operation, the sub-region is set to the upper right region of size K×L. K equals min(T1, 2), L equals min(T2, H), W represents the width of the video block, H represents the height of the video block, and T1 and T2 represent two thresholds. In some embodiments, T1 equals 16 or 32, and T2 equals 16 or 32.

[0500] In some embodiments, the last non-zero coefficient of the current video block is located within a sub-region. In some embodiments, the lower right position, represented as (SRx, SRy), used in a coefficient encoding / decoding tool based on the scan region, is located within a sub-region.

[0501] Figure 27This is a flowchart representation of a video processing method 2700 according to the present technology. Method 2700 includes, in operation 2710, a conversion between a current video block and a video bitstream, determining the zeroing type of the current video block for a zeroing operation. Method 2700 also includes, in operation 2720, performing the conversion based on the determination. The current video block is encoded and decoded by applying an identity transformation to it. The zeroing type of the video block defines a sub-region of the video block in which non-zero coefficients are restricted to zeroing operations.

[0502] In some embodiments, the zeroing type includes a first type of video block comprising an upper-left sub-region of size K0×L0. In some embodiments, the zeroing type includes a second type of video block comprising an upper-right sub-region of size K1×L1. In some embodiments, the zeroing type includes a third type of video block comprising a lower-left sub-region of size K2×L2. In some embodiments, the zeroing type includes a fourth type of video block comprising a lower-right sub-region of size K3×L3. In some embodiments, the location of the sub-region is indicated in the bitstream. In some embodiments, the zeroing type of the video block is determined during conversion.

[0503] Figure 28 This is a flowchart representation of a video processing method 2800 according to the present technology. Method 2800 includes, in operation 2810, performing a conversion between a current video block and a video bitstream according to a rule. The rule stipulates that the identity transformation mode is prohibited from being used to transform the current video block if at least one non-zero coefficient is located outside a zeroing region determined by the identity transformation mode. The zeroing region includes areas where non-zero coefficients are restricted for zeroing operations. In some embodiments, a default transformation is used in the video block.

[0504] Figure 29 This is a flowchart representation of a video processing method 2900 according to the present technology. Method 2900 includes, in operation 2910, performing a conversion between video blocks and a video bitstream according to a rule. The rule specifies that the use of an identity transformation mode is enabled during the conversion of video blocks if at least one non-zero coefficient lies outside a zeroing region defined by a transformation matrix that is not an identity transformation. The zeroing region includes areas where non-zero coefficients are restricted to zeroing operations.

[0505] In some embodiments, the transform matrix includes Discrete Sine Transform 7 (DST7), Discrete Cosine Transform 2 (DCT2), or Discrete Cosine Transform 8 (DCT8). In some embodiments, a transform skip mode is used in the video block.

[0506] In some embodiments, the conversion includes encoding the video into a bitstream. In some embodiments, the conversion includes decoding the bitstream to generate the video.

[0507] In this document, the term "video processing" can refer to video encoding, video decoding, video compression, or video decompression. For example, a video compression algorithm can be applied during the conversion from the pixel representation of a video to the corresponding bitstream, and vice versa. As defined in the syntax, the bitstream of the current video block can, for example, correspond to bits juxtaposed or scattered at different positions within the bitstream. For example, a macroblock can be encoded based on the residual error values ​​after transformation and encoding / decoding, and also using bits from the header and other fields in the bitstream. Furthermore, during the conversion, the decoder can parse the bitstream based on determinations as described in the solutions above, knowing that some fields may or may not be present. Similarly, the encoder can determine whether certain syntax fields are included or excluded, and generate the codec representation accordingly by including or excluding syntax fields from the codec representation.

[0508] The solutions and other solutions, examples, embodiments, modules, and functional operations disclosed in this document can be implemented in digital electronic circuits, or computer software, firmware, or hardware, including the structures disclosed in this document and their structural equivalents, or combinations of one or more of the foregoing. The disclosed embodiments and other embodiments can be implemented as one or more computer program products, such as one or more modules of computer program instructions encoded on a computer-readable medium for execution by or control of the operation of a data processing apparatus. The computer-readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, a composition of substances affecting machine-readable propagation signals, or one or more combinations thereof. The term "data processing apparatus" includes all means, devices, and machines for processing data, such as programmable processors, computers, or multiple processors or computers. In addition to hardware, the apparatus may also include code that creates an execution environment for the computer program in question, such as code constituting processor firmware, a protocol stack, a database management system, an operating system, or a combination thereof. Propagation signals are artificially generated signals, such as machine-generated electrical, optical, or electromagnetic signals, which are generated to encode information for transmission to a suitable receiver device.

[0509] Computer programs (also known as programs, software, software applications, scripts, or code) can be written in any programming language, including compiled or interpreted languages, and can be deployed in any form, including as standalone programs or modules, components, subroutines, or other units suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a file portion that holds other programs or data (e.g., one or more scripts stored in a markup language document), a single file dedicated to a related program, or multiple coordination files (e.g., a file storing one or more modules, subroutines, or code portions). A computer program can be deployed to execute on a single computer, or on multiple computers located at one site or distributed across multiple sites and interconnected through a communication network.

[0510] The processes and logic flows described in this document can be executed by one or more programmable processors, which execute one or more computer programs to perform functions by manipulating input data and generating output. The processes and logic flows can also be executed by dedicated logic circuitry, and the devices can be implemented as dedicated logic circuitry, such as FPGAs (Field-Programmable Gate Arrays) or ASICs (Application-Specific Integrated Circuits).

[0511] For example, processors suitable for executing computer programs include general-purpose and special-purpose microprocessors, as well as any one or more processors in any type of digital computer. Typically, a processor receives instructions and data from read-only memory or random access memory, or both. The basic components of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Typically, a computer will also include, or be operatively coupled to, receiving or transferring data to one or more mass storage devices (e.g., magnetic disks, magneto-optical disks, or optical disks) for storing data. However, a computer does not require such devices. Computer-readable media suitable for storing computer program instructions and data include all forms of non-volatile memory, media, and memory devices, including, for example, semiconductor memory devices such as EPROM, EEPROM, and flash memory devices; magnetic disks, such as internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM optical disks. The processor and memory may be supplemented by or incorporated into special-purpose logic circuitry.

[0512] Although this patent document contains numerous details, these details should not be construed as limiting the scope of any subject matter or claimed content, but rather as descriptions of features characteristic of specific embodiments of a particular technology. Certain features described in the context of individual embodiments in this patent document may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments. Furthermore, although the foregoing features may be described as functioning in a particular combination, or even initially claimed to be so, in some cases one or more features may be removed from the claimed combination, and the claimed combination may refer to a sub-combination or a variation of a sub-combination.

[0513] Similarly, although these operations are described in a specific order in the accompanying drawings, this should not be construed as requiring that such operations be performed in the specific order or sequence shown, or requiring that all shown operations be performed to obtain the desired result. Furthermore, the separation of various system components in the embodiments described in this patent document should not be construed as requiring such separation in all embodiments.

[0514] Only some implementations and examples are described, and other implementations, enhancements and variations may be made based on the content described and illustrated in this patent document.

Claims

1. A video processing method, comprising: Perform the conversion between the current video block and the bitstream of the video according to the rules. During the transformation, an identity transformation mode is applied to the current video block. The rule specifies that a zeroing operation is enabled, wherein during the zeroing operation, non-zero coefficients are restricted to sub-regions of the current video block, and During the zeroing operation, the sub-region is set to the upper right region of size K×L, where K equals min(T1, W) and L equals min(T2, H), where W represents the width of the current video block, H represents the height of the current video block, and T1 and T2 represent two thresholds.

2. The method according to claim 1, wherein, The identity transformation mode includes a transformation skip mode, wherein, in the transformation skip mode, the residual of the prediction error between the current video block and the reference video block is represented in the bitstream without applying a transformation.

3. The method according to claim 1 or 2, wherein, The current video block is a prediction residual block.

4. The method according to claim 1, wherein, T1 is equal to 16 or 32, and T2 is equal to 16 or 32.

5. The method according to claim 1 or 2, wherein, The last non-zero coefficient of the current video block is located within the sub-region.

6. The method according to claim 1 or 2, wherein, The lower right position of (SRx, SRy), used in coefficient encoding / decoding tools based on scan regions, is located within the sub-region.

7. A video processing method, comprising: The conversion between the current video block and the bitstream of the video determines the zeroing type of the current video block in the zeroing operation; as well as The conversion shall be performed based on the determination. Specifically, the current video block is encoded and decoded by applying an identity transformation to it, and The zeroing type of the video block defines a sub-region of the video block, wherein for the zeroing operation, the non-zero coefficient is restricted to the sub-region of the video block.

8. The method according to claim 7, wherein, The zeroing type includes a first type of video block, which includes a top-left sub-region of size K0×L0.

9. The method according to claim 7, wherein, The zeroing type includes a second type of video block, which includes an upper right sub-region of size K1×L1.

10. The method according to claim 7, wherein, The zeroing type includes a third type of video block, which includes a lower left sub-region of size K2×L2.

11. The method according to claim 7, wherein, The zeroing type includes a fourth type of video block, which includes a lower right sub-region with a size of K3×L3.

12. The method according to any one of claims 7-11, wherein, The location of the sub-region is indicated in the bitstream.

13. The method according to any one of claims 7-11, wherein, The zeroing type of the video block is determined during the conversion.

14. A video processing method, comprising: Perform the conversion between the current video block and the bitstream of the video according to the rules. The rule stipulates that if at least one non-zero coefficient is outside the zeroing region determined by the identity transformation mode, the use of the identity transformation mode for the transformation of the current video block is disabled, wherein the zeroing region includes the area where non-zero coefficients are restricted for the zeroing operation.

15. The method according to claim 14, wherein, Use the default transformation in the video block.

16. A video processing method, comprising: The conversion between video blocks and the bitstream of the video is performed according to the rules. The rule specifies that the use of the identity transformation mode is enabled during the transformation of the video block if at least one non-zero coefficient is located outside a zeroing region determined by a transformation matrix that is not an identity transformation, wherein the zeroing region includes the area where non-zero coefficients are restricted for the zeroing operation.

17. The method according to claim 16, wherein, The transformation matrix includes Discrete Sine Transform 7DST7, Discrete Cosine Transform 2DCT2, or Discrete Cosine Transform 8DCT8.

18. The method according to claim 16 or 17, wherein, Use the transform skip mode in the video block.

19. The method according to any one of claims 1-2, 7-11, and 14-17, wherein, The conversion includes encoding the video into the bitstream.

20. The method according to any one of claims 1-2, 7-11, and 14-17, wherein, The conversion includes decoding the bitstream to generate the video.

21. A method for storing a video bitstream, comprising: The bitstream of the video is generated from the current video block according to the rules. Specifically, the identity transformation mode is applied to the current video block. The rule specifies that a zeroing operation is enabled, wherein during the zeroing operation, non-zero coefficients are restricted to sub-regions of the current video block, and During the zeroing operation, the sub-region is set to the upper right region of size K×L, where K equals min(T1, W) and L equals min(T2, H), where W represents the width of the current video block, H represents the height of the current video block, and T1 and T2 represent two thresholds; and The bit stream is stored in a non-transitory computer-readable recording medium.

22. A method for storing a video bitstream, comprising: Based on the zeroing type of the current video block, the bitstream of the video is generated from the current video block. Specifically, the current video block is encoded and decoded by applying an identity transformation. Wherein, the zeroing type of the video block defines a sub-region of the video block, wherein for the zeroing operation, non-zero coefficients are restricted to the sub-region of the video block; and The bit stream is stored in a non-transitory computer-readable recording medium.

23. A method for storing a video bitstream, comprising: The bitstream of the video is generated from the current video block according to the rules. The rule specifies that the use of the identity transformation mode on the current video block is disabled if at least one non-zero coefficient is outside the zeroing region determined by the identity transformation mode, wherein the zeroing region includes the region where non-zero coefficients are restricted for the zeroing operation. The bit stream is stored in a non-transitory computer-readable recording medium.

24. A method for storing a video bitstream, comprising: The bitstream of the video is generated from the video blocks of the video according to the rules. The rule specifies that if at least one non-zero coefficient is located outside the zeroing region determined by a transformation matrix that is not an identity transformation, the identity transformation mode is enabled for the video block, wherein the zeroing region includes the region in which non-zero coefficients are restricted for the zeroing operation. The bit stream is stored in a non-transitory computer-readable recording medium.

25. A video decoding apparatus comprising a processor configured to implement the method of any one of claims 1-18, 20-24.

26. A video encoding apparatus comprising a processor configured to implement the method of any one of claims 1-19, 21-24.

27. A computer program product having computer code stored thereon, which, when executed by a processor, causes the processor to perform the method of any one of claims 1-24.

28. A non-transitory computer-readable recording medium storing a bitstream of video generated by a method performed by a video processing apparatus, wherein, The method includes: Based on the zeroing type of the current video block, the bitstream of the video is generated from the current video block. Specifically, the current video block is encoded and decoded by applying an identity transformation. The zeroing type of the video block defines a sub-region of the video block, wherein for the zeroing operation, the non-zero coefficient is restricted to the sub-region of the video block.

29. A non-transitory computer-readable recording medium storing a bitstream of video generated by a method performed by a video processing apparatus, wherein, The method includes: The bitstream of the video is generated from the current video block according to the rules. The rule specifies that the use of the identity transformation mode on the current video block is disabled if at least one non-zero coefficient is outside the zeroing region determined by the identity transformation mode, wherein the zeroing region includes the area where non-zero coefficients are restricted for the zeroing operation.

30. A non-transitory computer-readable recording medium storing a bitstream of video generated by a method performed by a video processing apparatus, wherein, The method includes: The bitstream of the video is generated from the video blocks of the video according to the rules. The rule specifies that if at least one non-zero coefficient is located outside the zeroing region determined by a transformation matrix that is not an identity transformation, the identity transformation mode is enabled for the video block, wherein the zeroing region includes the area where non-zero coefficients are restricted for the zeroing operation.

Citation Information

Patent Citations

  • KR20190013380A