Method of encoding and decoding

By determining the last significant coefficient and encoding coefficients above it in a specified scanning order, the method optimizes the encoding and decoding of high-bit-depth, high-bit-rate videos, addressing inefficiencies in existing technologies and improving compression efficiency.

RU2864878C1Active Publication Date: 2026-06-30GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 6 Cites 0 Cited by

Patent Information

Authority / Receiving Office
RU · RU
Patent Type
Patents
Current Assignee / Owner
GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
Filing Date
2025-12-05
Publication Date
2026-06-30

AI Technical Summary

Technical Problem

Existing video encoding and decoding technologies for high-bit-depth, high-quality, and high-bit-rate videos (triple HD video) result in inefficient resource consumption due to the need to encode and decode larger coefficients, leading to inefficient use of resources.

Method used

A method and system for encoding and decoding video that involves determining the location of the last significant coefficient and encoding coefficients above it in a specified scanning order, using component identification information and coordinate information to optimize the bitstream, thereby reducing resource consumption.

Benefits of technology

This approach improves compression efficiency by optimizing the encoding and decoding process for high-bit-depth, high-bit-rate videos, reducing resource consumption and enhancing compression efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000025_ABST
    Figure 00000025_ABST
Patent Text Reader

Abstract

FIELD: video encoding.SUBSTANCE: identification information about the change is determined in the location to the reverse of the last significant coefficient and the information about the coordinates of the last significant coefficient of the current block. The location of the last significant coefficient of the current block is obtained by performing a calculation with respect to the coordinate information of the last significant coefficient. In response to identification information indicating that a reversal of the location of the last significant coefficient has been applied, information about the coordinates of the last significant coefficient of the current block is determined as a horizontal distance and a vertical distance between the location of the last significant coefficient and the location of the lower right sample of the current block. Obtaining the location of the last significant coefficient of the current block includes: determining the width and height of the current block; obtaining the horizontal coordinate of the last significant coefficient; obtaining the vertical coordinate of the last significant coefficient.EFFECT: increased efficiency of video coding.13 cl, 17 dwg, 15 tbl
Need to check novelty before this filing date? Find Prior Art

Description

FIELD OF TECHNOLOGY TO WHICH THE INVENTION RELATES

[0001] Embodiments of the present invention relate to the field of video encoding and decoding technologies, and in particular, to an encoding method, a decoding method, a bitstream, an encoder, a decoder, and a computer storage medium. BACKGROUND OF THE INVENTION

[0002] The field of computer vision has attracted increasing attention due to the increasing requirements for video display quality. Recently, image processing technology has been successfully applied in all areas of life. During video encoding and decoding, on the encoder side, the image data to be encoded is compressed by an entropy coding unit after being processed by transform and quantization. The bitstream generated by the entropy coding is transmitted to the decoder. On the decoder side, the bitstream is analyzed, and then the original input image data can be restored by performing inverse quantization and inverse transform.

[0003] Currently, encoding and decoding high-bit-depth, high-quality, and high-bit-rate video (abbreviated as triple HD video) typically requires more coefficients to be encoded and decoded, and the coefficients are also larger than those for encoding and decoding low-bit-depth, low-quality, and low-bit-rate video (which can be called normal video). Accordingly, for triple HD video, the existing corresponding solution may result in greater resource consumption in the bitstream, leading to inefficient use. SUMMARY OF THE INVENTION

[0004] Embodiments of the present invention provide an encoding method, a decoding method, a bitstream, an encoder, a decoder, and a computer storage medium that can be applied to a scenario of encoding and decoding video with high bit depth, high bit rate, high quality, or lossless compression, and can improve compression efficiency.

[0005] The technical solutions according to the embodiments of the present invention can be implemented as follows.

[0006] In the first aspect, embodiments of the present invention provide a decoding method performed by a decoder. The method includes the following steps.

[0007] The identification information of the component of the current slice and the coordinate information of the last significant coefficient of the current block corresponding to the component of the current slice are determined by analyzing the bit stream.

[0008] In response to component identification information indicating that a reversal of the location of the last significant coefficient is applied to a component of the current slice, the location of the last significant coefficient of the current block is obtained by performing a calculation with respect to the coordinate information of the last significant coefficient.

[0009] The coefficients of the current block are determined by decoding all coefficients located above the location of the last significant coefficient in the specified scan order.

[0010] In the second aspect, embodiments of the present invention provide an encoding method performed by an encoder. The method includes the following operations.

[0011] Defines the identification information of the component of the current slice and the location of the last significant coefficient of the current block corresponding to the component of the current slice.

[0012] Determine the coordinate information of the last significant coefficient of the current block according to the component identification information and the location of the last significant coefficient.

[0013] All coefficients located above the location of the last significant coefficient are encoded in a specified scanning order, and bit information obtained through encoding, component identification information, and coordinate information of the last significant coefficient are provided to the bit stream.

[0014] In the third aspect, embodiments of the present invention provide a bitstream. The bitstream is generated by performing bit encoding on information to be encoded. The information to be encoded comprises at least one of first identification information of a syntax element, second identification information of a syntax element, third identification information of a syntax element, identification information of a component, identification information of a resolved last coefficient, or identification information of a default-encoded sub-block.

[0015] The first syntax element identification information indicates whether reversal of the last significant coefficient is permitted for the current sequence. The second syntax element identification information indicates whether a version of the standard extension is applied to the current sequence. The third syntax element identification information indicates whether a range extension is applied to the current sequence. The component identification information indicates whether reversal of the last significant coefficient is applied to a component of the current slice. The permitted last coefficient identification information indicates whether the last coefficient location is applied to the current block. The default encoded subblock identification information indicates whether the subblock to be encoded is encoded by default in the current block. The current sequence contains the current slice.The current slice contains the current block.

[0016] In a fourth aspect, embodiments of the present invention provide an encoder. The encoder comprises a first determining unit and an encoding unit.

[0017] The first determining node is configured to determine identification information about a component of the current slice and determine the location of the last significant coefficient of the current block corresponding to the component of the current slice.

[0018] The first determining unit is further configured to determine information about the coordinates of the last significant coefficient of the current block according to the identification information about the component and the location of the last significant coefficient.

[0019] The encoding unit is configured to encode all coefficients located above the location of the last significant coefficient in a given scanning order and provide bit information obtained by encoding, identification information about the component and information about the coordinates of the last significant coefficient to the bit stream.

[0020] In a fifth aspect, embodiments of the present invention provide an encoder. The encoder comprises a first memory device and a first processor.

[0021] The first storage device is configured to store thereon a computer program executed by the first processor.

[0002] The first processor is configured to execute a computer program for performing the coding method according to the second aspect.

[0023] In a sixth aspect, embodiments of the present invention provide a decoder. The decoder comprises an analysis unit and a second determination unit.

[0024] The analysis node is configured to determine, by analyzing the bit stream, identification information about a component of the current slice and information about the coordinates of the last significant coefficient of the current block corresponding to the component of the current slice.

[0025] The second determining unit is configured to obtain the location of the last significant coefficient of the current block by performing a calculation with respect to the coordinate information of the last significant coefficient in response to the identification information of the component indicating that a change in the location to the inverse of the last significant coefficient is applied to the component of the current slice.

[0026] The analysis node is further configured to determine the coefficients of the current block by decoding all coefficients located above the location of the last significant coefficient, in a given scanning order.

[0027] In a seventh aspect, embodiments of the present invention provide a decoder. The decoder comprises a second memory device and a second processor.

[0028] The second storage device is configured to store thereon a computer program executed by the second processor.

[0029] The second processor is configured to execute a computer program for performing the decoding method according to the first aspect.

[0030] In an eighth aspect, embodiments of the present invention provide a computer storage medium. The computer storage medium has a computer program stored thereon. When executed, the computer program implements the method according to the first aspect or the method according to the second aspect.

[0031] Embodiments of the present invention provide an encoding method, a decoding method, a bitstream, an encoder, a decoder, and a computer storage medium. The encoder determines identification information about a component of a current slice and the location of the last significant coefficient of a current block corresponding to the component of the current slice; determines coordinate information of the last significant coefficient of the current block according to the identification information about the component and the location of the last significant coefficient; and encodes all coefficients located above the location of the last significant coefficient in a predetermined scanning order, and provides bit information obtained through encoding, identification information about the component, and coordinate information of the last significant coefficient to the bitstream.The decoder determines, by analyzing the bit stream, identification information about the component of the current slice and information about the coordinates of the last significant coefficient of the current block corresponding to the component of the current slice; in response to the fact that the identification information about the component indicates that a change in the location to the inverse of the last significant coefficient is applied to the component of the current slice, obtains the location of the last significant coefficient of the current block by performing a calculation with respect to the information about the coordinates of the last significant coefficient; and determines the coefficients of the current block by decoding all coefficients located above the location of the last significant coefficient, in a given scanning order.Thus, in the scenario of encoding and decoding video with high bit depth, high bit rate, high quality, or lossless encoding, a reasonable last significant coefficient derivation mode is set according to the distribution law of significant coefficients, which can reduce the resource consumption caused by bitstream encoding and thereby improve compression efficiency. Furthermore, since the corresponding color components may differ in the distribution of significant coefficients, the corresponding component identification information can be used to control the appropriate last significant coefficient derivation mode for each color component, i.e., to separately control whether to apply the last significant coefficient reversal technology to each color component, thereby further improving compression efficiency. BRIEF DESCRIPTION OF GRAPHIC MATERIALS.

[0032] Fig. 1 shows a diagram of the application of the coding system in the prior art.

[0033] Fig. 2 shows a diagram of the relationship between the location of the current coefficient and the location of the adjacent coefficient in the prior art.

[0034] Fig. 3 shows a flow chart of the process of arithmetic decoding of a binary number in the prior art.

[0035] Fig. 4 is a block diagram of a process of arithmetic decoding of a binary symbol in the prior art.

[0036] Fig. 5 shows a block diagram of the renormalization of the arithmetic decoding mechanism in the prior art.

[0037] Fig. 6 is a flow chart of a bypass decoding process in the prior art.

[0038] Fig. 7 is a diagram showing the relationship between the location of the region containing the possible significant coefficient and the location of the zero output region in the prior art.

[0039] Fig. 8A is a diagram showing the structure of an encoder system according to embodiments of the present invention.

[0040] Fig. 8B is a diagram showing the structure of a decoder system according to embodiments of the present invention.

[0041] Fig. 9 is a flow chart of a decoding method according to embodiments of the present invention.

[0042] Fig. 10A is a diagram showing the location of the last significant coefficient in relation to the upper left corner of the current block according to embodiments of the present invention.

[0043] Fig. 10B is a diagram illustrating the location of the last significant coefficient in relation to the lower right corner of the current block according to embodiments of the present invention.

[0044] Fig. 11 is a flow chart of a coding method according to embodiments of the present invention.

[0045] Fig. 12 is a diagram showing the structure of an encoder according to embodiments of the present invention.

[0046] Fig. 13 is a diagram of a hardware structure of an encoder according to embodiments of the present invention.

[0047] Fig. 14 is a diagram showing the structure of a decoder according to embodiments of the present invention.

[0048] Fig. 15 is a diagram of the hardware structure of a decoder according to embodiments of the present invention.DETAILED DESCRIPTION

[0049] Embodiments of the present invention are described hereinafter with reference to drawings to enable a deeper understanding of the features and technical content of each embodiment. The drawings provided herein are for reference and explanation only and are not intended to limit the embodiments of the present invention.

[0050] Unless otherwise defined, all technical and scientific terms used herein have the same meanings as commonly understood by one of ordinary skill in the art of the present invention. The terms used in the technical description of the present invention are only intended to describe a specific embodiment and are not intended to limit the present invention.

[0051] In the following description, "some embodiment(s)" describes a subset of all possible embodiments. However, it is understood that "some embodiment(s)" may be the same subset of all possible embodiments or different subsets of all possible embodiments, and may be combined with each other if the combination does not result in a contradiction. It should also be noted that in the embodiments of the present invention, the terms "first / second / third" are used only to distinguish similar objects and do not denote a specific order of objects. It is understood that, where permitted, "first / second / third" in a specific order is interchangeable to allow the embodiments of the present invention described herein to be implemented in an order different from that depicted or described herein.

[0052] In a video image, a coding unit (CU) is usually designated by the first color component, the second color component, and the third color component. The three color components can be the luminance component, the blue chrominance component, and the red chrominance component, respectively. Specifically, the luminance component is generally designated as Y. The blue chrominance component can be generally designated as Cb or U. The red chrominance component can be generally designated as Cr or V. Thus, a video image can be expressed in YCbCr or YUV format.

[0053] Before further describing the embodiments of the present invention, the names and terms used in the embodiments of the present invention are explained as follows:

[0054] Moving Picture Experts Group (MPEG),

[0055] Joint Video Engineering Team (JVET),

[0056] Alliance for Open Media (AOM),

[0057] H.266 next-generation video coding standard / Versatile Video Coding (VVC),

[0058] VVC reference software test platform (VVC test model, VTM),

[0059] Audio and Video Standard (AVS),

[0060] AVS high-performance test model (high-performance model, HPM),

[0061] Context-based adjustable binary arithmetic coding (CABAC),

[0062] Raw Byte Sequence Payload (RBSP),

[0063] Regular Residual Coding (RRC) and

[0064] Skip residual coding transform (TSRC).

[0065] It is understood that currently all universal video coding standards (e.g., VVC) use a hybrid block-based coding system. Each video image can be divided into the largest coding units (LCU), which are squares of the same size, for example, 128×128, 64×64, etc. Each LCU can be further divided into coding units (CU), which are rectangles, according to a certain rule. In addition, CU can be further divided into smaller prediction nodes (PU), transform nodes (TU), etc. Specifically, as shown in Fig. 1, the hybrid coding system may include modules such as prediction, transform, quantization, entropy coding, loop filter, etc. The prediction module may contain intra prediction and intermediate prediction. The intermediate prediction may include motion estimation (ME) and motion compensation (MC).Since adjacent pixels in a single video image are highly correlated, spatial redundancy between adjacent pixels can be eliminated using intra-prediction in video coding technology. However, since adjacent video images are very similar, temporal redundancy between adjacent images can be eliminated using intermediate prediction in video coding technology, thereby improving encoding and decoding efficiency.

[0066] The basic operation scheme of a video codec is as follows. In the encoder, an image can be divided into blocks. The prediction block of the current block can be obtained by performing intra-prediction or intermediate prediction on the current block. The residual block can be obtained by subtracting the prediction block from the raw block of the current block. The quantization coefficient matrix can be obtained by performing transform and quantization on the residual block. Entropy coding can be performed on the quantization coefficient matrix, and the result obtained by entropy coding can be provided to the bitstream. In the decoder, the prediction block of the current block can be obtained by performing intra-prediction or intermediate prediction on the current block. On the other hand, the quantization coefficient matrix can be obtained by decoding the bitstream.The residual block can be obtained by performing inverse quantization and inverse transform on the quantization coefficient matrix. The reconstructed block can be obtained by adding the prediction block and the residual block. The reconstructed image can consist of the reconstructed blocks. The decoded image can be obtained by performing image-based or block-based loop filtering on the reconstructed image. The encoder also needs to obtain the decoded image using operations similar to the decoder. The decoded image can be used as a reference image for intermediate prediction for the subsequent image. Information about block partitioning, mode information, or information about prediction, transform, quantization, entropy coding, loop filter parameters, etc., which are determined by the encoder, must be provided in the bitstream, if necessary.Then, by analyzing the bitstream and analyzing the available information, the decoder can determine block partitioning information, as well as mode information or information about prediction, transformation, quantization, entropy coding, loop filter parameters, etc., which are similar to those determined by the encoder, thereby ensuring that the decoded image obtained by the encoder is similar to the decoded image obtained by the decoder. The decoded image obtained by the encoder can generally also be called a reconstructed image. During prediction, the current block can be partitioned into PUs. During transformation, the current block can be partitioned into TUs. The PU partitioning and TU partitioning may differ. The above is the basic operation scheme of a video codec in a hybrid block-based coding system. With the development of technology, some modules or some stages of the system or flow can be optimized.Embodiments of the present invention are applicable to the basic operation scheme of a video codec in a hybrid block-based coding system, but are not limited thereto.

[0067] In the embodiments of the present invention, the current block may be the current CU, the current PU, or the current transform unit (TU), etc. Block partition information, prediction, transform, and quantization mode and parameter information, as well as coefficients, etc., can be provided in the bitstream through entropy coding. Suppose that the probabilities of different elements are different. A short codeword can be assigned to an element with a higher occurrence probability. A long codeword can be assigned to an element with a lower occurrence probability. This increases the coding efficiency compared with fixed-length coding. However, the compression space in entropy coding is limited if the probabilities of different elements are close or essentially the same. CABAC is a commonly used entropy coding. In each of the high-efficiency video coding (HEVC), VVC, etc.Entropy coding is performed using CABAC. CABAC can use a context model, which improves compression efficiency. However, using and updating the context mode also adds complexity. CABAC can provide a bypass mode. In the bypass mode, there is no need to use and update the context model, which enables higher throughput. In embodiments of the present invention, the mode in which the context model must be used and updated in CABAC may be referred to as the context mode.

[0068] Generally, it is necessary to determine the context model first according to a certain method. The parameter of the context model can be taken as an input when calling a certain process of arithmetic decoding of a binary symbol. The selection of the context model may also depend on the neighboring coefficients. For example, Fig. 2 is a diagram of the relationship between the location of the current coefficient and the location of the neighboring coefficient in the prior art. In Fig. 2, the block filled with black color indicates the current coefficient. The block filled with grid lines indicates the neighboring coefficient. As shown in Fig. 2, the context model selected for sig_coeff_flag of the current coefficient should be determined according to the information of 5 neighboring coefficients to the right of the current coefficient, below the current coefficient, and below the right of the current coefficient. Additionally, it can be seen in Fig.2, that working in context mode is much more complicated than in bypass mode, and additionally depends on neighboring coefficients.

[0069] To use context mode, the CABAC arithmetic coding engine must invoke a specific arithmetic decoding process on the binary symbol. This process may include a state transition process, i.e., updating the context model. During the arithmetic decoding process, the arithmetic decoding engine's renormalization process may be invoked. When using bypass mode, the bypass decoding process must be invoked.

[0070] The application of CABAC in VVC is presented below as an example.

[0071] For the CABAC arithmetic coding engine, ctxTable, ctxIdx, bypassFlag, and the ivlCurrRange and ivlOffset state variables of the arithmetic decoding engine can be input into the arithmetic decoding process. The arithmetic decoding process can output the value of the binary number.

[0072] In this document, ctxTable may be a table used in selecting the context mode, and ctxIdx may be an index of the context model.

[0073] Fig. 3 is a flow chart of the arithmetic decoding process of a binary number in the prior art. As shown in Fig. 3, to obtain the value of a binary number through decoding, the context index table ctxTable, the context model index ctxIdx, and the bypass mode enable flag bypassFlag can be transferred and input into the arithmetic decoding process DecodeBin(ctxTable, ctxIdx, bypassFlag), specifically, as follows.

[0074] The bypass decoding process DecodeBypass() can be called if the bypassFlag value is 1.

[0075] Otherwise, if the value of bypassFlag is 0, the value of ctxTable is 0, and the value of ctxIdx is 0, the decoding termination process DecodeTerminate() may be called.

[0076] Otherwise (if the value of bypassFlag is 0 and the value of ctxTable is not 0), a specific process DecodeDecision(ctxTable, ctxIdx) of arithmetic decoding of the binary character may be called.

[0077] Additionally, the ctxTable, ctxIdx, ivlCurrRange, and ivlOffset variables can be input into the binary symbol arithmetic decoding process. The binary symbol arithmetic decoding process can output the binVal value obtained through decoding, as well as the updated ivlCurrRange and ivlOffset variables.

[0078] Fig. 4 is a flowchart of the arithmetic decoding process of a binary symbol in the prior art. As shown in Fig. 4, the context index table ctxTable and the context model index ctxIdx, as well as the state variables ivlCurrRange and ivlOffset of the arithmetic decoding mechanism can be input through DecodeDecision(ctxTable, ctxIdx). In this document, pStateIdx0 and pStateIdx1 can be two current states of the context model.

[0079] (1) The value of the variable ivlLpsRange can be obtained as follows.

[0080] The qRangeIdx variable can be obtained as follows, given the current value of ivlCurrRange.

[0081] qRangeIdx=ivlCurrRange >>5

[0082] valMps and ivlLpsRange can be obtained as follows, given qRangeIdx and pStateIdx0, and pStateIdx1 corresponding to ctxTable and ctxIdx.

[0083] pState=pStateIdx1+16×pStateIdx0;

[0084] valMps=pState >>14;

[0085] ivlLpsRange=(qRangeIdx×((valMps ? 32767-pState: pState) >>9) >>1) +4.

[0086] (2) The value of the ivlCurrRange variable can be set as ivlCurrRange-ivlLpsRange. The following operations can be performed.

[0087] If ivlOffset is greater than or equal to ivlCurrRange, the binVal variable can be set to 1-valMps, and the ivlOffset and ivlCurrRange variables can be updated. In this case, the ivlOffset value can be ivlOffset minus ivlCurrRange, and the ivlCurrRange value can be ivlLpsRange.

[0088] Otherwise (if ivlOffset < ivlCurrRange), the value of the binVal variable may be valMps.

[0089] Given the value of binVal, a certain state transition can be performed. A certain renormalization can be performed based on the current value of ivlCurrRange.

[0090] Additionally, the current pStateIdx0 and pStateIdx1, as well as the binVal obtained through decoding, can be input into the state transition process. The state transition process can output context variables pStateIdx0 and pStateIdx1, corresponding to the updated ctxTable and ctxIdx. In this document, the variables shift0 and shift1 can be obtained from shiftIdx. In this document, the correspondence between shiftIdx and ctxTable, as well as ctxIdx, can be defined as follows.

[0091] shift0=(shiftIdx >>2) +2;

[0092] shift1=(shiftIdx& 3) +3+shift0.

[0093] Based on the value of binVal obtained through decoding, the two variables pStateIdx0 and pStateIdx1 corresponding to ctxTable and ctxIdx can be updated as follows.

[0094] pStateIdx0=pStateIdx0-(pStateIdx0 >>shift0) +(1023×binVal >>shift0);

[0095] pStateIdx1=pStateIdx1-(pStateIdx1>>shift1) +(16383×binVal >>shift1).

[0096] Additionally, the ivlCurrRange and ivlOffset variables, as well as slice data bits, can be input into the arithmetic decoding engine's renormalization process. The renormalization process can output updated ivlCurrRange and ivlOffset variables.

[0097] Fig. 5 shows a flowchart of the renormalization of the arithmetic decoding mechanism in the prior art. As shown in Fig. 5, a thread can enter the ReNormD process. The current value of ivlCurrRange can be preferably compared with 256. Subsequent operations can be as follows.

[0098] If ivlCurrRange is greater than or equal to 256, renormalization is not needed and the RenormD process terminates.

[0099] Otherwise (if ivlCurrRange is less than 256), the flow may enter a renormalization loop. In the loop, the value of ivlCurrRange may be multiplied by 2, i.e. moved left by one bit. The value of IvlOffset may be multiplied by 2, i.e. moved left by one bit. One bit obtained with read_bits(1) may be moved to ivlOffset, specifically as follows.

[00100] ivlCurrRange=ivlCurrRange<<1;

[00101] ivlOffset =ivlOffset <<1;

[00102] ivlOffset =ivlOffset |read_bits(1).

[00103] During the entire process, the data in the bitstream must not cause ivlOffset to be greater than or equal to ivlCurrRange.

[00104] Additionally, the ivlCurrRange and ivlOffset variables, as well as the slice data bits, are input to the binary symbol bypass decoding process, and the binary symbol bypass decoding process may output an updated ivlOffset variable and the binVal value obtained through decoding.

[00105] If bypassFlag is 1, the bypass decoding process may be called. Fig. 6 is a flow chart of the bypass decoding process in the prior art. As shown in Fig. 6, the ivlOffset variable may first be updated. That is, the IvlOffset value may be multiplied by 2, i.e., moved to the left by one bit. One bit obtained using read_bits(1) may be moved to ivlOffset, in particular, as follows.

[00106] ivlOffset = ivlOffset << 1;

[00107] ivlOffset = ivlOffset | read_bits(1).

[00108] Then, the ivlOffset value may be compared with the ivlCurrRange value. The subsequent operations may be as follows.

[00109] If ivlOffset is greater than or equal to ivlCurrRange, binVal can be set to 1, and ivlOffset is equal to ivlOffset minus ivlCurrRange.

[00110] Otherwise (if ivlOffset is less than ivlCurrRange), binVal can be set to 0.

[00111] During the entire process, the data in the bitstream shall not cause ivlOffset to be greater than or equal to ivlCurrRange.

[00112] Additionally, it should be noted that existing video coding standards typically support one or more transforms and transform skips for residuals. The transforms may include the discrete cosine transform (DCT), etc. A residual block that has undergone a transform (and quantization) typically has certain characteristics. For example, after some transforms (and quantizations), most of the energy is concentrated in the low-frequency region, so the coefficients in the region in the upper left corner may be large; while the coefficients in the region in the lower right corner may be small and may even contain many coefficients with value 0. As the name suggests, in a transform skip, no transform is performed.The coefficients omitted in the transform and the transformed coefficients may have different distributions and, therefore, may be encoded using different coefficient encoding methods. For example, in VVC, RRC may be applied to the transformed coefficient, and TSRC may be applied to the coefficient omitted in the transform.

[00113] In a block subjected to a general transform, such as the DCT, the coefficients located in locations from left to right may represent increasing frequencies, and the coefficients located in locations from top to bottom may represent increasing frequencies. Coefficients located in the upper left corner represent low frequencies. Coefficients located in the lower right corner represent high frequencies. The human eye is more sensitive to low-frequency information and is not particularly sensitive to high-frequency information.Using such characteristics, some high-frequency information can be processed more carefully or removed with less impact on vision. In some technologies, such as zero output, some of the high-frequency information can be forced to 0. For example, in a 64x64 block, any coefficient with an abscissa greater than or equal to 32 or an ordinate greater than or equal to 32 can be forced to 0. This is just a simple example. The zero output range can be obtained using more complex methods that are not described here. As shown in Fig. 7, the portion in the upper left corner (i.e., the region containing a possible significant coefficient) can contain a significant coefficient (or a non-zero coefficient), and all coefficients in the portion in the lower right corner (i.e., the zero output region) can be set to zero.Accordingly, subsequent encoding of any coefficient in the zero output region is not required, since this coefficient is exactly equal to 0.

[00114] Additionally, after performing the transform (and quantization) on the residuals of conventional video, it is typical that large coefficients are distributed in the upper left corner, and many 0 coefficients are distributed in the lower right corner. Thus, when encoding coefficients, some methods are typically used such that coefficients in a certain range in the upper left corner must be encoded, while coefficients in a certain range in the lower right corner do not need to be encoded, i.e., they can be taken as 0 by default. In one method, when encoding the coefficients of a block, the location of the last significant coefficient of the block in the scan order may first be determined.Once the location is determined, all coefficients located below the location of the last significant coefficient in the scan order can be taken as 0, i.e., there is no need to encode them. Only the last significant coefficient and the coefficients located above the location of the last significant coefficient need to be encoded. For example, in VVC, the location (LastSignificantCoeffX, LastSignificantCoeffY) of the last significant coefficient is determined based on last_sig_coeff_x_prefix, last_sig_coeff_y_prefix, last_sig_coeff_x_suffix, and last_sig_coeff_y_suffix.

[00115] (a) last_sig_coeff_x_prefix specifies the prefix of the horizontal coordinate (or column position) of the last significant coefficient in the scan order in the current block. The values ​​of last_sig_coeff_x_prefix must be in the range from 0 to (log2ZoTbWidth<<1)-1, inclusive.

[00116] When last_sig_coeff_x_prefix is ​​not present, it is assumed to be 0.

[00117] (b) last_sig_coeff_y_prefix specifies the prefix of the vertical coordinate (or row position) of the last significant coefficient in scan order in the current block. Values ​​of last_sig_coeff_y_prefix must be in the range from 0 to (log2ZoTbHeight<<1)-1, inclusive.

[00118] When last_sig_coeff_y_prefix is ​​not present, it is assumed to be 0.

[00119] (c) last_sig_coeff_x_suffix specifies the suffix of the horizontal coordinate (or column position) of the last significant coefficient in scan order in the current block. Values ​​of last_sig_coeff_x_suffix must be in the range from 0 to (1<< ( ( last_sig_coeff_x_prefix>>1)-1))-1, inclusive.

[00120] The horizontal coordinate (or column position) LastSignificantCoeffX of the last significant coefficient in the scan order in the current transform block can be obtained as follows.

[00121] If last_sig_coeff_x_suffix is ​​not present, the following applies:

[00122] LastSignificantCoeffX = last_sig_coeff_x_prefix;

[00123] Otherwise (last_sig_coeff_x_suffix is ​​present), the following applies:

[00124] LastSignificantCoeffX=(1<< ((last_sig_coeff_x_prefix>>1)-1))*(2+(last_sig_coeff_x_prefix&1)) + last_sig_coeff_x_suffix.

[00125] (b) last_sig_coeff_y_suffix specifies the suffix of the vertical coordinate (or row position) of the last significant coefficient in scan order in the current transform block. The values ​​of last_sig_coeff_y_suffix must be in the range from 0 to (1<< ((last_sig_coeff_y_prefix>>1)-1))-1 inclusive.

[00129] The vertical coordinate (or row position) of LastSignificantCoeffY of the last significant coefficient in scan order in the current transform block can be obtained as follows.

[00127] If last_sig_coeff_y_suffix is ​​not present, the following applies:

[00128] LastSignificantCoeffY = last_sig_coeff_y_prefix;

[00129] Otherwise (last_sig_coeff_y_suffix is ​​present), the following applies:

[00130] LastSignificantCoeffY = (1<< ((last_sig_coeff_y_prefix>>1)-1))*(2+(last_sig_coeff_y_prefix&1)) + last_sig_coeff_y_suffix.

[00131] Additionally, all of the last significant coefficient and the coefficient(s) located above the location of the last significant coefficient are to be encoded. However, in regular video, even among these coefficients, there is a certain proportion of coefficients that are equal to 0. In VVC, the sb_coded_flag flag (indicating whether the current subblock is encoded) can be used to determine whether the coefficients in the current subblock should be encoded. All coefficients in the current subblock are assumed to be 0 if there is no need to encode coefficients in the current subblock. Here, a subblock can typically be n. n, for example, 4 4.

[00132] sb_coded_flag[xS][yS] specifies the following for the sub-block at location (xS, yS) in the current transform block, where the sub-block is an array of transform coefficient levels:

[00133] When sb_coded_flag[xS][yS] is 0, all transform coefficient levels of the sub-block at location (xS, yS) in the current transform block are considered to be 0.

[00134] When sb_coded_flag[xS][yS] is not present, it is considered to be 1.

[00135] Additionally, when encoding coefficients, the compression efficiency can be improved using the coefficient characteristics. For example, for a typical video, a certain proportion of coefficients among those to be encoded are 0. Therefore, a syntax element can be used to indicate whether the current coefficient is 0. The syntax element is typically a binary symbol. If the current coefficient is 0, this means that encoding of the current coefficient is complete.Otherwise, it is necessary to continue encoding the current coefficient. As another example, for a normal video, the absolute values ​​of a certain proportion of coefficients among the significant coefficients (i.e., non-zero coefficients) may be equal to 1. Therefore, a syntax element can be used to indicate whether the absolute value of the current coefficient is greater than 1. The syntax element can typically be a binary symbol. If the absolute value of the current coefficient does not exceed 1, it means that the encoding of the current coefficient is complete. Otherwise, it is necessary to continue encoding the current coefficient. For example, the syntax elements involved in VVC are as follows.

[00136] sig_coeff_flag[xC][yC] indicates for the transform coefficient location (xC, yC) in the current transform block whether the corresponding transform coefficient level at the location (xC, yC) is non-zero, as shown below.

[00137] If sig_coeff_flag[xC][yC] is 0, the level of the transformation coefficient at the location (xC, yC) is set to 0.

[00138] Otherwise (sig_coeff_flag[xC][yC] is 1), the level of the transformation coefficient at the location (xC, yC) has a non-zero value.

[00139] When sig_coeff_flag[xC][yC] is not present, it is considered as follows.

[00140] If transform_skip_flag[x0][y0][cIdx] is 0 or sh_ts_residual_coding_disabled_flag is 1, the following applies: If (xC, yC) is the last significant location (LastSignificantCoeffX, LastSignificantCoeffY) in scan order or all of the following conditions are true, sig_coeff_flag[xC][yC] is considered to be 1:(xC&((1< <log2SbW)-1), yC& ((1<<log2SbH)-1)) равно (0, 0),inferSbDcSigCoeffFlag равен 1, иsb_coded_flag[xS][yS] равен 1;В противном случае sig_coeff_flag[xC][yC] считается равным 0;

[00141] В противном случае (transform_skip_flag[x0][y0][cIdx] равен 1 и sh_ts_residual_coding_disabled_flag равен 0), применимо следующее:Если все следующие условия истинны, sig_coeff_flag[xC][yC] считается равным 1:(xC&((1<<log2SbW)-1), yC&((1<<log2SbH)-1)) равно ((1<<log2SbW)-1, (1<<log2SbH)-1),inferSbSigCoeffFlag равен 1, иsb_coded_flag[xS][yS] равен 1;В противном случае sig_coeff_flag[xC][yC] считается равным 0.

[00142] abs_level_gtx_flag[n][j] indicates whether the absolute value of the transform coefficient (at scan position n) is greater than (j<<1)+1. When abs_level_gtx_flag[n][j] is not present, it is considered to be 0.

[00143] Thus, if the encoding of the current coefficient has not yet been performed after processing the above-mentioned flags (also called syntax elements), then the remaining value, for example, abs_remainder in VVC, of ​​the absolute value of the coefficient shall be encoded.

[00144] abs_remainder[n] is the remaining absolute value of the transform coefficient level, which is encoded by the Golomb-Rice code at scan position n. When abs_remainder[n] is not present, it is considered to be 0.

[00145] Additionally, in VVC, syntax elements such as sig_coeff_flag, abs_level_gtx_flag, etc. can be encoded in context mode, and abs_remainder can be encoded in bypass mode.As mentioned above, context-oriented coding is more complex than bypass coding, which means, intuitively speaking, it requires more processing time. Using too much context-oriented coding may impact the decoding speed if a large number of coefficients need to be encoded. Therefore, the number of syntactic elements to be encoded in context mode can be limited. For example, once the number of binary symbols to be encoded in context mode exceeds a threshold, subsequent coefficients can be forced to be encoded in bypass mode, such as dec_abs_level in VVC.

[00146] dec_abs_level[n] represents an intermediate value that is encoded by the Golomb-Rice code at scan position n. ZeroPos[n] is obtained during the analysis of dec_abs_level[n].The absolute value AbsLevel[xC][yC] of the transformation coefficient level at location (xC, yC) can be obtained as follows.

[00147] If dec_abs_level[n] is not present or is equal to ZeroPos[n], AbsLevel[xC][yC] is set to 0.

[00148] Otherwise, if dec_abs_level[n] is less than ZeroPos[n], AbsLevel[xC][yC] is set to dec_abs_level[n]+1.

[00149] Otherwise (dec_abs_level[n] is greater than ZeroPos[n]), AbsLevel[xC][yC] is set to dec_abs_level[n].

[00150] All of the above refers to the absolute value of the coefficient. The sign of a significant coefficient can be determined using the coefficient sign flag coeff_sign_flag or some cgjcj,j gjkextybz sign flag. coeff_sign_flag[n] specifies the sign of the transform coefficient level for scan position n as follows.

[00151] If coeff_sign_flag[n] is 0, then the corresponding transform coefficient level has a positive value.

[00152] Otherwise (coeff_sign_flag[n] is 1), the corresponding transformation coefficient level has a negative value.

[00153] When coeff_sign_flag[n] is not present, it is considered to be 0. In this case, the value of CoeffSignLevel[xC][yC] indicates the sign of the transformation coefficient level at the location (xC, yC) as follows.

[00154] If CoeffSignLevel[xC][yC] is 0, the corresponding transformation coefficient level is zero.

[00155] Otherwise, if CoeffSignLevel[xC][yC] is 1, the corresponding transformation coefficient level has a positive value.

[00156] Otherwise (CoeffSignLevel[xC][yC] is -1), the corresponding transformation coefficient level has a negative value.

[00157] It should be further noted that CoeffSignLevel[xC][yC] can also be obtained in another way, which is not described here.

[00158] In addition, the par_level_flag of the coefficient level parity can be additionally used in VVC.According to the flag, the parity of the current coefficient level can be known, which can be used in determining the value of the current coefficient level and dependent quantization.

[00159] par_level_flag[n] indicates the parity of the transform coefficient level at scan position n. If par_level_flag[n] is not present, it is considered to be 0.

[00160] In addition to determining the parity of the transform coefficient level, par_level_flag can be additionally used to determine, together with abs_level_gtx_flag and abs_remainder, etc., the magnitude of the coefficient.

[00161] Here, since a context mode must be selected, used, and updated in context-oriented encoding, and no context mode must be selected, used, and updated in bypass encoding, the general practice is to arrange the syntactic elements to be encoded by context-oriented encoding together and arrange the syntactic elements to be encoded by bypass encoding in a certain range. This turns out to be more convenient for the hardware design. For example, the syntactic elements to be encoded by context-oriented encoding in one block are first processed, and then the syntactic elements to be encoded by bypass encoding are processed. The syntactic elements to be encoded by context-oriented encoding in the current block can be further divided into several groups.The syntax elements to be encoded by the bypass mode in one block may be further divided into several groups.

[00162] In a specific example, the specific RRC syntax is as shown in Table 1.Table 1.

[00163] The AbsLevel[xC][yC] array denotes an array of absolute values ​​of the transform coefficients of the current transform block. The AbsLevelPass1[xC][yC] array denotes an array of partially reconstructed absolute values ​​of the transform coefficients of the current transform block. The array indices xC and yC denote the location of (xC, yC) in the current transform block.

[00164] Some block size information, such as the logarithms log2ZoTbWidth and log2ZoTbHeight of the zero output block size, must be determined after the flow has entered the residual_coding(x0, y0, log2TbWidth, log2TbHeight, cIdx) function. A coefficient with an abscissa in the range [0, (1< <log2ZoTbWidth) -1] и ординатой в диапазоне [0, (1<<log2ZoTbHeight) -1] может быть значимым коэффициентом. Здесь (1<<log2ZoTbWidth) может обозначать ширину блока преобразования нулевого вывода, а (1<< log2ZoTbHeight) может обозначать высоту блока преобразования нулевого вывода.Then, the location of the last significant coefficient may be determined according to last_sig_coeff_x_prefix, last_sig_coeff_y_prefix, last_sig_coeff_x_suffix and last_sig_coeff_y_suffix, etc. The coefficient located above the last significant coefficient in the scan order may be the significant coefficient. Then, the value of remBinsPass1 may be determined using the formula remBinsPass1=((1<<(log2TbWidth+log2TbHeight)) ×7) >>2. remBinsPass1 may indicate the number of syntax elements to be encoded by context-aware encoding (i.e., the number of syntax elements encoded based on the context mode) in the current block. It is understood that, in embodiments of the present invention, remBinsPass1 may refer to the remaining bins of inpass1, i.e. the number of remaining binary symbols in the first round. Coefficients located above the last significant coefficient in the scan order must be encoded.For the subblocks containing these coefficients, it can in turn be determined whether each subblock needs to be encoded as the current subblock. If the current subblock needs to be encoded, in RRC, the syntax elements to be encoded by context-aware coding in the subblock can be placed in the first round, and the syntax elements to be encoded by bypass coding (i.e., syntax elements encoded based on the bypass mode) can be placed after the first round. For each coefficient, up to four syntax elements to be encoded by context-aware coding may need to be processed, i.e., 1 sig_coeff_flag, 2 abs_level_gtx_flags, and 1 par_level_flag. In the first round, 1 can be subtracted from remBinsPass1 each time one syntax element to be encoded by context-aware coding is processed.If the coefficient is large enough, the remaining value, i.e., abs_remainder, needs to be further processed after several syntactic elements to be encoded by context-aware encoding have been processed in the first round. Otherwise, if remBinsPass1 is small enough (not corresponding to remBinsPass1>=4), the first round can terminate. The remaining coefficients can be processed directly using the bypass mode, i.e., dec_abs_level.

[00165] In another specific example, the specific syntax of TSRC is shown in Table 2.Table 2.

[00166] Some information about the block size must be determined after the stream has entered the residual_ts_coding(x0, y0, log2TbWidth, log2TbHeight, cIdx) function. Then, the RemCcbs value can be determined using the formula RemCcbs=((1<<(log2TbWidth+log2TbHeight))×7)>>2. RemCcbs may indicate the number of syntax elements to be encoded by context-aware encoding in the current block. It is understood that in embodiments of the present invention, RemCcbs may refer to the remaining context-aware encoding binaries, i.e., the number of remaining binary symbols to be encoded by context-aware encoding. For each sub-block, it can be determined whether the sub-block needs to be encoded as the current sub-block.If the current sub-block is to be encoded, in TSRC (unlike RRC), the syntactic elements to be encoded by context-aware encoding in the sub-block may be placed in two rounds. For each coefficient, up to four syntactic elements to be encoded by context-aware encoding may need to be processed in each of the first and second rounds. Syntactic elements to be encoded by bypass encoding may be placed after two rounds. In the first and second rounds, 1 may be subtracted from remBinsPass1 each time one syntactic element to be encoded by context-aware encoding is processed. If the coefficient is large enough, the remaining value, i.e.,abs_remainder needs to be further processed after several syntax elements to be encoded by context-aware coding have been processed in the first round and in the second round. Otherwise, if remBinsPass1 is small enough (not corresponding to remBinsPass1>=4), the first two rounds may terminate. The remaining coefficients may be processed directly using the bypass mode, where it is still abs_remainder.

[00167] Briefly, in the related art, common video nowadays, such as consumer video, can be compressed with excellent compression efficiency using the existing coefficient coding method. Typically, consumer video may require a bit depth of 8 bits or 10 bits per pixel. In general, the bit rate of consumer video is not too high and is typically several megabytes per second (MB / s) or less.However, videos relevant to certain applications require higher bit depths per pixel, such as 12-bit, 14-bit, 16-bit, or more per pixel. A higher bit depth can generally result in a larger coefficient and a greater number of significant coefficients, thereby enabling a higher bit rate. Videos relevant to certain applications require higher quality. Higher quality can also generally result in a larger coefficient and a greater number of significant coefficients, thereby enabling a higher bit rate. A higher bit rate can place greater demands on computing power, such as bandwidth and decoder capacity.

[00168] In general, compared with the case of low-bit-depth, low-quality, low-bit-rate video (normal video), high-bit-depth, high-quality, high-bit-rate video (triple-high-definition video) requires more coefficients to be encoded and decoded, and these coefficients are larger. For example, there are many more coefficients to be encoded and decoded in a block of triple-high-definition video compared to the number of coefficients to be encoded and decoded in a block of the same size in normal video. This is because many coefficients in a block of normal video all become equal to 0 after undergoing prediction, transformation, and quantization, while many coefficients in a block of triple-high-definition video may still be non-zero after undergoing prediction, transformation, and quantization.A large proportion of coefficients to be encoded among the coefficients predicted, transformed, and quantized in a block of regular video may be 0. Therefore, it can be very efficient to determine whether a domain of coefficients should be encoded using the location (LastSignificantCoeffX, LastSignificantCoeffY) of the last significant coefficient. Even a large proportion of coefficients located above the location of the last significant coefficient may still be 0. Therefore, it can be very efficient to further determine whether the current sub-block should be encoded using the sb_coded_flag flag, which indicates whether the sub-block should be encoded. However, when the current block has many significant coefficients, or even most or all of the coefficients are significant (i.e.,

[00169] In another aspect, the location of the last significant coefficient and the flag indicating whether to encode the sub-block, etc., may all be encoded in a context-aware manner. Context-aware coding is more complex than bypass coding, and processing this information may further impact the throughput and speed of software and hardware encoding and decoding.

[00170] In another aspect, the current method for encoding the location (LastSignificantCoeffX, LastSignificantCoeffY) of the last significant coefficient is to encode the coordinates of the location of the last significant coefficient. In a normal video, since most of the significant coefficients are concentrated in the upper left corner, and the coefficients in a large area in the lower right corner are 0, the values ​​of LastSignificantCoeffX and LastSignificantCoeffY may generally be small. In a triple high definition video, many significant coefficients may also appear in the lower right corner, which usually results in large values ​​of LastSignificantCoeffX and LastSignificantCoeffY, thereby resulting in greater resource consumption in the bitstream due to encoding large values ​​in the bitstream. Furthermore, another possibility is to apply the method in the case of lossless compression.Since quantization is not allowed in lossless compression, in general there may be many coefficients, and the coefficients may have large values. In this case, using the existing solution may lead to greater resource consumption, inefficient use, and a decrease in compression efficiency.

[00171] In embodiments of the present invention, a decoding method is provided. Identification information about a component of the current slice and information about the coordinates of the last significant coefficient of the current block corresponding to the component of the current slice are determined by analyzing the bitstream. When the identification information about the component indicates that a reversal of the location of the last significant coefficient is applied to the component of the current slice, the location of the last significant coefficient of the current block is obtained by performing a calculation with respect to the information about the coordinates of the last significant coefficient.The coefficients of the current block are determined by decoding all coefficients located above the location of the last significant coefficient in a given scan order.

[00172] In embodiments of the present invention, a coding method is further provided. Identification information about a component of the current slice and the location of the last significant coefficient of the current block corresponding to the component of the current slice are determined. Information about the coordinates of the last significant coefficient of the current block is determined according to the identification information about the component and the location of the last significant coefficient. All coefficients located above the location of the last significant coefficient are encoded in a given scan order. The bit information obtained by encoding, the identification information about the component and the information about the coordinates of the last significant coefficient are provided in a bitstream.

[00173] Thus, in the scenario of encoding and decoding video with a high bit depth, high bit rate, high quality, or lossless, a reasonable acquisition mode of the last significant coefficient is set according to the distribution law of the significant coefficients, thereby reducing the resource consumption caused by coding in the bitstream and improving the compression efficiency. In addition, since the significant coefficients of the corresponding color components may differ in the distribution law, it is possible to use the corresponding component identification information to control the appropriate acquisition mode of the last significant coefficient for each color component, i.e., to separately control whether to apply the reversal technology of the last significant coefficient to each color component, thereby further improving the compression efficiency.

[00174] Embodiments of the present invention are described further herein with reference to the drawings.

[00175] Fig. 8A is an exemplary block diagram of the composition of an encoder system according to embodiments of the present invention. As shown in Fig. 8A, the encoder 100 may comprise a partitioning unit 101, a prediction unit 102, a first adder 107, a transform unit 108, a quantization unit 109, an inverse quantization unit 110, an inverse transform unit 111, a second adder 112, a filtering unit 113, a decoded picture buffer (DPB) unit 114, and an entropy encoding unit 115. Here, the input data of the encoder 100 may be a video consisting of a sequence of images or a static image. The output data of the encoder 100 may be a bit stream (also referred to as a bitstream) representing a compressed version of the input video.

[00176] The partitioning node 101 may partition the input video image into one or more coding tree units (CTUs). The partitioning node 101 may partition the image into one or more image blocks (also called tiles) and may further partition a tile into one or more packets. Here, a tile or packet may contain one or more full and / or partial CTUs. In addition, the partitioning node 101 may form one or more slices. A slice may contain one or more tiles in an image arranged in raster order, or one or more tiles covering a rectangular region in an image. The partitioning node 101 may further form one or more image fragments. An image fragment may contain one or more slices, tiles, or packets.

[00177] During the encoding process by the encoder 100, the partitioning node 101 may transmit the CTUs to the prediction node 102.In general, the prediction unit 102 may consist of a block partitioning unit 103, a motion estimation (ME) unit 104, a motion compensation (MC) unit 105, and an intra prediction unit 106. In particular, the block partitioning unit 103 further partitions the input CTU into smaller coding units (CUs) by iteratively using a quaternary tree-based partitioning, a binary tree-based partitioning, and a ternary tree-based partitioning. The prediction unit 102 may obtain an intermediate prediction block of the CU using the ME unit 104 and the MC unit 105. The intra prediction unit 106 may obtain the intra prediction block of the CU using various intra prediction modes, including the matrix-weighted intra prediction (MIP) mode. In an example, the motion estimation mode based on distortion level optimization (RDO) may be called by the ME unit 104 and the MC unit 105 to obtain the intermediate prediction block.The method for determining the mode based on the RDO may be called by the intra prediction unit 106 to obtain an intra prediction block.

[00178] The prediction unit 102 may output a prediction block of a CU. The first adder 107 may calculate the difference between the CU in the output of the partition unit 101 and the prediction block of the CU, i.e., the residual CU. The transform unit 108 may read the residual CU and perform one or more transforms with respect to the residual CU to obtain coefficients. The quantization unit 109 may quantize the coefficients and output quantization coefficients (i.e., levels). The inverse quantization unit 110 may scale the quantization coefficients to output reconstructed coefficients. The inverse transform unit 111 may perform one or more inverse transforms corresponding to one or more transforms in the transform unit 108 and output a reconstructed residual.The second adder 112 can calculate the reconstructed CU by adding the reconstructed residual and the CU prediction block from the prediction unit 102. The second adder 112 can further send the output of the second adder to the prediction unit 102 as a reference for intra-prediction. After all CUs in the image or sub-image have been reconstructed, the filtering unit 113 can perform loop filtering on the reconstructed image or sub-image. In this case, the filtering unit 113 can comprise one or more filters, such as a deblocking filter, an adaptive discrete offset (SAO) filter, an adaptive loop filter (ALF), a luminance mapping with chroma scaling (LMCS) filter, and a neural network-based filter, etc.Alternatively, when the filtering unit 113 determines that the CU should not be used as a reference for encoding another CU, the filtering unit 113 may perform loop filtering with respect to one or more target pixels in the CU.

[00179] The output of the filtering unit 113 may be a decoded image or a sub-image. The decoded image or sub-image may be cached in the DPB unit 114. The DPB unit 114 may output the decoded image or sub-image based on the synchronization and control information. In this case, the image stored in the DPB unit 114 may be further used as a reference for intermediate prediction or intra prediction performed by the prediction unit 102. Finally, the entropy encoding unit 115 may transform the parameter (such as a control parameter, additional information, etc.) required to decode the image from the encoder 100 into a binary form and provide the binary form in a bit stream according to the syntax structure of each data node. That is, the encoder 100 outputs the final bit stream.

[00180] Additionally, the encoder 100 may have a first processor and a first memory device that records a computer program. When the first processor reads and runs the computer program, the encoder 100 may read the input video and generate a bit stream corresponding to the input video. Furthermore, the encoder 100 may further be a computing device having one or more chips. The nodes implemented as integrated circuits on a chip may have connection and data exchange functions similar to the corresponding nodes in Fig. 8A.

[00181] Fig. 8B is an exemplary block diagram of the composition of a decoder system according to embodiments of the present invention. As shown in Fig.8B, the decoder 200 may comprise an analysis unit 201, a prediction unit 202, an inverse quantization unit 205, an inverse transform unit 206, an adder 207, a filtering unit 208, and a DPB unit 209. The input data of the decoder 200 may be a bitstream representing a compressed version of a video or a still image. The output data of the decoder 200 may be a decoded video consisting of a sequence of images or a decoded still image.

[00182] The input bitstream of the decoder 200 may be a bitstream generated by the encoder 100. The analysis unit 201 may analyze the input bitstream and obtain the value of at least one syntax element from the input bitstream. The analysis node 201 may convert the binary representation of the syntax element into a numerical value and send the numerical value to a node in the decoder 200 to obtain one or more decoded images.The analysis unit 201 may further analyze the input bitstream to obtain one or more syntax elements for displaying a decoded image.

[00183] During the decoding process by the decoder 200, the analysis unit 201 may send a value of at least one syntax element and one or more variables to a node in the decoder 200. The one or more variables may be set or determined according to the value of at least one syntax element and configured to obtain one or more decoded images.

[00184] The prediction unit 202 may determine a prediction unit of the current coding unit (e.g., CU). The prediction unit 202 may comprise an MC unit 203 and an intra prediction unit 204.In particular, when it is indicated that the intermediate prediction mode is used to decode the current coding block, the prediction unit 202 can transmit the corresponding parameters sent by the analysis unit 201 to the MC unit 203 to obtain the intermediate prediction block. When it is indicated that the intra prediction mode (including the MIP mode indicated by the MIP mode index) is used to decode the current coding block, the prediction unit 202 can transmit the corresponding parameters from the analysis unit 201 to the intra prediction unit 204 to obtain the intra prediction block.

[00185] The inverse quantization unit 205 can have the same function as the inverse quantization unit 110 in the encoder 100. The inverse quantization unit 205 can scale the quantization coefficients (i.e., levels) from the analysis unit 201 to obtain reconstructed coefficients.

[00186] The inverse transform unit 206 may have the same function as the inverse transform unit 111 in the encoder 100. The inverse transform unit 206 may perform one or more transforms (i.e., the inverse operations of one or more transforms performed by the inverse transform unit 111 in the encoder 100) to obtain a reconstructed residual.

[00187] The adder 207 may add its input data (i.e., the prediction block from the prediction unit 202 and the reconstructed residual from the inverse transform unit 206) to obtain a reconstructed block of the current coding block. The reconstructed block may be further sent to the prediction unit 202 as a reference for another block to be encoded in the intra-prediction mode.

[00188] After all CUs in an image or a sub-image have been reconstructed, the filtering unit 208 may perform loop filtering on the reconstructed image or sub-image. The filtering unit 208 may comprise one or more filters, such as a deblocking filter, an SAO filter, an ALF filter, an LMCS filter, a neural network filter, and the like. Alternatively, when the filtering unit 208 determines that the reconstructed block is not used as a reference for decoding another block, the filtering unit 208 may perform loop filtering on one or more target pixels in the reconstructed block. In this case, the output of the filtering unit 208 may be a decoded image or sub-image. The decoded image or sub-image may be cached in the DPB unit 209. The DPB unit 209 may output the decoded image or sub-image according to the timing and control information.The image stored in the DPB node 209 may be further used as a reference for the intermediate prediction or intra prediction performed by the prediction node 202.

[00189] Additionally, the decoder 200 may have a second processor and a second memory device that stores a computer program. When the third processor reads and runs the computer program, the decoder 200 may read the input bitstream and generate decoded video corresponding to the input bitstream. Furthermore, the decoder 200 may further be a computing device having one or more chips. The node, implemented as integrated circuits on a chip, may have connection and data exchange functions similar to the corresponding nodes in Fig. 8B.

[00190] It should be further noted that, when the embodiments of the present invention are applied to the encoder 100, the current block specifically refers to the current block to be encoded in the video image (or, in short, the coding block). When the embodiments of the present invention are applied to the decoder 200, the current block specifically refers to the current block to be decoded in the video image (or, in short, the coding block).

[00191] In the embodiment of the present invention, Fig. 9 is a flowchart of the decoding method according to the embodiments of the present invention. As shown in Fig. 9, the method may include the following operations S901 to S903.

[00192] In operation S901, identification information about a component of the current slice and information about the coordinates of the last significant coefficient of the current block corresponding to the component of the current slice are determined by analyzing the bitstream.

[00193] It should be noted that the decoding method according to the embodiments of the present invention may specifically relate to a method for decoding coefficient(s), which can be performed by a decoder. Based on the structure of the decoder 200, as shown in Fig. 8B, the decoding method is mainly performed by the analysis unit 201 in the decoder 200. The analysis unit 201 can obtain the value(s) of the associated identification information (or syntax element(s)) by performing decoding using the adaptive binary arithmetic coding mode based on the context model or the bypass mode, thereby determining the coefficients of the current block.

[00194] Further, it should be noted that, in general, coding in a video standard may include encoding and decoding.Therefore, video encoding may include an encoding method performed at the encoder side and a decoding method performed at the decoder side. Embodiments of the present invention describe a decoding method performed at the decoder side.

[00195] In general, for example, for a normal video, a decoding method for the coefficient(s) of the normal video is the same as the existing method in the prior art. However, in some cases, such as a scenario of encoding and decoding video with high bit depth, high quality, high bit rate, or lossless compression, embodiments of the present invention provide a method capable of modifying the mode of obtaining the location of the last significant coefficient.

[00196] In embodiments of the present invention, the identification information about the component of the current slice is a slice level flag.The component identification information indicates whether the reversal of the last significant coefficient has been applied to the component of the current slice. If the reversal of the last significant coefficient has been applied to the component of the current slice, this means that the reversal of the last significant coefficient has been applied to the current block corresponding to the component of the current slice. If the reversal of the last significant coefficient has not been applied to the component of the current slice, this means that the reversal of the last significant coefficient has not been applied to the current block corresponding to the component of the current slice.

[00197] It is understood that the current sequence may include the current slice, and the current slice may include the current block.In some embodiments, before determining the identification information about the component of the current slice by analyzing the bitstream, the method may further include the following operations.

[00198] First identification information about a syntax element is determined by analyzing the bitstream.

[00199] The operation in which the identification information about the component of the current slice is determined by analyzing the bitstream is performed when the first identification information about the syntax element indicates that reversal of the location of the last significant coefficient is allowed for the current sequence.

[00200] In embodiments of the present invention, the method may further include the following operation.If the value of the first identification information about the syntax element is the first value, it is determined that the first identification information about the syntax element indicates that reversal of the last significant coefficient is permitted for the current sequence. Alternatively, if the value of the first identification information about the syntax element is the second value, it is determined that the first identification information about the syntax element indicates that reversal of the last significant coefficient is prohibited for the current sequence.

[00201] It should be noted that the first value is different from the second value. The first value and the second value may be parametric or may be numeric.In particular, the first identification information about the syntax element may be a parameter provided in the profile, or may be a flag value, which is in no way limited in embodiments of the present invention.

[00202] For example, the first identification information about the syntax element is a flag. In this case, the first value may be set to 1, and the second value may be set to 0. Alternatively, the first value may be set to "true", and the second value may be set to "false". Alternatively, the first value may be set to 0, and the second value may be set to 1. Alternatively, the first value may be set to the value "false", and the second value may be set to the value "true". Illustratively, for a flag, as a rule, the first value may be the value 1, and the second value may be the value 0, which, however, is in no way limited.

[00203] It should be further noted that the first identification information about the syntax element may be a sequence-level flag denoted as sps_reverse_last_sig_coeff_flag for indicating whether the reversal of the last significant coefficient is allowed for the current sequence. Thus, when obtaining through decoding that the reversal of the last significant coefficient is allowed for the current sequence, the identification information about the component at the slice level may be further decoded to determine whether the reversal of the last significant coefficient is applied to the component of the current slice.

[00204] Additionally, before obtaining the first identification information about the syntax element through decoding, in a possible embodiment, the method may further include the following operations.

[00205] A second identification information about a syntax element is determined by analyzing a bit stream.

[00206] The operation in which the first identification information about a syntax element is determined by analyzing a bit stream is performed when the second identification information about a syntax element indicates that an extension version of the standard is applied to the current sequence.

[00207] Before obtaining the first identification information about a syntax element by decoding, in another possible embodiment, the method may further include the following operations.

[00208] A third identification information about a syntax element is determined by analyzing the bit stream.

[00209] The operation of determining the first identification information about the syntax element by analyzing the bit stream is performed when the third identification information about the syntax element indicates that the range extension is applied to the current sequence.

[00210] Before obtaining the first identification information about the syntax element by decoding, in another possible embodiment, the method may further include the following operations.

[00211] Determining the second identification information about the syntax element by analyzing the bit stream.

[00212] The third identification information about the syntax element is determined by analyzing the bit stream when the second identification information about the syntax element indicates that the extension version of the standard is applied to the current sequence.

[00213] The operation in which the first identification information about the syntax element is determined by analyzing the bit stream is performed when the third identification information about the syntax element indicates that the range extension is applied to the current sequence.

[00214] It should be noted that both the second identification information about the syntax element and the third identification information about the syntax element are sequence-level flags. The second identification information about the syntax element is designated as sps_extension_flag to indicate whether the extension version of the standard is applied to the current sequence. The third identification information about the syntax element is designated as sps_range_extension_flag to indicate whether the range extension is applied to the current sequence.

[00215] That is, before obtaining the first identification information about the syntax element (sps_reverse_last_sig_coeff_flag) by decoding, the following operations may be performed. sps_extension_flag is obtained by analyzing the bitstream; and sps_reverse_last_sig_coeff_flag is obtained by decoding if sps_extension_flag indicates that the extension version of the standard is applied to the current sequence. Alternatively, sps_range_extension_flag is obtained by analyzing the bitstream; and sps_reverse_last_sig_coeff_flag is obtained by decoding if sps_range_extension_flag indicates that the range extension is applied to the current sequence.Alternatively, sps_extension_flag is obtained by analyzing the bitstream; sps_range_extension_flag is obtained by analyzing the bitstream if sps_extension_flag indicates that the extension version of the standard is applied to the current sequence; and sps_reverse_last_sig_coeff_flag is obtained by decoding if sps_range_extension_flag indicates that the range extension is applied to the current sequence. However, they are not limited in any way in the embodiments of the present invention.

[00216] Additionally, in some embodiments, the method may further include the following operation. If the value of the second identification information about the syntax element is the first value, it is determined that the second identification information about the syntax element indicates that the extension version of the standard is applied to the current sequence.Alternatively, if the value of the second identification information about the syntax element is the second value, it is determined that the second identification information about the syntax element indicates that the version of the extension of the standard is not applied to the current sequence.

[00217] Additionally, in some embodiments, the method may further include the following operation. If the value of the third identification information about the syntax element is the first value, it is determined that the third identification information about the syntax element indicates that the range extension is applied to the current sequence. Alternatively, if the value of the third identification information about the syntax element is the second value, it is determined that the third identification information about the syntax element indicates that the range extension is not applied to the current sequence.

[00218] It should be noted that the first value is different from the second value. The first value and the second value may be in parametric form or may be in numeric form. In a specific example, the first value may be set to 1 and the second value may be set to 0, which, however, is in no way limited.

[00219] Additionally, it should be noted that the second identification information about the syntax element is designated as sps_extension_flag. The third identification information about the syntax element is designated as sps_range_extension_flag. Accordingly, at the sequence level, if sps_extension_flag has a value of 1, i.e., the extension version of the standard is applied to the current sequence, then it is necessary to decode sps_range_extension_flag. If sps_range_extension_flag has a value of 1, i.e., If range extension is applied to the current sequence, then sps_reverse_last_sig_coeff_flag needs to be decoded.If sps_reverse_last_sig_coeff_flag has a value of 1, i.e., reversal of the last significant coefficient is allowed for the current sequence, the slice-level component identification information must be further decoded to determine whether reversal of the last significant coefficient is applied to the component of the current slice.

[00220] In some embodiments, range extension is applied to the current sequence, which may include the current sequence having at least one of the following: high bit depth, high quality, high bit rate, high frame rate, or lossless compression.

[0022] That is, compared with a conventional video, a video according to the embodiments of the present invention has the characteristics of a high bit depth, high quality, high bit rate, high frame rate, lossless compression, and / or the like.

[00222] Additionally, the first syntax element identification information, the second syntax element identification information, the third syntax element identification information, and the like may be sequence-level flags or even higher-level flags such as video usability information (VUI), supplemental optimization information (SEI), and the like.

[00223] In a specific example, for a current video sequence, whether an extension version of the standard is applied to the current sequence is determined using the second syntax element identification information (sps_extension_flag).In other words, it determines whether the current sequence can be opened in an extension version of the standard, such as the VVC extension version formulated for high-bit-depth, high-bit-rate encoding, etc. When sps_extension_flag is set to 1, the first syntax element identification information (sps_reverse_last_sig_coeff_flag) must be decoded. Otherwise, there is no need to decode the first syntax element identification information (sps_reverse_last_sig_coeff_flag).

[00224] In another specific example, for the current video sequence, when sps_extension_flag has a value of 1, it is necessary to further decode the third identification information about the syntax element (sps_range_extension_flag) to determine whether a range extension is applied to the current sequence, for example, a flag(s) with a high bit depth, a high bit rate, a high frame rate, lossless compression, and / or the like. For example, four cases are described below in this document, respectively.

[00225] In a possible implementation, when the third identification information about the syntax element is identification information with a high bit depth, the method may further include the following operation. If the identification information with a high bit depth indicates that the current sequence has a high bit depth, it is determined that a range extension is applied to the current sequence.

[00226] In another possible implementation, when the third identification information about the syntax element is identification information with a high bit rate, the method may further include the following operation. If the identification information with a high bit rate indicates that the current sequence has a high bit rate, it is determined that range extension is applied to the current sequence.

[00227] In yet another possible implementation, when the third identification information about the syntax element is identification information with high quality, the method may further include the following operation. If the identification information with high quality indicates that the current sequence has high quality, it is determined that range extension is applied to the current sequence.

[00228] In another possible implementation, when the third identification information about the syntax element is identification information with lossless compression, the method may further include the following operation. If the identification information with lossless compression indicates that the current sequence has lossless compression (i.e., is compressed without loss), it is determined that range extension is applied to the current sequence.

[00229] Illustratively, taking the sequence level as an example, the third identification information about the syntax element may further be high bit depth identification information (designated as sps_high_bit_depth_flag) for indicating whether the current sequence is a high bit depth sequence; or alternatively may be high bit rate identification information (designated as sps_high_bit_rate_flag) for indicating whether the current sequence is a high bit rate sequence; or alternatively may be other identification information for indicating high bit depth, high bit rate, high quality, or lossless compression, which is in no way limited in the embodiments of the present invention.

[00230] Additionally, in some embodiments, in operation S901, the operation in which coordinate information of the last significant coefficient of the current block corresponding to the component of the current slice is determined by analyzing a bitstream may include the following operations.

[00231] Information about a prefix of a horizontal coordinate of the last significant coefficient of the current block, information about a prefix of a vertical coordinate of the last significant coefficient, information about a suffix of a horizontal coordinate of the last significant coefficient, and information about a suffix of a vertical coordinate of the last significant coefficient are obtained by analyzing a bitstream.

[00232] The horizontal coordinate of the last significant coefficient is determined according to the prefix information of a horizontal coordinate of the last significant coefficient and the suffix information of a horizontal coordinate of the last significant coefficient.

[00233] The vertical coordinate of the last significant coefficient is determined according to the prefix information of the vertical coordinate of the last significant coefficient and the suffix information of the vertical coordinate of the last significant coefficient.

[00234] The coordinate information of the last significant coefficient of the current block can be determined according to the horizontal coordinate of the last significant coefficient and the vertical coordinate of the last significant coefficient.

[00235] It should be noted that the prefix information of the horizontal coordinate of the last significant coefficient can be designated as last_sig_coeff_x_prefix, i.e., indicating the prefix of the horizontal coordinate (or column position) of the last significant coefficient in a given scan order in the current block. The prefix information of the vertical coordinate of the last significant coefficient can be designated as last_sig_coeff_y_prefix, i.e.,by specifying the prefix of the vertical coordinate (or row position) of the last significant coefficient in the given scan order in the current block. The suffix information of the horizontal coordinate of the last significant coefficient can be denoted as last_sig_coeff_x_suffix, i.e., specifying the suffix of the horizontal coordinate (or column position) of the last significant coefficient in the given scan order in the current block. The suffix information of the vertical coordinate of the last significant coefficient can be denoted as last_sig_coeff_y_suffix, i.e., specifying the suffix of the vertical coordinate (or row position) of the last significant coefficient in the given scan order in the current block. That is, the coordinate information of the last significant coefficient can be determined based on last_sig_coeff_x_prefix, last_sig_coeff_x_suffix, last_sig_coeff_y_prefix and last_sig_coeff_y_suffix.

[00236] It should be further understood that last_sig_coeff_x_prefix and last_sig_coeff_x_suffix may determine the abscissa (i.e., horizontal coordinate) of the last significant coefficient. last_sig_coeff_y_prefix and last_sig_coeff_y_suffix may determine the ordinate (i.e., vertical coordinate) of the last significant coefficient, thereby obtaining information about the coordinates of the last significant coefficient.

[00237] In embodiments of the present invention, the identification information about the reversal of the location of the last significant coefficient may be designated as reverse_last_sig_coeff_flag.The identification information of the reversal of the last significant coefficient may be at least one of sequence-level identification information, picture-level identification information, slice-level identification information, or block-level identification information, or even higher-level identification information (e.g., VUI, SEI, etc.), which is in no way limited here.

[00238] That is, reverse_last_sig_coeff_flag may be a sequence-level flag or a higher-level flag, or may be a picture-level flag or a slice-level flag, or a block-level flag, or another level flag. Furthermore, the block-level flag may include an LCU-level flag or a CTU-level flag or a CU-level flag or another block-level flag, which is in no way limited in the embodiments of the present invention.

[00239] In embodiments of the present invention, the identification information about the reversal of the last significant coefficient at the sequence level may be denoted as sps_reverse_last_sig_coeff_flag. The identification information about the reversal of the last significant coefficient of the slice level may be denoted as sh_reverse_last_sig_coeff_flag.

[00240] It should be further noted that the identification information about the reversal of the last significant coefficient of the slice level may be further referred to as the identification information about the component of the current slice. In some embodiments, the method may further include the following operation.

[00241] When the value of the component identification information is the first value, it is determined that the component identification information indicates that the reversal of the last significant coefficient is applied to the component of the current slice.

[00242] Alternatively, when the value of the component identification information is the second value, it is determined that the component identification information indicates that the reversal of the last significant coefficient is not applied to the component of the current slice.

[00243] It should be noted that the first value and the second value may differ. The first value and the second value may be parametric or may be numeric. In a specific example, the first value may be set to 1, and the second value may be set to 0, which, however, is in no way limited.

[00244] As an example, a first value of 1 and a second value of 0 are taken.If it is obtained through decoding that the value of the component identification information is 1, it can be determined that the component identification information indicates that the reversal of the location of the last significant coefficient is applied to the component of the current slice. If it is obtained through decoding that the value of the component identification information is 0, it can be determined that the component identification information indicates that the reversal of the location of the last significant coefficient is not applied to the component of the current slice.

[00245] In operation S902, in response to the component identification information indicating that the reversal of the location of the last significant coefficient is applied to the component of the current slice, the location of the last significant coefficient of the current block is obtained by performing a calculation with respect to the coordinate information of the last significant coefficient.

[00246] In operation S903, the coefficients of the current block are determined by decoding all the coefficients located above the location of the last significant coefficient in a given scanning order.

[00247] It should be noted that in the embodiments of the present invention, when the component identification information indicates that the reversal of the location of the last significant coefficient is applied to the component of the current slice, this means that the reversal of the location of the last significant coefficient is also applied to the current block corresponding to the component of the current slice. In this case, the coordinate information of the last significant coefficient of the current block can be determined as the horizontal distance and the vertical distance between the location of the last significant coefficient and the lower right corner of the current block.

[00248] In some embodiments, the operation of obtaining the location of the last significant coefficient of the current block by performing a calculation with respect to the coordinate information of the last significant coefficient may include the following operations.

[00249] The width and height of the current block are determined.

[00250] The horizontal coordinate of the last significant coefficient is obtained by subtracting the horizontal distance between the location of the last significant coefficient and the lower right corner of the current block from the width of the current block.

[00251] The vertical coordinate of the last significant coefficient is obtained by subtracting the vertical distance between the location of the last significant coefficient and the lower right corner of the current block from the height of the current block.

[00252] The location of the last significant coefficient of the current block is determined according to the horizontal coordinate of the last significant coefficient and the vertical coordinate of the last significant coefficient.

[00253] It should be noted that the coordinate information of the last significant coefficient is usually the horizontal distance and the vertical distance between the location of the last significant coefficient and the upper left corner of the current block. For ordinary video, most of the significant coefficients are concentrated in the upper left corner, and the coefficients in a large area in the lower right corner are 0. However, for coding and decoding video with high bit depth, high quality, high bit rate, many significant coefficients may also appear in the lower right corner, so the coordinate information of the last significant coefficient is of great importance.In this case, to conserve resources, coordinate transformation (specifically, coordinate reversal, where after coordinate reversal, the coordinate information of the last significant coefficient is the horizontal and vertical distance between the location of the last significant coefficient and the lower-right corner of the current block) must be performed during coefficient encoding. Accordingly, coordinate reversal must also be performed during coefficient decoding.After re-executing the coordinate change to the inverse, the information about the coordinates of the last significant coefficient can be reconstructed as a horizontal distance and a vertical distance between the location of the last significant coefficient and the upper left corner of the current block, while determining the location of the last significant coefficient for encoding all coefficients located above the location of the last significant coefficient in the current block, in a given scanning order.

[00254] It should be further noted that the current block corresponding to a component of the current slice may be a block in relation to which the zero output transformation has not been performed, or a block in relation to which the zero output transformation has been performed.Taking a block that has been subject to a zero-output transformation as an example, in this case the width of the current block might be 1 < <log2ZoTbWidth, и высота текущего блока может представлять собой 1<<log2ZoTbHeight. Затем, в случае когда идентификационная информация о компоненте указывает, что изменение местоположения на обратное последнего значимого коэффициента применено к компоненту текущего слайса,

[00255] LastSignificantCoeffX= (1<<log2ZoTbWidth)-1-LastSignificantCoeffX;

[00256] LastSignificantCoeffY= (1<<log2ZoTbHeight)-1-LastSignificantCoeffY.

[00257] В данном документе (LastSignificantCoeffX, LastSignificantCoeffY) в правой части формулы может обозначать информацию о координатах последнего значимого коэффициента, полученную посредством декодирования.(LastSignificantCoeffX, LastSignificantCoeffY) on the left side of the formula may denote the location of the last significant coefficient (which may also be considered as the target coordinate information of the last significant coefficient).

[00258] Additionally, in some embodiments, the method may further include the following operations.

[00259] When the component identification information indicates that the reversal of the location of the last significant coefficient is not applied to the component of the current slice, the coordinate information of the last significant coefficient of the current block is determined as the horizontal distance and the vertical distance between the location of the last significant coefficient and the upper left corner of the current block.

[00260] The location of the last significant coefficient of the current block is determined according to the horizontal distance and the vertical distance between the location of the last significant coefficient and the upper left corner of the current block.

[00261] It should be noted that if the identification information about the component indicates that the reversal of the location of the last significant coefficient is not applied to the component of the current slice, this also means that the reversal of the location of the last significant coefficient is not applied to the current block corresponding to the component of the current slice. In this case, the information about the coordinates of the last significant coefficient obtained by decoding can be regarded as the target information about the coordinates of the last significant coefficient.In embodiments of the present invention, the target coordinate information of the last significant coefficient is a horizontal distance and a vertical distance between the location of the last significant coefficient and the upper left corner of the current block.

[00262] Additionally, in some embodiments, the method may further include the following operations.

[00263] When the component identification information indicates that the reversal of the location of the last significant coefficient is not applied to the component of the current slice, the location of the last significant coefficient of the current block is determined directly according to the coordinate information of the last significant coefficient.

[00264] The coefficients of the current block are determined by decoding all coefficients located above the location of the last significant coefficient in a given scan order.

[00265] It should be noted that the given scanning order may be a diagonal scanning order, a zigzag scanning order, a horizontal scanning order, a vertical scanning order, a 4×4 sub-block scanning order, etc., which is in no way limited in the embodiments of the present invention.

[0026] It should be further noted that after obtaining the component identification information of the current slice, if the component identification information of the current slice is 1, i.e., the reversal of the location of the last significant coefficient is applied to the component of the current slice, then for the current block corresponding to the component of the current slice, after obtaining the coordinate information of the last significant coefficient through decoding, the location of the last significant coefficient of the current block is determined by performing a calculation with respect to the coordinate information of the last significant coefficient. Then, the coefficients of the current block are obtained by decoding all the coefficients above the location of the last significant coefficient in the specified scan order. If the component identification information of the current slice is 0, i.e.,If the reversal of the location of the last significant coefficient is not applied to the component of the current slice, then for the current block corresponding to the component of the current slice, after obtaining the coordinate information of the last significant coefficient through decoding, the location of the last significant coefficient of the current block can be determined directly according to the coordinate information of the last significant coefficient. Then, the coefficients of the current block are obtained by decoding all the coefficients above the location of the last significant coefficient in a given scan order.

[00267] Thus, in some cases, such as encoding and decoding video with high bit depth, high quality, high bit rate or lossless compression, during the encoding of coefficients, embodiments of the present invention provide a method for modifying the mode of obtaining the location of the last significant coefficient.That is, usually the method of encoding and decoding the coefficients is the same as the existing method in the prior art. Usually, last_sig_coeff_x_prefix and last_sig_coeff_x_suffix can be configured to encode the abscissa of the location of the last significant coefficient, i.e., the horizontal distance relative to the upper left corner of the current block; and last_sig_coeff_y_prefix and last_sig_coeff_y_suffix can be configured to encode the ordinate of the location of the last significant coefficient, i.e., the vertical distance relative to the upper left corner of the current block, as shown in Fig. 10A. When encoding and decoding video with high bit depth, high quality, high bit rate, or lossless compression, the location of the last significant coefficient is usually close to the lower right corner of the area including all possible non-zero coefficients in the current block.In this case, last_sig_coeff_x_prefix and last_sig_coeff_x_suffix may be configured to encode the horizontal distance between the location of the last significant coefficient and the lower right corner of the region that includes all possible non-zero coefficients in the current block, and last_sig_coeff_y_prefix and last_sig_coeff_y_suffix may be configured to encode the vertical distance between the location of the last significant coefficient and the lower right corner of the region that includes all possible non-zero coefficients in the current block, as shown in Fig. 10B.For example, if the region that includes all possible non-zero coefficients in the current block is a rectangular region defined by (0, 0) and ((1< <log2ZoTbWidth)-1, (1<<log2ZoTbHeight)-1), last_sig_coeff_x_prefix и last_sig_coeff_x_suffix могут быть сконфигурированы для кодирования расстояния по горизонтали между местоположением последнего значимого коэффициента и ((1<<log2ZoTbWidth)-1, (1<<log2ZoTbHeight)-1) текущего блока, и last_sig_coeff_y_prefix и last_sig_coeff_y_suffix могут быть сконфигурированы для кодирования расстояния по вертикали между местоположением последнего значимого коэффициента и ((1<<log2ZoTbWidth)-1, (1<<log2ZoTbHeight)-1) текущего блока.

[00268] Модификация семантики заключается в следующем.

[00269] Горизонтальная координата (или положение столбца) LastSignificantCoeffX последнего значимого коэффициента в заданном порядке сканирования в текущем блоке может быть получена следующим образом.

[00270] If last_sig_coeff_x_suffix is ​​not present, the following applies:

[00271] LastSignificantCoeffX= last_sig_coeff_x_prefix.

[00272] Otherwise (last_sig_coeff_x_suffix is ​​present), the following applies:

[00273] LastSignificantCoeffX= (1<<((last_sig_coeff_x_prefix>>1)-1)) * (2+(last_sig_coeff_x_prefix&1)) + last_sig_coeff_x_suffix.

[00274] If reverse_last_sig_coeff_flag is 1, the following applies:

[00275] LastSignificantCoeffX = (1< <log2ZoTbWidth)-1-LastSignificantCoeffX.

[00276] Вертикальная координата (или положение строки) LastSignificantCoeffY последнего значимого коэффициента в порядке сканирования в текущем блоке может быть получена следующим образом.

[00277] Если last_sig_coeff_y_suffix не присутствует, применимо следующее:

[00278] LastSignificantCoeffY= last_sig_coeff_y_prefix.

[00279] В противном случае (last_sig_coeff_y_suffix присутствует):

[00280] LastSignificantCoeffY= (1<<((last_sig_coeff_y_prefix> >1)-1)) * (2+(last_sig_coeff_y_prefix&1)) + last_sig_coeff_y_suffix.

[00281] If reverse_last_sig_coeff_flag is 1, the following applies:

[00282] LastSignificantCoeffY= (1< <log2ZoTbHeight)-1-LastSignificantCoeffY.

[00283] В данном документе reverse_last_sig_coeff_flag представляет собой флаг изменения местоположения на обратное последнего значимого коэффициента, указывающий, нужно ли местоположение последнего значимого коэффициента изменить на обратное. Если reverse_last_sig_coeff_flag имеет значение 1, это указывает, что местоположение последнего значимого коэффициента нужно изменить на обратное. В противном случае флаг указывает, что местоположение последнего значимого коэффициента не должно быть изменено на обратное.

[00284] Дополнительно следует отметить, что reverse_last_sig_coeff_flag может быть флагом уровня последовательности или флагом более высокого уровня или может быть флагом уровня изображения или флагом уровня слайса, или флагом уровня блока, или флагом другого уровня.The block level flag may include an LCU level flag or a CTU level flag or a CU level flag or another block level flag. Illustratively, the sequence level reverse_last_sig_coeff_flag may be denoted as sps_reverse_last_sig_coeff_flag, and the slice level reverse_last_sig_coeff_flag may be denoted as sh_reverse_last_sig_coeff_flag.

[00285] In addition, reverse_last_sig_coeff_flag may depend on some other flags, such as high bit depth identification information, high bit rate identification information, or second identification information about a syntax element (sequence parameter set, SPS, extension flag sps_extension_flag), or the like. The SPS extension flag may be opened in an extension version of the standard, such as the extension version in VVC formulated for high bit depth and high bit rate coding.That is, reverse_last_sig_coeff_flag needs to be decoded when the high bit depth identification information or the high bit rate identification information has the value 1. Otherwise, reverse_last_sig_coeff_flag does not need to be decoded.

[00286] In the specific example, it is assumed that there are sequence-level identification information sps_extension_flag, sps_range_extension_flag, and sps_reverse_last_sig_coeff_flag. At the sequence level, if sps_extension_flag has the value 1, sps_range_extension_flag needs to be decoded. If sps_range_extension_flag has the value 1, sps_reverse_last_sig_coeff_flag needs to be decoded. In this document, sps_reverse_last_sig_coeff_flag represents the flag for reversing the location of the last significant coefficient for the current sequence.If sps_reverse_last_sig_coeff_flag is 1, it specifies that the reversal of the last significant coefficient is applied to the block in the current sequence. Otherwise (i.e., if sps_reverse_last_sig_coeff_flag is 0), it specifies that the reversal of the last significant coefficient is not applied to the block in the current sequence. reverse_last_sig_coeff_flag in the existing syntax table is modified as sps_reverse_last_sig_coeff_flag.

[00287] It is understood that sps_extension_flag can indicate whether a version of the standard extension is applied to the current sequence. sps_range_extension_flag can indicate whether a range extension (such as high bit depth, high bit rate, etc.) is applied to the current sequence.

[00288] In the implementation, the syntax element table is modified as follows (raw byte sequence payload of the sequence parameter set, RBSP, syntax), as shown in Table 3.Table 3.

[00289] In another implementation, the syntax element table is modified as follows (sequence parameter set range extension syntax), as shown in Table 4.Table 4

[00290] Based on the syntax elements in Table 3 and Table 4, when the value of sps_extension_flag is 1, it means that the syntax elements sps_range_extension_flag and sps_extension_7bits are present in the syntax structure of the SPS RBSP; and when the value of sps_extension_flag is 0, it means that these syntax elements are not present in the syntax structure of the SPS RBSP.

[00291] In this document, if the value of sps_range_extension_flag is 1, it means that the syntax structure sps_range_extension() is present in the syntax structure of the SPS RBSP. If sps_range_extension_flag is not present, it is determined that the value of sps_range_extension_flag is 0.

[00292] If sps_reverse_last_sig_coeff_flag is 1, it means that the reversal of the last significant coefficient has been applied to the block in the current sequence. Otherwise (i.e., if the value of sps_reverse_last_sig_coeff_flag is 0), it means that reversing the location of the last significant coefficient is not applied to the block in the current sequence.

[00293] In another specific example, sequence-level identification information sps_extension_flag, sps_range_extension_flag, and sps_reverse_last_sig_coeff_enabled_flag are assumed to exist. At the sequence level, if sps_extension_flag is 1, sps_range_extension_flag needs to be decoded. If sps_range_extension_flag is 1, sps_reverse_last_sig_coeff_enabled_flag needs to be decoded. In this document, sps_reverse_last_sig_coeff_enabled_flag represents the enabling (technology) flag of reversing the location of the last significant coefficient for the current sequence.If sps_reverse_last_sig_coeff_enabled_flag is 1, it means that reversing the last significant coefficient is allowed for the block in the current sequence. Otherwise (i.e., if sps_reverse_last_sig_coeff_enabled_flag is 0), it means that reversing the last significant coefficient is prohibited for the block in the current sequence. If sps_reverse_last_sig_coeff_enabled_flag is not present, sps_reverse_last_sig_coeff_enabled_flag is specified to be 0. At the slice level, if sps_reverse_last_sig_coeff_enabled_flag is 1, sh_reverse_last_sig_coeff_flag must be decoded. In this document, sh_reverse_last_sig_coeff_flag represents the flag for reversing the location of the last significant coefficient for the current slice.If sh_reverse_last_sig_coeff_flag is 1, it means that the reversal of the last significant coefficient has been applied to the block in the current slice. Otherwise (i.e., if sh_reverse_last_sig_coeff_flag is 0), it means that the reversal of the last significant coefficient has not been applied to the block in the current slice. If sh_reverse_last_sig_coeff_flag is not present, sh_reverse_last_sig_coeff_flag is set to 0. reverse_last_sig_coeff_flag in the existing syntax table is modified as sh_reverse_last_sig_coeff_flag.

[00294] Note that at the sequence level, the reversal of the last significant coefficient flag can mean "whether the use of (something) is allowed / enforced". At the slice level, the last significant coefficient reversal flag can mean "determine whether... is applied / used".

[00295] In another implementation, the syntax element table is modified as follows (slice header syntax), as shown in Table 5.Table 5.

[00296] Based on the syntax element in Table 5, if the value of sps_reverse_last_sig_coeff_enabled_flag is 1, it means that reversing the location of the last significant coefficient is allowed for the block in the current sequence. Otherwise (i.e., if the value of sps_reverse_last_sig_coeff_enabled_flag is 0), it means that reversing the location of the last significant coefficient is prohibited for the block in the current sequence.

[00297] If the value of sh_reverse_last_sig_coeff_flag is 1, it means that reversing the location of the last significant coefficient is applied to the block in the current slice. Otherwise (i.e., if the value of sh_reverse_last_sig_coeff_flag is 0), it means that reversing the location of the last significant coefficient is not applied to the block in the current slice. If sh_reverse_last_sig_coeff_flag is not present, the value of sh_reverse_last_sig_coeff_flag is defined to be 0.

[00298] It is understood that for each of the color components of the current slice, the component identification information (i.e., sh_reverse_last_sig_coeff_flag) of the current slice may provide the ability to separately control whether to apply the reversal of the last significant coefficient to the color component.

[00299] In embodiments of the present invention, a component may comprise a first color component, a second color component, and a third color component.

[00300] In a particular example, the first color component is a luma component. The second color component is the first chroma component. The third color component is the second chroma component. The luma component may be denoted as Y. The first chroma component may be denoted as U(Cb). The second chroma component may be denoted as V(Cr).

[00301] In another specific example, the first color component is a red component, the second color component is a green component, and the third color component is a blue component. The red component may be designated as R. The green component may be designated as G. The blue component may be designated as B.

[00302] Additionally, in some embodiments, when the component comprises a first color component, a second color component, and a third color component, the method may further include the following operations.

[00303] It is determined whether the first color component, the second color component, and the third color component of the current slice jointly use identification information about the component based on the relationship between the properties of the first color component, the second color component, and the third color component.

[00304] The number of parts of the identification information about the component of the current slice is determined according to the result of the determination.In this document, the number of parts of the component identification information is 1, 2, or 3.

[00305] In particular, the operation of determining the number of parts of the component identification information may include the following operation.

[00306] The number of parts of the component identification information of the current slice is determined to be 1 if one part of the component identification information is shared by a first color component, a second color component, and a third color component of the current slice.

[00307] Alternatively, the number of parts of the component identification information of the current slice is determined to be 2 if one part of the component identification information is shared by two of the first color component, the second color component, and the third color component of the current slice.

[00308] Alternatively, the number of parts of the component identification information of the current slice is determined to be 3 if each of the first color component, the second color component, and the third color component of the current slice has a separate part of the component identification information.

[00309] In embodiments of the present invention, on the one hand, the properties of the corresponding color components may differ. For example, the color components are R, G, B of RGB video format or Y, U, V (Y, Cb, Cr) of YUV video format, or color components of video of another possible format. The YUV format may be a format such as YUV444, YUV422, YUV420. The human eye is more sensitive to changes in brightness than to changes in chrominance. Therefore, sometimes downsampling may be performed with respect to chrominance using a format such as YUV422, YUV420, and / or the like., and in general, the quantization step for chroma can be larger than that for luma, which reduces the bit rate.

[00310] On the other hand, some inter-component coding methods improve coding efficiency by exploiting the correlation between components. For example, with the inter-component linear model (CCLM), inter-component prediction predicts the chroma component using the reconstructed luma component and a linear model. With CCLM, the prediction accuracy of the chroma component can be improved, thereby reducing the residual chroma component. In addition, in some other methods, information regarding the luma component and one chroma component is additionally used to predict the other component, thereby further improving the compression efficiency.In the cross-component adaptive loop filter (CCALF), the chrominance component is complemented with some detail from the luma component to improve compression efficiency. The detail from the chrominance component can be complemented with the luma component, which allows for greater distortion during residual coding.

[00311] Accordingly, since the properties of the corresponding color components differ and some cross-component techniques are used, the corresponding color components may not always be compatible in the residual distribution. For example, when encoding and decoding video with very high bit rates and very high quality requirements, the significant coefficients of different components may be similar in the distribution, for example, they are all located close to the lower right corner of the region containing possible significant coefficients (i.e., non-zero coefficients).However, in some cases of video encoding and decoding with a not particularly high bit rate and not particularly high quality requirements, the significant coefficients of different components may be distributed differently. For example, all significant coefficients of the Y component are located close to the lower right corner of the region including possible significant coefficients, and the significant coefficients of the U / V component are distributed only in the upper left corner. Alternatively, the significant coefficients of the U component are also located close to the lower right corner, and the significant coefficients of the V component are distributed only in the upper left corner.

[00312] Therefore, in embodiments of the present invention, one or more pieces of component identification information may be configured to control the application of embodiments of the present invention to different color components.Illustratively, one piece of component identification information can be configured to control whether to apply the method according to embodiments of the present invention to three color components. For example, one component identification / flag can control whether to apply the method according to embodiments of the present invention to three color components. Alternatively, two pieces of component identification information can be configured to control whether to apply the method according to embodiments of the present invention to three color components. For example, one component identification / flag can control application to the luminance component, and another component identification / flag can control application to two chroma components.Alternatively, the three pieces of component identification information may be configured to control whether to apply the method according to embodiments of the present invention to each of the three color components. For example, the three color components are R, G, and B in RGB format, or Y, Cb, and Cr (or Y, U, and V) in YUV format.

[00313] In a possible implementation, when the number of pieces of component identification information is 1, the operation of determining the component identification information of the current slice by analyzing the bitstream may include determining the first component identification information of the current slice by analyzing the bitstream.

[00314] Accordingly, the method may further include the following operation.If the value of the first component identification information is the first value, it is determined that the reversal of the last significant coefficient is applied to each of the first color component, the second color component, and the third color component of the current slice. Alternatively, if the value of the first component identification information is the second value, it is determined that the reversal of the last significant coefficient is not applied to any of the first color component, the second color component, and the third color component of the current slice.

[00315] In another possible implementation, when the number of parts of the component identification information is 2, the operation of determining the component identification information of the current slice by analyzing the bitstream may include determining the second component identification information and the third component identification information of the current slice by analyzing the bitstream.

[00316] Accordingly, the method may further include the following operation. If the value of the second component identification information is the first value, it is determined that the reversal of the location of the last significant coefficient is applied to each of the two color components of the first color component, the second color component, and the third color component of the current slice.Alternatively, if the value of the second component identification information is the second value, it is determined that the reversal of the last significant coefficient is not applied to any of the two color components of the first color component, the second color component, and the third color component of the current slice.

[00317] If the value of the third component identification information is the first value, it is determined that the reversal of the last significant coefficient is applied to another color component (i.e., the remaining color component) of the first color component, the second color component, and the third color component of the current slice, other than the two color components.Alternatively, if the value of the third component identification information is the second value, it is determined that the reversal of the location of the last significant coefficient is not applied to another color component of the first color component, the second color component, and the third color component of the current slice, other than the two color components.

[00318] In another possible implementation, when the number of parts of the component identification information is 3, the operation in which the component identification information of the current slice is determined by analyzing the bitstream may include determining the fourth component identification information, the fifth component identification information, and the sixth component identification information of the current slice by analyzing the bitstream.

[00319] Accordingly, the method may further include the following operation.If the value of the fourth component identification information is the first value, it is determined that the reversal of the last significant coefficient is applied to the first color component of the current slice. Alternatively, if the value of the fourth component identification information is the second value, it is determined that the reversal of the last significant coefficient is not applied to the first color component of the current slice.

[00320] If the value of the fifth component identification information is the first value, it is determined that the reversal of the last significant coefficient is applied to the second color component of the current slice.Alternatively, if the value of the fifth component identification information is the second value, it is determined that the reversal of the last significant coefficient is not applied to the second color component of the current slice.

[00321] If the value of the sixth component identification information is the first value, it is determined that the reversal of the last significant coefficient is applied to the third color component of the current slice. Alternatively, if the value of the sixth component identification information is the second value, it is determined that the reversal of the last significant coefficient is not applied to the third color component of the current slice.

[00322] It should be noted that the first value and the second value may differ. The first value and the second value may be parametric or may be numeric.In the specific example, the first value may be set to 1 and the second value may be set to 0, which is, however, not limited in any way.

[0000] , sh_reverse_last_sig_coeff_flag[1] and sh_reverse_last_sig_coeff_flag[2]. The fourth component identification information can be denoted as sh_reverse_last_sig_coeff_flag[0] to indicate whether the reversal of the last significant coefficient is applied to the current block corresponding to the first color component of the current slice. The fifth component identification information can be denoted as sh_reverse_last_sig_coeff_flag[1] to indicate whether the reversal of the last significant coefficient is applied to the current block corresponding to the second color component of the current slice. The sixth component identification information can be denoted as sh_reverse_last_sig_coeff_flag[2] to indicate whether the reversal of the last significant coefficient is applied to the current block corresponding to the third color component of the current slice.

[0000] , sh_reverse_last_sig_coeff_flag[1] and sh_reverse_last_sig_coeff_flag[2]) need to be additionally obtained through decoding if sps_reverse_last_sig_coeff_enabled_flag is 1. In this document, sh_reverse_last_sig_coeff_flag[cIdx] (where cIdx can be 0, 1, or 2) represents the last significant coefficient reversal flag for the cIdx-th component of the current slice. If sh_reverse_last_sig_coeff_flag[cIdx] is 1, it means that the last significant coefficient reversal is applied to the block of the cIdx-th component of the current slice. Otherwise (i.e., if sh_reverse_last_sig_coeff_flag[cIdx] is 0), it means that the reversal of the last significant coefficient is not applied to the block of the cIdx-th component of the current slice. If sh_reverse_last_sig_coeff_flag[cIdx] is not present, sh_reverse_last_sig_coeff_flag[cIdx] is 0.

[00325] In a possible implementation for the YUV format, the 0th component corresponds to the Y component, the 1st component corresponds to the U(Cb) component, and the 2nd component corresponds to the V(Cr) component.

[00326] In another possible implementation for the RGB format, the 0th component corresponds to the R component, the 1st component corresponds to the G component, and the 2nd component corresponds to the B component.

[0000] has the value 1, it can be determined that the reversal of the last significant coefficient is applied to the first color component of the current slice (such as the Y component). If sh_reverse_last_sig_coeff_flag[1] has the value 1, it can be determined that the reversal of the last significant coefficient is applied to the second color component of the current slice (such as the U component). If sh_reverse_last_sig_coeff_flag[2] has the value 1, it can be determined that the reversal of the last significant coefficient is applied to the third color component of the current slice (such as the V component).

[00328] In the implementation, the syntax element table is modified as follows (RBSP syntax of the sequence parameter set), as shown in Table 6.Table 6

[00329] In another implementation, the syntax element table is modified as follows (sequence parameter set range extension syntax), as shown in Table 7.Table 7

[00330] In another implementation, the syntax element table is modified as follows (slice header syntax), as shown in Table 8.Table 8

[00331] In yet another implementation, there may additionally be another form of modification to the slice header syntax. The syntax element table is modified as follows (slice header syntax), as shown in Table 9.Table 9

[00332] In this case, it may be provided that startComp is 0 and numComps is 3.

[00333] The modification of the semantics is as follows.

[00334] The horizontal coordinate (or column position) LastSignificantCoeffX of the last significant coefficient in a given scan order in the current block may be obtained as follows.

[00335] If last_sig_coeff_x_suffix is ​​not present, the following applies:

[00336] LastSignificantCoeffX= last_sig_coeff_x_prefix.

[00337] Otherwise (last_sig_coeff_x_suffix is ​​present) the following applies:

[00338] LastSignificantCoeffX= (1<<((last_sig_coeff_x_prefix>>1)-1)) * (2+(last_sig_coeff_x_prefix&1)) + last_sig_coeff_x_suffix.

[00339] If sh_reverse_last_sig_coeff_flag[cIdx] is 1, the following applies:

[00340] LastSignificantCoeffX = (1< <log2ZoTbWidth)-1-LastSignificantCoeffX.

[00341] The vertical coordinate (or row position) of the LastSignificantCoeffY of the last significant coefficient in scan order in the current block can be obtained as follows.

[00342] If last_sig_coeff_y_suffix is ​​not present, the following applies:

[00343] LastSignificantCoeffY = last_sig_coeff_y_prefix.

[00344] Otherwise (last_sig_coeff_y_suffix is ​​present), the following applies:

[00345] LastSignificantCoeffY = (1 < < ((last_sig_coeff_y_prefix >> 1) - 1)) * (2 + (last_sig_coeff_y_prefix & 1)) + last_sig_coeff_y_suffix.

[00346] If sh_reverse_last_sig_coeff_flag[cIdx] is 1, the following applies:

[00347] LastSignificantCoeffY= (1< <log2ZoTbHeight)-1-LastSignificantCoeffY.

[00348] В данном случае sh_reverse_last_sig_coeff_flag[cIdx] представляет флаг изменения местоположения на обратное последнего значимого коэффициента для cIdx-го компонента текущего слайса. cIdx может иметь значение 0, 1 или 2.

[00349] It should be further noted that when the third identification information about the syntax element indicates that the range extension is applied to the current sequence, all possible coefficients to be encoded need to be encoded by default. That is, the location of the last significant coefficient is no longer used. Instead, all possible non-zero coefficients in the current block are scanned in a given scanning order. Therefore, in embodiments of the present invention, identification information about the resolved last coefficient may also be introduced to determine whether the location of the last coefficient is applied to the current block.

[00350] In some embodiments, when the third identification information about the syntax element indicates that the range extension is applied to the current sequence, the method may further include the following operations.

[00351] The identification information about the resolved last coefficient of the current block is determined by analyzing the bit stream.

[00352] When the identification information about the resolved last coefficient indicates that the location of the last coefficient is applied to the current block, the coefficients of the current block are determined by decoding all coefficients located above the location of the last coefficient in a given scan order.

[00353] It should be noted that the identification information about the resolved last coefficient may be designated as default_last_coeff_enabled_flag.In embodiments of the present invention, the identification information of the last coefficient to be enabled may be at least one of sequence-level identification information, picture-level identification information, slice-level identification information, or block-level identification information, or even higher-level identification information (e.g., VUI, SEI, etc.), which is in no way limited herein.

[00354] That is, default_last_coeff_enabled_flag may be a sequence-level flag or a higher-level flag, or may be a picture-level flag or a slice-level flag, or a block-level flag, or another level flag. Furthermore, the block-level flag may include an LCU-level flag or a CTU-level flag or a CU-level flag or another block-level flag, which is in no way limited herein.

[00355] In some embodiments, the method may further include the following operation.

[00356] If the value of the identification information about the resolved last coefficient is a first value, it is determined that the identification information about the resolved last coefficient indicates that the location of the last coefficient is applied to the current block.

[00357] Alternatively, if the value of the identification information about the resolved last coefficient is a second value, it is determined that the identification information about the resolved last coefficient indicates that the location of the last coefficient is not applied to the current block.

[00358] It should be noted that the first value and the second value may differ. The first value and the second value may be parametric. The first value and the second value may be numeric.In a specific example, the first value may be set to 1 and the second value may be set to 0, which, however, is in no way limited.

[00359] Accordingly, the first value is taken to be 1 and the second value is taken to be 0. If default_last_coeff_enabled_flag has a value of 1, it can be determined that default_last_coeff_enabled_flag indicates that the location of the last coefficient is applied to the current block. Alternatively, if default_last_coeff_enabled_flag has a value of 0, it can be determined that default_last_coeff_enabled_flag indicates that the location of the last coefficient is not applied to the current block.

[00360] When the location of the last coefficient is applied to the current block, the coefficients of the current block can be determined by decoding all coefficients located above the location of the last coefficient in a given scan order.

[00361] Additionally, when the location of the last coefficient is not applied to the current block, i.e. the value of the identification information about the resolved last coefficient is 0, in some embodiments, the method may further include the following operations.

[00362] Information about the prefix of the horizontal coordinate of the last significant coefficient of the current block, information about the prefix of the vertical coordinate of the last significant coefficient, information about the suffix of the horizontal coordinate of the last significant coefficient, and information about the suffix of the vertical coordinate of the last significant coefficient are obtained by analyzing the bit stream.

[00363] The location of the last significant coefficient is determined according to the information about the prefix of the horizontal coordinate of the last significant coefficient, the information about the prefix of the vertical coordinate of the last significant coefficient, the information about the suffix of the horizontal coordinate of the last significant coefficient, and the information about the suffix of the vertical coordinate of the last significant coefficient.

[00364] The coefficients of the current block are determined by decoding all the coefficients located above the location of the last significant coefficient in a given scanning order.

[00365] It should be noted that, if the location of the last coefficient is not applied to the current block, the location of the last significant coefficient must be obtained by decoding. In particular, last_sig_coeff_x_prefix, last_sig_coeff_x_suffix, last_sig_coeff_y_prefix and last_sig_coeff_y_suffix are obtained by analyzing the bitstream.Then, the location of the last significant coefficient can be determined according to last_sig_coeff_x_prefix, last_sig_coeff_x_suffix, last_sig_coeff_y_prefix and last_sig_coeff_y_suffix. Otherwise, if the location of the last coefficient is applied to the current block, there is no longer a need to determine the location of the last significant coefficient, in this case, there is no longer a need to obtain last_sig_coeff_x_prefix, last_sig_coeff_x_suffix, last_sig_coeff_y_prefix and last_sig_coeff_y_suffix through decoding.

[00366] Additionally, it should be noted that if the location of the last coefficient is applied to the current block, all coefficients located above the location of the last coefficient can be decoded in the specified scan order.If the location of the last coefficient is not applied to the current block, all coefficients located above the location of the last significant coefficient may be decoded in a given scan order. In this case, the given scan order may be a diagonal scan order, a zigzag scan order, a horizontal scan order, a vertical scan order, a 4x4 sub-block scan order, etc., which is in no way limited in the embodiments of the present invention.

[00367] Additionally, in some embodiments, the location of the last coefficient is the lower right corner of the matrix formed by all possible non-zero coefficients in the current block. Alternatively, the location of the last coefficient is the last location of all possible non-zero coefficients in the given scan order in the current block.

[00368] It should be noted that in embodiments of the present invention, the location of the last coefficient does not represent the location of the last significant coefficient. This is because the coefficient at the location of the last coefficient may be equal to 0, while the coefficient at the location of the last significant coefficient is certainly not equal to 0.

[00369] In a specific example, the method may further include the following step. The location of the last significant coefficient is set as the location of the last coefficient.

[00370] That is, in embodiments of the present invention, the location of the last significant coefficient may still be used. In this case, the location of the last significant coefficient must be placed at the last location of all possible non-zero coefficients in a given scan order in the current block.

[00371] Additionally, the location of the last coefficient may be designated as (LastCoeffX, LastCoeffY), i.e., the last location of all possible non-zero coefficients in a given scan order in the current block. In some embodiments, the method may further include the following operations.

[00372] Determining the width and height of a transformation block obtained by performing a given operation on the current block.

[00373] Calculating coordinate information of a lower right corner of the transformation block according to the width and height of the transformation block.

[00374] Determining the location of the last coefficient according to coordinate information of a lower right corner of the transformation block.

[00375] In this case, the given operation includes at least a zero output operation.

[00376] It should be noted that (LastCoeffX, LastCoeffY) may designate coordinate information of a lower right corner of the transformation block obtained after the zero output.(LastCoeffX, LastCoeffY) can be obtained as follows.

[00377] LastCoeffX= (1< <log2ZoTbWidth)-1.

[00378] LastCoeffY= (1<<log2ZoTbHeight)-1.

[00379] Соответственно, местоположение последнего коэффициента может быть определено согласно (LastCoeffX, LastCoeffY), если default_last_coeff_enabled_flag имеет значение 1.

[00380] В конкретном примере все еще используется местоположение последнего значимого коэффициента. В этом случае местоположение последнего значимого коэффициента может быть помещено в последнее местоположение всех возможных ненулевых коэффициентов в заданном порядке сканирования в текущем блоке. В некоторых вариантах осуществления способ может дополнительно включать следующую операцию.

[00381] Когда местоположение последнего значимого коэффициента установлено как местоположение последнего коэффициента, местоположение последнего значимого коэффициента определяют согласно информации о координатах нижнего правого угла блока преобразования.

[00382] That is, the location of the last significant coefficient can be denoted as (LastSignificantCoeffX, LastSignificantCoeffY). (LastSignificantCoeffX, LastSignificantCoeffY) can be obtained as follows.

[00383] LastSignificantCoeffX= (1 < <log2ZoTbWidth)-1.

[00384] LastSignificantCoeffY= (1 <<log2ZoTbHeight)-1.

[00385] В данном документе (LastSignificantCoeffX, LastSignificantCoeffY) может обозначать информацию о координатах нижнего правого угла блока преобразования, полученного после нулевого вывода. Местоположение последнего значимого коэффициента может быть определено согласно (LastSignificantCoeffX, LastSignificantCoeffY), если default_last_coeff_enabled_flag имеет значение 1.

[00386] Thus, in some cases, such as encoding and decoding video with high bit depth, high quality, high bit rate, or lossless compression, all possible coefficients to be encoded must be encoded by default when encoding the coefficients. Typically, the method for encoding and decoding the coefficients is the same as the existing method in the prior art. All possible coefficients to be encoded must be encoded by default, that is, the location of the last significant coefficient is no longer used, instead, all possible non-zero coefficients in the current block are scanned in a given scan order. In other words, the location of the last coefficient to be encoded is placed at the last location of all possible non-zero coefficients in a given scan order in the current block.This location typically refers to the lower right corner of the matrix formed by all possible non-zero coefficients in the current block. In this case, the location of the last coefficient to be encoded may be used instead of the location of the last significant coefficient. This is because the coefficient at the location of the last coefficient to be encoded may be 0, while the coefficient at the location of the last significant coefficient is certainly not 0.

[00387] In this specific example, the location of the last significant coefficient is still used. In this case, the location of the last significant coefficient can be placed at the last location of all possible non-zero coefficients in a given scan order in the current block.

[00388] Furthermore, the reason why all possible non-zero coefficients in a given scan order in the current block are discussed is that some coefficients in a block may be taken as 0 by default using some methods (such as the zero output mentioned above in this document), except for the last significant coefficient.

[00389] The modification of the semantics is as follows in Table 10.Table 10. 390 In embodiments of the present invention, the condition may need to be met before decoding the information required for the last significant coefficient. That is, syntax elements such as last_sig_coeff_x_prefix, last_sig_coeff_y_prefix, last_sig_coeff_x_suffix, last_sig_coeff_y_suffix, etc. are obtained by decoding if default_last_coeff_enabled_flag is not true (i.e., default_last_coeff_enabled_flag is equal to 0). Syntax elements such as last_sig_coeff_x_prefix, last_sig_coeff_y_prefix, last_sig_coeff_x_suffix and last_sig_coeff_y_suffix and similar syntax elements do not need to be obtained through decoding if default_last_coeff_enabled_flag is true (i.e. default_last_coeff_enabled_flag is 1).

[00391] In this case, default_last_coeff_enabled_flag may be a default last coefficient enabling flag to indicate whether to use / apply the last coefficient by default. If default_last_coeff_enabled_flag is set to 1, it means that the default last coefficient location is used / applied. That is, the location of the last coefficient to be encoded is placed at the last location of all possible non-zero coefficients in the given scan order in the current block. Otherwise, the flag indicates that the default last coefficient location is not used / applied.

[00392] The default last coefficient location (LastCoeffX, LastCoeffY) is the last location of all possible non-zero coefficients in the given scan order in the current block if default_last_coeff_enabled_flag is set to 1.All coefficients located above (LastCoeffX, LastCoeffY) must be scanned in a given scan order. In embodiments of the present invention, (LastCoeffX, LastCoeffY) can be obtained as follows.

[00393] LastCoeffX= (1< <log2ZoTbWidth)-1.394LastCoeffY= (1<<log2ZoTbHeight)-1.

[00395] В данном документе (LastCoeffX, LastCoeffY) представляет собой информацию о координатах нижнего правого угла блока преобразования, полученного после нулевого вывода.

[00396] В конкретном примере все еще используется местоположение последнего значимого коэффициента. Местоположение последнего значимого коэффициента помещают в последнее местоположение всех возможных ненулевых коэффициентов в заданном порядке сканирования в текущем блоке. В вариантах осуществления настоящего изобретения местоположение (LastSignificantCoeffX, LastSignificantCoeffY) последнего значимого коэффициента можно получить следующим образом.

[00397] LastSignificantCoeffX= (1<<log2ZoTbWidth)-1.

[00398] LastSignificantCoeffY= (1<<log2ZoTbHeight)-1.

[00399] В данном документе (LastSignificantCoeffX, LastSignificantCoeffY) представляет собой информацию о координатах нижнего правого угла блока преобразования, полученного после нулевого вывода.

[00400] Дополнительно следует отметить, что default_last_coeff_enabled_flag может быть флагом уровня последовательности или флагом более высокого уровня или может быть флагом уровня изображения или флагом уровня слайса, или флагом уровня блока, или флагом другого уровня. Флаг уровня блока может включать флаг уровня LCU или флаг уровня CTU, или флаг уровня CU, или флаг другого уровня блока.

[00401] Кроме того, default_last_coeff_enabled_flag может зависеть от некоторых других флагов, например, идентификационной информации с высокой битовой глубиной, идентификационной информации с высокой битовой скоростью и т.п.That is, default_last_coeff_enabled_flag needs to be decoded when the high bit depth identification information or the high bit rate identification information is 1. Otherwise, there is no need to decode default_last_coeff_enabled_flag.

[00402] In a specific example, taking the sequence level as an example, presumably the sequence-level flag sps_high_bit_depth_flag indicates whether the current video sequence is a high bit depth sequence. If sps_high_bit_depth_flag is 1, it means that the current video sequence is a high bit depth sequence. Otherwise, the flag indicates that the current video sequence is not a high bit depth sequence. At the sequence level, sps_default_last_coeff_enabled_flag needs to be obtained through decoding if sps_high_bit_depth_flag is 1.In this case, sps_default_last_coeff_enabled_flag can represent the enabling flag of the default last coefficient of the current sequence. If sps_default_last_coeff_enabled_flag is 1, it means that the default last coefficient is used in the block in the current sequence. Otherwise (i.e., if sps_default_last_coeff_enabled_flag is 0), it means that the default last coefficient is not used in the block in the current sequence. default_last_coeff_enabled_flag in the syntax table above can be modified as sps_default_last_coeff_enabled_flag.

[00403] In the implementation, the syntax element table is modified as follows (RBSP syntax of the sequence parameter set), as shown in Table 11.Table 11.

[00404] In another specific example, taking the slice level as an example, the sps_high_bit_depth_flag sequence-level flag is supposed to indicate whether the current video sequence is a high-bit-depth sequence. If sps_high_bit_depth_flag is 1, it means that the current video sequence is a high-bit-depth sequence. Otherwise, the flag indicates that the current video sequence is not a high-bit-depth sequence. At the slice level, sh_default_last_coeff_enabled_flag must be obtained through decoding if sps_high_bit_depth_flag is 1. In this case, sh_default_last_coeff_enabled_flag may be the enabling flag of the last default coefficient of the current slice. If sh_default_last_coeff_enabled_flag is 1, it means that the last default coefficient is used in the block in the current slice.Otherwise (i.e., if sh_default_last_coeff_enabled_flag is 0), it means that the default last coefficient is not used in the block in the current slice. default_last_coeff_enabled_flag in the syntax table above can be modified as sh_default_last_coeff_enabled_flag.

[00405] In the implementation, the syntax element table is modified as follows (slice header syntax), as shown in Table 12.Table 12.

[00406] In embodiments of the present invention, for each color component of the current slice, the identification information about the enabled default last coefficient (i.e., sh_default_last_coeff_enabled_flag) of the current slice may provide the ability to separately control whether to apply the default last coefficient to the color component.

[0000] , sh_default_last_coeff_enabled_flag[1] and sh_default_last_coeff_enabled_flag[2]. sh_default_last_coeff_enabled_flag[0] can specify whether the last default coefficient is applied to the current block corresponding to the first color component of the current slice. sh_default_last_coeff_enabled_flag[1] can specify whether the last default coefficient is applied to the current block corresponding to the second color component of the current slice. sh_default_last_coeff_enabled_flag[2] can specify whether the last default coefficient is applied to the current block corresponding to the third color component of the current slice.

[00408] In this case, in embodiments of the present invention, one or more pieces of component identification information may also be configured to control the application of embodiments of the present invention to different color components.Illustratively, one piece of component identification information can be configured to control whether to apply the method according to embodiments of the present invention to three color components. For example, one component identification can control whether to apply the method according to embodiments of the present invention to three color components. Alternatively, two pieces of component identification information can be configured to control whether to apply the method according to embodiments of the present invention to three color components. For example, one component identification can control application to the luminance component, and the other component identification can control application to two chroma components.Alternatively, the three pieces of component identification information can be configured to control whether the method according to embodiments of the present invention is applied to each of the three color components. For example, the three color components are R, G, and B in RGB format, or Y, Cb, and Cr (or Y, U, and V) in YUV format.

[0000] has the value 1, it can be determined that the last default coefficient is applied to the block corresponding to the first color component of the current slice (such as the Y component). If sh_default_last_coeff_enabled_flag[1] has the value 1, it can be determined that the last default coefficient is applied to the block corresponding to the second color component of the current slice (such as the U component). If sh_default_last_coeff_enabled_flag[2] has the value 1, it can be determined that the last default coefficient is applied to the block corresponding to the third color component of the current slice (such as the V component).

[00410] Additionally, when the third identification information of the syntax element indicates that range extension is applied to the current sequence, the scanned subblocks need to be encoded by default. In this case, there is no need to provide sb_coded_flag in the bitstream, i.e.neither the encoder nor the decoder need to process this flag, thereby speeding up encoding and decoding. Therefore, embodiments of the present invention may further introduce identification information about a default-coded sub-block to determine whether a sub-block to be encoded in the current block is decoded by default.

[00411] In some embodiments, when the third identification information about the syntax element indicates that range extension is applied to the current sequence, the method may further include the following operations.

[00412] The identification information about the default-coded sub-block of the current block is determined by analyzing the bitstream.

[00413] When the identification information about the default-coded sub-block indicates that the sub-block to be decoded in the current block is coded by default, all coefficients in the sub-block to be decoded are decoded.

[00414] It should be noted that if the identification information about the default coded sub-block indicates that the sub-block to be decoded in the current block is coded by default, it can be determined that the value of the identification information about the default coded sub-block is the first value, in which case all coefficients in the sub-block to be decoded need to be decoded.

[00415] Further, it should be noted that the identification information about the default coded sub-block can be designated as default_sb_coded_flag.In embodiments of the present invention, the identification information of the default coded sub-block is at least one of sequence-level identification information, picture-level identification information, slice-level identification information, or block-level identification information, or even higher-level identification information (e.g., VUI, SEI, etc.), which is in no way limited here.

[00416] That is, default_sb_coded_flag may be a sequence-level flag or a higher-level flag, or may be a picture-level flag or a slice-level flag, or a block-level flag, or another level flag. Furthermore, the block-level flag may include an LCU-level flag or a CTU-level flag or a CU-level flag or another block-level flag, which is in no way limited herein.

[00417] In some embodiments, the method may further include the following operation. If the value of the identification information about the default-coded sub-block is a first value, it is determined that the identification information about the default-coded sub-block indicates that the sub-block to be decoded in the current block is coded by default. Alternatively, if the value of the identification information about the default-coded sub-block is a second value, it is determined that the identification information about the default-coded sub-block indicates that the sub-block to be decoded in the current block is not coded by default.

[00418] It should be noted that the first value and the second value may differ. The first value and the second value may be parametric. The first value and the second value may be numeric.In particular, the first identification information about the syntax element may be a parameter provided in the profile, or may be a flag value, which is in no way limited in the embodiments of the present invention.

[00419] For example, the first identification information about the syntax element is a flag. In this case, the first value may be set to 1, and the second value may be set to 0. Alternatively, the first value may be set to "true", and the second value may be set to "false". Alternatively, the first value may be set to 0, and the second value may be set to 1. Alternatively, the first value may be set to "false", and the second value may be set to "true", which is in no way limited here.

[00420] Thus, a first value of 1 and a second value of 0 are taken as an example.If default_sb_coded_flag has the value 1, it may be defined that default_sb_coded_flag indicates that the sub-block to be decoded shall be coded by default. Alternatively, if default_sb_coded_flag has the value 0, it may be defined that default_sb_coded_flag indicates that the sub-block to be decoded shall not be coded by default.

[00421] When the sub-block to be decoded is coded by default, default_sb_coded_flag has the value 1, which means that sb_coded_flag has the value 1, i.e. there is no need to decode sb_coded_flag, in this case all coefficients in the sub-block to be decoded shall be decoded by default.

[00422] Additionally, when the sub-block to be decoded shall not be coded by default, i.e. default_sb_coded_flag has a value of 0, in some embodiments, the method may further include the following operations.

[00423] Identification information about the sub-block to be coded for the sub-block to be decoded is determined by analyzing the bit stream.

[00424] All coefficients in the sub-block to be decoded are decoded when the value of the identification information about the sub-block to be coded is the first value.

[00425] It should be noted that if the sub-block to be decoded is not to be coded by default, the identification information about the sub-block to be coded needs to be obtained by decoding, and it is determined according to the identification information about the sub-block to be coded whether to decode all coefficients in the sub-block to be decoded.

[00426] The method may further include the following operation. It is determined that all coefficients in the sub-block to be decoded are decoded if the value of the identification information about the sub-block to be coded is the first value.Alternatively, it is determined that all coefficients in the sub-block to be decoded are zero if the value of the identification information about the sub-block to be coded is the second value.

[00427] In embodiments of the present invention, the identification information about the sub-block to be coded may be designated as sb_coded_flag. As an example, the first value is 1 and the second value is 0. If sb_coded_flag has the value 1, it may be determined that all coefficients in the sub-block to be decoded need to be decoded. Alternatively, if sb_coded_flag has the value 0, it may be determined that no coefficient in the sub-block to be decoded needs to be decoded, in which case all coefficients in the sub-block to be decoded are zero.

[00428] Thus, in a certain situation, when encoding coefficients, the scanned sub-blocks must be encoded by default, or the scanned sub-blocks contain significant coefficients by default. Typically, the method for encoding and decoding the coefficients is the same as the existing method in the prior art. A certain situation may be, for example, encoding and decoding video with a high bit depth, high quality, high bit rate, or lossless compression. In this situation, there are many significant coefficients, and almost all scanned sub-blocks must be encoded, or almost all scanned sub-blocks contain significant coefficients. In this case, there is no need to provide sb_coded_flag in the bitstream. Thus, neither the encoder nor the decoder needs to process this flag, which thereby speeds up encoding and decoding. Removing the almost non-existent flag further improves the compression efficiency.

[00429] The modification of semantics is as follows in Table 13.Table 13.

[00430] In this document, default_sb_coded_flag is a flag of the default coded sub-block. If default_sb_coded_flag has a value of 1, it may be determined that the value of sb_coded_flag[xS][yS] is 1, in which case there is no need to decode from the bitstream. Otherwise (if default_sb_coded_flag has a value of 0), sb_coded_flag[xS][yS] additionally needs to be decoded from the bitstream.

[00431] It should further be noted that default_sb_coded_flag may be a sequence-level flag or a higher-level flag, or may be a picture-level flag or a slice-level flag, or a block-level flag, or another level flag. The block-level flag may include an LCU-level flag or a CTU-level flag, or a CU-level flag, or another block-level flag.

[00432] In addition, default_sb_coded_flag may depend on some other flags, such as high bit depth identification information, high bit rate identification information, and the like. That is, default_sb_coded_flag needs to be decoded when the high bit depth identification information or the high bit rate identification information has a value of 1. Otherwise, there is no need to decode default_sb_coded_flag.

[00433] In a specific example, taking the sequence level as an example, presumably the sequence level flag sps_high_bit_depth_flag indicates whether the current video sequence is a high bit depth sequence. If sps_high_bit_depth_flag has a value of 1, it means that the current video sequence is a high bit depth sequence.Otherwise, the flag indicates that the current video sequence is not a high-bit-depth sequence. At the sequence level, sps_default_sb_coded_flag shall be obtained through decoding if sps_high_bit_depth_flag is 1. In this case, sps_default_sb_coded_flag represents the default-coded sub-block flag for the current sequence. If sps_default_sb_coded_flag is 1, it means that the sub-block of the block in the current sequence is encoded by default. Otherwise (i.e., if sps_default_sb_coded_flag is 0), it means that the sub-block of the block in the current sequence is not encoded by default. default_sb_coded_flag in the syntax table above can be modified as sps_default_sb_coded_flag.

[00434] In the implementation, the syntax element table is modified as follows (the RBSP syntax of the sequence parameter set), as shown in Table 14.Table 14.

[00435] In another specific example, taking the slice level as an example, the sps_high_bit_depth_flag sequence level flag is supposed to indicate whether the current video sequence is a high bit depth sequence. If sps_high_bit_depth_flag has a value of 1, it means that the current video sequence is a high bit depth sequence. Otherwise, the flag indicates that the current video sequence is not a high bit depth sequence. At the slice level, sh_default_sb_coded_flag shall be obtained through decoding if sps_high_bit_depth_flag has a value of 1. In this case, sh_default_sb_coded_flag is the flag of the default coded sub-block for the current slice. If sh_default_sb_coded_flag has a value of 1, it means that the sub-block of the block in the current slice is coded by default. Otherwise (i.e., if sh_default_sb_coded_flag is 0), it means that the subblock of the block in the current slice is not encoded by default. default_sb_coded_flag in the syntax table above can be modified as sh_default_sb_coded_flag.

[00436] In the implementation, the syntax element table is modified as follows (slice header syntax), as shown in Table 15.Table 15.

[00437] It should be noted that the sequence level flag sps_high_bit_depth_flag may be a flag indicating whether the current sequence is a high bit depth sequence; or alternatively, may be replaced by sps_high_bit_rate_flag indicating whether the current sequence is a high bit rate sequence, or may even be replaced by another flag indicating high bit depth, high bit rate, high quality, or lossless coding, etc., which is in no way limited here.

[00438] In embodiments of the present invention, for each color component of the current slice, the identification information about the default coded sub-block (i.e., sh_default_sb_coded_flag) of the current slice may provide the ability to separately control whether to apply the default coded sub-block to the color component.

[0000] , sh_default_sb_coded_flag[1] and sh_default_sb_coded_flag[2]. sh_default_sb_coded_flag[0] may indicate whether the subblock of the current block corresponding to the first color component of the current slice is encoded by default. sh_default_sb_coded_flag[1] may indicate whether the subblock of the current block corresponding to the second color component of the current slice is encoded by default. sh_default_sb_coded_flag[2] may indicate whether the subblock of the current block corresponding to the third color component of the current slice is encoded by default.

[00440] Here, in the embodiments of the present invention, one or more pieces of component identification information may also be configured to control the application of the embodiments of the present invention to different color components.Illustratively, one piece of component identification information can be configured to control whether to apply the method according to embodiments of the present invention to three color components. For example, one component identification can control whether to apply the method according to embodiments of the present invention to three color components. Alternatively, two pieces of component identification information can be configured to control whether to apply the method according to embodiments of the present invention to three color components. For example, one component identification can control application to the luminance component, and the other component identification can control application to two chroma components.Alternatively, the three pieces of component identification information can be configured to control whether the method according to embodiments of the present invention is applied to each of the three color components. For example, the three color components are R, G, and B in RGB format, or Y, Cb, and Cr (or Y, U, and V) in YUV format.

[0000] has a value of 1, it can be determined that the sub-block of the block that corresponds to the first color component of the current slice (such as the Y component) is coded by default. If sh_default_sb_coded_flag[1] has a value of 1, it can be determined that the sub-block of the block that corresponds to the second color component of the current slice (such as the U component) is coded by default. If sh_default_sb_coded_flag[2] has a value of 1, it can be determined that the sub-block of the block that corresponds to the third color component of the current slice (such as the V component) is coded by default.

[00442] In short, for all color components in a video, one piece of identification information can be applied to manage all color components for using the method according to embodiments of the present invention.Alternatively, different parts of the identification information may be used to separately control the corresponding color components for using the method according to the embodiments of the present invention. Alternatively, two parts of the identification information may be used to control all the color components for using the method according to the embodiments of the present invention. In other words, more than one part of the identification information may be used to control different color components for using the method according to the embodiments of the present invention. Herein, all the color components may be R, G, and B of RGB video format, or Y, U, and V (Y, Cb, and Cr) of YUV video format, or the like.

[00443] In an embodiment, a decoding method performed by a decoder is provided.In the method, identification information about a component of the current slice and information about the coordinates of the last significant coefficient of the current block corresponding to the component of the current slice are determined by analyzing the bitstream. When the identification information about the component indicates that a reversal of the location of the last significant coefficient is applied to the component of the current slice, the location of the last significant coefficient of the current block is obtained by performing a calculation with respect to the information about the coordinates of the last significant coefficient. The coefficients of the current block are determined by decoding the coefficients located above the location of the last significant coefficient in a given scanning order.Thus, in the scenario of encoding and decoding video with high bit depth, high bit rate, high quality, or lossless, a reasonable mode of obtaining the last significant coefficient is set according to the distribution law of the significant coefficients, which thereby reduces the resource consumption caused by coding in the bitstream and improves the compression efficiency. In addition, since the corresponding color components can be different in the distribution of the significant coefficients, it is also possible to accurately control the appropriate mode of obtaining the last significant coefficient for each color component, that is, by separately controlling whether to apply the reversal technology of the last significant coefficient to each color component, which thereby further improves the compression efficiency.

[00444] In another embodiment of the present invention, FIG.11 is a flowchart of the encoding method according to the embodiments of the present invention. As shown in Fig. 11, the method includes the following operations S1101 to S1103. In operation S1101, identification information about a component of a current slice and the location of the last significant coefficient of a current block corresponding to the component of the current slice are determined. In operation S1102, coordinate information about the last significant coefficient of a current block is determined according to the identification information about the component and the location of the last significant coefficient. In S1103, all coefficients located above the location of the last significant coefficient are encoded in a predetermined scan order. Bit information obtained by encoding, the identification information about the component and the coordinate information of the last significant coefficient are provided to a bitstream.

[00448] It should be noted that the encoding method according to the embodiments of the present invention may specifically relate to a method for encoding a coefficient(s), which can be performed by an encoder. Based on the structure of the encoder 100, as shown in Fig. 8A, the encoding method is mainly performed by an entropy encoding unit 115 of the encoder 100. The entropy encoding unit 115 can perform entropy encoding on the associated identification information (or syntax element(s)) using an adaptive binary arithmetic encoding mode based on a context model or a bypass mode and can provide the entropy encoding result to a bitstream.

[00449] It should further be noted that, in general, encoding in a video standard may include encoding and decoding.Therefore, video encoding may include an encoding method performed at the encoder end and a decoding method performed at the decoder end. Embodiments of the present invention describe an encoding method performed at the encoder end.

[00450] In general, for example, for normal video, the encoding method of the coefficient(s) of the normal video is the same as the existing method in the prior art. However, in some cases, such as encoding and decoding video with high bit depth, high quality, high bit rate, or lossless compression, embodiments of the present invention provide a method capable of modifying the mode of obtaining the location of the last significant coefficient.In this case, embodiments of the present invention introduce component identification information for determining whether the reversal of the last significant coefficient is applied to the component of the current slice.

[00451] In embodiments of the present invention, the component identification information may be a slice-level flag. The component identification information may indicate whether the reversal of the last significant coefficient is applied to the component of the current slice. If the reversal of the last significant coefficient is applied to the component of the current slice, this means that the reversal of the last significant coefficient is applied to the current block corresponding to the component of the current slice.If the reversal of the last significant coefficient is not applied to a component of the current slice, this means that the reversal of the last significant coefficient is not applied to the current block corresponding to the component of the current slice.

[00452] It is understood that the current sequence may include the current slice, and the current slice may include the current block. In some embodiments, before determining the identification information about the component of the current slice, the method may further include the following operations.

[00453] Determining first identification information about a syntax element.

[00454] The operation of determining the identification of the component of the current slice is performed when the first identification information about the syntax element indicates that the reversal of the last significant coefficient is permitted for the current sequence.

[00455] In embodiments of the present invention, the operation of determining first identification information about a syntax element may include the following operation. If reversal of the last significant coefficient is permitted for the current sequence, the value of the first identification information about the syntax element is determined as a first value. Alternatively, if reversal of the last significant coefficient is prohibited for the current sequence, the value of the first identification information about the syntax element is determined as a second value.

[00456] The method may further include the following operation. The first identification information about the syntax element is provided in a bitstream.

[00457] It should be noted that the first value and the second value may differ. The first value and the second value may be parametric or may be numeric.In particular, the first identification information about the syntax element may be a parameter provided in the profile, or may be a flag value, which is in no way limited in embodiments of the present invention.

[00458] For example, the first identification information about the syntax element is a flag. In this case, the first value may be set to 1, and the second value may be set to 0. Alternatively, the first value may be set to "true", and the second value may be set to "false". Alternatively, the first value may be set to 0, and the second value may be set to 1. Alternatively, the first value may be set to the value "false", and the second value may be set to the value "true". Illustratively, for a flag, typically the first value may be the value 1, and the second value may be the value 0, which, however, is in no way limited.

[00459] It should be further noted that the first identification information about the syntax element may be a sequence-level flag denoted as sps_reverse_last_sig_coeff_flag for indicating whether reversal of the last significant coefficient is allowed for the current sequence. Accordingly, when it is determined that reversal of the last significant coefficient is allowed for the current sequence, identification information about the component at the slice level may be further determined to determine whether reversal of the last significant coefficient is applied to the component of the current slice.

[00460] Additionally, before determining the first identification information about the syntax element, in a possible embodiment, the method may further include the following operations.

[00461] A second identification information about the syntax element is determined.

[00462] The first identification information about the syntax element is determined when the second identification information about the syntax element indicates that the extension version of the standard is applied to the current sequence.

[00463] Before determining the first identification information about the syntax element, in another possible embodiment, the method may further include the following operations.

[00464] Determining a third identification information about the syntax element.

[00465] The first identification information about the syntax element is determined when the third identification information about the syntax element indicates that the range extension is applied to the current sequence.

[00466] Before determining the first identification of the syntax element, in yet another possible embodiment, the method may further include the following operations.

[00467] Determining a second identification information about the syntax element.

[00468] The third identification information about the syntax element is determined when the second identification information about the syntax element indicates that the extension version of the standard is applied to the current sequence.

[00469] The first identification information about the syntax element is determined when the third identification information about the syntax element indicates that the range extension is applied to the current sequence.

[00470] It should be noted that both the second identification information about the syntax element and the third identification information about the syntax element are sequence-level flags. The second identification information about the syntax element can be designated as sps_extension_flag to indicate whether the extension version of the standard is applied to the current sequence.The third syntax element identifier may be designated as sps_range_extension_flag to indicate whether range extension is applied to the current sequence.

[00471] That is, before determining the first syntax element identifier (sps_reverse_last_sig_coeff_flag), the following operations may be performed. Define sps_extension_flag; and define sps_reverse_last_sig_coeff_flag if sps_extension_flag indicates that the standard extension version is applied to the current sequence. Alternatively, define sps_range_extension_flag; and define sps_reverse_last_sig_coeff_flag if sps_range_extension_flag indicates that range extension is applied to the current sequence.Alternatively, sps_extension_flag is determined; sps_range_extension_flag is determined if sps_extension_flag indicates that the standard extension version is applied to the current sequence; and sps_reverse_last_sig_coeff_flag is determined if sps_range_extension_flag indicates that the range extension is applied to the current sequence, which, however, is in no way limited in embodiments of the present invention.

[00472] In embodiments of the present invention, the operation of determining the second identification information about the syntax element may include the following operation. If the standard extension version is applied to the current sequence, the value of the second identification information about the syntax element is determined as the first value. Alternatively, if the standard extension version is not applied to the current sequence, the value of the second identification information about the syntax element may be determined as the second value.

[00473] The method may further include the following operation. The second identification information about the syntax element is provided in the bitstream.

[00474] In embodiments of the present invention, the operation of determining the third identification information about the syntax element may include the following operation. If the range extension is applied to the current sequence, the value of the third identification information about the syntax element is determined as the first value. Alternatively, if the range extension is not applied to the current sequence, the value of the third identification information about the syntax element is determined as the second value.

[00475] The method may further include the following operation. The third identification information about the syntax element is provided in the bitstream.

[00476] It should be noted that the first value and the second value may differ.The first value and the second value may be parametric or may be numeric. In the specific example, the first value is set to 1 and the second value is set to 0, which, however, is in no way limited.

[00477] Additionally, it should be noted that the second identifying information about the syntax element may be designated as sps_extension_flag. The third identifying information about the syntax element may be designated as sps_range_extension_flag. Accordingly, at the sequence level, if sps_extension_flag has the value 1, i.e., the standard extension version is applied to the current sequence, then sps_range_extension_flag must be defined. If sps_range_extension_flag has the value 1, i.e., the range extension is applied to the current sequence, then sps_reverse_last_sig_coeff_flag must be defined.If sps_reverse_last_sig_coeff_flag has a value of 1, that is, reversing the location of the last significant coefficient is allowed for the current sequence, it is necessary to additionally determine the component identification information at the slice level to determine whether reversing the location of the last significant coefficient is applied to the component of the current slice.

[00478] In some embodiments, range extension is applied to the current sequence, which may include the current sequence having at least one of the following: high bit depth, high quality, high bit rate, high frame rate, or lossless compression. For example, four cases are described below in this document, respectively.

[00479] In a possible implementation, when the third identification information about the syntax element is identification information with a high bit depth, the method may further include the following operation. If the identification information with a high bit depth indicates that the current sequence has a high bit depth, it is determined that range extension is applied to the current sequence.

[00480] In another possible implementation, when the third identification information about the syntax element is identification information with a high bit rate, the method may further include the following operation. If the identification information with a high bit rate indicates that the current sequence has a high bit rate, it is determined that range extension is applied to the current sequence.

[00481] In another possible implementation, when the third identification information about the syntax element is high-quality identification information, the method may further include the following operation. If the high-quality identification information indicates that the current sequence has high quality, it is determined that range extension is applied to the current sequence.

[00482] In another possible implementation, when the third identification information about the syntax element is lossless-compressed identification information, the method may further include the following operation. If the lossless-compressed identification information indicates that the current sequence is losslessly compressed, it is determined that range extension is applied to the current sequence.

[00483] Illustratively, taking the sequence level as an example, the third identification information about the syntax element may further be high bit depth identification information (designated as sps_high_bit_depth_flag) for indicating whether the current sequence is a high bit depth sequence; or alternatively, may be high bit rate identification information (designated as sps_high_bit_rate_flag) for indicating whether the current sequence is a high bit rate sequence; or alternatively, may be other identification information for indicating high bit depth, high bit rate, high quality, or lossless compression, which is in no way limited in the embodiments of the present invention.

[00484] In embodiments of the present invention, the first identification information about the syntax element, the second identification information about the syntax element, the third identification information about the syntax element, and the like may be sequence-level flags or even higher-level flags such as video usability information (VUI), supplemental optimization information (SEI), and the like.

[00485] Additionally, the identification information about changing the location of the reverse of the last significant coefficient may be designated as reverse_last_sig_coeff_flag.The identification information of the reversal of the last significant coefficient may be at least one of sequence-level identification information, picture-level identification information, slice-level identification information, or block-level identification information, or even higher-level identification information (e.g., VUI, SEI, etc.), which is in no way limited here.

[00486] That is, reverse_last_sig_coeff_flag may be a sequence-level flag or a higher-level flag, or may be a picture-level flag or a slice-level flag, or a block-level flag, or another level flag. Furthermore, the block-level flag may include an LCU-level flag or a CTU-level flag or a CU-level flag or another block-level flag, which is in no way limited in the embodiments of the present invention.

[00489] In embodiments of the present invention, the identification information of the reversal of the last significant coefficient at the sequence level may be denoted as sps_reverse_last_sig_coeff_flag, and the identification information of the reversal of the last significant coefficient at the slice level may be denoted as sh_reverse_last_sig_coeff_flag.

[00488] It should be further noted that the identification information of the reversal of the last significant coefficient at the slice level may be further referred to as the identification information of the component of the current slice. In some embodiments, the operation of determining the identification information of the component of the current slice may include the following operations.

[00489] If the reversal of the last significant coefficient is applied to a component of the current slice, the value of the component identification information is determined as the first value.

[00490] Alternatively, if the reversal of the last significant coefficient is not applied to a component of the current slice, the value of the component identification information is determined as the second value.

[00491] It should be noted that the first value and the second value may be different. The first value and the second value may be parametric or may be numeric. In a specific example, the first value is set to 1 and the second value is set to 0, which, however, is in no way limited.

[00492] As an example, the first value is 1 and the second value is 0. If the reversal of the last significant coefficient is applied to a component of the current slice, i.e.a reversal of the location of the last significant coefficient is applied to the current block corresponding to the component of the current slice, it may be determined that the value of the component identification information is 1. If a reversal of the location of the last significant coefficient is not applied to the component of the current slice, i.e. a reversal of the location of the last significant coefficient is not applied to the current block corresponding to the component of the current slice, it may also be determined that the value of the component identification information is 0.

[00493] Additionally, the location of the last significant coefficient of the current block corresponding to the component of the current slice includes the starting horizontal coordinate and the starting vertical coordinate of the last significant coefficient.When the initial horizontal coordinate and the initial vertical coordinate are a horizontal distance and a vertical distance between the location of the last significant coefficient and the upper left corner of the current block, respectively, the operation in which the coordinate information of the last significant coefficient of the current block is determined according to the identification information of the component and the location of the last significant coefficient may include the following operation.

[00494] If the component identification value is the first value, the coordinate information of the last significant coefficient is determined by performing a calculation with respect to the initial horizontal coordinate and the initial vertical coordinate of the last significant coefficient.

[00495] Alternatively, if the component identification value is the second value, the coordinate information of the last significant coefficient is determined directly according to the initial horizontal coordinate and the initial vertical coordinate of the last significant coefficient.

[00496] In other words, in some embodiments, the method may further include the following operation.

[00497] If the component identification value is the first value, the coordinate information of the last significant coefficient is determined as the horizontal distance and the vertical distance between the location of the last significant coefficient and the lower right corner of the current block.

[00498] Alternatively, if the component identification value is the second value, the coordinate information of the last significant coefficient is defined as the horizontal distance and the vertical distance between the location of the last significant coefficient and the upper left corner of the current block.

[00499] That is, the coordinate information of the last significant coefficient is usually the horizontal distance and the vertical distance between the location of the last significant coefficient and the upper left corner of the current block. For normal video, most of the significant coefficients are concentrated in the upper left corner, and the coefficients in a large area in the lower right corner are 0. However, for coding and decoding video with high bit depth, high quality, high bit rate, many significant coefficients may also appear in the lower right corner, so the coordinate information of the last significant coefficient is of great importance.In this case, to conserve resources, coordinate transformation (specifically, coordinate reversal, where after coordinate reversal, the coordinate information of the last significant coefficient is the horizontal distance and vertical distance between the location of the last significant coefficient and the lower-right corner of the current block) must be performed during coefficient encoding. Accordingly, during subsequent decoding of the coefficients, coordinate reversal must also be performed in the decoder. After performing coordinate reversal again, the coordinate information of the last significant coefficient can be reconstructed as the horizontal distance and vertical distance between the location of the last significant coefficient and the upper-left corner of the current block, thereby determining the location of the last significant coefficient.

[00500] Additionally, in some embodiments, the operation of determining coordinate information of the last significant coefficient by performing a calculation with respect to an initial horizontal coordinate and an initial vertical coordinate of the last significant coefficient may include the following operations.

[00501] The width and height of the current block are determined.

[00502] The horizontal coordinate of the last significant coefficient is obtained by subtracting the initial horizontal coordinate of the last significant coefficient from the width of the current block;

[00503] The vertical coordinate of the last significant coefficient is obtained by subtracting the initial vertical coordinate of the last significant coefficient from the height of the current block.

[00504] The coordinate information of the last significant coefficient is determined according to the horizontal coordinate of the last significant coefficient and the vertical coordinate of the last significant coefficient.

[00505] It should be noted that the current block corresponding to the component of the current slice may be a block on which the zero-output transformation has not been performed or a block on which the zero-output transformation has been performed. Taking a block on which the zero-output transformation has been performed as an example, in this case, the width of the current block may be 1 <. <log2zotbwidth, и высота текущего блока может представлять собой 1<<log2zotbheight. затем в случае, если идентификационная информация о компоненте указывает, что применено изменение местоположения на обратное последнего значимого коэффициента,

[00506] lastsignificantcoeffx="(1<<log2ZoTbWidth)-1-LastSignificantCoeffX;

[00507] " lastsignificantcoeffy="(1<<log2ZoTbHeight)-1-LastSignificantCoeffY.

[00508] " в данном документе (lastsignificantcoeffx, lastsignificantcoeffy) правой части формулы обозначать информацию координатах коэффициента, определенного непосредственно (т.е. начальную горизонтальную координату вертикальную коэффициента). левой полученную путем изменения координаты обратную предоставленную битовый поток случае применения коэффициента к текущему блоку).

[00509] некоторых вариантах осуществления операция, при которой предоставляют поток, включать следующие операции.

[00510] информацию префиксе горизонтальной блока, вертикальной суффиксе определяют согласно информации координате коэффициента.

[00511] поток.

[00512] следует отметить, быть обозначена как last_sig_coeff_x_prefix. информация last_sig_coeff_y_prefix. last_sig_coeff_x_suffix. last_sig_coeff_y_suffix. last_sig_coeff_x_prefix, last_sig_coeff_x_suffix, last_sig_coeff_y_prefix last_sig_coeff_y_suffix могут предоставлены так декодер определяет анализа битового потока.

[00513] настоящего изобретения заданный порядок сканирования диагональным порядком сканирования, зигзагообразным горизонтальным вертикальным подблоков 4×4 т.д., никоим образом не ограничено здесь.

[00514] таким образом, случаях, таких кодирование декодирование видео с высокой битовой глубиной, высоким качеством, скоростью или сжатием без потерь, предоставляется способ модифицирования режима получения коэффициента. то есть обычно кодирования декодирования коэффициентов является все таким же, существующий уровне техники. обычно last_sig_coeff_x_prefix last_sig_coeff_x_suffix сконфигурированы для абсциссы т.е. расстояния по горизонтали относительно верхнего левого угла блока; ординаты вертикали показано фиг. 10a. при кодировании декодировании сжатии потерь местоположение находится близко нижнему правому углу области, включающей возможные ненулевые коэффициенты текущем блоке. этом между местоположением нижним правым углом которая включает блоке, 10b. следовательно, вводится reverse_last_sig_coeff_flag, тем самым решает проблему увеличенного потребления ресурсов, вызванного кодированием больших значений битовом потоке.

[00515] дополнительно каждого из компонентов цвета слайса reverse_last_sig_coeff_flag уровня sh_reverse_last_sig_coeff_flag слайса) обеспечивать возможность отдельного управления тем, применять ли компоненту цвета.

[00516] компонент содержать первый цвета, второй третий цвета.

[00517] конкретном примере представляет яркости. второй цветности. третий компонент яркости обозначен y. первый цветности u(cb). v(cr).

[00518] другом красный компонент, зеленый синий компонент. красный r. зеленый g. синий b.

[00519] осуществления, когда дополнительно операции.

[00520] определяют, используют совместно идентификационную основе отношения свойствами первого компонента второго третьего цвета.

[00521] количество частей идентификационной определению. равно 1, 2 3.

[00522] частности, количество компоненте, следующую операцию.

[00523] равным одна часть используется первым компонентом вторым третьим слайса.

[00524] альтернативно 2, двумя слайса.

[00525] 3, каждый имеет отдельную компоненте.

[00526] изобретения, поскольку свойства соответствующих отличаться, используются некоторые межкомпонентные методы, соответствующие компоненты всегда совместимыми остаточном распределении. например, очень высокими требованиями качеству значимые разных одинаковыми распределении, например, они расположены коэффициенты. однако случаях особенно разными y находятся коэффициенты, а u v распределяются только верхнем левом углу. также углу, углу.

[00527] более применением вариантов разным компонентам цвета. иллюстративно сконфигурирована вариантам трем идентификация управлять две яркости, другая двум три каждому трех представляют r, g b формате rgb y, cb cr (или v) yuv.

[00528] возможной реализации, слайса, определение первой слайса.

[00529] соответственно, операцию. если значение первое значение, определяют, слайса. альтернативно, второе любому слайса.

[00530] другой третьей слайса.

[00531] двух ни одному слайса.

[00532] другому отличному от цвета.

[00533] еще одной четвертой пятой шестой слайса.

[00534] первому слайса.

[00535] ко второму слайса.

[00536] третьему слайса.

[00537] отличаться. первое параметрическими числовыми. установлено 0, что, однако, ограничено.

[0000] , sh_reverse_last_sig_coeff_flag[1] and sh_reverse_last_sig_coeff_flag[2]. The fourth component identification information can be denoted as sh_reverse_last_sig_coeff_flag[0] to indicate whether the reversal of the last significant coefficient is applied to the current block corresponding to the first color component of the current slice. The fifth component identification information can be denoted as sh_reverse_last_sig_coeff_flag[1] to indicate whether the reversal of the last significant coefficient is applied to the current block corresponding to the second color component of the current slice. The sixth component identification information can be denoted as sh_reverse_last_sig_coeff_flag[2] to indicate whether the reversal of the last significant coefficient is applied to the current block corresponding to the third color component of the current slice. If

[0000] is set to 1, it can be determined that the reversal of the last significant coefficient is applied to the block corresponding to the first color component of the current slice (such as the Y component). If sh_reverse_last_sig_coeff_flag[1] is set to 1, it can be determined that the reversal of the last significant coefficient is applied to the block corresponding to the second color component of the current slice (such as the U component). If sh_reverse_last_sig_coeff_flag[2] is set to 1, it can be determined that the reversal of the last significant coefficient is applied to the block corresponding to the third color component of the current slice (such as the V component).

[00540] It should be further noted that when the third identification information about the syntax element indicates that the range extension is applied to the current sequence, all possible coefficients to be encoded need to be encoded by default. That is, the location of the last significant coefficient is no longer used. Instead, all possible non-zero coefficients in the current block are scanned in a given scanning order. Therefore, in embodiments of the present invention, identification information about the resolved last coefficient may also be introduced to determine whether the location of the last coefficient is applied to the current block.

[00541] In some embodiments, when the third identification information about the syntax element indicates that the range extension is applied to the current sequence, the method may further include the following operations.

[00542] Identification information about the resolved last coefficient of the current block is determined.

[00543] When the identification information about the resolved last coefficient indicates that the location of the last coefficient is applied to the current block, all coefficients located above the location of the last coefficient are encoded in a specified scanning order. The identification information about the resolved last coefficient, the identification information about the video, and the bit information obtained by encoding are provided in the bitstream.

[00544] It should be noted that the identification information about the resolved last coefficient can be designated as default_last_coeff_enabled_flag.In embodiments of the present invention, the identification information of the resolved last coefficient may be at least one of sequence-level identification information, picture-level identification information, slice-level identification information, or block-level identification information, or even higher-level identification information (e.g., VUI, SEI, etc.), which is in no way limited here.

[00545] It should further be noted that in some embodiments, the operation of determining the identification information of the resolved last coefficient of the current block may include the following operation.

[00546] The value of the identification information of the resolved last coefficient is determined as the first value if the location of the last coefficient is applied to the current block.

[00547] Alternatively, the value of the identification information about the last coefficient to be enabled is determined as the second value if the location of the last coefficient is not applied to the current block.

[00548] That is, a first value of 1 and a second value of 0 are taken as an example. If it is determined that the location of the last coefficient is applied to the current block, default_last_coeff_enabled_flag has a value of 1. Alternatively, if it is determined that the location of the last coefficient is not applied to the current block, default_last_coeff_enabled_flag has a value of 0.

[00549] Additionally, in some embodiments, the location of the last coefficient is the lower right corner of a matrix formed by all possible non-zero coefficients in the current block.Alternatively, the location of the last coefficient is the last location of all possible non-zero coefficients in the given scan order in the current block.

[00550] It should be noted that in embodiments of the present invention, the location of the last coefficient does not represent the location of the last significant coefficient. This is because the coefficient at the location of the last coefficient may be equal to 0, while the coefficient at the location of the last significant coefficient is certainly not equal to 0.

[00551] In a specific example, the method may further include the following step. Setting the location of the last significant coefficient as the location of the last coefficient.

[00552] That is, in embodiments of the present invention, the location of the last significant coefficient may still be used.In this case, the location of the last significant coefficient must be placed at the last location of all possible non-zero coefficients in a given scan order in the current block.

[00553] Additionally, the location of the last coefficient may be denoted as (LastCoeffX, LastCoeffY), i.e. the last location of all possible non-zero coefficients in a given scan order in the current block. In some embodiments, the method may further include the following operations.

[00554] Determining the width and height of the transform block obtained by performing a given operation on the current block.

[00555] Calculating coordinate information of the lower right corner of the transform block according to the width and height of the transform block.

[00556] Determining the location of the last coefficient according to the coordinate information of the lower right corner of the transform block.

[00557] In this case, the specified operation includes at least a zero output operation.

[00558] It should be noted that (LastCoeffX, LastCoeffY) may denote the coordinate information of the lower right corner of the transformation block obtained after the zero output. (LastCoeffX, LastCoeffY) can be obtained as follows.

[00559] LastCoeffX= (1<. <log2zotbwidth)-1.

[00560] lastcoeffy="(1<<log2ZoTbHeight)-1.

[00561] " соответственно, местоположение последнего коэффициента может быть определено согласно (lastcoeffx, lastcoeffy), если default_last_coeff_enabled_flag имеет значение 1.

[00562] в конкретном примере все еще используется значимого коэффициента. этом случае помещено в последнее всех возможных ненулевых коэффициентов заданном порядке сканирования текущем блоке. некоторых вариантах осуществления способ дополнительно включать следующую операцию.

[00563] когда установлено как коэффициента, определяют информации о координатах нижнего правого угла блока преобразования.

[00564] то есть обозначено (lastsignificantcoeffx, lastsignificantcoeffy). lastsignificantcoeffy) получено следующим образом.

[00565] lastsignificantcoeffx="(1" <<log2zotbwidth)-1.

[00566] lastsignificantcoeffy="(1" <<log2zotbheight)-1.

[00567] данном документе обозначать информацию преобразования, полученного после нулевого вывода. местоположение lastsignificantcoeffy), 1.

[00568] дополнительно, когда идентификационная информация разрешаемом последнем коэффициенте указывает, что не применено к текущему блоку, т.е. 0, следующие операции.

[00569] определяют префиксе горизонтальной координаты текущего блока, вертикальной суффиксе и коэффициента.

[00570] коэффициента.

[00571] все коэффициенты, расположенные выше местоположения кодируют сканирования. информацию предоставляют битовый поток.

[00572] следует отметить, что, необходимо определить частности, нет необходимости определения предоставления поток last_sig_coeff_x_prefix, last_sig_coeff_x_suffix, last_sig_coeff_y_prefix last_sig_coeff_y_suffix.

[00573] таким образом, случаях, таких кодирование декодирование видео с высокой битовой глубиной, высоким качеством, скоростью или сжатием без потерь, возможные подлежащие кодированию, должны кодированы по умолчанию при кодировании коэффициентов. обычно кодирования декодирования является таким же, существующий уровне техники. умолчанию, то больше используется, вместо этого ненулевые коэффициенты блоке сканируются другими словами, подлежащего помещают это обычно относиться нижнему правому углу матрицы, состоящей из следовательно, настоящего изобретения вводится default_last_coeff_enabled_flag, тем самым уменьшает даже исключает синтаксические элементы, связанные местоположением обеспечивает экономию потребления ресурсов предотвращает нерациональное использование.

[00574] дополнительно для каждого компонента цвета слайса (т.е. sh_default_last_coeff_enabled_flag) обеспечивать возможность отдельного управления тем, применять ли последний коэффициент компоненту цвета.

[0000] , sh_default_last_coeff_enabled_flag[1] and sh_default_last_coeff_enabled_flag[2]. sh_default_last_coeff_enabled_flag[0] can specify whether the last default coefficient is applied to the current block corresponding to the first color component of the current slice. sh_default_last_coeff_enabled_flag[1] can specify whether the last default coefficient is applied to the current block corresponding to the second color component of the current slice. sh_default_last_coeff_enabled_flag[2] can specify whether the last default coefficient is applied to the current block corresponding to the third color component of the current slice.

[00576] In this case, in embodiments of the present invention, one or more pieces of component identification information may also be configured to control the application of embodiments of the present invention to different color components.Illustratively, one piece of component identification information may be configured to control whether the method according to embodiments of the present invention is applied to three color components. Alternatively, two pieces of component identification information may be configured to control whether the method according to embodiments of the present invention is applied to three color components. Alternatively, three pieces of component identification information may be configured to control whether the method according to embodiments of the present invention is applied to each of the three color components.

[0000] has the value 1, it can be determined that the last default coefficient is applied to the block corresponding to the first color component of the current slice (such as the Y component). If sh_default_last_coeff_enabled_flag[1] has the value 1, it can be determined that the last default coefficient is applied to the block corresponding to the second color component of the current slice (such as the U component). If sh_default_last_coeff_enabled_flag[2] has the value 1, it can be determined that the last default coefficient is applied to the block corresponding to the third color component of the current slice (such as the V component).

[00578] Additionally, when the third identification information of the syntax element indicates that range extension is applied to the current sequence, the scanned subblocks need to be encoded by default. In this case, there is no need to provide sb_coded_flag in the bitstream.That is, neither the encoder nor the decoder need to process this flag, which thereby speeds up encoding and decoding. Therefore, embodiments of the present invention may further introduce identification information about a default-coded sub-block for determining whether a sub-block to be coded in the current block is coded by default.

[00579] In some embodiments, when the third identification information about the syntax element indicates that range extension is applied to the current sequence, the method may further include the following operations.

[00580] Determine identification information about a default-coded sub-block for a sub-block to be coded in the current block.

[00581] When the identification information about the default-coded sub-block indicates that the sub-block to be coded is coded by default, encode all coefficients in the sub-block to be coded.Identification information about the default coded sub-block and bit information obtained by encoding are provided in the bitstream.

[00582] It should be noted that the identification information about the default coded sub-block can be designated as default_sb_coded_flag. In embodiments of the present invention, the identification information about the default coded sub-block is at least one of sequence-level identification information, picture-level identification information, slice-level identification information, or block-level identification information, or even higher-level identification information (e.g., VUI, SEI, etc.), which is in no way limited here.

[00583] It should further be noted that in some embodiments, the operation of determining identification information about a default-coded sub-block for a sub-block to be coded may include the following operation. The value of the identification information about the default-coded sub-block is determined as a first value if the sub-block to be coded is coded by default. Alternatively, the value of the identification information about the default-coded sub-block is determined as a second value if the sub-block to be coded is not coded by default.

[00584] Accordingly, taking the first value equal to 1 and the second value equal to 0 as an example, default_sb_coded_flag has a value of 1 if it is determined that the sub-block to be coded is to be coded by default. Alternatively, default_sb_coded_flag has a value of 0 if it is determined that the sub-block to be coded is not to be coded by default.

[00585] When the sub-block to be coded is to be coded by default, default_sb_coded_flag has a value of 1, which means that sb_coded_flag has a value of 1, i.e., there is no need to code sb_coded_flag. However, when the sub-block to be coded is not to be coded by default, i.e., the identification information about the default coded sub-block indicates that the sub-block to be coded is not to be coded by default, in some embodiments, the method may further include the following operation. Identification information about the coded sub-block is determined for the sub-block to be coded, and the identification information about the coded sub-block is provided in the bitstream.

[00586] Additionally, in some embodiments, the operation of determining the identification information about the coded sub-block for the sub-block to be coded may include the following operation.The value of the identification information about the sub-block to be coded is determined as the first value if encoding is required for the sub-block to be coded. Alternatively, the value of the identification information about the sub-block to be coded is determined as the second value if all coefficients in the sub-block to be coded are zero.

[00587] In embodiments of the present invention, the identification information about the sub-block to be coded may be designated as sb_coded_flag. As an example, the first value is 1 and the second value is 0. If it is determined that the sub-block to be coded is to be coded, this means that the sub-block to be coded contains significant coefficients to be coded. In this case, sb_coded_flag has the value 1. Alternatively, if it is determined that there is no need to encode the sub-block to be encoded, this means that all coefficients in the sub-block to be encoded are zero.In this case, sb_coded_flag has the value 0.

[00588] Thus, in a certain situation, when encoding coefficients, the scanned sub-blocks must be encoded by default, or the scanned sub-blocks contain significant coefficients by default. Typically, the coefficient encoding method is the same as the existing method in the prior art. A certain situation may be, for example, encoding and decoding video with high bit depth, high quality, high bit rate, or lossless compression. In this situation, there are many significant coefficients, and almost all scanned sub-blocks must be encoded, or almost all scanned sub-blocks contain significant coefficients. In this case, there is no need to provide sb_coded_flag in the bitstream. Therefore, the encoder does not need to process this flag, which thereby speeds up encoding and decoding. Removing the almost non-existent flag further improves the compression efficiency.

[00589] Additionally, for each color component of the current slice, the identification information about the default coded sub-block (i.e., sh_default_sb_coded_flag) of the current slice may provide the ability to separately control whether to apply the default coded sub-block to the color component.

[0000] , sh_default_sb_coded_flag[1] and sh_default_sb_coded_flag[2]. sh_default_sb_coded_flag[0] may indicate whether the subblock of the current block that corresponds to the first color component of the current slice is encoded by default. sh_default_sb_coded_flag[1] may indicate whether the subblock of the current block that corresponds to the second color component of the current slice is encoded by default. sh_default_sb_coded_flag[2] may indicate whether the subblock of the current block that corresponds to the third color component of the current slice is encoded by default.

[00591] In this case, in the embodiments of the present invention, one or more pieces of component identification information may also be configured to control the application of the embodiments of the present invention to different color components.Illustratively, one piece of component identification information may be configured to control whether the method according to embodiments of the present invention is applied to three color components. Alternatively, two pieces of component identification information may be configured to control whether the method according to embodiments of the present invention is applied to three color components. Alternatively, three pieces of component identification information may be configured to control whether the method according to embodiments of the present invention is applied to each of the three color components.

[0000] has a value of 1, it may be determined that the sub-block of the block that corresponds to the first color component of the current slice (such as the Y component) is coded by default. If sh_default_sb_coded_flag[1] has a value of 1, it may be determined that the sub-block of the block that corresponds to the second color component of the current slice (such as the U component) is coded by default. If sh_default_sb_coded_flag[2] has a value of 1, it may be determined that the sub-block of the block that corresponds to the third color component of the current slice (such as the V component) is coded by default.

[00593] In short, for all color components in a video, one piece of identification information may be applied to all color components to use the method according to embodiments of the present invention. Alternatively, different pieces of identification information may be applied to separately control the respective color components to use the method according to embodimentsembodiments of the present invention. Alternatively, two pieces of identification information may be used to control all color components for using the method according to embodiments of the present invention. In other words, more than one piece of identification information may be used to control different color components for using the method according to embodiments of the present invention. Herein, all color components may be R, G, and B of RGB video format or Y, U, and V (Y, Cb, and Cr) of YUV video format, or the like.

[00594] The present invention further provides an encoding method performed by an encoder. The method comprises determining identification information about a component of a current slice and the location of the last significant coefficient of a current block corresponding to the component of the current slice. The coordinate information of the last significant coefficient of a current block is determined according to the identification informationabout the component and the location of the last significant coefficient. The coefficients located above the location of the last significant coefficient are encoded in a given scanning order. The bit information obtained through encoding, the component identification information, and the coordinate information of the last significant coefficient are provided in the bitstream. Therefore, in the scenario of encoding and decoding video with high bit depth, high bit rate, high quality, or lossless, a reasonable mode of obtaining the last significant coefficient is set according to the distribution law of significant coefficients, thereby reducing the resource consumption caused by encoding in the bitstream and improving the compression efficiency. In addition, since the corresponding color components can be different in the distribution of significant coefficients, the appropriate mode of obtaining the last significant coefficient for each can also be precisely controlled.color component, i.e. separately controlling whether to apply the last significant coefficient reversal technique to each color component, thereby further improving the compression efficiency.

[00595] In another embodiment of the present invention, embodiments of the present invention provide a bitstream. The bitstream may be generated by performing bit encoding on information to be encoded. The information to be encoded comprises at least one of first identification information about a syntax element, a second identification information about a syntax element, a third identification information about a syntax element, identification information about a component, identification information about a resolved last coefficient, or identification information about a default coded sub-block.

[00596] The first identification information about a syntax elementindicates whether reversal of the last significant coefficient is permitted for the current sequence. The second syntax element identification information indicates whether a version of the standard extension is applied to the current sequence. The third syntax element identification information indicates whether a range extension is applied to the current sequence. The component identification information indicates whether reversal of the last significant coefficient is applied to a component of the current slice. The identification information about the permitted last coefficient indicates whether the last coefficient location is applied to the current block. The identification information about the default coded sub-block indicates whether the sub-block to be coded is coded by default in the current block. The current sequence contains the current slice. The current slice contains the current block.

[00597] In embodimentsThe present invention further provides a coding system. The coding system may comprise an encoder and a decoder. The encoder generates a bit stream and transmits the bit stream to the decoder, so that the decoder analyzes the bit stream to obtain corresponding decoded information, such as first identification information of a syntax element, a second identification information of a syntax element, a third identification information of a syntax element, identification information of a component, identification information of a resolved last coefficient, identification information of a default coded sub-block, information of the coordinates of the last significant coefficient of the current block, and the like.

[00598] In another embodiment of the present invention, based on the same concepts of the present invention as in the previous embodiments, Fig. 12 is a diagram of the structure of an encoder 120 according to the embodimentsof the present invention. As shown in Fig. 12, the encoder 120 includes a first determining unit 1201 and an encoding unit 1202.

[00599] The first determining unit 1201 is configured to determine identification information about a component of the current slice and the location of the last significant coefficient of the current block corresponding to the component of the current slice.

[00600] The first determining unit 1201 is further configured to determine coordinate information of the last significant coefficient of the current block according to the identification information about the component and the location of the last significant coefficient.

[00601] The encoding unit 1202 is configured to encode the coefficients located above the location of the last significant coefficient in a predetermined scanning order and provide the bit information obtained by encoding the component identification information and the coordinate information of the last significant coefficient to a bitstream.coefficient.

[00602] In some embodiments, the first determining node 1201 is further configured to determine a first identification information about a syntax element and determine identification information about a component of the current slice in response to the first identification information about a syntax element indicating that reversal of the location of the last significant coefficient is permitted for the current sequence. The current sequence comprises the current slice.

[00603] In some embodiments, the first determining node 1201 is further configured to determine a second identification information about a syntax element, determine a third identification information about a syntax element in response to the second identification information about a syntax element indicating that a version of the extension of the standard is applied to the current sequence, and determine the first identification information aboutsyntax element in response to a third identification information about the syntax element indicating that the range extension has been applied to the current sequence.

[00604] In some embodiments, the first determining node 1201 is further configured to determine the value of the second identification information about the syntax element as a first value in response to applying a version of the extension of the standard to the current sequence; or to determine the value of the second identification information about the syntax element as a second value in response to not applying a version of the extension of the standard to the current sequence.

[00605] In some embodiments, the encoding node 1202 is further configured to provide the second identification information about the syntax element to the bitstream.

[00606] In some embodiments, the first determining node 1201 is further configured to determine the valuea third identification information about a syntax element as a first value in response to applying range extension to the current sequence; or determining a value of the third identification information about a syntax element as a second value in response to not applying range extension to the current sequence.

[00607] In some embodiments, the encoding unit 1202 is further configured to provide the third identification information about a syntax element to the bitstream.

[00608] In some embodiments, applying range extension to the current sequence includes the following: the current sequence has at least one of the following: high bit depth, high quality, high bit rate, high frame rate, or lossless compression.

[00609] In some embodiments, the first determining unit 1201 is further configured to determine a value of the firstidentification information about a syntax element as a first value in response to enabling the reversal of the last significant coefficient for the current sequence; or determining a value of the first identification information about a syntax element as a second value in response to prohibiting the reversal of the last significant coefficient for the current sequence.

[00610] In some embodiments, the encoding unit 1202 is further configured to provide the first identification information about a syntax element to the bitstream.

[00611] In some embodiments, the first determining unit 1201 is further configured to determine a value of the identification information about a component as a first value in response to applying the reversal of the last significant coefficient to a component of the current slice; or determining a value of the identification information about a component of the current slice.information about the component as a second value in response to not applying the reversal of the last significant coefficient to the component of the current slice.

[00612] In some embodiments, the component comprises at least one of a first color component, a second color component, or a third color component.

[00613] The first color component is a luminance component, the second color component is a first chroma component, and the third color component is a second chroma component.

[00614] Alternatively, the first color component is a red component, the second color component is a green component, and the third color component is a blue component.

[00615] In some embodiments, the first determining unit 1201 is further configured to, when the component comprises the first color component, the second color component, and the third color component, determine the number of partsidentifying information about a component of the current slice to be 1 in response to one piece of identifying information about a component being shared by a first color component, a second color component, and a third color component of the current slice; or determining the number of pieces of identifying information about a component of the current slice to be 2 in response to one piece of identifying information about a component being shared by two color components of the first color component, the second color component, and the third color component of the current slice; or determining the number of pieces of identifying information about a component of the current slice to be 3 in response to each of the first color component, the second color component, and the third color component of the current slice having a separate piece of identifying information about a component.

[00616] In some embodiments, the first determining unit 1201 is further configured to determine a first

[00617] Accordingly, the first determining unit 1201 is further configured to determine the value of the first component identification information as a first value in response to the fact that the reversal of the last significant coefficient is applied to each of the first color component, the second color component, and the third color component of the current slice.

[00618] In some embodiments, the first determining unit 1201 is further configured to determine the second component identification information and the third component identification information of the current slice.

[00619] Accordingly, the first determining unit 1201 is further configured to determine the value of the second component identification information as a first value in response to the fact that the reversal of the last significant coefficient is applied to each of the two componentscolors from a first color component, a second color component, and a third color component of the current slice; and determining a value of a third component identification information as a first value in response to the fact that the reversal of the last significant coefficient is applied to another color component, other than the two color components, from the first color component, the second color component, and the third color component of the current slice.

[00620] In some embodiments, the first determining unit 1201 is further configured to determine a fourth component identification information, a fifth component identification information, and a sixth component identification information of the current slice.

[00621] Accordingly, the first determining unit 1201 is further configured to determine the value of the fourth component identification information as the first value in response to the fact that the reversal of the last significant coefficient is applied to another color component, other than the two color components, from the first color component, the second color component, and the third color component of the current slice.the last significant coefficient is applied to the first color component of the current slice; determining the value of the fifth component identification information as the first value in response to the fact that the reversal of the location of the last significant coefficient is applied to the second color component of the current slice; and determining the value of the sixth component identification information as the first value in response to the fact that the reversal of the location of the last significant coefficient is applied to the third color component of the current slice.

[00622] In some embodiments, the location of the last significant coefficient includes a starting horizontal coordinate and a starting vertical coordinate of the last significant coefficient. The starting horizontal coordinate and the starting vertical coordinate are the horizontal distance and the vertical distance between the location of the last significant coefficient and the upper left corner of the current block

[00623] Accordingly, the first determining unit 1201 is further configured to determine the coordinate information of the last significant coefficient by performing a calculation with respect to the initial horizontal coordinate and the initial vertical coordinate of the last significant coefficient in response to the fact that the value of the component identification information is a first value; or determine the coordinate information of the last significant coefficient directly according to the initial horizontal coordinate and the initial vertical coordinate of the last significant coefficient in response to the fact that the value of the component identification information is a second value.

[00624] In some embodiments, the first determining unit 1201 is further configured to determine the width and the height of the current block; obtain the horizontal coordinate of the last significant coefficient by subtracting the initial horizontal coordinatelast significant coefficient from the width of the current block; obtaining a vertical coordinate of the last significant coefficient by subtracting an initial vertical coordinate of the last significant coefficient from the height of the current block; and determining coordinate information of the last significant coefficient according to the horizontal coordinate of the last significant coefficient and the vertical coordinate of the last significant coefficient.

[00625] In some embodiments, the first determining unit 1201 is further configured to determine the coordinate information of the last significant coefficient as a horizontal distance and a vertical distance between the location of the last significant coefficient and the lower right corner of the current block in response to the fact that the value of the component identification information is the first value; or determining the coordinate information of the last significant coefficient as a horizontal distance and a vertical distancebetween the location of the last significant coefficient and the upper left corner of the current block in response to the fact that the value of the component identification information is the second value.

[00626] In some embodiments, the first determining unit 1201 is further configured to determine the prefix information of the horizontal coordinate of the last significant coefficient of the current block, the prefix information of the vertical coordinate of the last significant coefficient, the suffix information of the horizontal coordinate of the last significant coefficient, and the suffix information of the vertical coordinate of the last significant coefficient according to the coordinate information of the last significant coefficient.

[00627] The encoding unit 1202 is further configured to provide the prefix information of the horizontal coordinate of the last significant coefficient, the prefix information of the vertical coordinate of the last significant coefficient, the suffix information

[00628] In some embodiments, the first determining unit 1201 is further configured to determine the identification information of the resolvable last coefficient of the current block in response to the third identification information of the syntax element indicating that range extension is applied to the current sequence.

[00629] The encoding unit 1202 is further configured to encode the coefficients located above the location of the last coefficient in a given scan order in response to the identification information of the resolvable last coefficient indicating that the location of the last coefficient is applied to the current block, and to provide the bit information obtained by encoding and the identification information of the resolvable lastcoefficient into the bitstream.

[00630] In some embodiments, the first determining unit 1201 is further configured to determine the value of the identification information of the last coefficient to be resolved as a first value in response to the fact that the location of the last coefficient is applied to the current block; or determine the value of the identification information of the last coefficient to be resolved as a second value in response to the fact that the location of the last coefficient is not applied to the current block.

[00631] In some embodiments, the location of the last coefficient is the lower right corner of a matrix consisting of all possible non-zero coefficients in the current block. Alternatively, the location of the last coefficient is the last location of all possible non-zero coefficients in a given scan order in the current block.

[00632] In some embodiments, the first determining unit 1201further configured to set the location of the last significant coefficient as the location of the last coefficient.

[00633] In some embodiments, the first determining unit 1201 is further configured to determine the width and the height of the transform block obtained by performing a predetermined operation on the current block; calculate coordinate information of the lower right corner of the transform block according to the width and the height of the transform block; and determine the location of the last coefficient according to the coordinate information of the lower right corner of the transform block.

[00634] In some embodiments, the predetermined operation includes at least a zero output operation.

[00635] In some embodiments, the first determining unit 1201 is further configured to determine the location of the last significant coefficient according to the coordinate information of the lower right corner of the transform block in response tosetting the location of the last significant coefficient as the location of the last coefficient.

[00636] In some embodiments, the first determining unit 1201 is further configured to determine the prefix information of the horizontal coordinate of the last significant coefficient of the current block, the prefix information of the vertical coordinate of the last significant coefficient, the suffix information of the horizontal coordinate of the last significant coefficient, and the suffix information of the vertical coordinate of the last significant coefficient in response to the fact that the identification information of the resolved last coefficient indicates that the location of the last coefficient is not applied to the current block; and determining the location of the last significant coefficient according to the prefix information of the horizontal coordinate of the last significant coefficient, the prefix information of the vertical coordinate of the last significant coefficient, the suffix information

[00637] The encoding unit 1202 is further configured to encode the coefficients located above the location of the last significant coefficient in a predetermined scan order and provide the prefix information of the horizontal coordinate of the last significant coefficient, the prefix information of the vertical coordinate of the last significant coefficient, the suffix information of the horizontal coordinate of the last significant coefficient, and the suffix information of the vertical coordinate of the last significant coefficient to the bitstream.

[00638] In some embodiments, the first determining unit 1201 is further configured to determine the identification information of a default coded sub-block for a sub-block to be coded in the current block in response to the third identification information ofsyntax element indicating that range extension is applied to the current sequence.

[00369] The encoding unit 1202 is further configured to encode coefficients in a sub-block to be encoded in response to identification information about a default-coded sub-block indicating that the sub-block to be encoded is default-coded, and to provide the identification information about the default-coded sub-block and the bit information obtained by encoding to the bitstream.

[00640] In some embodiments, the first determining unit 1201 is further configured to determine identification information about a coded sub-block for the sub-block to be encoded in response to identification information about a default-coded sub-block indicating that the sub-block to be encoded is not default-coded.

[00641] The encoding unit 1202 is further configured to provideidentification information about the sub-block to be coded into the bitstream.

[00642] In some embodiments, the first determining unit 1201 is further configured to determine the value of the identification information about the default-coded sub-block as a first value in response to the fact that the sub-block to be coded is coded by default, or to determine the value of the identification information about the default-coded sub-block as a second value in response to the fact that the sub-block to be coded is not coded by default.

[00643] In some embodiments, the first determining unit 1201 is further configured to determine the value of the identification information about the sub-block to be coded as a first value in response to the fact that the sub-block to be coded is to be coded, or to determine the value of the identification information about the sub-block to be coded as a second value in response to the fact that all coefficients in the sub-block to be coded,are equal to zero.

[00644] In some embodiments, the first value is 1 and the second value is 0.

[00645] It is understood that in embodiments of the present invention, a “node” may be a part of a circuit, a part of a processor, a part of a program or software, and / or the like. Of course, a “node” may be a module or may be non-modular. Furthermore, the components in the embodiments may be integrated into a single processing portion or exist as separate physical nodes, respectively. Alternatively, two or more nodes may be integrated into a single node. The integrated node may be implemented in the form of a hardware or software functional unit(s).

[00646] When implemented in the form of a software functional module and sold or used as a stand-alone product, the integrated module in this case may also be stored on a machine-readable storage medium. Based on this understanding,an essential part or a part contributing to the prior art of the technical solution of an embodiment of the present invention, or the entire technical solution or a part thereof may be in the form of a software product, wherein the software product is stored on a storage medium and comprises a number of instructions enabling a computing device (such as a personal computer, a server, a network device and / or the like) or a processor to execute the entire method or a part thereof in the embodiments of the present invention. Storage media comprise various media capable of storing program codes, such as a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, a CD and / or the like.

[00647] Therefore, embodiments of the present invention provide a computer storage medium implemented in the encoder 120. The computer storage medium stores therein a computer program that, when executed by the firstthe processor implements the method according to any of the above-described embodiments.

[00648] Based on the composition of the encoder 120 and the computer storage medium, Fig. 13 shows a diagram of the hardware structure of the encoder 120 according to the embodiments of the present invention. As shown in Fig. 13, the encoder may comprise a first communication interface 1301, a first memory 1302, and a first processor 1303. The various components may be interconnected via a first bus equipment 1304. It is understood that the first bus equipment 1304 is configured to implement the connection and communication between these components. In addition to the data bus, the first bus equipment 1304 may further comprise a power bus, a control bus, and a status signal bus. However, for clarity of description, the various buses are designated as the first bus equipment 1304 in Fig. 13.

[00649] The first communication interface 1301 may be configured to perform the sending and receiving of a signalwhen sending and receiving information using another external network element.

[00650] The first memory device 1302 is configured to store therein a computer program executed by the first processor 1303.

[00651] The first processor 1303 is configured to execute the computer program for performing the following operations.

[00652] Determining identification information about a component of the current slice and the location of the last significant coefficient of the current block corresponding to the component of the current slice.

[00653] Determining information about the coordinates of the last significant coefficient of the current block according to the identification information about the component and the location of the last significant coefficient.

[00654] Encoding coefficients located above the location of the last significant coefficient in a predetermined scanning order; and providing bit information obtained by encoding the identification information about the component to the bitstream.and information about the coordinates of the last significant coefficient.

[00655] It is understood that the first memory device 1302 according to embodiments of the present invention may be a volatile and / or non-volatile memory device. The non-volatile memory device may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory device may be a random access memory (RAM), which performs the function of an external cache. By way of illustrative and not limiting description, many forms of RAM may be available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SRAM),memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous channel dynamic random access memory (Synchronous Channel DRAM, SLDRAM), direct resident access random access memory (DRRAM), and the like. The first memory 1302 used in the systems and methods according to the present invention is intended to include, but is not limited to, these and any other suitable types of memory.

[00656] The first processor 1303 may be an integrated circuit chip capable of processing a signal. In an implementation, the operations of an embodiment of the method herein may be performed by integrated logic circuit hardware in the first processor 1303 or instructions in the form of software. The firstthe processor 1303 may be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, a discrete logic element, or a transistor logic device, a discrete hardware component, and the like. The first processor may implement or execute various methods, operations, and logical flowcharts according to embodiments of the present invention. The general-purpose processor may be a microprocessor or any conventional processor. The operations of the method described in embodiments of the present invention may be directly embodied as performed by a hardware encoding processor or a combination of hardware and software modules in a encoding processor. The software module may be located in a storage medium well-established in the art, such asrandom access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory (PROM), electrically rewritable programmable memory, a register, etc. The storage medium may be located in the first memory 1302. The first processor 1303 may read the information in the first memory 1302 and perform the operation of the method, in this case, by means of the processor hardware.

[00657] It is understood that embodiments according to the present invention may be implemented by means of hardware, software, firmware, middleware, microcode, or a combination of the listed elements. For a hardware implementation, the processing unit may be implemented in one or more application-specific integrated circuits (ASICs), DSPs, digital signal processing devices (DSPDs), programmablelogic devices (PLD), field programmable gate arrays (FPGA), general-purpose processors, controllers, microcontroller units (MCU), microprocessors and other electronic units for implementing the function of the present invention, or combinations thereof. For a hardware implementation, the technology according to the present invention can be implemented by a module, such as a process, a function, etc., that implements the function of the present invention. The software code can be stored in a memory and executed by the processor. The memory can be implemented inside or outside the processor.

[00658] Alternatively, as another embodiment, the first processor 1303 can further be configured to execute the method according to the above-described embodiment when executing a computer program.

[00659] In an embodiment, an encoder is provided. The encoder may comprise a first determining unit and an encoding unit.Accordingly, in the scenario of encoding and decoding video with high bit depth, high bit rate, high quality or lossless, a reasonable mode of obtaining the last significant coefficient is set according to the distribution law of the significant coefficients, which thereby reduces the resource consumption caused by encoding in the bitstream and improves the compression efficiency. In addition, since the corresponding color components may be different in the distribution of the significant coefficients, it is possible to accurately control the appropriate mode of obtaining the last significant coefficient for each color component, i.e., by separately controlling whether to apply the technology of changing the location of the last significant coefficient to each color component, which thereby further improves the compression efficiency.

[00660] In another embodiment of the present invention, based on the same concepts of the present invention as in the previous embodimentsembodiment, Fig. 14 is a block diagram of a structure of a decoder 140 according to embodiments of the present invention. As shown in Fig. 14, the decoder 140 may comprise an analysis unit 1401 and a second determination unit 1402.

[00661] The analysis unit 1401 is configured to determine, by analyzing a bitstream, identification information about a component of the current slice and coordinate information of the last significant coefficient of the current block corresponding to the component of the current slice.

[00662] The second determination unit 1402 is configured to obtain the location of the last significant coefficient of the current block by performing a calculation with respect to the coordinate information of the last significant coefficient in response to the identification information about the component indicating that a reversal of the location of the last significant coefficient is applied to the component of the current slice.

[00663] The analysis unit 1401 is further configured to determinecoefficients of the current block by decoding the coefficients located above the location of the last significant coefficient in a given scan order.

[00664] In some embodiments, the analysis unit 1401 is further configured to determine first identification information about a syntax element by analyzing the bitstream.

[00665] The second determination unit 1402 is further configured to determine identification information about a component of the current slice by analyzing the bitstream in response to the first identification information about a syntax element indicating that reversal of the location of the last significant coefficient is permitted for the current sequence. The current sequence may include the current slice.

[00666] In some embodiments, the analysis unit 1401 is further configured to determine second identification information about a syntax element by analyzing the bitstream.stream; determining a third identification information about a syntax element by analyzing the bit stream in response to a second identification information about a syntax element indicating that a version of the extension of the standard is applied to the current sequence; and determining a first identification information about a syntax element by analyzing the bit stream in response to the third identification information about a syntax element indicating that a range extension is applied to the current sequence.

[00667] In some embodiments, the second determining unit 1402 is further configured to determine that the second identification information about a syntax element indicates that a version of the extension of the standard is applied to the current sequence, in response to the fact that the value of the second identification information about the syntax element is a first value; or determining that the second identification information about

[00668] In some embodiments, the second determination node 1402 is further configured to determine that the third identification information about the syntax element indicates that a range extension is applied to the current sequence in response to the value of the third identification information about the syntax element being a first value; or determine that the third identification information about the syntax element indicates that a range extension is not applied to the current sequence in response to the value of the third identification information about the syntax element being a second value.

[00669] In some embodiments, applying a range extension to the currentsequence may include the following: the current sequence has at least one of the following: high bit depth, high quality, high bit rate, high frame rate, or lossless compression.

[00670] In some embodiments, the second determining unit 1402 is further configured to determine that the first identification information about the syntax element indicates that reversal of the last significant coefficient is permitted for the current sequence, in response to the fact that the value of the first identification information about the syntax element is a first value; or determine that the first identification information about the syntax element indicates that reversal of the last significant coefficient is prohibited for the current sequence, in response to the fact that the value of the first identification information about the syntax element is a secondvalue.

[00671] In some embodiments, the second determining unit 1402 is further configured to determine that the component identification information indicates that a reversal of the location of the last significant coefficient is applied to a component of the current slice, in response to the fact that the value of the component identification information is a first value; or determine that the component identification information indicates that a reversal of the location of the last significant coefficient is not applied to a component of the current slice, in response to the fact that the value of the component identification information is a second value.

[00672] In some embodiments, the second determining unit 1402 is further configured to determine the location of the last significant coefficient of the current block directly according to the coordinate information of the last significant coefficient in response to the identification informationcomponent information indicating that a reversal of the location of the last significant coefficient is not applied to the component of the current slice.

[00673] Analysis unit 1401 is further configured to determine the coefficients of the current block by decoding the coefficients located above the location of the last significant coefficient in a given scan order.

[00674] In some embodiments, the component comprises at least one of a first color component, a second color component, or a third color component.

[00675] The first color component is a luminance component, the second color component is a first chroma component, and the third color component is a second chroma component.

[00676] Alternatively, the first color component is a red component, the second color component is a green component, and the third color component is a blue component.

[00677] In someIn embodiments, the second determining unit 1402 is further configured to, when the component comprises a first color component, a second color component, and a third color component, determine the number of parts of the component identification information of the current slice to be 1 in response to the fact that one part of the component identification information is shared by the first color component, the second color component, and the third color component of the current slice; or determine the number of parts of the component identification information of the current slice to be 2 in response to the fact that one part of the component identification information is shared by two color components of the first color component, the second color component, and the third color component of the current slice; or determine the number of parts of the component identification information of the current slice to be 3 in response to the fact that each of the first color component, the second color component, and the third componentcolor of the current slice has a separate portion of the component identification information.

[00678] In some embodiments, the analysis unit 1401 is further configured to determine the first component identification information of the current slice by analyzing the bitstream.

[00679] Accordingly, the second determining unit 1402 is further configured to determine that a reversal of the location of the last significant coefficient is applied to each of the first color component, the second color component, and the third color component of the current slice, in response to the fact that the value of the first component identification information is the first value.

[00680] In some embodiments, the analysis unit 1401 is further configured to determine the second component identification information and the third component identification information of the current slice by analyzing the bitstream.

[00681] Accordingly, the second node 1402determining unit 1401 is further configured to determine that the reversal of the location of the last significant coefficient is applied to each of the two color components of the first color component, the second color component, and the third color component of the current slice, in response to the fact that the value of the second component identification information is the first value; and determining that the reversal of the location of the last significant coefficient is applied to another color component, other than the two color components of the first color component, the second color component, and the third color component of the current slice, in response to the fact that the value of the third component identification information is the first value.

[00682] In some embodiments, analysis unit 1401 is further configured to determine a fourth component identification information, a fifth component identification information, and a sixth

[00683] Accordingly, the second determining unit 1402 is further configured to determine that the reversal of the last significant coefficient is applied to the first color component of the current slice, in response to the fact that the value of the fourth component identification information is the first value; determine that the reversal of the last significant coefficient is applied to the second color component of the current slice, in response to the fact that the value of the fifth component identification information is the first value; and determine that the reversal of the last significant coefficient is applied to the third color component of the current slice, in response to the fact that the value of the sixth component identification information is the first value.

[00684] In some embodiments, the analyzing unit 1401The second determining unit 1402 is further configured to determine the horizontal coordinate of the last significant coefficient according to the information about the prefix of the horizontal coordinate of the last significant coefficient and the information about the suffix of the horizontal coordinate of the last significant coefficient; determine the vertical coordinate of the last significant coefficient according to the information about the prefix of the vertical coordinate of the last significant coefficient and the information about the suffix of the vertical coordinate of the last significant coefficient; and determineinformation about the coordinates of the last significant coefficient of the current block according to the horizontal coordinate of the last significant coefficient and the vertical coordinate of the last significant coefficient.

[00686] In some embodiments, the second determining unit 1402 is further configured to determine the coordinate information of the last significant coefficient of the current block as a horizontal distance and a vertical distance between the location of the last significant coefficient and the lower right corner of the current block in response to identification information about the component indicating that a reversal of the location of the last significant coefficient is applied to the component of the current slice.

[00687] Accordingly, the second determining unit 1402 is further configured to determine the width and the height of the current block; obtain the horizontal coordinate of the last significant coefficient by subtracting the horizontal distance between the locationlast significant coefficient and the lower right corner of the current block from the width of the current block; obtaining a vertical coordinate of the last significant coefficient by subtracting a vertical distance between the location of the last significant coefficient and the lower right corner of the current block from the height of the current block; and determining the location of the last significant coefficient of the current block according to the horizontal coordinate of the last significant coefficient and the vertical coordinate of the last significant coefficient.

[00688] In some embodiments, the second determining unit 1402 is further configured to determine the coordinate information of the last significant coefficient of the current block as a horizontal distance and a vertical distance between the location of the last significant coefficient and the upper left corner of the current block in response to identification information about the component indicating that a change in the location to the inverse of the lastsignificant coefficient is not applied to a component of the current slice; and determining the location of the last significant coefficient of the current block according to a horizontal distance and a vertical distance between the location of the last significant coefficient and the upper left corner of the current block.

[00689] In some embodiments, the analysis unit 1401 is further configured to determine identification information about the resolvable last coefficient of the current block by analyzing the bitstream in response to a third identification information about a syntax element indicating that range extension is applied to the current sequence; and determining the coefficients of the current block by decoding the coefficients located above the location of the last coefficient in a given scan order in response to identification information about the resolvable last coefficient indicating that the location of the last coefficient is applied to the currentblock.

[00690] In some embodiments, the second determining unit 1402 is further configured to determine that the identification information about the resolved last coefficient indicates that the location of the last coefficient is applied to the current block, in response to the fact that the value of the identification information about the resolved last coefficient is a first value; or determine that the identification information about the resolved last coefficient indicates that the location of the last coefficient is not applied to the current block, in response to the fact that the value of the identification information about the resolved last coefficient is a second value.

[00691] In some embodiments, the analyzing unit 1401 is further configured to receive information about a prefix of a horizontal coordinate of the last significant coefficient of the current block, information about a prefix of a vertical coordinate of the last significant coefficient,information about the suffix of the horizontal coordinate of the last significant coefficient and information about the suffix of the vertical coordinate of the last significant coefficient by analyzing the bit stream in response to the fact that the value of the identification information about the resolved last coefficient is the second value.

[00692] The second determining unit 1402 is further configured to determine the location of the last significant coefficient according to the information about the prefix of the horizontal coordinate of the last significant coefficient, the information about the prefix of the vertical coordinate of the last significant coefficient, the information about the suffix of the horizontal coordinate of the last significant coefficient and the information about the suffix of the vertical coordinate of the last significant coefficient.

[00693] The analyzing unit 1401 is further configured to determine the coefficients of the current block by decoding the coefficients located above the location of the last significant coefficient, ingiven scan order.

[00694] In some embodiments, the location of the last coefficient is the lower right corner of a matrix consisting of all possible non-zero coefficients in the current block. Alternatively, the location of the last coefficient is the last location of all possible non-zero coefficients in the given scan order in the current block.

[00695] In some embodiments, the second determining unit 1402 is further configured to set the location of the last significant coefficient as the location of the last coefficient.

[00696] In some embodiments, the second determining unit 1402 is further configured to determine the width and the height of a transform block obtained by performing a given operation on the current block; calculate coordinate information of the lower right corner of the transform block according to the width and the height of the transform block; and determinethe location of the last coefficient according to the coordinate information of the lower right corner of the transform block.

[00697] In some embodiments, the predetermined operation includes at least a zero output operation.

[00698] In some embodiments, the second determining unit 1402 is further configured to determine the location of the last significant coefficient according to the coordinate information of the lower right corner of the transform block in response to setting the location of the last significant coefficient as the location of the last coefficient.

[00699] In some embodiments, the analyzing unit 1401 is further configured to determine identification information about a default-coded sub-block of the current block by analyzing the bitstream in response to third identification information about a syntax element indicating that range extension is applied to the current sequence; and decoding the coefficients insub-block to be decoded in response to identification information about a default-coded sub-block indicating that the sub-block to be decoded in the current block is coded by default.

[00700] In some embodiments, the analysis unit 1401 is further configured to determine identification information about a coded sub-block for the sub-block to be decoded by analyzing the bitstream in response to identification information about a default-coded sub-block indicating that the sub-block to be decoded in the current block is not coded by default; and decoding the coefficients in the sub-block to be decoded in response to the fact that the value of the identification information about the coded sub-block is a first value.

[00701] In some embodiments, the second determining unit 1402 is further configured to determine that the identification information about the default-coded sub-block indicates thata sub-block to be decoded in the current block is coded by default, in response to the fact that the value of the identification information about the default-coded sub-block is a first value; or determining that the identification information about the default-coded sub-block indicates that the sub-block to be decoded in the current block is not coded by default, in response to the fact that the value of the identification information about the default-coded sub-block is a second value.

[00702] In some embodiments, the second determining unit 1402 is further configured to determine whether to decode the coefficients in the sub-block to be decoded, in response to the fact that the value of the identification information about the sub-block to be coded is the first value; or determining the coefficients in the sub-block to be decoded as zero in response to the fact that the value of the identification information about the sub-block to be coded is a second value.

[00703] InIn some embodiments, the first value is 1 and the second value is 0.

[00704] It is understood that in an embodiment, a “node” may be a part of a circuit, a part of a processor, a part of a program or software, and / or the like. Of course, a “node” may be a module or may be non-modular. Furthermore, components in embodiments may be integrated into a single processing portion or exist as separate physical nodes, respectively. Alternatively, two or more nodes may be integrated into a single node. An integrated node may be implemented in the form of a hardware or software functional unit(s).

[00705] When implemented in the form of a software functional module and sold or used as a stand-alone product, the integrated module in this case may also be stored on a computer-readable storage medium. Based on this understanding, an embodiment provides a computera storage medium implemented in the decoder 140. The computer storage medium stores therein a computer program that, when executed by the second processor, implements the method according to any of the above-described embodiments.

[00706] Based on the composition of the decoder 140 and the computer storage medium, Fig. 15 shows a diagram of the hardware structure of the decoder 140 according to embodiments of the present invention. As shown in Fig. 15, the decoder may comprise a second communication interface 1501, a second memory 1502, and a second processor 1503. The various components may be interconnected via a second equipment 1504 in the form of buses. It is understood that the second equipment 1504 in the form of buses is configured to implement the connection and communication between these components. In addition to the data bus, the second equipment 1504 in the form of buses may further comprise a power bus, a control bus, and a status signal bus. However, for clarity of description, the various buses are designated as a secondequipment 1504 in the form of buses in Fig. 15.

[00707] The second communication interface 1501 may be configured to perform sending and receiving a signal when performing sending and receiving information using another external network element.

[00708] The second memory 1502 is configured to store therein a computer program executed by the second processor 1503.

[00709] The second processor 1503 is configured to execute the computer program for performing the following operations.

[00710] Identification information about a component of the current slice and information about the coordinates of the last significant coefficient of the current block corresponding to the component of the current slice are determined by analyzing the bit stream;

[00711] in response to the identification information about the component indicating that a change in the location of the last significant coefficient is applied to the component of the current slice, the location of the last significant coefficient of the current block is obtained byperforming a calculation with respect to the coordinate information of the last significant coefficient; and

[00712] the coefficients of the current block are determined by decoding the coefficients located above the location of the last significant coefficient in a predetermined scan order.

[00713] Alternatively, as another embodiment, the second processor 1503 may further be configured to execute a computer program for implementing the method according to any of the above-described embodiments.

[00714] It is understood that the second memory 1502 is similar to the first memory 1302 in terms of hardware function, and the second processor 1503 is similar to the first processor 1303 in terms of hardware function, which is not described in detail herein.

[00715] In an embodiment, a decoder is provided. The decoder may comprise an analysis unit and a second determination unit. Thus, in a high bit rate video encoding and decoding scenariodepth, high bit rate, high quality or lossless, a reasonable mode of obtaining the last significant coefficient is set according to the distribution law of significant coefficients, thereby reducing the resource consumption caused by coding in the bitstream and improving the compression efficiency. In addition, since the corresponding color components may be different in the distribution of significant coefficients, it is possible to precisely control the appropriate mode of obtaining the last significant coefficient for each color component, i.e., by separately controlling whether to apply the last significant coefficient reversal technology to each color component, thereby further improving the compression efficiency.

[00716] It should be noted that in the present invention, a term such as “include / comprise”, “comprising” or any other variation of this term is intended to cover a non-exclusive inclusion, so that a process, method, article ora device comprising a number of elements not only comprises the elements, but also comprises other element(s) that are not (are) explicitly stated, or element(s) inherent in such process, method, article, or device. Unless further limited, an element defined by the phrase "comprising..." does not exclude the existence of another identical element in the process, method, article, or device that comprises the element.

[00717] The numbering of embodiments of the present invention is merely for illustration and does not indicate the advantage of one embodiment over another.

[00718] The methods disclosed in the embodiments of the method according to the present invention may be combined with each other as necessary to obtain a new embodiment of the method, provided that the combination does not result in a contradiction.

[00719] The features disclosed in the embodiments of the product according toThe features disclosed in the embodiments of the method or device according to the present invention may be combined with each other as necessary to obtain a new embodiment of the product, provided that the combination does not result in a contradiction.

[00720] The features disclosed in the embodiments of the method or device according to the present invention may be combined with each other as necessary to obtain a new embodiment of the method or device, provided that the combination does not result in a contradiction.

[00721] The described are only embodiments of the present invention and are not intended to limit the scope of the present invention. Any modification, equivalent replacement and / or the like, made within the technical scope of the present invention, which may be obvious to a person skilled in the art, should be included in the scope of the present invention. Therefore, the scope of the present invention should be determined by the claims.INDUSTRIAL APPLICABILITY

[00722] In embodiments of the present invention, the encoder determines the identification information of a component of the current slice and the location of the last significant coefficient of the current block corresponding to the component of the current slice. The encoder determines the coordinate information of the last significant coefficient of the current block according to the identification information of the component and the location of the last significant coefficient. The encoder encodes the coefficients located above the location of the last significant coefficient in a given scan order. The encoder provides the bit information obtained by encoding, the identification information of the component, and the coordinate information of the last significant coefficient to the bitstream. The decoder determines the identification information of the component of the current slice and the coordinate information of the last significant coefficient of the current block corresponding to the component of the current slice by analyzing the bitstream. WhenThe component identification information indicates that the reversal of the last significant coefficient location is applied to the component of the current slice. The decoder obtains the location of the last significant coefficient of the current block by performing a calculation with respect to the coordinate information of the last significant coefficient. The decoder determines the coefficients of the current block by decoding the coefficients located above the location of the last significant coefficient in a given scanning order. Accordingly, in the scenario of encoding and decoding video with high bit depth, high bit rate, high quality, or lossless video, a reasonable mode for obtaining the last significant coefficient is set according to the distribution law of significant coefficients, thereby reducing the resource consumption caused by coding in the bitstream and improving the compression efficiency. In addition, since the corresponding color components can bedifferent in the distribution of significant coefficients, the component identification information can be used to separately control whether to apply the last significant coefficient reversal technique to each color component, thereby further improving the compression efficiency.

Claims

1. A method for receiving a bit stream, including: bit stream reception; And executing a decoding method for decoding a bit stream to generate a video or image, wherein the decoding method comprises: determining, by analyzing the bit stream, identification information about the change in the location of the last significant coefficient and information about the coordinates of the last significant coefficient of the current block; and obtaining the location of the last significant coefficient of the current block by performing a calculation with respect to the coordinate information of the last significant coefficient; wherein in response to the identification information about the change in the location of the last significant coefficient to the inverse, indicating that the change in the location of the last significant coefficient to the inverse has been applied, determining the information about the coordinates of the last significant coefficient of the current block as the horizontal distance and the vertical distance between the location of the last significant coefficient and the location of the lower right sample of the current block; and wherein obtaining the location of the last significant coefficient of the current block by performing a calculation with respect to the information about the coordinates of the last significant coefficient includes: defining the width and height of the current block; obtaining the horizontal coordinate of the last significant coefficient by subtracting the horizontal distance between the location of the last significant coefficient and the location of the lower right sample of the current block from the width of the current block; obtaining the vertical coordinate of the last significant coefficient by subtracting the vertical distance between the location of the last significant coefficient and the location of the lower right sample of the current block from the height of the current block; and determining the location of the last significant coefficient of the current block according to the horizontal coordinate of the last significant coefficient and the vertical coordinate of the last significant coefficient.

2. The method according to paragraph 1, characterized in that the decoding method additionally includes: determining first identification information about a syntax element by analyzing a bit stream; and performing an operation of determining identification information about reversing the position of the last significant coefficient by analyzing a bit stream in response to first identification information about a syntax element indicating that reversing the position of the last significant coefficient is permitted for the current sequence, wherein the current sequence contains the current slice.

3. The method according to paragraph 2, characterized in that the decoding method additionally includes: determining second identification information about the syntactic element by analyzing the bit stream; determining a third identification information about a syntax element by analyzing the bit stream in response to the second identification information about a syntax element indicating that the version of the extension of the standard is applied to the current sequence; and performing an operation of determining first identification information about a syntax element by analyzing a bit stream in response to third identification information about a syntax element indicating that a range extension is applied to the current sequence.

4. The method according to claim 3, characterized in that the range extension is applied to the current sequence, which provides for the following: the current sequence has at least one of the following: high bit depth, high quality, high bit rate, high frame rate, or lossless compression.

5. The method according to paragraph 1, characterized in that the decoding method additionally includes: in response to the identification information about the reversal of the last significant coefficient, indicating that the reversal of the last significant coefficient is not applied, determining the location of the last significant coefficient of the current block as equal to the coordinate information of the last significant coefficient; and determining the coefficients of the current block by decoding the coefficients located before the location of the last significant coefficient, in a given scan order.

6. The method according to claim 1, characterized in that the component contains at least one of a first color component, a second color component, or a third color component, wherein the first color component is a luminance component, the second color component is a first chroma component, and the third color component is a second chroma component, or wherein the first color component is the red component, the second color component is the green component, and the third color component is the blue component, wherein determining the identification information about the change in the location of the last significant coefficient to the reverse by analyzing the bit stream includes determining the first identification information about the change in the location of the last significant coefficient to the reverse by analyzing the bit stream, wherein the decoding method additionally includes in response to the fact that the value of the first identification information about the reversal of the last significant coefficient is the first value, determining that the reversal of the last significant coefficient is applied to each of the first color component, the second color component and the third color component.

7. The method according to paragraph 1, characterized in that the decoding method additionally includes: in response to the identification information about the reversal of the location of the last significant coefficient, indicating that the reversal of the location of the last significant coefficient is not applied, determining the coordinate information of the last significant coefficient of the current block as a horizontal distance and a vertical distance between the location of the last significant coefficient and the location of the upper left sample of the current block; and determining the location of the last significant coefficient of the current block according to the horizontal distance and the vertical distance between the location of the last significant coefficient and the location of the upper left sample of the current block.

8. The method according to any of paragraphs 3, 4, characterized in that the decoding method additionally includes: in response to the third identification information about the syntax element indicating that the range extension is applied to the current sequence, determining the identification information about the resolvable last coefficient of the current block by analyzing the bit stream; and in response to identification information about the resolved last coefficient indicating that the location of the last coefficient is applied to the current block, determining the coefficients of the current block by decoding the coefficients located before the location of the last coefficient in a given scan order, wherein the decoding method additionally includes: determining the width and height of a transformation block obtained by performing a given operation on the current block, wherein the given operation includes at least a zero output operation; calculating the coordinate information of the lower right sample of the transformation block according to the width and height of the transformation block; and determining the location of the last coefficient according to the information about the coordinates of the lower right sample of the transformation block.

9. A method for transmitting a bit stream, including: executing an encoding method for generating a bit stream; and transmitting the bit stream, wherein the encoding method includes: determining the identification information about the change in the location of the last significant coefficient of the current slice and the location of the last significant coefficient of the current block; determining the information about the coordinates of the last significant coefficient of the current block according to the identification information about the change in the location of the last significant coefficient to the opposite and the location of the last significant coefficient; and encoding the coefficients located before the location of the last significant coefficient in a given scanning order and providing in the bit stream of bit information obtained by encoding, identification information about changing the location to the reverse of the last significant coefficient and information about the coordinates of the last significant coefficient, wherein the location of the last significant coefficient comprises an initial horizontal coordinate and an initial vertical coordinate of the last significant coefficient, wherein the initial horizontal coordinate and the initial vertical coordinate represent the horizontal distance and the vertical distance between the location of the last significant coefficient and the location of the upper left sample of the current block, respectively, wherein determining the information about the coordinates of the last significant coefficient of the current block according to the identification information about the change in the location to the opposite of the last significant coefficient and the location of the last significant coefficient includes in response to the fact that the value of the identification information about the reversal of the location of the last significant coefficient is the first value, determining the coordinate information of the last significant coefficient by performing a calculation with respect to the initial horizontal coordinate and the initial vertical coordinate of the last significant coefficient, wherein determining information about the coordinates of the last significant coefficient by performing a calculation in relation to the initial horizontal coordinate and the initial vertical coordinate of the last significant coefficient includes: defining the width and height of the current block; obtaining the horizontal coordinate of the last significant coefficient by subtracting the initial horizontal coordinate of the last significant coefficient from the width of the current block; obtaining the vertical coordinate of the last significant coefficient by subtracting the initial vertical coordinate of the last significant coefficient from the height of the current block; and determining information about the coordinates of the last significant coefficient according to the horizontal coordinate of the last significant coefficient and the vertical coordinate of the last significant coefficient, wherein the coding method additionally includes in response to the fact that the value of the identification information about the reversal of the location of the last significant coefficient is the first value, determining the coordinate information of the last significant coefficient as a horizontal distance and a vertical distance between the location of the last significant coefficient and the location of the lower right sample of the current block.

10. The method according to paragraph 9, characterized in that the encoding method additionally includes: before determining the identification information about the change in the location to the reverse of the last significant coefficient determining first identification information about a syntactic element; and performing an operation of determining identification information about reversing the location of the last significant coefficient in response to first identification information about a syntax element indicating that reversing the location of the last significant coefficient is permitted for the current sequence, wherein the current sequence contains the current slice.

11. The method according to claim 10, characterized in that the encoding method further includes: before determining the first identification information about the syntactic element determining second identifying information about a syntactic element; determining a third syntactic element identification information in response to the second syntactic element identification information indicating that the extension version of the standard applies to the current sequence; and performing an operation of determining first identification information about a syntax element in response to third identification information about a syntax element indicating that a range extension has been applied to the current sequence.

12. The method according to claim 9, characterized in that the component comprises at least one of a first color component, a second color component, or a third color component, wherein the first color component is a luminance component, the second color component is a first chroma component, and the third color component is a second chroma component, or wherein the first color component is the red component, the second color component is the green component, and the third color component is the blue component, wherein determining the identification information about the change in the position to the reverse of the last significant coefficient includes determining the first identification information about the change in the position to the reverse of the last significant coefficient, wherein the coding method additionally includes determining a value of the first identification information about the reversal of the last significant coefficient as a first value in response to the fact that the reversal of the last significant coefficient is applied to each of the first color component, the second color component and the third color component.

13. A machine-readable storage medium having a computer program and a bit stream stored thereon, wherein the computer program, when executed by a processor, enables the processor to perform an encoding method for generating the bit stream, wherein the encoding method comprises: determining the identification information about the change in the location of the last significant coefficient of the current slice and the location of the last significant coefficient of the current block; determining the information about the coordinates of the last significant coefficient of the current block according to the identification information about the change in the location of the last significant coefficient to the opposite and the location of the last significant coefficient; and encoding the coefficients located before the location of the last significant coefficient in a given scanning order and providing in the bit stream of bit information obtained by encoding, identification information about changing the location to the reverse of the last significant coefficient and information about the coordinates of the last significant coefficient, wherein the location of the last significant coefficient comprises an initial horizontal coordinate and an initial vertical coordinate of the last significant coefficient, wherein the initial horizontal coordinate and the initial vertical coordinate represent the horizontal distance and the vertical distance between the location of the last significant coefficient and the location of the upper left sample of the current block, respectively, wherein determining the information about the coordinates of the last significant coefficient of the current block according to the identification information about the change in the location to the opposite of the last significant coefficient and the location of the last significant coefficient includes in response to the fact that the value of the identification information about the reversal of the location of the last significant coefficient is the first value, determining the coordinate information of the last significant coefficient by performing a calculation with respect to the initial horizontal coordinate and the initial vertical coordinate of the last significant coefficient, wherein determining information about the coordinates of the last significant coefficient by performing a calculation in relation to the initial horizontal coordinate and the initial vertical coordinate of the last significant coefficient includes: defining the width and height of the current block; obtaining the horizontal coordinate of the last significant coefficient by subtracting the initial horizontal coordinate of the last significant coefficient from the width of the current block; obtaining the vertical coordinate of the last significant coefficient by subtracting the initial vertical coordinate of the last significant coefficient from the height of the current block; and determining information about the coordinates of the last significant coefficient according to the horizontal coordinate of the last significant coefficient and the vertical coordinate of the last significant coefficient, wherein the coding method additionally includes in response to the fact that the value of the identification information about the reversal of the location of the last significant coefficient is the first value, determining the coordinate information of the last significant coefficient as a horizontal distance and a vertical distance between the location of the last significant coefficient and the location of the lower right sample of the current block.