[go: up one dir, main page]

CN116982314A - Coefficient encoding and decoding method, encoding and decoding device, terminal and storage medium - Google Patents

Coefficient encoding and decoding method, encoding and decoding device, terminal and storage medium Download PDF

Info

Publication number
CN116982314A
CN116982314A CN202180095621.0A CN202180095621A CN116982314A CN 116982314 A CN116982314 A CN 116982314A CN 202180095621 A CN202180095621 A CN 202180095621A CN 116982314 A CN116982314 A CN 116982314A
Authority
CN
China
Prior art keywords
value
coefficient
absolute value
mark
coding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180095621.0A
Other languages
Chinese (zh)
Inventor
黄航
王凡
谢志煌
袁锜超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Publication of CN116982314A publication Critical patent/CN116982314A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The embodiment of the disclosure discloses a coefficient coding and decoding method, coding and decoding equipment, a terminal and a storage medium, wherein the coefficient coding and decoding method comprises the following steps: analyzing the obtained code stream, and decoding syntax elements of coefficients to be decoded; and determining the value of the coefficient to be decoded according to the syntax element obtained by decoding.

Description

Coefficient encoding and decoding method, encoding and decoding device, terminal and storage medium
The present application claims priority from chinese patent office, application number 202110287920.6, chinese patent application entitled "coefficient codec method, codec device, terminal and storage medium," filed on month 17 of 2021, the contents of which are understood to be incorporated herein by reference.
Technical Field
Embodiments of the present disclosure relate to, but are not limited to, video encoding and decoding technologies, and in particular, to a coefficient encoding and decoding method, encoding and decoding device, terminal, and storage medium.
Background
Digital video compression technology mainly compresses huge digital video data so as to facilitate transmission, storage and the like. With the proliferation of internet video and the increasing demand of people for video definition, although existing digital video compression standards can save a lot of video data, better digital video compression technology is still required to be pursued at present so as to reduce the bandwidth and traffic pressure of digital video transmission.
Summary of The Invention
The following is a summary of the subject matter described in detail herein. This summary is not intended to limit the scope of the claims.
The embodiment of the disclosure provides a coefficient decoding method, which comprises the following steps:
analyzing the obtained code stream, and decoding syntax elements of coefficients to be decoded;
determining the value of the coefficient to be decoded according to the syntax element obtained by decoding;
wherein the syntax element comprises: a non-zero flag, M absolute value greater than X flags, a residual value flag, and a sign flag; m, X is a positive integer, and each absolute value of M absolute values larger than that of the X mark is different from that of X in the X mark;
wherein decoding the syntax element of the coefficient to be decoded comprises: analyzing other syntax elements except the residual value marks and the symbol marks of at least part of coefficients to be decoded of the current coding block, and decoding the residual value marks of the at least part of coefficients to be decoded according to analysis results; and decoding the sign flag of the at least part of the coefficients to be decoded.
The embodiment of the disclosure provides a coefficient coding method, which comprises the following steps:
generating a coefficient block based on the residual block, scanning coefficients to be coded in the coefficient block, generating syntax elements corresponding to the coefficients to be coded, and coding the syntax elements of the coefficients to be coded;
Writing the code word generated by encoding into a code stream;
wherein the syntax element comprises: a non-zero flag, M absolute value greater than X flags, a residual value flag, and a sign flag; m, X is a positive integer, and each absolute value of M absolute values larger than that of the X mark is different from that of X in the X mark;
wherein encoding the syntax element of the coefficient to be encoded comprises: encoding other syntax elements except for a residual value mark and a symbol mark of at least part of coefficients to be encoded of the coefficient block, and encoding the residual value mark of the at least part of coefficients to be encoded according to an encoding result; and encoding the sign flag of the at least coefficient to be encoded.
The disclosed embodiments provide a decoder including: a processor and a memory storing a computer program executable on the processor, wherein the processor implements the coefficient decoding method described above when executing the computer program.
The disclosed embodiments provide an encoder including: a processor and a memory storing a computer program executable on the processor, wherein the processor implements the coefficient encoding method described above when executing the computer program.
The embodiment of the disclosure provides a terminal, which comprises: a video decoder comprising the decoder described above, and/or the encoder described above.
The embodiment of the disclosure provides a coding and decoding system, which comprises the decoder and/or the encoder. The disclosed embodiments provide a non-transitory computer readable storage medium storing a computer program, wherein the computer program when executed by a processor implements the coefficient decoding method described above, or implements the coefficient encoding method described above.
Other aspects will become apparent upon reading and understanding the accompanying drawings and detailed description.
Brief description of the drawings
The accompanying drawings are included to provide an understanding of embodiments of the disclosure, and are incorporated in and constitute a part of this specification, illustrate embodiments of the disclosure and together with the description serve to explain, without limitation, the embodiments.
FIG. 1 is a schematic diagram of a video compression encoding framework;
FIG. 2 is a schematic diagram of an anti-zig-zag scan;
FIG. 3 is a schematic diagram of a coefficient absolute value encoding scheme;
FIG. 4 is a flow chart of a coefficient decoding method according to an embodiment of the disclosure;
FIG. 5 is a flow chart of a coefficient encoding method according to an embodiment of the disclosure;
FIG. 6 is a flow chart of a coefficient decoding method according to an embodiment of the disclosure;
FIG. 7 is a flow chart of a coefficient encoding method according to an embodiment of the disclosure;
FIG. 8 is a flow chart of a coefficient decoding method according to an exemplary embodiment of the present disclosure;
FIG. 9 is a flow chart of a coefficient encoding method according to an exemplary embodiment of the present disclosure;
FIG. 10 is a schematic diagram of a decoding apparatus according to an embodiment of the present disclosure;
fig. 11 is a block diagram of a video decoder in an exemplary embodiment of the present disclosure.
FIG. 12 is a schematic diagram of an encoding apparatus according to an exemplary embodiment of the present disclosure;
fig. 13 is a block diagram of a video encoder in an exemplary embodiment of the present disclosure.
Detailed description of the preferred embodiments
The present disclosure describes various embodiments, but the description is exemplary rather than limiting and many more embodiments and implementations are possible within the scope of the embodiments described in the present disclosure.
In this disclosure, words such as "exemplary" or "such as" are used to mean serving as an example, instance, or illustration. Any embodiment described as "exemplary" or "e.g." in this disclosure should not be taken as preferred or advantageous over other embodiments.
In describing representative exemplary embodiments, the specification may have presented the method and/or process as a particular sequence of steps. However, to the extent that the method or process does not rely on the particular order of steps set forth herein, the method or process should not be limited to the particular sequence of steps described. Other sequences of steps are possible as will be appreciated by those of ordinary skill in the art. Accordingly, the particular order of the steps set forth in the specification should not be construed as limitations on the claims. Furthermore, the claims directed to the method and/or process should not be limited to the performance of their steps in the order written, and one skilled in the art can readily appreciate that the sequences may be varied and still remain within the spirit and scope of the embodiments of the present disclosure.
Video codec standards include h.264/Advanced Video Coding (advanced video coding, AVC), h.265/High Efficiency Video Coding (high efficiency video coding, HEVC), h.266/Versatile Video Coding (multi-function video coding, VVC), and extensions of these standards, MPEG (Moving Picture Experts Group ), AOM (open media alliance, alliance for Open Media), or any other custom-defined standard that reduces the amount of data transferred and stored by video compression techniques to achieve more efficient video codec and transfer storage.
Video compression includes multiple modules such as intra-prediction (spatial domain) and/or inter-prediction (temporal domain) for reducing or taking out intra-video redundancy, transformation, quantization and inverse quantization of residual information, loop filtering and entropy coding for improving subjective and objective reconstruction quality. Fig. 1 is a schematic diagram of a framework of video compression coding, as shown in fig. 1, including: intra prediction, motion estimation/compensation, transformation/quantization, inverse transformation/inverse quantization, loop filtering, entropy coding, etc.
Some video compression standards are block-based compression techniques. For example, a video slice, a frame of pictures or a series of pictures may be divided into coding tree units CTU (CodingTreeUnit), and then coding tree units CTU may be divided into image blocks based on the units of CU (coding unit CU (Coding Unit). Intra prediction refers to prediction by using pixels around the blocks as references, inter prediction refers to prediction by referencing adjacent block information in space and reference information in other frames, and prediction blocks of the unit CU to be coded may be obtained by intra prediction or inter prediction.
Some concepts involved in the embodiments of the present disclosure are described first below.
The encoding unit CU (Coding Unit) is a basic unit that performs various types of encoding operations or decoding operations in the video encoding and decoding process, such as CU-based prediction, transform, entropy encoding, and the like. CU refers to a two-dimensional array of sampling points, which may be a square array, or may be a rectangular array. For example, a 4x8 CU may be considered as a square array of 32 samples from 4x 8. A CU may also be referred to as a picture block.
The current coding unit CU refers to the coding unit currently being processed and may also be referred to as current block. For example, in encoding, a current CU refers to a CU currently being encoded; in decoding, a current CU refers to a CU that is currently being decoded.
Reference CU: refers to a CU that provides a reference signal for the current CU, which may also be referred to as a reference block. The pixel points of the reference CU refer to the pixel points contained in the reference CU.
Prediction CU: refers to a CU that provides prediction for the current CU, which may also be referred to as a prediction block (PU). Each CU may include one or more PUs. A PU may include pixel data in a spatial domain (which may be referred to as a pixel domain).
Residual block refers to a residual image block, also referred to as residual data, formed by subtracting a prediction block of a current block to be encoded from the current block after the prediction block is generated by inter-prediction and/or intra-prediction.
The transform unit TU (TU) refers to a block of a Residual (Residual) or a coefficient (transform coefficients) obtained by transforming Residual data, and may also be referred to as a transform block. Each CU may include one or more TUs. For example, the residual data may be transformed into coefficients using a discrete cosine transform, an integer transform, a wavelet transform, or a similar transform, i.e., transforming the residual data from the pixel domain to the transform domain.
The coefficient block includes a transform block including transform coefficients obtained by transforming a residual block, or includes a residual block including residual data (residual signal) without transforming a residual block.
Because video coding includes both coding and decoding, coding includes coding at the encoder side and decoding at the decoder side for convenience of the following description.
In the embodiment of the disclosure, the coefficients include coefficients of a transform block obtained by transforming a residual block, or coefficients of a residual block, and entropy encoding the coefficients includes entropy encoding the coefficients of the transform block after quantization, or if the transform is not applied to residual data, entropy encoding the coefficients of the residual block after quantization.
The untransformed residual signal and the transformed residual signal may also be collectively referred to as coefficients (coeffients). For efficient compression, the coefficients generally need to be quantized. The quantized coefficients may also be level.
Quantization is typically used to reduce the dynamic range of coefficients, thereby achieving the goal of expressing video with fewer codewords. The quantized values are commonly referred to as levels (levels). Quantization is typically performed by dividing the coefficients by a quantization step size, which is determined by the quantization factor conveyed in the code stream. The dequantization is accomplished by multiplying the level by the quantization step size. For an NxM-sized block, quantization of coefficients can be done independently, and this technique is widely used in many international video compression standards, such as h.264, HEVC, etc. In the international video compression standard, the quantization operation can utilize the correlation between coefficients and utilize the characteristics of quantized coefficients to select a better quantization mode, so as to achieve the purpose of optimizing quantization.
In the international standard for video coding, the non-binarized level is further binarized to obtain bins, and the binarized level is used for generating the final code stream through a model-based binarized arithmetic coder.
The entropy coding method of transform coefficients in the video coding standard includes both context-based adaptive variable length coding (CAVLC) and context-based adaptive binary arithmetic coding (CABAC). Context-based adaptive binary arithmetic coding (CABAC) is a typical entropy coding technique that is supported in some coding standards. CABAC may involve several stages including binarization, context model selection, binary arithmetic coding, and the like. In binarization, non-binary symbols may be mapped to binary sequences. In context modeling, model probability distributions may be assigned to the elements being encoded. Then, in a subsequent binary arithmetic coding stage, the coding may be performed using the assigned probability distribution model, so as to produce a bit sequence forming a coded representation of the elements coded according to the assigned model probability distribution.
In CABAC encoding, encoding data symbols using CABAC includes one or more of the following steps:
(1) Binarization: if the symbol to be encoded is not a binary value, it is mapped to a succession of so-called "binary numbers". Each binary number may have a value of "0" or "1", commonly referred to as bin.
(2) Context modeling (determining context index): the data to be encoded has a contextual relevance, and an appropriate probability model is selected for the data to be encoded, which is context modeling, using the contextual information provided by the encoded data. By constructing the context model, the basic probability model can adapt to the statistical characteristics changed along with the video image, reduce the redundancy among data and reduce the operation cost. There are typically many context models, each model having its own context number, ctxIdx. Each different character indexes its own probability lookup table according to the corresponding context model. After the character is received, the sequence number CtxIdx of the context model corresponding to the character is found first, and then the probability lookup table corresponding to the character is found according to the CtxIdx.
(3) Binary number coding: the probability estimation method of the probability model found by the context modeling constitutes an adaptive binary arithmetic coder. The arithmetic encoder needs to take as input the probabilities of the values of bin (i.e. the probability that the value of a binary number equals "0" and the probability that the value of a binary number equals "1"). The principle is the same as that of general arithmetic coding, except that binary arithmetic coding sequences only have two symbols of 0 and 1, and the probability involved is also P (0) and P (1).
(4) And (5) updating the state: in arithmetic coding, the probability is not fixed, although it is the same context, and the probability of the corresponding context is changed every time a new symbol is input, that is, the probability of the selected context is updated based on the actual code value of the binary number (e.g., if the binary number value is "1", the probability of "1" is increased).
For syntax elements which are approximately evenly distributed, a bypass (bypass) mode is selected during encoding and decoding, so that context modeling can be avoided, and the encoding and decoding speed is improved.
In some video codec standards, the coefficients to be encoded may be limited to a range by the SRCC technique. For example, as shown in FIG. 2, the coefficient scan mode starts with the lower right corner of the range and scans in anti-zig-zag order until the last upper left corner DC coefficient ends.
For each level (i.e., coefficient) of a position, the following several possible syntax elements may be encoded into the bitstream to represent the level, including sig_flag to indicate whether the level is non-zero, coeff_abs_level_greater1_flag to indicate whether the level absolute value is greater than 1, coeff_abs_level_greater2_flag to indicate whether the level absolute value is greater than 2, coeff_abs_level_remaining is a value obtained by subtracting 3 from the level absolute value, and coeff_sign to indicate the positive or negative of the non-zero coefficient.
In some video codec standards, the encoding process is described as follows:
1) Encoding a non-zero flag bit sig_flag (sig), and if the current level is 0, encoding 0; if the current level is not 0, braiding 1;
2) If sig_flag is 0, jumping to the fifth step below; if sig_flag is 1, coding coeff_abs_level_greater1_flag (gt 1); if the absolute value of the current level is 1, 0 is compiled; if the absolute value of the current level is not 1, 1 is compiled;
3) If coeff_abs_level_greater1_flag is 0, jumping to the fifth step below; if coeff_abs_level_greater1_flag is 1, encoding coeff_abs_level_greater2_flag (gt 2); if the absolute value of the current level is 2, 0 is compiled; if the absolute value of the current level is greater than 2, 1 is compiled;
4) If coeff_abs_level_greater2_flag is 0, the position level encoding is completed; if coeff_abs_level_greater2_flag is 1, the absolute residual value coeff_abs_level_ remaining (rem) of the coding level;
5) If sig_flag is 0, the position level coding is completed; if sig_flag is 1, coding a coefficient sign bit according to the positive and negative of the coefficient; if the coefficient is positive, 0 is compiled; if the coefficient is negative, 1 is coded.
The corresponding relation between each flag bit and the absolute value of the coefficient is shown in fig. 3.
Wherein q k |=sig+gt1+gt2+rem,│q k And (c) represents a level absolute value (coefficient absolute value), sig represents a coded value of a non-zero flag sig_flag (sig), gt1 represents whether the level absolute value is greater than a coded value of a 1 flag coeff_abs_level_great1_flag, gt2 represents whether the level absolute value is greater than a coded value of a 2 flag coeff_abs_level_great2_flag, and rem represents a coded value of a level absolute value remaining value flag coeff_abs_level_remaining. When the code value corresponding to a certain flag does not exist, the value is processed as 0.
The residual value of the absolute value of the coefficient and the sign bit can be encoded by using a bypass encoding mode, and other signs can be encoded by using a context-based adaptive binary arithmetic encoding mode.
In some video coding standards, the SCC sequence and the non-SCC sequence may use the same SRCC coefficient coding scheme, considering that, for the SCC sequence, in a scene where transform skipping can be used, the absolute values of coefficients of coding blocks of the transform skipping mode are relatively less concentrated at 1 and 2, a modified method of SRCC coefficient coding in the transform skipping use scene may be proposed, for the coefficient coding mode in the transform skipping use scene, when the transform skipping mode-related picture header is opened, two flags, coeff_abs_level_greate4_flag (gt 4) and coeff_abs_level_greaterβ8_flag (gt 8), are added, the context model determining modes of the two flags coincide with gt1 and gt2, and rem is coded with a fixed length when the absolute value of the coefficient is greater than 2 and equal to or less than 4, and two fixed length coding is used when the absolute value of the coefficient is greater than 4 and equal to or less than 8. And when the absolute value of the coefficient is larger than 8, the original scheme is kept unchanged.
In the decoding process, when the preamble flag bit is analyzed to the gt4 flag bit, if the gt4 flag bit is 0, a bypass coding mode is used for analyzing the code stream according to a one-bit fixed-length code mode, and the absolute value of the coefficient is reconstructed to be 3 or 4. If the bit number of the bit is 1, continuing to analyze the bit number of the bit is 8, if the bit number of the bit is 0, analyzing the code stream in a two-bit fixed-length code mode by using a bypass coding mode, and reconstructing the absolute value of the coefficient to be 5,6,7 or 8. If gt8 is 1, the absolute value of the current coefficient is larger than 8, and the next coefficient is scanned. After the analysis of the coefficient flag bit is completed, the bypass mode is entered, the residual value of the coefficient absolute value is analyzed, and for the coefficient with the coefficient absolute value larger than 8 which is analyzed previously, the complete coefficient absolute value is reconstructed according to the 0-order exponential Columbus code analysis code stream.
However, when the absolute value of the current coefficient is more than 2 and less than or equal to 8, the encoding/decoding method is switched to a bypass encoding/decoding mode, and immediately encodes/decodes the residual value of the absolute value of the coefficient according to a fixed-length code mode, wherein the residual value of the coefficient with the absolute value of more than 8 is independently carried out in the subsequent bypass encoding/decoding mode when the absolute value of the current coefficient is more than 2 and less than or equal to 8. When the absolute value of the coefficient is more than 2 and less than or equal to 8, the scheme can be repeatedly switched between the context coding and decoding mode and the bypass coding and decoding mode, and the switching between the context coding and decoding mode and the bypass coding and decoding mode can not be carried out once according to the original scheme, so that the performance of the hardware can not be fully exerted, and the coding and decoding efficiency is reduced.
There is therefore much room for improvement in transform coefficient entropy coding methods.
The embodiment of the disclosure provides a coefficient decoding method, as shown in fig. 4, including:
step 401, analyzing the obtained code stream, and decoding the syntax element of the coefficient to be decoded;
step 402, determining the value of the coefficient to be decoded according to the syntax element obtained by decoding;
wherein the syntax element comprises: a non-zero flag, an absolute value greater than 1 flag, an absolute value greater than 2 flag, an absolute value greater than 4 flag, an absolute value greater than 8 flag, a residual value flag, and a sign flag; the absolute value of the coefficient to be decoded is a sum value obtained by adding the basic value of the coefficient to be decoded to the coding value of the residual value mark; the value of the coefficient to be decoded is a value corresponding to the absolute value of the coefficient to be decoded and a sign representing the positive and negative; the basic value corresponds to the coding value of at least one mark of marks with an absolute value larger than 1, marks with an absolute value larger than 2, marks with an absolute value larger than 4 and marks with an absolute value larger than 8;
Wherein decoding the residual value flag of the coefficient to be decoded further includes: and determining a decoding mode of the residual value mark according to the basic value, and analyzing the residual value mark according to the determined decoding mode.
In an exemplary embodiment, the method further comprises:
when the absolute value is larger than the coding value of the 1 mark and is 0, the corresponding basic value is 1, and the corresponding decoding mode is to skip the analysis of the residual value mark;
when the absolute value is larger than the coding value of the 2 mark and is 0, the corresponding basic value is 2, and the corresponding decoding mode is to skip the analysis of the residual value mark;
when the absolute value is greater than the coding value of the 4 mark and is 0, the corresponding basic value is 3, and the corresponding decoding mode is to analyze the coding value of the residual value mark according to a one-bit fixed-length code;
when the absolute value is greater than the coding value of the 8 mark and is 0, the corresponding basic value is 5, and the corresponding decoding mode is to analyze the coding value of the residual value mark according to the two-bit fixed-length code;
when the absolute value is greater than the coding value of the 8 mark and is 1, the corresponding basic value is 9, and the corresponding decoding mode is to analyze the coding value of the residual value mark according to the 0-order or 1-order exponential Columbus code.
In an exemplary embodiment, the method further comprises:
Analyzing non-zero marks of all coefficients in a coefficient block to be decoded, and forming a first coefficient group to be decoded by the coefficients with non-zero marks of 1;
for each coefficient in the first coefficient set to be decoded, the following operations are performed respectively:
analyzing the absolute value of the coefficient to be larger than a 1 mark, and skipping to analyze the absolute value of the coefficient to be larger than a 2 mark, the absolute value to be larger than a 4 mark and the absolute value to be larger than an 8 mark when the absolute value is larger than the 1 mark to be 0;
when the absolute value is larger than 1 and the sign is 1, the absolute value of the coefficient is analyzed to be larger than 2; when the absolute value is larger than 2 and the sign is 0, skipping to analyze that the absolute value of the coefficient is larger than 4 and the absolute value is larger than 8; when the absolute value is larger than the 2 mark and is 1, analyzing that the absolute value of the coefficient is larger than the 4 mark;
when the absolute value is greater than the 4 mark and is 0, skipping to analyze that the absolute value of the coefficient is greater than the 8 mark; when the absolute value is greater than the 4 mark and is 1, analyzing that the absolute value of the coefficient is greater than the 8 mark;
for each coefficient in the first coefficient set to be decoded, the following operations are performed respectively:
when the absolute value is larger than 1 and the sign is 0, skipping the analysis of the residual value sign;
when the absolute value is larger than 2 and the sign is 0, skipping the analysis of the residual value sign;
When the absolute value is larger than the 4 mark and is 0, analyzing the coding value of the residual value mark according to a one-bit fixed-length code;
when the absolute value is larger than 8 and the sign is 0, analyzing the coding value of the residual value sign according to the two-bit fixed-length code;
and when the absolute value is larger than the 8 mark and is 1, analyzing the coding value of the residual value mark according to the 0-order or 1-order exponential Columbus code.
In an exemplary embodiment, the method further comprises:
adding the basic value of the coefficient to be decoded with the coding value of the residual value mark, and taking the obtained sum value as the absolute value of the coefficient to be decoded;
when the basic value is 1, setting the coding value of the residual value mark to 0, or determining the absolute value of the coefficient to be decoded to be 1; when the basic value is 2, setting the coding value of the residual value mark to 0, or determining the absolute value of the coefficient to be decoded to be 2;
and analyzing a sign flag, wherein when the sign flag is 0, the value of the coefficient to be decoded is positive, and when the sign flag is 1, the value of the coefficient to be decoded is negative.
In an exemplary embodiment, the method further comprises:
and when the non-zero mark of the decoding coefficient is analyzed to be 0, skipping the analysis of the mark with the absolute value larger than 1, the mark with the absolute value larger than 2, the mark with the absolute value larger than 4, the mark with the absolute value larger than 8, the residual value mark and the symbol mark, and determining that the value of the coefficient to be decoded is 0.
The embodiment of the disclosure provides a coefficient coding method, as shown in fig. 5, including:
step 501, generating a coefficient block based on a residual block, scanning coefficients in the coefficient block, and encoding syntax elements of coefficients to be encoded;
step 502, writing the code word generated by the encoding into a code stream;
wherein the syntax element comprises: a non-zero flag, an absolute value greater than 1 flag, an absolute value greater than 2 flag, an absolute value greater than 4 flag, an absolute value greater than 8 flag, a residual value flag, and a sign flag; the value of the coefficient to be coded is a value corresponding to the absolute value of the coefficient to be coded and a sign representing the positive and negative; the basic value corresponds to the coding value of at least one sign of which the absolute value is greater than 1 sign, the absolute value is greater than 2 signs, the absolute value is greater than 4 signs and the absolute value is greater than 8 signs;
wherein the encoding of the residual value flag of the coefficient to be decoded further includes: and determining the coding mode of a residual value mark according to the basic value, and coding the residual value mark according to the determined coding mode, wherein the coding value of the residual value mark is obtained by subtracting the basic value from the absolute value of the coefficient to be decoded.
In an exemplary embodiment, when the absolute value is greater than the coding value of the 1 flag and is 0, the corresponding basic value is 1, and the corresponding coding mode is to skip the coding of the residual value flag;
when the absolute value is larger than the coding value of the 2 mark and is 0, the corresponding basic value is 2, and the corresponding coding mode is to skip the coding of the residual value mark;
when the absolute value is greater than the coding value of the 4 mark and is 0, the corresponding basic value is 3, and the corresponding coding mode is to code the coding value of the residual value mark according to a one-bit fixed-length code;
when the absolute value is greater than the coding value of the 8 mark and is 0, the corresponding basic value is 5, and the corresponding coding mode is to code the coding value of the residual value mark according to the two-bit fixed-length code;
when the absolute value is greater than the coding value of the 8 marks and is 1, the corresponding basic value is 9, and the corresponding coding mode is to code the coding value of the residual value marks according to the 0-order or 1-order exponential Columbus code.
In an exemplary embodiment, the method further comprises:
traversing all coefficients to be coded in a coefficient block, coding a non-zero mark of the coefficient to be coded which is zero as 0, and coding a non-zero mark of the coefficient to be coded which is not zero as 1;
the coefficients to be coded of which the non-zero marks are coded to be 1 form a first coefficient group to be coded;
For each coefficient in the first coefficient set to be encoded, the following operations are performed respectively:
encoding the absolute value of the coefficient to be greater than 1 flag, encoding the absolute value to be greater than 1 flag to be 0 when the absolute value of the coefficient is not greater than 1, and encoding the absolute value to be greater than 1 flag to be 1 when the absolute value of the coefficient is greater than 1; when the sign code with the absolute value larger than 1 is 0, skipping the coding of the sign code with the absolute value larger than 2, the sign code with the absolute value larger than 4 and the sign code with the absolute value larger than 8;
when the absolute value is greater than 1, the sign code is 1, the absolute value of the coefficient is greater than 2, when the absolute value of the coefficient is not greater than 2, the sign code with the absolute value greater than 2 is 0, and when the absolute value of the coefficient is greater than 2, the sign code with the absolute value greater than 2 is 1; when the sign code with the absolute value larger than 2 is 0, skipping the coding of the sign with the absolute value larger than 4 and the sign with the absolute value larger than 8;
when the absolute value is greater than 2 and the sign code is 1, the sign code of the absolute value of the coefficient is greater than 4, when the absolute value of the coefficient is not greater than 4, the sign code of the absolute value greater than 4 is 0, and when the absolute value of the coefficient is greater than 4, the sign code of the absolute value greater than 4 is 1; when the absolute value is greater than 4 and the sign code is 0, skipping the coding of the sign with the absolute value greater than 8;
When the absolute value is greater than 4, the sign code is 1, the sign code of the absolute value of the coefficient is greater than 8, when the absolute value of the coefficient is not greater than 8, the sign code of the absolute value greater than 8 is 0, when the absolute value of the coefficient is greater than 8, the sign code of the absolute value greater than 8 is 1;
for each coefficient in the first coefficient set to be encoded, the following operations are performed respectively:
when the absolute value is larger than the coding value of the 1 mark and is 0, skipping the coding of the residual value mark;
when the absolute value is greater than the coding value of the 2 mark and is 0, skipping the coding of the residual value mark;
when the absolute value is larger than the coding value of the 4 marks and is 0, coding the coding value of the residual value marks according to a one-bit fixed-length code;
when the absolute value is greater than the coding value of the 8 mark and is 0, coding the coding value of the residual value mark according to a two-bit fixed-length code;
when the absolute value is greater than the 8 flag and the code value is 1, the code value of the residual value flag is encoded according to the 0 th order or 1 st order exponential golomb code.
In an exemplary embodiment, when encoding the residual value flag, the method further comprises:
and subtracting the basic value of the coefficient to be decoded from the absolute value of the coefficient to be decoded, and taking the obtained difference value as the encoding value of the residual value mark.
In an exemplary embodiment, the method further comprises:
when the non-zero flag code of the decoding coefficient is 0, the codes of the flag with the absolute value larger than 1, the flag with the absolute value larger than 2, the flag with the absolute value larger than 4, the flag with the absolute value larger than 8, the residual value flag and the sign flag are skipped.
The embodiment of the disclosure provides a coefficient decoding method, as shown in fig. 6, including:
step 601, analyzing the obtained code stream, and decoding syntax elements of coefficients to be decoded;
step 602, determining the value of the coefficient to be decoded according to the syntax element obtained by decoding;
wherein the syntax element comprises: a non-zero flag, M absolute value greater than X flags, a residual value flag, and a sign flag; the absolute value of the coefficient to be decoded is a sum value obtained by adding the basic value of the coefficient to be decoded to the coding value of the residual value mark; the value of the coefficient to be decoded is a value corresponding to the absolute value of the coefficient to be decoded and a sign representing the positive and negative; the basic value corresponds to the coding value of at least one of M different absolute values larger than the X mark, and each of M absolute values larger than the X mark is different from the X value in the X mark;
Wherein decoding the residual value flag of the coefficient to be decoded further includes: and determining a decoding mode of the residual value mark according to the basic value, and analyzing the residual value mark according to the determined decoding mode.
In an exemplary embodiment, the method further comprises:
analyzing non-zero marks of all coefficients in a coefficient block to be decoded, and forming a first coefficient group to be decoded by the coefficients with non-zero marks of 1;
for each coefficient in the first coefficient set to be decoded, the following operations are performed respectively:
analyzing M absolute values of the coefficients to be larger than an X mark, and skipping the subsequent analysis of M-g absolute values to be larger than the X mark when the g absolute value is larger than the X mark and is decoded to be 0, wherein g is larger than or equal to 1 and is smaller than or equal to M; when the g absolute value is greater than the X mark and is decoded to be 1, continuing to analyze the following M-g absolute values greater than the X mark;
for each coefficient in the first coefficient set to be decoded, the following operations are performed respectively:
determining a preset basic value of the coefficient according to the fact that at least one absolute value of M absolute values of the coefficient is larger than the coding value of the X mark;
and analyzing the residual value mark of the coefficient according to a preset decoding mode of the basic value of the coefficient.
In an exemplary embodiment, the method further comprises:
the absolute value is larger than the basic value corresponding to the coding value of the X mark and the decoding mode corresponding to the basic value are preset.
In an exemplary embodiment, m=4, the 4 different absolute values greater than X flags include an absolute value greater than 1 flag, an absolute value greater than 2 flag, an absolute value greater than 4 flag, and an absolute value greater than 8 flag;
when the absolute value is larger than the coding value of the 1 mark and is 0, the corresponding basic value is 1, and the corresponding decoding mode is to skip the analysis of the residual value mark;
when the absolute value is larger than the coding value of the 2 mark and is 0, the corresponding basic value is 2, and the corresponding decoding mode is to skip the analysis of the residual value mark;
when the absolute value is greater than the coding value of the 4 mark and is 0, the corresponding basic value is 3, and the corresponding decoding mode is to analyze the coding value of the residual value mark according to a one-bit fixed-length code;
when the absolute value is greater than the coding value of the 8 mark and is 0, the corresponding basic value is 5, and the corresponding decoding mode is to analyze the coding value of the residual value mark according to the two-bit fixed-length code;
when the absolute value is greater than the coding value of the 8 mark and is 1, the corresponding basic value is 9, and the corresponding decoding mode is to analyze the coding value of the residual value mark according to the 0-order or 1-order exponential Columbus code.
In an exemplary embodiment, the method further comprises:
adding the basic value of the coefficient to be decoded with the coding value of the residual value mark, and taking the obtained sum value as the absolute value of the coefficient to be decoded;
when the basic value is 1, setting the coding value of the residual value mark to 0, or determining the absolute value of the coefficient to be decoded to be 1; when the basic value is 2, setting the coding value of the residual value mark to 0, or determining the absolute value of the coefficient to be decoded to be 2;
and analyzing a sign flag, wherein when the sign flag is 0, the value of the coefficient to be decoded is positive, and when the sign flag is 1, the value of the coefficient to be decoded is negative.
In an exemplary embodiment, the method further comprises:
and when the non-zero flag of the decoding coefficient is analyzed to be 0, skipping the analysis of M absolute values which are larger than the X flag, the residual value flag and the sign flag, and determining that the value of the coefficient to be decoded is 0.
The embodiment of the disclosure provides a coefficient coding method, as shown in fig. 7, including:
step 701, generating a coefficient block based on a residual block, scanning coefficients in the coefficient block, and encoding syntax elements of coefficients to be encoded;
Step 702, writing the code word generated by the encoding into a code stream;
wherein the syntax element comprises: a non-zero flag, M absolute value greater than X flags, a residual value flag, and a sign flag; the value of the coefficient to be coded is a value corresponding to the absolute value of the coefficient to be coded and a sign representing the positive and negative; the basic value corresponds to the code value of at least one of M different absolute values larger than the X mark, M, X is a positive integer, and each of M absolute values larger than the X mark is different from the X value in the X mark;
wherein the encoding of the residual value flag of the coefficient to be decoded further includes: and determining the coding mode of a residual value mark according to the basic value, and coding the residual value mark according to the determined coding mode, wherein the coding value of the residual value mark is obtained by subtracting the basic value from the absolute value of the coefficient to be decoded.
In an exemplary embodiment, the method further comprises:
traversing all coefficients to be coded in a coefficient block, coding a non-zero mark of the coefficient to be coded which is zero as 0, and coding a non-zero mark of the coefficient to be coded which is not zero as 1;
the coefficients to be coded of which the non-zero marks are coded to be 1 form a first coefficient group to be coded;
For each coefficient in the first coefficient set to be encoded, the following operations are performed respectively:
coding M marks with absolute values larger than X of the coefficient, when the absolute value of the coefficient is Q, coding the mark with the absolute value larger than X of the coefficient with the absolute value larger than Q as 0, and skipping the coding of the mark with the subsequent absolute value larger than X; encoding a sign with an absolute value of X less than or equal to Q greater than X as 1;
for each coefficient in the first generation set of encoded coefficients, the following is performed:
determining a basic value of the coefficient according to the M absolute values of the coefficient being greater than the coding value of the X mark, wherein at least one absolute value of the M absolute values of the coefficient is greater than the coding value of the X mark;
and coding the coding value of the residual value mark according to the coding mode corresponding to the basic value.
In an exemplary embodiment, the method further comprises:
the absolute value is larger than the basic value corresponding to the coding value of the X mark and the coding mode corresponding to the basic value are preset.
In an exemplary embodiment, m=4, the 4 different absolute values greater than X flags include an absolute value greater than 1 flag, an absolute value greater than 2 flag, an absolute value greater than 4 flag, and an absolute value greater than 8 flag;
when the absolute value is larger than the coding value of the 1 mark and is 0, the corresponding basic value is 1, and the corresponding coding mode is to skip the coding of the residual value mark;
When the absolute value is larger than the coding value of the 2 mark and is 0, the corresponding basic value is 2, and the corresponding coding mode is to skip the coding of the residual value mark;
when the absolute value is greater than the coding value of the 4 mark and is 0, the corresponding basic value is 3, and the corresponding coding mode is to code the coding value of the residual value mark according to a one-bit fixed-length code;
when the absolute value is greater than the coding value of the 8 mark and is 0, the corresponding basic value is 5, and the corresponding coding mode is to code the coding value of the residual value mark according to the two-bit fixed-length code;
when the absolute value is greater than the coding value of the 8-order sign and is 1, the corresponding basic value is 9, and the corresponding coding mode is to code the coding value of the residual value sign according to the 0-order or 1-order exponential Columbus code.
In an exemplary embodiment, when encoding the residual value flag, the method further comprises: and subtracting the basic value of the coefficient to be decoded from the absolute value of the coefficient to be decoded, and taking the obtained difference value as the encoding value of the residual value mark.
In an exemplary embodiment, the method further comprises:
when the non-zero flag code of the decoding coefficient is 0, M codes of a flag whose absolute value is greater than 1, a flag whose absolute value is greater than X, a residual value flag, and a sign flag are skipped.
In the embodiment of the present disclosure, the syntax elements of the coefficients include four parts of a non-zero flag sig, an absolute value greater than X flag (gtx), a residual value flag rem, and a sign flag coeff_sign.
Wherein, nonzero flag is used to indicate whether the coefficient is nonzero coefficient.
Wherein, the absolute value is larger than X sign gtx, which is used to indicate whether the absolute value of the coefficient is larger than X.
X is a natural number greater than 0. The absolute value is greater than the X mark gtx and can be one or more, and when the absolute value is greater than the X mark, the absolute value of each absolute value is different from the value of X in the X mark. In one example, the absolute value of the coefficient being greater than xflag gtx includes: an absolute value greater than 1 flag (gt 1), an absolute value greater than 2 flag (gt 2), an absolute value greater than 4 flag (gt 4), and an absolute value greater than 8 flag (gt 8). In another example, the absolute value of the coefficient being greater than xflag gtx includes: an absolute value greater than 1 flag (gt 1), an absolute value greater than 2 flag (gt 2), and an absolute value greater than 4 flag (gt 4). In another example, the absolute value of the coefficient being greater than xflag gtx includes: an absolute value greater than 1 flag (gt 1), an absolute value greater than 2 flag (gt 2), and an absolute value greater than 8 flag (gt 8). In another example, the absolute value of the coefficient being greater than xflag gtx includes: an absolute value greater than 1 flag (gt 1), an absolute value greater than 2 flag (gt 2), an absolute value greater than 3 flag (gt 3), and an absolute value greater than 7 flag (gt 7). In another example, the absolute value of the coefficient being greater than xflag gtx includes: an absolute value greater than 1 flag (gt 1), an absolute value greater than 2 flag (gt 2), an absolute value greater than 3 flag (gt 3), and an absolute value greater than 7 flag (gt 7). In another example, the absolute value of the coefficient being greater than xflag gtx includes: an absolute value greater than 1 flag (gt 1), an absolute value greater than 2 flag (gt 2), and an absolute value greater than 7 flag (gt 7). The number M of the marks with the absolute value larger than X is not limited, and the value of X in each mark with the absolute value larger than X is not limited.
Wherein, the value of the residual value mark rem to be encoded is encoded according to the setting method. In one example, the remaining value indicator may be encoded by selecting a fixed-length encoding scheme or an exponential golomb code according to a scheme in which absolute values other than gt1, gt2 are greater than the value of the X-indicator. For example, the remaining value flag may be encoded by selecting a fixed-length encoding scheme or an exponential golomb code according to the values of gt4 and gt 8. The encoded value of the residual value flag rem may be a value obtained by subtracting the base value from the absolute value of the coefficient. For example, a coefficient absolute value reconstruction base_level (simply referred to as a base value in this embodiment) corresponding to a coded value whose absolute value is larger than the X flag may be preset before coding.
Wherein the sign flag coeff_sign is used to indicate the positive and negative of the coefficient, for example, when the value of the coefficient is positive, the sign flag coeff_sign is encoded as 0, and when the value of the coefficient is negative, the sign flag coeff_sign is encoded as 1.
In an exemplary embodiment, the syntax elements of the coefficients include a non-zero flag, an absolute value greater than 1 flag gt1, an absolute value greater than 2 flag gt2, an absolute value greater than 4 flag gt4, an absolute value greater than 8 flag gt8, a residual value flag rem, and a sign flag coeff_sign.
The present exemplary embodiment provides a coefficient decoding method, as shown in fig. 8, including:
step 801, analyzing the obtained code stream, and determining the position of the coefficient to be decoded according to a preset coefficient scanning sequence;
in an example, the coefficient decoding method may be performed by a decoding end or a decoder.
In an example, the method further comprises: the method comprises the steps of obtaining code stream information, analyzing a current coding block, and analyzing the position of each coefficient in the current coding block according to a preset coefficient scanning sequence; after determining the position of the current coefficient to be decoded, starting to decode the current coefficient to be decoded. For example, if the preset coefficient scanning order is a zigzag scanning order, determining the position of each coefficient in the current coding block after decoding according to the zigzag scanning order, and sequentially decoding the coefficients to be decoded according to the positions.
Step 802, according to the scanning sequence, analyzing non-zero marks of all coefficients in the coefficient block to be decoded, and forming a first coefficient group to be decoded by the coefficients with non-zero marks of 1;
in the present exemplary embodiment, the method further includes: when the preset absolute value is greater than the coding value of the 1 mark and is 0, the corresponding basic value is 1, and the corresponding decoding mode is to skip the analysis of the residual value mark; when the preset absolute value is greater than the coding value of the 2 mark and is 0, the corresponding basic value is 2, and the corresponding decoding mode is to skip the analysis of the residual value mark; when the preset absolute value is greater than the coding value of the 4 mark and is 0, the corresponding basic value is 3, and the corresponding decoding mode is to analyze the coding value of the residual value mark according to a one-bit fixed-length code; when the preset absolute value is greater than the coding value of the 8 mark and is 0, the corresponding basic value is 5, and the corresponding decoding mode is to analyze the coding value of the residual value mark according to the two-bit fixed-length code; when the preset absolute value is greater than the coding value of the 8 mark and is 1, the corresponding basic value is 9, and the corresponding decoding mode is to analyze the coding value of the residual value mark according to the 0-order or 1-order exponential Columbus code.
In an example, the method further comprises: and when the non-zero mark of the decoding coefficient is analyzed to be 0, skipping the analysis of the mark with the absolute value larger than 1, the mark with the absolute value larger than 2, the mark with the absolute value larger than 4, the mark with the absolute value larger than 8, the residual value mark and the symbol mark, and determining that the value of the coefficient to be decoded is 0.
Step 803, according to the scan order, for each coefficient in the first coefficient set to be decoded, the following operations are performed respectively:
step 8031, analyzing the sign with the absolute value larger than 1, and jumping to step 8035 when the sign with the absolute value larger than 1 is decoded to be 0; when the absolute value is greater than 1 and the flag is decoded to 1, step 8032 is performed;
step 8032, analyzing the sign with the absolute value larger than 2, and jumping to step 8035 when the sign with the absolute value larger than 2 is decoded to be 0; when the absolute value is greater than 2 and the flag is decoded to 1, step 8033 is executed;
step 8033, analyzing the absolute value of the coefficient to be larger than the 4 mark, and jumping to step 8035 when the absolute value is larger than the 4 mark and is decoded to be 0; when the absolute value is greater than 4 and the flag is decoded to 1, step 8034 is executed;
step 8034, analyzing the sign with the absolute value larger than 8, and jumping to step 8035 when the sign with the absolute value larger than 8 is decoded to be 0 or 1;
Step 8035, judging whether the coefficient is the last coefficient in the first coefficient group to be decoded, if yes, executing step 804, and if not, executing step 8031 on the next coefficient;
step 804, according to the scan order, for each coefficient in the first coefficient set to be decoded, the following operations are performed respectively:
step 8041, when the absolute value of the coefficient is greater than 1 and the flag is 0, skipping the analysis of the residual value flag; when the absolute value of the coefficient is larger than 2 and the sign is 0, skipping the analysis of the residual value sign; when the absolute value of the coefficient is larger than the 4 mark and is 0, analyzing the coding value of the residual value mark according to a one-bit fixed-length code; when the absolute value of the coefficient is larger than the 8 mark and is 0, analyzing the coding value of the residual value mark according to the two-bit fixed-length code; when the absolute value is larger than the 8 mark and is 1, analyzing the coding value of the residual value mark according to the 0-order or 1-order exponential Columbus code;
step 8042, adding the basic value of the coefficient with the coding value of the residual value mark, and taking the obtained sum value as the absolute value of the coefficient to be decoded;
when the basic value is 1, setting the coding value of the residual value mark to 0, or determining the absolute value of the coefficient to be decoded to be 1; when the basic value is 2, setting the coding value of the residual value mark to 0, or determining the absolute value of the coefficient to be decoded to be 2; for example, when the absolute value of the coefficient is greater than 1 and the flag is 0, the coded value rem of the residual value flag is set to 0 in advance, the absolute value of the coefficient=base value+the coded value rem of the residual value flag=1+0=1, and when the absolute value of the coefficient is greater than 2 and the flag is 0, the coded value rem of the residual value flag is set to 0 in advance, and the absolute value of the coefficient=base value+the coded value rem of the residual value flag=2+0=2. For another example, when the absolute value of the coefficient is greater than 1 and the sign is 0, the absolute value of the coefficient is directly determined to be 1, and when the absolute value of the coefficient is greater than 2 and the sign is 0, the absolute value of the coefficient is directly determined to be 2
Step 8043, judging whether the coefficient is the last coefficient in the first coefficient group to be decoded, when yes, jumping to the next decoding operation, and when not, executing step 8041 on the next coefficient.
Wherein the next decoding operation includes decoding or inverse quantization inverse transformation of the next unit to be decoded.
In an example, the method further comprises: and analyzing a sign flag, wherein when the sign flag is 0, the value of the coefficient to be decoded is positive, and when the sign flag is 1, the value of the coefficient to be decoded is negative.
In an exemplary embodiment, the syntax elements of the coefficients include a non-zero flag, an absolute value greater than 1 flag gt1, an absolute value greater than 2 flag gt2, an absolute value greater than 4 flag gt4, an absolute value greater than 8 flag gt8, a residual value flag rem, and a sign flag coeff_sign.
The present exemplary embodiment provides a coefficient encoding method, as shown in fig. 9, including:
step 901, scanning the coefficient blocks according to a preset scanning sequence;
in an example, the method further comprises: the current coding block predicts the current block through a prediction part, or through inter prediction, intra prediction or other modes to obtain a current prediction block; taking image blocks of the corresponding positions of the original image and the coordinates of the current predicted block and the like, and performing difference with the current predicted block to obtain a residual block of the current coding unit; then carrying out two-dimensional transformation or no transformation on the residual block to obtain a transformed block or a non-transformed coefficient block containing transformed coefficients, which are collectively called as a coefficient block; the coefficient block is then quantized.
Step 902, traversing all coefficients in the coefficient block according to the scanning sequence, coding a non-zero flag of a coefficient to be coded which is zero as 0, and coding a non-zero flag of a coefficient to be coded which is not zero as 1;
in an example, the method further comprises:
when the non-zero flag code of the decoding coefficient is 0, the codes of the flag with the absolute value larger than 1, the flag with the absolute value larger than 2, the flag with the absolute value larger than 4, the flag with the absolute value larger than 8, the residual value flag and the sign flag are skipped.
In the present exemplary embodiment, the method further includes: when the preset absolute value is greater than the coding value of the 1 mark and is 0, the corresponding basic value is 1, and the corresponding coding mode is to skip the analysis of the residual value mark; when the preset absolute value is greater than the coding value of the 2 mark and is 0, the corresponding basic value is 2, and the corresponding coding mode is to skip the analysis of the residual value mark; when the preset absolute value is greater than the coding value of the 4 mark and is 0, the corresponding basic value is 3, and the corresponding coding mode is to analyze the coding value of the residual value mark according to a one-bit fixed-length code; when the preset absolute value is greater than the coding value of the 8 mark and is 0, the corresponding basic value is 5, and the corresponding coding mode is to analyze the coding value of the residual value mark according to the two-bit fixed-length code; when the preset absolute value is greater than the code value of the 8 mark and is 1, the corresponding basic value is 9, and the corresponding coding mode is to analyze the code value of the residual value mark according to the 0-order or 1-order exponential Columbus code.
Step 903, forming a first coefficient set to be encoded by encoding the coefficient to be encoded with a non-zero flag of 1;
step 904, according to the scanning order, for each coefficient in the first coefficient set to be encoded, performing the following operations respectively:
step 9041, encoding the sign with the absolute value greater than 1 as 0 when the absolute value of the coefficient is not greater than 1, and encoding the sign with the absolute value greater than 1 as 1 when the absolute value of the coefficient is greater than 1; when the absolute value is greater than 1 and the sign code is 0, skipping the coding of the sign with the absolute value greater than 2, the sign with the absolute value greater than 4 and the sign with the absolute value greater than 8, and skipping to the step 9045;
step 9042, when the absolute value is greater than 1 and the sign code is 1, encoding the absolute value of the coefficient to be greater than 2, when the absolute value of the coefficient is not greater than 2, encoding the sign with the absolute value greater than 2 to be 0, and when the absolute value of the coefficient is greater than 2, encoding the sign with the absolute value greater than 2 to be 1; when the absolute value is greater than 2 and the sign code is 0, skipping the coding of the sign with the absolute value greater than 4 and the sign with the absolute value greater than 8, and skipping to step 9045;
step 9043, when the absolute value is greater than 2 and the sign code is 1, coding the sign with the absolute value greater than 4, when the absolute value of the coefficient is not greater than 4, coding the sign with the absolute value greater than 4 as 0, and when the absolute value of the coefficient is greater than 4, coding the sign with the absolute value greater than 4 as 1; when the absolute value is greater than 4 and the sign code is 0, skipping the coding of the sign with the absolute value greater than 8, and skipping to step 9045;
Step 9044, when the absolute value is greater than 4, the sign code is 1, the sign code is greater than 8, when the absolute value is not greater than 8, the sign code is greater than 8, and when the absolute value is greater than 8, the sign code is 1;
step 9045, judging whether the coefficient is the last coefficient in the first coefficient group to be encoded, if yes, jumping to step 905, and if not, executing step 9041 on the next coefficient;
in step 905, the following operations are performed for each coefficient in the first coefficient set to be encoded according to the scanning order:
step 9051, when the absolute value is greater than the coding value of the 1 flag to be 0, skipping the coding of the residual value flag; when the absolute value is greater than the coding value of the 2 mark and is 0, skipping the coding of the residual value mark; when the absolute value is larger than the coding value of the 4 marks and is 0, coding the coding value of the residual value marks according to a one-bit fixed-length code; when the absolute value is greater than the coding value of the 8 mark and is 0, coding the coding value of the residual value mark according to a two-bit fixed-length code; when the absolute value is larger than the coding value of the 8 mark and is 1, coding the coding value of the residual value mark according to an index Columbus code of 0 order or 1 order;
In the present exemplary embodiment, when the residual value flag is encoded, the absolute value of the coefficient to be decoded is subtracted from the base value of the coefficient to be decoded, and the resulting difference value is used as the encoded value of the residual value flag; for example, when the absolute value is greater than the encoded value of the 4 flag to be 0, the base value is 3, and the encoded value of the remaining value flag=the absolute value of the coefficient to be decoded-3; when the absolute value is greater than the coding value of the 8 mark and is 0, the basic value is 5, and the coding value of the residual value mark=the absolute value of the coefficient to be decoded is-5; when the absolute value is greater than the 8 flag and the encoded value is 1, the base value is 9, and the encoded value of the remaining value flag=the absolute value of the coefficient to be decoded-9.
Step 9052, determining whether the coefficient is the last coefficient in the first coefficient set to be encoded, and when yes, jumping to the next encoding operation, and when not, executing step 9051 on the next coefficient.
The next encoding operation includes an encoding operation for a next unit block to be encoded, or an operation of writing a code stream, etc.
In an example, the method further comprises: and coding a sign flag, wherein when the value of the coefficient to be coded is positive, when the sign flag is coded to be 0, when the value of the coefficient to be coded is negative, when the sign flag is coded to be 1.
In an exemplary embodiment, the syntax elements of the coefficients include a non-zero flag, an absolute value greater than 1 flag gt1, an absolute value greater than 2 flag gt2, an absolute value greater than 4 flag gt4, an absolute value greater than 8 flag gt8, a residual value flag rem, and a sign flag coeff_sign.
In the present exemplary embodiment, during the decoding process, a base_level (which may also be a value of a base level) is reconstructed according to the decoded first coefficient absolute value flag bit of 0, which is set to a different coefficient absolute value.
The present exemplary embodiment provides a coefficient decoding method including:
the decoding end obtains code stream information, analyzes the current coding block and analyzes coefficients according to a preset coefficient scanning sequence;
after determining the position of the current decoding coefficient, the decoder starts decoding the current coefficient.
Wherein the method further comprises:
step 1, firstly, according to a coefficient scanning sequence, analyzing non-zero flag bits sig of all coefficients in a coefficient group, and forming a sig_map for the coefficient with sig of 1 (i.e. non-zero coefficient);
step 2, analyzing the zone bit of each coefficient in the sig_map according to the coefficient scanning sequence;
and 3, the absolute value of the analysis level is larger than 1 flag bit gt1.
Step 4, if the number of the steps 1 is 1, jumping to the step 5; otherwise, setting the base_level to be 1, and jumping to the step 11;
Step 5, the absolute value of the analysis level is larger than 2 flag bits gt2;
step 6, if the gt2 is 1, jumping to the step 7; otherwise, setting the base_level to be 2, and jumping to the step 11;
step 7, the absolute value of the analysis level is larger than 4 flag bits gt4;
step 8, if the gt4 is 1, jumping to step 9; otherwise, setting the base_level to 3, and jumping to the step 11;
step 9, the absolute value of the analysis level is larger than 8 flag bits gt8;
step 10, if gt8 is 1, setting base_level to 9, otherwise, setting base_level to 5;
step 11, if the coefficients are scanned completely, jumping to step 12, and if the coefficients are not scanned completely, jumping to step 2;
step 12, according to the coefficient scanning sequence, analyzing the residual value rem of each coefficient in the sig_map;
step 13, if the base_level of the current coefficient is equal to 9, resolving the value of rem according to the 0-order exponential golomb code; if the base_level of the current coefficient is equal to 5, resolving the rem value according to the two-bit fixed-length code; if the base_level of the current coefficient is equal to 3, resolving the value of rem according to a one-bit fixed-length code; if not, the rem value is 0;
and step 14, deriving the absolute value of the coefficient according to the decoding result, wherein the absolute value of the coefficient is equal to base_level+rem. If the coefficient scanning is finished, jumping to the next decoding step; if not, determining the position of the next coefficient according to the scanning sequence, and jumping to the step 13.
In the present exemplary embodiment, the coefficient absolute value |q k And I is obtained by reconstruction according to the following formula (1).
In an exemplary embodiment, the syntax elements of the coefficients include a non-zero flag, an absolute value greater than 1 flag gt1, an absolute value greater than 2 flag gt2, an absolute value greater than 4 flag gt4, an absolute value greater than 8 flag gt8, a residual value flag rem, and a sign flag coeff_sign.
The present exemplary embodiment provides a coefficient encoding method including:
the current coding block predicts the current block through a prediction part, or through inter prediction, intra prediction or other modes to obtain a current prediction block; taking image blocks of the corresponding positions of the original image and the coordinates of the current predicted block and the like, and performing difference with the current predicted block to obtain a residual block of the current coding unit; then carrying out two-dimensional transformation or no transformation on the residual block to obtain a transformed block or a non-transformed coefficient block containing transformed coefficients, which are collectively called as a coefficient block; then quantizing the coefficient block; the quantized coefficients are written into the code stream in accordance with the coefficient scan order.
Wherein the method further comprises:
step 1, firstly traversing whether all coefficients in a coefficient group are nonzero coefficients according to a coefficient scanning sequence, wherein the zero coefficients encode sig to be 0, and the nonzero coefficients encode sig to be 1; a sig_map is composed for coefficients for which sig is 1 (i.e., non-zero coefficients);
Step 2, according to the coefficient scanning sequence, encoding other flag bits of each coefficient in the sig_map;
step 3, the absolute value of the coding level is larger than 1 flag bit gt1;
step 4, if the absolute value of the coefficient is larger than 1, the coding gt1 is 1, and jumping to the step 5; otherwise, coding gt1 is 0, setting base_level to be 1, and jumping to the step 11;
step 5, the absolute value of the coding level is larger than 2 flag bits gt2;
step 6, if the absolute value of the coefficient is larger than 2, the coding gt2 is 1, and jumping to the step 7; otherwise, the coding gt2 is 0, the base_level is set to be 2, and the step 11 is skipped;
step 7, the absolute value of the coding level is larger than 4 flag bits gt4;
step 8, if the absolute value of the coefficient is greater than 4, the coding gt4 is 1, and jumping to the step 9; otherwise, the coding gt4 is 0, the base_level is set to be 3, and the step 11 is skipped;
step 9, the absolute value of the coding level is larger than 8 flag bits gt8;
step 10, if the absolute value of the coefficient is greater than 8, the coding gt8 is 1, the base_level is set to 9, otherwise, the coding gt8 is 0, and the base_level is set to 5;
step 11, if the coefficients are scanned completely, jumping to step 12, and if the coefficients are not scanned completely, jumping to step 2;
step 12, according to the coefficient scanning sequence, encoding the residual value rem of each coefficient in the sig_map;
step 13, if the base_level of the current coefficient is equal to 9, encoding the rem value according to the 0-order exponential golomb code; if the base_level of the current coefficient is equal to 5, coding the value of rem according to the two-bit fixed-length code; if the base_level of the current coefficient is equal to 3, coding the value of rem according to a one-bit fixed-length code; if not, the rem value is 0;
Wherein, the value of rem is the absolute value of the coefficient minus base_level.
Step 14, if the scanning of the coefficients is finished, jumping to the next step, if the scanning is not finished, determining the position of the next coefficient according to the scanning sequence, and tuning to step 13.
The embodiment of the disclosure provides a coefficient decoding method, which comprises the following steps:
analyzing the obtained code stream, and decoding syntax elements of coefficients to be decoded;
determining the value of the coefficient to be decoded according to the syntax element obtained by decoding;
wherein the syntax element comprises: a non-zero flag, M absolute value greater than X flags, a residual value flag, and a sign flag; m, X is a positive integer, and each absolute value of M absolute values larger than that of the X mark is different from that of X in the X mark;
wherein decoding the syntax element of the coefficient to be decoded comprises: analyzing other syntax elements except the residual value marks and the symbol marks of at least part of coefficients to be decoded of the current coding block, and decoding the residual value marks of the at least part of coefficients to be decoded according to analysis results; and decoding the sign flag of the at least part of the coefficients to be decoded.
In an exemplary embodiment, the method further comprises:
Resolving non-zero marks of the at least part of coefficients to be decoded;
for each coefficient to be decoded in all coefficients to be decoded with a non-zero mark of 1, analyzing at least one mark with M absolute values larger than an X mark of the coefficient to be decoded;
and determining a decoding mode of a residual value mark according to an analysis result of the coefficient to be decoded aiming at each coefficient to be decoded with a non-zero mark of 1, and analyzing the residual value mark of the coefficient to be decoded according to the decoding mode of the residual value mark.
In an exemplary embodiment, m=4, the 4 absolute value greater than X flags include an absolute value greater than 1 flag, an absolute value greater than 2 flag, an absolute value greater than 4 flag, and an absolute value greater than 8 flag;
when the analysis result is that the absolute value is larger than the coding value of the 1 mark and is 0, the decoding mode of the residual value mark is that the analysis of the residual value mark is skipped;
when the analysis result is that the absolute value is larger than the coding value of the 2 marks and is 0, the decoding mode of the residual value marks is that the analysis of the residual value marks is skipped;
when the analysis result is that the absolute value is larger than the coding value of the 4 marks and is 0, the decoding mode of the residual value marks is to analyze the coding value of the residual value marks according to a one-bit fixed-length code;
When the analysis result is that the absolute value is larger than the coding value of the 8 mark and is 0, the decoding mode of the residual value mark is to analyze the coding value of the residual value mark according to the two-bit fixed-length code;
when the analysis result is that the absolute value is larger than the coding value of the 8 marks and is 1, the decoding mode of the residual value marks is that the coding value of the residual value marks is analyzed according to the 0-order or 1-order exponential Columbus codes.
In an exemplary embodiment, the method further comprises:
for each of all coefficients to be decoded with a non-zero flag of 1, respectively performing:
analyzing a mark with an absolute value larger than 1 of the coefficient to be decoded, and skipping to analyze a mark with an absolute value larger than 2, a mark with an absolute value larger than 4 and a mark with an absolute value larger than 8 of the coefficient to be decoded when the mark with the absolute value larger than 1 is 0;
when the absolute value is larger than 1 and the sign is 1, the sign that the absolute value of the coefficient to be decoded is larger than 2 is analyzed; when the absolute value is larger than 2 and the sign is 0, skipping to analyze that the absolute value of the coefficient to be decoded is larger than 4 and the absolute value is larger than 8; when the absolute value is larger than 2 and the sign is 1, the absolute value of the coefficient to be decoded is analyzed to be larger than 4;
when the absolute value is greater than 4 and the sign is 0, skipping to analyze the sign that the absolute value of the coefficient to be decoded is greater than 8; when the absolute value is greater than 4 and the sign is 1, the absolute value of the coefficient to be decoded is analyzed to be greater than 8.
In an exemplary embodiment, the method further comprises:
for each of all coefficients to be decoded with a non-zero flag of 1, respectively performing:
when the analysis result is that the absolute value is larger than 1 and the sign is 0, skipping the analysis of the coefficient residual value sign to be decoded;
when the analysis result is that the absolute value is larger than 2 and the sign is 0, skipping the analysis of the coefficient residual value sign to be decoded;
when the analysis result is that the absolute value is larger than the 4 mark and is 0, analyzing the coding value of the residual value mark of the coefficient to be decoded according to a one-bit fixed-length code;
when the analysis result is that the absolute value is larger than 8 and the sign is 0, analyzing the coding value of the coefficient residual value sign to be decoded according to the two-bit fixed-length code;
and when the analysis result is that the absolute value is larger than the 8 mark and is 1, analyzing the coding value of the residual value mark of the coefficient to be decoded according to the 0-order or 1-order exponential Columbus code.
In an exemplary embodiment, the method further comprises:
for each of all coefficients to be decoded with a non-zero flag of 1, respectively performing:
adding a sum value obtained by adding the basic value of the coefficient to be decoded with the coding value of the residual value mark as an absolute value of the coefficient to be decoded;
when the absolute value is larger than the coding value of the 1 mark and is 0, the preset basic value is 1; when the absolute value is greater than the coding value of the 2 mark and is 0, the preset basic value is 2; when the absolute value is greater than the coding value of the 4 mark and is 0, the preset basic value is 3; when the absolute value is greater than the coding value of the 8 mark and is 0, the preset basic value is 5; when the absolute value is greater than the coding value of the 8 mark and is 1, the preset basic value is 9;
When the basic value is 1, the coding value of the residual value mark is set to 0, or the absolute value of the coefficient to be decoded is preset to be 1; when the basic value is 2, the encoding value of the residual value mark is set to 0, or the absolute value of the coefficient to be decoded is preset to 2.
In an exemplary embodiment, at least a portion of coefficients to be decoded of the current coding block includes all coefficients to be decoded or a portion of coefficients to be decoded of the current coding block.
In an exemplary embodiment, the method further comprises:
for each of all coefficients to be decoded with a non-zero flag of 1, respectively performing:
and determining the value of the coefficient to be decoded according to the absolute value of the coefficient to be decoded and the sign mark.
In an exemplary embodiment, the method further comprises:
and when the non-zero mark of the coefficient to be decoded is analyzed to be 0, skipping the analysis of the mark with the absolute value larger than 1, the mark with the absolute value larger than 2, the mark with the absolute value larger than 4, the mark with the absolute value larger than 8, the residual value mark and the symbol mark, and determining that the value of the coefficient to be decoded is 0.
The embodiment of the disclosure provides a coefficient coding method, which comprises the following steps:
Generating a coefficient block based on the residual block, scanning coefficients to be coded in the coefficient block, generating syntax elements corresponding to the coefficients to be coded, and coding the syntax elements of the coefficients to be coded;
writing the code word generated by encoding into a code stream;
wherein the syntax element comprises: a non-zero flag, M absolute value greater than X flags, a residual value flag, and a sign flag; m, X is a positive integer, and each absolute value of M absolute values larger than that of the X mark is different from that of X in the X mark;
wherein encoding the syntax element of the coefficient to be encoded comprises: encoding other syntax elements except for a residual value mark and a symbol mark of at least part of coefficients to be encoded of the coefficient block, and encoding the residual value mark of the at least part of coefficients to be encoded according to an encoding result; and encoding the sign flag of the at least coefficient to be encoded.
In an exemplary embodiment, the method further comprises:
encoding a non-zero flag of each coefficient to be encoded in the at least part of coefficients to be encoded, wherein the non-zero flag is encoded as 0 when the coefficient to be encoded is 0, and the non-zero flag is encoded as 1 when the coefficient to be encoded is not 0;
For each coefficient to be coded in all coefficients to be coded with a non-zero flag of 1, coding at least one flag of which M absolute values of the coefficient to be coded are larger than that of the X flag;
for each coefficient to be coded in all coefficients to be coded with a non-zero mark of 1, determining the coding mode of a residual value mark according to the coding result of the coefficient to be coded and coding the residual value mark of the coefficient to be decoded according to the coding mode of the residual value mark.
In an exemplary embodiment, m=4, the 4 absolute value greater than X flags include an absolute value greater than 1 flag, an absolute value greater than 2 flag, an absolute value greater than 4 flag, and an absolute value greater than 8 flag;
when the coding result is that the absolute value is larger than the coding value of the 1 mark and the coding value of the residual value mark is 0, the coding mode of the residual value mark is that the coding of the residual value mark is skipped;
when the coding result is that the absolute value is larger than the coding value of the 2 marks and is 0, the coding mode of the residual value marks is that the coding of the residual value marks is skipped;
when the coding result is that the absolute value is larger than the coding value of the 4 marks and is 0, the coding mode of the residual value marks is that the residual value marks are coded according to a one-bit fixed-length code;
when the coding result is that the absolute value is larger than the coding value of the 8 mark and is 0, the coding mode of the residual value mark is that the residual value mark is coded according to the two-bit fixed-length code;
When the absolute value of the encoding result is greater than the encoding value of the 8 mark and is 1, the encoding mode of the residual value mark is that the residual value mark is encoded according to the 0-order or 1-order exponential Columbus code.
In an exemplary embodiment, the method further comprises:
for each of all coefficients to be encoded with a non-zero flag of 1, respectively performing:
encoding a sign with an absolute value greater than 1 of the coefficient to be encoded, wherein when the absolute value of the coefficient to be encoded is not greater than 1, the sign with the absolute value greater than 1 is encoded as 0, and when the absolute value of the coefficient to be encoded is greater than 1, the sign with the absolute value greater than 1 is encoded as 1; when the sign code with the absolute value larger than 1 is 0, skipping the coding of the sign code with the absolute value larger than 2, the sign code with the absolute value larger than 4 and the sign code with the absolute value larger than 8;
when the absolute value is larger than 1, the sign code is 1, the absolute value of the coefficient to be coded is larger than 2, when the absolute value of the coefficient to be coded is not larger than 2, the sign code with the absolute value larger than 2 is 0, and when the absolute value of the coefficient to be coded is larger than 2, the sign code with the absolute value larger than 2 is 1; when the sign code with the absolute value larger than 2 is 0, skipping the coding of the sign with the absolute value larger than 4 and the sign with the absolute value larger than 8;
When the absolute value is larger than 2, the sign code is 1, the sign code of the absolute value of the coefficient to be coded is larger than 4, when the absolute value of the coefficient to be coded is not larger than 4, the sign code of the absolute value larger than 4 is 0, and when the absolute value of the coefficient to be coded is larger than 4, the sign code of the absolute value larger than 4 is 1; when the absolute value is greater than 4 and the sign code is 0, skipping the coding of the sign with the absolute value greater than 8;
when the absolute value is larger than 4, the sign code is 1, the sign code of the absolute value of the coefficient to be coded is larger than 8, when the absolute value of the coefficient to be coded is not larger than 8, the sign code of the absolute value larger than 8 is 0, and when the absolute value of the coefficient to be coded is larger than 8, the sign code of the absolute value larger than 8 is 1.
In an exemplary embodiment, the method further comprises:
for each of all coefficients to be encoded with a non-zero flag of 1, respectively performing:
when the absolute value of the coding result is larger than 1 and the sign is 0, skipping the analysis of the coefficient residual value sign to be coded;
when the absolute value of the coding result is larger than 2 and the sign is 0, skipping the analysis of the coefficient residual value sign to be coded;
when the absolute value of the coding result is larger than the 4 mark and is 0, the residual value mark of the coefficient to be coded is coded according to a one-bit fixed-length code;
When the absolute value of the coding result is larger than 8 and the sign is 0, the residual value sign of the coefficient to be coded is coded according to the two-bit fixed-length code;
and when the absolute value of the coding result is larger than 8 and the sign is 1, the residual value sign of the coefficient to be coded is coded according to the 0-order or 1-order exponential Columbus code.
In an exemplary embodiment, when encoding the residual value flag, the method further comprises: subtracting the basic value of the coefficient to be coded from the absolute value of the coefficient to be coded to obtain a difference value which is used as a coding value of a residual value mark;
when the absolute value is larger than the coding value of the 1 mark and is 0, the preset basic value is 1; when the absolute value is greater than the coding value of the 2 mark and is 0, the preset basic value is 2; when the absolute value is greater than the coding value of the 4 mark and is 0, the preset basic value is 3; when the absolute value is greater than the coding value of the 8 mark and is 0, the preset basic value is 5; when the absolute value is greater than the coding value of the 8 mark and is 1, the preset basic value is 9.
In an exemplary embodiment, at least part of the coefficients to be encoded of the coefficient block comprises all or part of the coefficients to be encoded of the coefficient block. In an exemplary embodiment, the method further comprises:
And when the non-zero mark code of the coefficient to be coded is 0, skipping the coding of the mark with the absolute value larger than 1, the mark with the absolute value larger than 2, the mark with the absolute value larger than 4, the mark with the absolute value larger than 8, the residual value mark and the sign mark.
In an exemplary embodiment, decoding the syntax element of the coefficient to be decoded may be decoding other syntax elements of the plurality of coefficients of the current encoding block except for the residual value flag and the sign flag, decoding the residual value flag of the plurality of coefficients according to the decoding result, and then decoding the sign flag of the plurality of coefficients may be further included. Correspondingly, the coding of the syntax elements of the coefficients to be coded may be to code the syntax elements of the coefficients except for the residual value flags and the sign flags, then code the residual value flags of the coefficients according to the coding result, and then code the sign flags of the coefficients. The plurality of coefficients may be all or part of the coefficients in the current coding block.
In the present exemplary embodiment, decoding or encoding is separately performed on each type of flag according to the type of the flag for the non-zero flag, the absolute value greater than X flag, the residual value flag, and the symbol flag of the plurality of coefficients, and the context codec mode and the bypass codec mode may be separately enabled independently, thereby improving encoding performance while maintaining standard operation consistency.
The embodiment of the disclosure also provides a code stream generated according to any one of the coefficient coding methods, wherein the code stream contains syntax elements corresponding to the coded coefficients;
the syntax element includes: a non-zero flag, M absolute value greater than X flags, a residual value flag, and a sign flag; m, X is a positive integer, and each absolute value of M absolute values larger than the X marks is different from the value of X in the X marks.
In an exemplary embodiment, m=4, the 4 absolute values greater than X flags include an absolute value greater than 1 flag, an absolute value greater than 2 flag, an absolute value greater than 4 flag, and an absolute value greater than 8 flag.
The embodiment of the present disclosure further provides a decoder, as shown in fig. 10, including: a processor and a memory storing a computer program executable on the processor, wherein the processor implements the coefficient decoding method of any of the above when executing the computer program.
In an exemplary embodiment, fig. 11 is a block diagram of a video decoder, as shown in fig. 11, video decoder 30 includes video data memory 78, entropy decoding unit 80, prediction processing unit 81, inverse quantization unit 86, inverse transform processing unit 88, summer 90, wave device unit 92, and DPB94. Prediction processing unit 81 includes MCU82 intra prediction processing unit 84 and IBC unit 85. In some examples, video decoder 30 may perform a decoding process that is substantially reciprocal to the encoding process described with respect to video encoder 20 from fig. 13.
The disclosed embodiments also provide an encoder, as shown in fig. 12, comprising: a processor and a memory storing a computer program executable on the processor, wherein the processor implements the coefficient encoding method of any one of the above claims when executing the computer program.
In an exemplary embodiment, fig. 13 is a block diagram of a video encoder, and as shown in fig. 13, the video encoder 20 includes a video data memory 33, a dividing unit 35, a prediction processing unit 41, a summer 50, a transform processing unit 52, a measuring unit 54, and an entropy encoding unit 56. The prediction processing unit 41 includes a Motion Estimation Unit (MEU) 42, a Motion Compensation Unit (MCU) 44, an intra prediction processing unit 46, and an Intra Block Copy (IBC) unit 48. Although shown separately in fig. 29 for ease of explanation, it should be understood that MEU42, MCU44, intra-prediction processing unit 46, and IBC unit 48 may in fact be highly integrated. For video block reconstruction, video encoder 20 also includes an inverse quantization unit 58, an inverse transform processing unit 60, a summer 62, a filter unit 64, and a Decoded Picture Buffer (DPB) 66.
In an embodiment of the present disclosure, the coefficient decoding method described in any of the above embodiments may be performed by a video decoder.
The embodiment of the disclosure also provides a terminal, which comprises: a video decoder comprising the decoding device described above, and/or the encoding device described above.
The embodiment of the disclosure also provides a coding and decoding system, which comprises the decoder and/or the encoder.
The disclosed embodiments also provide a non-transitory computer readable storage medium storing a computer program, wherein the computer program, when executed by a processor, implements the coefficient decoding method of any one of the above, or implements the coefficient encoding method of any one of the above.
The technical scheme provided by the embodiment of the disclosure improves the original transform coefficient entropy coding mode, improves the coding performance on the basis of keeping the standard operation consistency, and is also beneficial to the design of hardware.
According to the technical scheme provided by the embodiment of the disclosure, the context coding and decoding mode and the bypass coding and decoding mode are separated and independently enabled by modifying the coding and decoding process.
According to the technical scheme provided by the embodiment of the disclosure, different syntax elements of at least part of coefficients of a current coding block are separately coded and decoded, and one-time switching is performed between a context coding and decoding mode and a bypass coding and decoding mode, so that the hardware performance can be fully exerted, and the coding and decoding efficiency is improved.
The technical solution provided by the above embodiments of the present disclosure is not specific to a specific video coding standard, but is a generalized coefficient entropy coding method. Can be extended for application to multiple standards such as AVS, MPEG, AOM or any custom transform coefficient entropy coding method.
The decoding recited in the embodiments of the present disclosure may be interpreted as including a decoding operation or as including an encoding operation and a decoding operation. The encoding described in the embodiments of the present disclosure may be interpreted as including encoding operations or as including encoding operations and decoding operations.
The decoded values described in the embodiments of the present disclosure may also be referred to as encoded values, and the encoded values may also be referred to as decoded values, both of which are identical.
In one or more exemplary embodiments, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium, and executed by a hardware-based processing unit. The computer-readable medium may comprise a computer-readable storage medium corresponding to a tangible medium, such as a data storage medium, or a communication medium that facilitates transfer of a computer program from one place to another, such as according to a communication protocol. In this manner, a computer-readable medium may generally correspond to a non-transitory tangible computer-readable storage medium or a communication medium such as a signal or carrier wave. Data storage media may be any available media that can be accessed by one or more computers or one or more processors to retrieve instructions, code and/or data structures for implementing the techniques described in this disclosure. The computer program product may include a computer-readable medium.
By way of example, and not limitation, such computer-readable storage media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, flash memory, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. Moreover, any connection may also be termed a computer-readable medium, for example, if the instructions are transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital Subscriber Line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. It should be appreciated, however, that computer-readable storage media and data storage media do not include connection, carrier wave, signal, or other transitory (transient) media, but are instead directed to non-transitory tangible storage media. Disk and disc, as used herein, includes Compact Disc (CD), laser disc, optical disc, digital Versatile Disc (DVD), floppy disk or blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
The instructions may be executed by one or more processors, such as one or more Digital Signal Processors (DSPs), general purpose microprocessors, application Specific Integrated Circuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuitry. Thus, the term "processor" as used herein may refer to any of the foregoing structure or any other structure suitable for implementation of the techniques described herein. Additionally, in some aspects, the functionality described herein may be provided within dedicated hardware and/or software modules configured for encoding and decoding, or incorporated in a combined codec. Also, the techniques may be fully implemented in one or more circuits or logic elements.
The technical solutions of the embodiments of the present disclosure may be implemented in a wide variety of devices or apparatuses, including wireless handsets, integrated Circuits (ICs), or a set of ICs (e.g., a chipset). Various components, modules, or units are described in this disclosure to emphasize functional aspects of devices configured to perform the described techniques, but do not necessarily require realization by different hardware units. Rather, as described above, the various units may be combined in a codec hardware unit or provided by a collection of interoperable hardware units (including one or more processors as described above) in combination with suitable software and/or firmware.
Those of ordinary skill in the art will appreciate that all or some of the steps, systems, functional modules/units in the apparatus, and methods disclosed above may be implemented as software, firmware, hardware, and suitable combinations thereof. In a hardware implementation, the division between the functional modules/units mentioned in the above description does not necessarily correspond to the division of physical components; for example, one physical component may have multiple functions, or one function or step may be performed cooperatively by several physical components. Some or all of the components may be implemented as software executed by a processor, such as a digital signal processor or microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit. Such software may be distributed on computer readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media). The term computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data, as known to those skilled in the art. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by a computer. Furthermore, as is well known to those of ordinary skill in the art, communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media.

Claims (22)

  1. A coefficient decoding method, comprising:
    analyzing the obtained code stream, and decoding syntax elements of coefficients to be decoded;
    determining the value of the coefficient to be decoded according to the syntax element obtained by decoding;
    wherein the syntax element comprises: a non-zero flag, M absolute value greater than X flags, a residual value flag, and a sign flag; m, X is a positive integer, and each absolute value of M absolute values larger than that of the X mark is different from that of X in the X mark;
    wherein decoding the syntax element of the coefficient to be decoded comprises: analyzing other syntax elements except the residual value marks and the symbol marks of at least part of coefficients to be decoded of the current coding block, and decoding the residual value marks of the at least part of coefficients to be decoded according to analysis results; and decoding the sign flag of the at least part of the coefficients to be decoded.
  2. The coefficient decoding method of claim 1, further comprising:
    resolving non-zero marks of the at least part of coefficients to be decoded;
    for each coefficient to be decoded in all coefficients to be decoded with a non-zero mark of 1, analyzing at least one mark with M absolute values larger than an X mark of the coefficient to be decoded;
    And determining a decoding mode of a residual value mark according to an analysis result of the coefficient to be decoded aiming at each coefficient to be decoded with a non-zero mark of 1, and analyzing the residual value mark of the coefficient to be decoded according to the decoding mode of the residual value mark.
  3. The coefficient decoding method according to claim 2, wherein m=4, the 4 absolute values greater than X flags include an absolute value greater than 1 flag, an absolute value greater than 2 flag, an absolute value greater than 4 flag, and an absolute value greater than 8 flag;
    when the analysis result is that the absolute value is larger than the coding value of the 1 mark and is 0, the decoding mode of the residual value mark is that the analysis of the residual value mark is skipped;
    when the analysis result is that the absolute value is larger than the coding value of the 2 marks and is 0, the decoding mode of the residual value marks is that the analysis of the residual value marks is skipped;
    when the analysis result is that the absolute value is larger than the coding value of the 4 marks and is 0, the decoding mode of the residual value marks is to analyze the coding value of the residual value marks according to a one-bit fixed-length code;
    when the analysis result is that the absolute value is larger than the coding value of the 8 mark and is 0, the decoding mode of the residual value mark is to analyze the coding value of the residual value mark according to the two-bit fixed-length code;
    When the analysis result is that the absolute value is larger than the coding value of the 8 marks and is 1, the decoding mode of the residual value marks is that the coding value of the residual value marks is analyzed according to the 0-order or 1-order exponential Columbus codes.
  4. A coefficient decoding method according to claim 3, the method further comprising:
    for each of all coefficients to be decoded with a non-zero flag of 1, respectively performing:
    analyzing a mark with an absolute value larger than 1 of the coefficient to be decoded, and skipping to analyze a mark with an absolute value larger than 2, a mark with an absolute value larger than 4 and a mark with an absolute value larger than 8 of the coefficient to be decoded when the mark with the absolute value larger than 1 is 0;
    when the absolute value is larger than 1 and the sign is 1, the sign that the absolute value of the coefficient to be decoded is larger than 2 is analyzed; when the absolute value is larger than 2 and the sign is 0, skipping to analyze that the absolute value of the coefficient to be decoded is larger than 4 and the absolute value is larger than 8; when the absolute value is larger than 2 and the sign is 1, the absolute value of the coefficient to be decoded is analyzed to be larger than 4;
    when the absolute value is greater than 4 and the sign is 0, skipping to analyze the sign that the absolute value of the coefficient to be decoded is greater than 8; when the absolute value is greater than 4 and the sign is 1, the absolute value of the coefficient to be decoded is analyzed to be greater than 8.
  5. A coefficient decoding method according to claim 3, the method further comprising:
    For each of all coefficients to be decoded with a non-zero flag of 1, respectively performing:
    when the analysis result is that the absolute value is larger than 1 and the sign is 0, skipping the analysis of the coefficient residual value sign to be decoded;
    when the analysis result is that the absolute value is larger than 2 and the sign is 0, skipping the analysis of the coefficient residual value sign to be decoded;
    when the analysis result is that the absolute value is larger than the 4 mark and is 0, analyzing the coding value of the residual value mark of the coefficient to be decoded according to a one-bit fixed-length code;
    when the analysis result is that the absolute value is larger than 8 and the sign is 0, analyzing the coding value of the coefficient residual value sign to be decoded according to the two-bit fixed-length code;
    and when the analysis result is that the absolute value is larger than the 8 mark and is 1, analyzing the coding value of the residual value mark of the coefficient to be decoded according to the 0-order or 1-order exponential Columbus code.
  6. A coefficient decoding method according to claim 3, the method further comprising:
    for each of all coefficients to be decoded with a non-zero flag of 1, respectively performing:
    adding a sum value obtained by adding the basic value of the coefficient to be decoded with the coding value of the residual value mark as an absolute value of the coefficient to be decoded;
    when the absolute value is larger than the coding value of the 1 mark and is 0, the preset basic value is 1; when the absolute value is greater than the coding value of the 2 mark and is 0, the preset basic value is 2; when the absolute value is greater than the coding value of the 4 mark and is 0, the preset basic value is 3; when the absolute value is greater than the coding value of the 8 mark and is 0, the preset basic value is 5; when the absolute value is greater than the coding value of the 8 mark and is 1, the preset basic value is 9;
    When the basic value is 1, the coding value of the residual value mark is set to 0, or the absolute value of the coefficient to be decoded is preset to be 1; when the basic value is 2, the encoding value of the residual value mark is set to 0, or the absolute value of the coefficient to be decoded is preset to 2.
  7. A coefficient decoding method according to claim 3, wherein at least part of the coefficients to be decoded of the current encoded block comprises all or part of the coefficients to be decoded of the current encoded block.
  8. The coefficient decoding method of claim 6, further comprising:
    for each of all coefficients to be decoded with a non-zero flag of 1, respectively performing:
    and determining the value of the coefficient to be decoded according to the absolute value of the coefficient to be decoded and the sign mark.
  9. A coefficient decoding method according to claim 3, the method further comprising:
    and when the non-zero mark of the coefficient to be decoded is analyzed to be 0, skipping the analysis of the mark with the absolute value larger than 1, the mark with the absolute value larger than 2, the mark with the absolute value larger than 4, the mark with the absolute value larger than 8, the residual value mark and the symbol mark, and determining that the value of the coefficient to be decoded is 0.
  10. A coefficient encoding method, comprising:
    generating a coefficient block based on the residual block, scanning coefficients to be coded in the coefficient block, generating syntax elements corresponding to the coefficients to be coded, and coding the syntax elements of the coefficients to be coded;
    writing the code word generated by encoding into a code stream;
    wherein the syntax element comprises: a non-zero flag, M absolute value greater than X flags, a residual value flag, and a sign flag; m, X is a positive integer, and each absolute value of M absolute values larger than that of the X mark is different from that of X in the X mark;
    wherein encoding the syntax element of the coefficient to be encoded comprises: encoding other syntax elements except for a residual value mark and a symbol mark of at least part of coefficients to be encoded of the coefficient block, and encoding the residual value mark of the at least part of coefficients to be encoded according to an encoding result; and encoding the sign flag of the at least coefficient to be encoded.
  11. The coefficient encoding method of claim 10, further comprising:
    encoding a non-zero flag of each coefficient to be encoded in the at least part of coefficients to be encoded, wherein the non-zero flag is encoded as 0 when the coefficient to be encoded is 0, and the non-zero flag is encoded as 1 when the coefficient to be encoded is not 0;
    For each coefficient to be coded in all coefficients to be coded with a non-zero flag of 1, coding at least one flag of which M absolute values of the coefficient to be coded are larger than that of the X flag;
    for each coefficient to be coded in all coefficients to be coded with a non-zero mark of 1, determining the coding mode of a residual value mark according to the coding result of the coefficient to be coded and coding the residual value mark of the coefficient to be decoded according to the coding mode of the residual value mark.
  12. The coefficient encoding method according to claim 11, wherein m=4, the 4 absolute values greater than X flags include an absolute value greater than 1 flag, an absolute value greater than 2 flag, an absolute value greater than 4 flag, and an absolute value greater than 8 flag;
    when the coding result is that the absolute value is larger than the coding value of the 1 mark and the coding value of the residual value mark is 0, the coding mode of the residual value mark is that the coding of the residual value mark is skipped;
    when the coding result is that the absolute value is larger than the coding value of the 2 marks and is 0, the coding mode of the residual value marks is that the coding of the residual value marks is skipped;
    when the coding result is that the absolute value is larger than the coding value of the 4 marks and is 0, the coding mode of the residual value marks is that the residual value marks are coded according to a one-bit fixed-length code;
    when the coding result is that the absolute value is larger than the coding value of the 8 mark and is 0, the coding mode of the residual value mark is that the residual value mark is coded according to the two-bit fixed-length code;
    When the absolute value of the encoding result is greater than the encoding value of the 8 mark and is 1, the encoding mode of the residual value mark is that the residual value mark is encoded according to the 0-order or 1-order exponential Columbus code.
  13. The coefficient encoding method of claim 12, further comprising:
    for each of all coefficients to be encoded with a non-zero flag of 1, respectively performing:
    encoding a sign with an absolute value greater than 1 of the coefficient to be encoded, wherein when the absolute value of the coefficient to be encoded is not greater than 1, the sign with the absolute value greater than 1 is encoded as 0, and when the absolute value of the coefficient to be encoded is greater than 1, the sign with the absolute value greater than 1 is encoded as 1; when the sign code with the absolute value larger than 1 is 0, skipping the coding of the sign code with the absolute value larger than 2, the sign code with the absolute value larger than 4 and the sign code with the absolute value larger than 8;
    when the absolute value is larger than 1, the sign code is 1, the absolute value of the coefficient to be coded is larger than 2, when the absolute value of the coefficient to be coded is not larger than 2, the sign code with the absolute value larger than 2 is 0, and when the absolute value of the coefficient to be coded is larger than 2, the sign code with the absolute value larger than 2 is 1; when the sign code with the absolute value larger than 2 is 0, skipping the coding of the sign with the absolute value larger than 4 and the sign with the absolute value larger than 8;
    When the absolute value is larger than 2, the sign code is 1, the sign code of the absolute value of the coefficient to be coded is larger than 4, when the absolute value of the coefficient to be coded is not larger than 4, the sign code of the absolute value larger than 4 is 0, and when the absolute value of the coefficient to be coded is larger than 4, the sign code of the absolute value larger than 4 is 1; when the absolute value is greater than 4 and the sign code is 0, skipping the coding of the sign with the absolute value greater than 8;
    when the absolute value is larger than 4, the sign code is 1, the sign code of the absolute value of the coefficient to be coded is larger than 8, when the absolute value of the coefficient to be coded is not larger than 8, the sign code of the absolute value larger than 8 is 0, and when the absolute value of the coefficient to be coded is larger than 8, the sign code of the absolute value larger than 8 is 1.
  14. The coefficient encoding method of claim 12, further comprising:
    for each of all coefficients to be encoded with a non-zero flag of 1, respectively performing:
    when the absolute value of the coding result is larger than 1 and the sign is 0, skipping the analysis of the coefficient residual value sign to be coded;
    when the absolute value of the coding result is larger than 2 and the sign is 0, skipping the analysis of the coefficient residual value sign to be coded;
    when the absolute value of the coding result is larger than the 4 mark and is 0, the residual value mark of the coefficient to be coded is coded according to a one-bit fixed-length code;
    When the absolute value of the coding result is larger than 8 and the sign is 0, the residual value sign of the coefficient to be coded is coded according to the two-bit fixed-length code;
    and when the absolute value of the coding result is larger than 8 and the sign is 1, the residual value sign of the coefficient to be coded is coded according to the 0-order or 1-order exponential Columbus code.
  15. The coefficient encoding method of claim 14, when encoding the residual value flag, the method further comprising: subtracting the basic value of the coefficient to be coded from the absolute value of the coefficient to be coded to obtain a difference value which is used as a coding value of a residual value mark;
    when the absolute value is larger than the coding value of the 1 mark and is 0, the preset basic value is 1; when the absolute value is greater than the coding value of the 2 mark and is 0, the preset basic value is 2; when the absolute value is greater than the coding value of the 4 mark and is 0, the preset basic value is 3; when the absolute value is greater than the coding value of the 8 mark and is 0, the preset basic value is 5; when the absolute value is greater than the coding value of the 8 mark and is 1, the preset basic value is 9.
  16. The coefficient encoding method of claim 12, wherein at least some of the coefficients to be encoded of the coefficient block include all or part of the coefficients to be encoded of the coefficient block.
  17. The coefficient encoding method of claim 12, further comprising:
    and when the non-zero mark code of the coefficient to be coded is 0, skipping the coding of the mark with the absolute value larger than 1, the mark with the absolute value larger than 2, the mark with the absolute value larger than 4, the mark with the absolute value larger than 8, the residual value mark and the sign mark.
  18. A decoder, comprising: a processor and a memory storing a computer program executable on the processor, wherein the processor implements the coefficient decoding method according to any one of claims 1 to 9 when the computer program is executed.
  19. An encoder, comprising: a processor and a memory storing a computer program executable on the processor, wherein the processor implements the coefficient encoding method of any of claims 10 to 17 when the computer program is executed.
  20. A terminal, comprising: video decoder comprising a decoder according to claim 18 and/or an encoder according to claim 19.
  21. A codec system comprising a decoder according to claim 18 and/or an encoder according to claim 19.
  22. A non-transitory computer readable storage medium storing a computer program, wherein the computer program when executed by a processor implements the coefficient decoding method of any one of claims 1 to 9 or the coefficient encoding method of any one of claims 10 to 17.
CN202180095621.0A 2021-03-17 2021-04-12 Coefficient encoding and decoding method, encoding and decoding device, terminal and storage medium Pending CN116982314A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202110287920 2021-03-17
CN2021102879206 2021-03-17
PCT/CN2021/086671 WO2022193386A1 (en) 2021-03-17 2021-04-12 Coefficient encoding method and device, coefficient decoding method and device, terminal and storage medium

Publications (1)

Publication Number Publication Date
CN116982314A true CN116982314A (en) 2023-10-31

Family

ID=83321870

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180095621.0A Pending CN116982314A (en) 2021-03-17 2021-04-12 Coefficient encoding and decoding method, encoding and decoding device, terminal and storage medium

Country Status (2)

Country Link
CN (1) CN116982314A (en)
WO (1) WO2022193386A1 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9491463B2 (en) * 2012-04-14 2016-11-08 Qualcomm Incorporated Group flag in transform coefficient coding for video coding
US9936200B2 (en) * 2013-04-12 2018-04-03 Qualcomm Incorporated Rice parameter update for coefficient level coding in video coding process
US11381847B2 (en) * 2019-05-31 2022-07-05 Qualcomm Incorporated Coefficient coding for transform skip mode in video coding
CN114402605A (en) * 2019-07-10 2022-04-26 Lg电子株式会社 Image decoding method using flag of residual encoding method in image encoding system and apparatus therefor

Also Published As

Publication number Publication date
WO2022193386A1 (en) 2022-09-22

Similar Documents

Publication Publication Date Title
US11750841B2 (en) Methods and apparatuses for coding transform blocks
CN112075082B (en) Method and apparatus for video encoding and decoding for CABAC-based neural network implementations
KR102683408B1 (en) Methods and apparatus for video encoding and decoding binary sets using adaptive tree selection
CN113382251B (en) A kind of encoding and decoding method, apparatus, equipment and storage medium
TWI520619B (en) Bypass bins for reference index coding in video coding
CN108419084B (en) Method, apparatus and storage medium for improved entropy coding and decoding
JP7369191B2 (en) Canonical coded bin reduction for coefficient decoding using thresholds and Rician parameters
CN112272298A (en) Method and device for coding and decoding conversion coefficient
CN114615504B (en) Video decoding method, video encoding method, device and equipment
TWI856996B (en) Escape coding for coefficient levels
EP3729813A1 (en) Method and apparatus for video encoding and decoding based on context switching
CN116095329A (en) Video encoding and decoding method and device, computer readable medium and electronic equipment
US20240144439A1 (en) Filtering method and apparatus, computer-readable medium
WO2022193386A1 (en) Coefficient encoding method and device, coefficient decoding method and device, terminal and storage medium
JP7642097B2 (en) Coefficient encoding/decoding method, encoder, decoder, and computer storage medium
CN116982317A (en) Encoding and decoding method for coefficient, encoder, decoder and computer storage medium
US20240114140A1 (en) Video decoding and encoding method, device and storage medium
CN113141505B (en) Video data coding method and device
EP4307666A1 (en) Coefficient encoding method, coefficient decoding method, encoding device, decoding device, and storage medium
CN119728975A (en) Coefficient encoding and decoding method, encoder, decoder and computer storage medium
CN116998149A (en) Encoding and decoding method for coefficient, encoder, decoder and computer storage medium
CN117157979A (en) Encoding/decoding method, encoder, decoder, and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination