WO2022165763A1 - 编码方法、解码方法、编码器、解码器以及电子设备 - Google Patents

编码方法、解码方法、编码器、解码器以及电子设备 Download PDF

Info

Publication number
WO2022165763A1
WO2022165763A1 PCT/CN2021/075606 CN2021075606W WO2022165763A1 WO 2022165763 A1 WO2022165763 A1 WO 2022165763A1 CN 2021075606 W CN2021075606 W CN 2021075606W WO 2022165763 A1 WO2022165763 A1 WO 2022165763A1
Authority
WO
WIPO (PCT)
Prior art keywords
remainder
transform coefficient
candidate
transform
quantizers
Prior art date
Application number
PCT/CN2021/075606
Other languages
English (en)
French (fr)
Inventor
王凡
黄航
袁锜超
Original Assignee
Oppo广东移动通信有限公司
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 Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Priority to PCT/CN2021/075606 priority Critical patent/WO2022165763A1/zh
Priority to CN202180082518.2A priority patent/CN116636206A/zh
Publication of WO2022165763A1 publication Critical patent/WO2022165763A1/zh

Links

Images

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/124Quantisation

Definitions

  • the embodiments of the present application relate to the technical field of image encoding and decoding, and more particularly, to an encoding method, a decoding method, an encoder, a decoder, and an electronic device.
  • Digital video compression technology mainly compresses huge digital video and video data to facilitate transmission and storage.
  • Digital video compression standards can realize video decompression, it is still necessary to pursue better digital video compression technology to improve compression performance. .
  • the embodiments of the present application provide an encoding method, a decoding method, an encoder, a decoder, and an electronic device, which can not only improve the flexibility of the quantizer, but also avoid the conflict between the transformation process and the dual quantization process when using the IST technology, so as to improve the encoding compression performance of the compressor.
  • an encoding method is provided, the encoding method is applied to an encoder, the encoder has a state machine and multiple quantizers, the state machine has multiple states, and the multiple states correspond to the multiple quantizers;
  • the encoding method includes:
  • the target transform block includes a plurality of transform coefficients, and the kth transform coefficient in the plurality of transform coefficients is represented as t k , and the t k
  • the corresponding candidate state includes sk,1
  • the candidate transform coefficient level obtained after the tk is quantized by the quantizer corresponding to the sk,1 in the plurality of quantizers includes q k ,1 , and k>1 ;
  • the k+1 th transform coefficient in the plurality of transform coefficients is represented as t k+1 , and the candidate state corresponding to t k+1 includes s k+1,1 ;
  • the sk+1,1 is determined as follows:
  • the sk+1,1 is determined based on the sk,1 and the first remainder, and the first remainder is the remainder obtained by taking the modulo of N by the q k,1 , N ⁇ 3; the t
  • the candidate transform coefficient level obtained after k+ 1 is quantized by the quantizer corresponding to the s k+1,1 in the plurality of quantizers includes q k+1,1 ;
  • the target quantization block is encoded to obtain a code stream.
  • a decoding method is provided, the encoding method is applied to a decoder, the decoder has a state machine and a plurality of quantizers, the state machine has a plurality of states, and the plurality of states respectively correspond to the Describe a plurality of quantizers;
  • the decoding method includes:
  • a target quantization block of a target image block in the target image sequence is obtained, where the target quantization block includes multiple transform coefficient levels; the kth transform coefficient level in the multiple transform coefficient levels is denoted as q k , the state corresponding to the q k is denoted as sk , and the transform coefficient obtained by the inverse quantization of the q k by the quantizer corresponding to the s k in the plurality of quantizers is denoted as t' k , k>1 ;
  • the k+1 th transform coefficient level in the plurality of transform coefficient levels is denoted as q k+1 , and the state corresponding to q k+1 is denoted as s k+1 ;
  • the sk+1 is determined as follows:
  • the s k+1 is determined based on the s k and the third remainder, the first remainder is the remainder obtained by the modulo N of the q k , N ⁇ 3; the q k+1 is obtained through the The transform coefficient obtained after the inverse quantization of the quantizers corresponding to the s k+1,1 in the multiple quantizers is represented as q k+1,1 ;
  • the target image block is obtained.
  • an embodiment of the present application provides an encoder for executing the method in the first aspect or each of its implementations.
  • the encoder includes a functional unit for executing the method in the above-mentioned first aspect or each of its implementations.
  • an electronic device including:
  • a processor adapted to implement computer instructions
  • an embodiment of the present application provides a computer program product or computer program, where the computer program product or computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium.
  • the processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, causing the computer device to perform the method in any one of the above-mentioned first to second aspects or implementations thereof .
  • s k+1 is determined by the remainder obtained by q k modulo N.
  • N is an integer greater than or equal to 1
  • the remainder of the transform coefficient level modulo the integer N is 0, 1...N- 1.
  • the transition mode that is, the jump to N states can be completed by the current state at most, which can make the state update of the state machine have more possibilities, and improve the flexibility of the dual quantizer design; on the other hand, when using the IST technology, The conflict between the transform process and the dual quantization process can be avoided to improve the compression performance of the encoder.
  • FIG. 2 is a schematic diagram of specific directions of 33 angle prediction modes provided by an embodiment of the present application.
  • FIG. 4 is a schematic structural diagram of a decoding framework provided by an embodiment of the present application.
  • FIG. 5 is a schematic structural diagram of a dual quantizer provided by an embodiment of the present application.
  • FIG. 13 is another schematic flowchart of the state transition principle of the state machine provided by the embodiment of the present application.
  • FIG. 14 is a schematic structural diagram of the dual quantizer under the state transition principle shown in FIG. 13 .
  • FIG. 15 is a schematic diagram showing the dependency of the state of the state machine and the transform coefficient level under the state transition principle shown in FIG. 13 .
  • FIG. 17 is a schematic structural diagram of the dual quantizer under the state transition principle shown in FIG. 16 .
  • FIG. 18 is a schematic diagram illustrating the dependency of the state of the state machine and the transform coefficient level under the state transition principle shown in FIG. 16 .
  • FIG. 19 is another schematic flowchart of the state transition principle of the state machine provided by the embodiment of the present application.
  • FIG. 20 is a schematic diagram showing the dependency of the state of the state machine and the transform coefficient level under the state transition principle shown in FIG. 19 .
  • FIG. 21 is a schematic flowchart of a state transition principle based on three quantizers provided by an embodiment of the present application.
  • FIG. 22 is a schematic structural diagram of three quantizers under the state transition principle shown in FIG. 21 .
  • FIG. 23 is a schematic flowchart of a decoding method provided by an embodiment of the present application.
  • FIG. 24 is a schematic block diagram of an encoder according to an embodiment of the present application.
  • FIG. 25 is a schematic block diagram of a decoder according to an embodiment of the present application.
  • FIG. 26 is a schematic structural diagram of an electronic device provided by an embodiment of the present application.
  • the solutions provided by the embodiments of the present application can be applied to the technical field of digital video coding, for example, the field of image coding and decoding, the field of video coding and decoding, the field of hardware video coding and decoding, the field of dedicated circuit video coding and decoding, and the field of real-time video coding and decoding.
  • the solutions provided in the embodiments of the present application may be combined with the Audio Video Coding Standard (AVS), the second-generation AVS standard (AVS2), or the third-generation AVS standard (AVS3).
  • AVS Audio Video Coding Standard
  • AVS2 second-generation AVS standard
  • AVS3 third-generation AVS standard
  • H.264/Audio Video Coding AVC
  • H.265/High Efficiency Video Coding HEVC
  • H.266/Versatile Video Coding Versatile Video Coding, VVC
  • the solutions provided by the embodiments of the present application can be used to perform lossy compression (lossy compression) on images, and can also be used to perform lossless compression (lossless compression) on images.
  • the lossless compression may be visually lossless compression (visually lossless compression) or mathematically lossless compression (mathematically lossless compression).
  • the encoder reads the pixels of unequal luminance components and the pixels of chrominance components for the original video sequences of different color formats, that is, the encoder reads a black and white image or a color image, and then targets the black and white image. or color images to encode.
  • the black and white image may include pixels of luminance component
  • the color image may include pixels of chrominance component
  • the color image may further include pixels of luminance component.
  • the color format of the original video sequence may be a luminance chrominance (YCbCr, YUV) format or a red-green-blue (Red-Green-Blue, RGB) format, or the like.
  • Y represents luminance (Luma)
  • Cb (U) represents blue color difference
  • Cr (V) represents red color difference
  • U and V represent chroma (Chroma) for describing color difference information.
  • the encoder reads a black and white image or a color image, it divides it into block data and encodes the block data.
  • the block data can be a coding tree unit (Coding Tree Unit, CTU) or a coding unit block (Coding Unit, CU).
  • a coding tree unit can be further divided into several CUs, and the CU can be a rectangular block or a square block. . That is, the encoder can encode based on CTU or CU.
  • Intra-frame prediction only refers to the information of the same frame image to predict the pixel information in the current divided block to eliminate spatial redundancy
  • inter-frame prediction can refer to the image information of different frames, and use motion estimation to search for the motion vector that best matches the current divided block Information, used to eliminate temporal redundancy
  • transformation converts the predicted image block to the frequency domain, energy redistribution, combined with quantization can remove information that is not sensitive to the human eye to eliminate visual redundancy
  • entropy coding can be based on the current context.
  • the model and probabilistic information of the binary code stream eliminate character redundancy.
  • FIG. 1 is a schematic block diagram of a coding framework 100 provided by an embodiment of the present application.
  • the encoding framework 100 may include an intra prediction unit 180 , a residual unit 110 , a transform and quantization unit 120 , an entropy encoding unit 130 , an inverse transform and inverse quantization unit 140 , and a loop filtering unit 150 .
  • the encoding framework 100 may further include a decoded image buffer unit 160 and/or an inter-frame prediction unit 170 .
  • This coding framework 100 may also be referred to as a mixed-frame coding mode.
  • intra-prediction unit 180 or inter-prediction unit 170 may predict an image block to be encoded to output a predicted block.
  • the residual unit 110 may calculate a residual block based on the prediction block and the image block to be encoded, that is, the difference between the prediction block and the image block to be encoded.
  • the residual block is transformed and quantized by the transform and quantization unit 120 to remove information insensitive to human eyes, so as to eliminate visual redundancy.
  • the residual block before transformation and quantization by the transform and quantization unit 120 may be referred to as a time domain residual block
  • the time domain residual block after transformation and quantization by the transform and quantization unit 120 may be referred to as a frequency residual block. or a frequency domain residual block.
  • the entropy encoding unit 130 may output a code stream based on the transform and quantization coefficients. For example, the entropy encoding unit 130 may eliminate character redundancy according to the target context model and the probability information of the binary code stream. For example, the entropy coding unit 130 may be used for context-based adaptive binary arithmetic entropy coding (CABAC).
  • CABAC context-based adaptive binary arithmetic entropy coding
  • the entropy encoding unit 130 may also be referred to as a header information encoding unit.
  • the image block to be encoded may also be referred to as an original image block or a target image block
  • a prediction block may also be referred to as a predicted image block or an image prediction block, and may also be referred to as a prediction signal or prediction information
  • Reconstruction blocks may also be referred to as reconstructed image blocks or image reconstruction blocks, and may also be referred to as reconstruction signals or reconstruction information.
  • the image block to be encoded may also be referred to as an encoding block or an encoded image block
  • the image block to be encoded may also be referred to as a decoding block or a decoded image block.
  • the image block to be encoded may be a CTU or a CU.
  • the encoding framework 100 calculates the residual between the prediction block and the image block to be encoded to obtain the residual block, and transmits the residual block to the decoding end through processes such as transformation and quantization. After the decoding end receives and parses the code stream, the residual block is obtained through the steps of inverse transformation and inverse quantization, and the reconstructed block is obtained by superimposing the prediction block predicted by the decoding end on the residual block.
  • the intra-frame prediction unit 180 can be used for intra-frame prediction, and the intra-frame prediction only refers to the information of the same frame image, and predicts the pixel information in the image block to be encoded, so as to eliminate spatial redundancy;
  • the frame used for the intra-frame prediction can be an I frame .
  • the image block to be coded can refer to the upper left image block, the upper image block and the left image block can be used as reference information to predict the image block to be coded, and the image block to be coded can be predicted.
  • the block is used as the reference information for the next image block, so the whole image can be predicted.
  • the intra-frame prediction can use the angular prediction mode and the non-angle prediction mode to predict the to-be-coded image block to obtain the predicted block.
  • the optimal prediction mode of the image block, and the prediction mode is transmitted to the decoding end through the code stream.
  • the decoding end parses out the prediction mode, predicts the prediction block of the target decoding block, and superimposes the temporal residual block obtained through code stream transmission to obtain the reconstructed block.
  • the non-angle mode remains relatively stable, with average mode and plane mode; the angle mode continues to increase with the evolution of digital video codec standards.
  • MIP mode is currently unique to VVC, while CCLM mode also exists in other advanced standards, such as AV1's Chroma from Luma (CfL) mode and AVS3's Two Step Cross-Component prediction mode (Two Step Cross- component Prediction Mode, TSCPM).
  • CfL Chroma from Luma
  • TSCPM Two Step Cross-Component prediction mode
  • FIG. 3 is a schematic flowchart of a MIP mode provided by an embodiment of the present application.
  • the upper K rows and the K columns in the upper left are used as the input to reconstruct the pixel points, and the fully connected neural network is used to predict the image block to be coded, and then the image to be coded is obtained.
  • the predicted pixel point of the block that is, the predicted block of the image block to be encoded.
  • Reconstructed pixel points may also be referred to as reconstructed pixel values or reconstructed pixel points, and predicted pixel points may also be referred to as predicted pixel values.
  • the reference points around the image block to be encoded are used as inputs, and the fully connected neural network is used to predict the image block to be encoded. Then, the prediction block of the image block to be encoded is obtained.
  • the reference points around the image block to be encoded may be composed of K rows of upper reference rows with a width of N+K and K columns of left reference rows with a height of M around the image block to be encoded.
  • Rate-distortion screening is required for multiple sets of parameters of the fully connected neural network, that is, multiple sets of network weights, the optimal set of network weights is selected for prediction, and the index of this set of parameters is indexed into code stream.
  • Network weights may include parameters such as matrices and biases.
  • the MIP mode is derived from a prediction mode based on a neural network, specifically from an intra-frame prediction mode based on a fully connected neural network.
  • the prediction mode based on neural network refers to the intra-frame prediction of image blocks using neural network.
  • the neural network-based prediction mode may include a nonlinear neural network-based prediction mode or a linear network-based prediction mode.
  • one or more sets of network weights are trained based on the pre-prepared training set.
  • one or more sets of network weights that have been pre-trained are read.
  • the MIP mode Compared with the prediction mode based on neural network, the MIP mode has undergone many simplifications including network parameters and the number of input points, and finally completes the prediction in the form of a vector multiplied by a matrix.
  • MIP mode for an image block to be encoded with a width of N and a height of M, the MIP mode selects W reconstructed pixels in the upper row of the block and H reconstructed pixels in the left column as input. If the pixels at these locations have not been reconstructed, they can be processed like traditional prediction methods.
  • the prediction value generated by the MIP mode is mainly based on three steps, namely, the mean value of reference pixels, matrix-vector multiplication, and linear interpolation upsampling.
  • MIP mode works on blocks of 4x4 to 32x32 size.
  • a rectangular block if the short side of the rectangle is 4, it will be pre-trained from 16 sets of 16-column and 4-row matrices and biases (ie network weights) in Select the optimal; if the short side length of the rectangle is 8, the optimal selection will be made from 8 pre-trained matrices and offsets with 16 columns and 8 rows; if the short side length of the rectangle is 16, it will be selected from the pre-trained matrix.
  • the above-mentioned multiple sets of matrices and biases corresponding to blocks of a specific size can be obtained by combining the network weights of multiple trained neural networks.
  • the decoding framework 200 may include an entropy decoding unit 210, an inverse transform and inverse quantization unit 220, a residual unit 230, an intra prediction unit 240, an inter prediction unit 250, a loop filtering unit 260, and a decoded image buffer. unit 270.
  • the entropy decoding unit 210 After the entropy decoding unit 210 receives and parses the code stream, it obtains the prediction block and the frequency domain residual block. For the frequency domain residual block, the inverse transform and inverse quantization unit 220 performs steps such as inverse transformation and inverse quantization to obtain the time domain residual block. difference block, the residual unit 230 superimposes the prediction block predicted by the intra-frame prediction unit 240 or the inter-frame prediction unit 250 to the temporal residual block after inverse transformation and inverse quantization by the inverse transform and inverse quantization unit 220 to obtain Rebuild blocks. For example, the intra prediction unit 240 or the inter prediction unit 250 may obtain the prediction block by decoding the header information of the code stream.
  • FIG. 1 to FIG. 4 are only examples of the present application, and should not be construed as a limitation of the present application.
  • the loop filtering unit 150 in the encoding framework 100 may include a deblocking filter (DBF) and a sample adaptive compensation filter (SAO).
  • DBF deblocking filter
  • SAO sample adaptive compensation filter
  • the encoding framework 100 may use a neural network-based loop filtering algorithm to improve the video compression efficiency.
  • the encoding framework 100 may be a video encoding hybrid framework based on a deep learning neural network.
  • a model based on a convolutional neural network may be used to calculate the result of filtering the pixels based on the deblocking filter and the sample adaptive compensation filtering.
  • the network structure of the in-loop filtering unit 150 on the luminance component and the chrominance component may be the same or different. Considering that the luminance component contains more visual information, the luminance component can also be used to guide the filtering of the chrominance component, so as to improve the reconstruction quality of the chrominance component.
  • Dual quantization acts on the transformed block.
  • dual quantization includes two quantizers. Although these two quantizers have the same quantization step size, the matching with the transform coefficients is interleaved. of.
  • FIG. 5 is a schematic structural diagram of a dual quantizer provided by an embodiment of the present application.
  • the quantizer Q0 and the quantizer Q1 for the even quantization are interleaved and matched to the transform coefficients.
  • the quantizer Q0 matches an even multiple of the quantization step size ⁇ and the transform coefficient level
  • the transform coefficient level is the transform quantization coefficient mentioned above, that is, the transform coefficient level matched by the quantizer Q0 is the number corresponding to point A and point B
  • the quantizer Q1 matches an odd multiple of the quantization step size ⁇ and the transform coefficient level, that is, the transform coefficient level matched by the quantizer Q0 is the number corresponding to point C and point D.
  • the dual quantizer enables the quantizer with large step size to complete finer quantization, reducing the difference between the reconstructed transform coefficients and the original transform coefficients. loss, thereby improving coding efficiency.
  • the reconstructed inversely quantized transform coefficient t' can be calculated according to the following formula:
  • k represents the transform coefficient level to be inverse quantized.
  • the inverse quantized transform coefficient can be calculated according to the following formula:
  • sgn( ) represents the symbolic function
  • sgn(x) can be calculated according to the following formula:
  • Quantization using quantizer Q0 or quantizer Q1 is not controlled by encoding flags. Instead, the parity of the transform coefficient level of the previous coefficient in coefficient scan order is used to decide whether the current transform coefficient uses Q0 or Q1.
  • FIG. 6 is a schematic flowchart of a state transition principle of a state machine provided by an embodiment of the present application.
  • the state corresponding to the next transform coefficient can be determined by the following state transition table:
  • FIG. 7 is a schematic diagram illustrating the dependency of the state of the state machine and the transform coefficient level under the state transition principle shown in FIG. 6 .
  • S310 Transform a target image block in the target image sequence to obtain a target transform block; the target transform block includes multiple transform coefficients, and the kth transform coefficient in the multiple transform coefficients is denoted as t k , and the The candidate states corresponding to t k include s k,1 , and the candidate transform coefficient levels obtained after the t k is quantized by the quantizers corresponding to the s k,1 in the plurality of quantizers include q k,1 , k >1;
  • the sk+1,1 is determined as follows:
  • S340 Encode the target quantization block to obtain a code stream.
  • the candidate states corresponding to the next transform coefficients are respectively s 0 and s 2 ; when the modulo 3 residues of the two candidate transform coefficient levels are 1 and 2 , the candidate states corresponding to the next transform coefficients are s 2 and s 0 respectively; when the remainders after modulo 3 of the two candidate transform coefficient levels are 0 and 2, the candidate state of the next node jumps to s 0 ; then, encode The quantizer uses the quantizer corresponding to the candidate state corresponding to the next transform coefficient to quantize the next transform coefficient to obtain a quantized candidate transform coefficient level for the next transform coefficient, and so on, until the The last transform coefficient of completes the quantization operation.
  • the transition mode that is, the jump to N states can be completed by the current state at most, which can make the state update of the state machine have more possibilities, and improve the flexibility of the dual quantizer design; on the other hand, when using the IST technology, The conflict between the transform process and the dual quantization process can be avoided to improve the compression performance of the encoder.
  • FIG. 10 to FIG. 12 are another schematic structural diagram of a dual quantizer provided by an embodiment of the present application.
  • the candidate transform coefficient level obtained after the t k is quantized by the quantizer corresponding to the s k,1 in the plurality of quantizers further includes q k,2 , and the first The candidate states corresponding to the k+1 transform coefficients further include s k+1,2 ; the method 300 may further include:
  • the sk+1,3 is determined as follows:
  • the method 300 may further include:
  • the candidate states corresponding to t k may include two candidate states, and after the t k is quantized by the quantizers corresponding to the two candidate states, four candidate transform coefficient levels may be obtained, based on the four candidate states For the four candidate states determined by the four remainders obtained by modulo N at the transform coefficient level, when the same candidate state exists, the optimal state transition candidate path needs to be selected from the state transition candidate paths where the same candidate state is located.
  • the encoder needs to filter out the optimal state transition candidate path from the plurality of state transition candidate paths, that is, the quantization eyepiece.
  • the sk+1,1 is determined based on the sk,1 , the first remainder and the first mapping relationship, where the first mapping relationship includes a candidate state supported by the sk,1 , a plurality of The relationship between the remainder groups in the remainder group and the candidate states supported by the s k+1,1 , the plurality of remainder groups are the remainder groups obtained by dividing the N remainders, and the values of the N remainders They are respectively 0 to (N-1), and the N remainders include the first remainder.
  • the encoder can use the current quantizer to quantize the corresponding transform coefficient level, and the encoder can choose to use the remainder as A transform coefficient level with a remainder of 0 can also be selected to use a transform coefficient level with a remainder of 1, or a transform coefficient level with a remainder of 2 can be selected.
  • the transform coefficient level with remainder 0 corresponds to point A shown in FIG. 14
  • the transform coefficient level with remainder 1 corresponds to point B shown in FIG. 14
  • the transform coefficient level with remainder 2 corresponds to point B shown in FIG. 14 point C.
  • the reconstructed value of the current coefficient can determine the state corresponding to the next transform coefficient through the transition method shown in Figure 16.
  • states which are 0, 1, 2, and 3 respectively. represented by four values.
  • the state corresponding to one transform coefficient jumps to state 1.
  • the state corresponding to the first transform coefficient in the scan order of each transform block is set as the initial state 0.
  • Status 0, 1, 2, and 3 also determine which quantizer is used for the current coefficient.
  • Status 0, 1 corresponds to using quantizer Q0
  • status 2, 3 corresponds to using quantizer Q1.
  • the transform coefficient level with remainder 0 corresponds to point A shown in Figure 17
  • the transform coefficient level with remainder 1 corresponds to point B shown in Figure 17
  • the transform coefficient level with remainder 2 corresponds to point A shown in Figure 17
  • Point C the transform coefficient level with remainder 3 corresponds to point D shown in FIG. 17
  • the transform coefficient level with remainder 0 corresponds to point E shown in FIG. 17
  • the transform coefficient level with remainder 1 corresponds to point F shown in FIG. 17
  • the transform coefficient level with remainder 2 corresponds to point F shown in FIG. 17
  • Point G the transform coefficient level with remainder 3 corresponds to point H shown in FIG. 17 .
  • the specific numerical values of the remainders corresponding to A, B, C, D, E, F, G, and H above are only examples, and should not be construed as limitations on the present application.
  • the state machine has a total of 4 states, denoted as s 0 , s 1 , s 2 and s 3 .
  • the state machine jump is based on the parity jump of the transformed coefficient level, and the modulo N is taken based on the transformed coefficient level.
  • the result of the modulo belongs to the first remainder group or the second remainder group, Jump to different states to form state transition paths.
  • the k represents the value of the q k,1 , and % represents the modulo operation.
  • the sk+1,1 is determined based on the sk,1 , the first remainder and the second mapping relationship, the second mapping relationship including the candidate states supported by the sk,1 and the s
  • the encoder does not sort and merge the N remainders.
  • N 3, and the second mapping relationship includes part or all of the following information:
  • the multiple quantizers are dual quantizers, or the multiple quantizers are three quantizers.
  • FIG. 19 is another schematic flowchart of the state transition principle of the state machine provided by the embodiment of the present application.
  • FIG. 20 is a schematic diagram showing the dependency of the state of the state machine and the transform coefficient level under the state transition principle shown in FIG. 19 .
  • FIG. 21 is a schematic flowchart of a state transition principle based on three quantizers provided by an embodiment of the present application.
  • the solution of the present application uses multiple quantizers. Taking a state transition machine with three quantizers as an example, when the state transitions, based on the parity jump of the transform coefficient level, the transform coefficient level Parity does not jump to different states at the same time, thereby forming a state transition path.
  • the solutions involved in the embodiments of the present application can be extended to be implemented by more than two quantizers with the same quantization step size.
  • FIG. 22 is a schematic structural diagram of three quantizers under the state transition principle shown in FIG. 21 .
  • the encoder can use the current quantizer to quantize the corresponding transform coefficient level, and the transform coefficient level corresponds to point A of Q0 and point B of Q1 point and point C of Q2.
  • the state transition condition includes, but is not limited to, the parity according to the transform coefficient level.
  • the state transition condition may also be determined based on the remainder obtained by modulo N at the transform coefficient level.
  • the decoding method 400 may include:
  • the k+1 th transform coefficient level in the multiple transform coefficient levels is represented as q k+1
  • the state corresponding to the q k+1 is represented as s k+1 ;
  • the sk+1 is determined as follows:
  • the decoder enters the inverse quantization process, confirms the dual quantization initial position and scans to locate the first transform coefficient level x in the target quantization block, and initializes the state machine state to 0. Then, the decoder confirms the used quantizer according to the current state of the state machine.
  • the quantizer Q0 is used to inversely quantize the transform coefficient level x to obtain the reconstructed value of the first transform coefficient.
  • the states are s 2 and s 3
  • use the quantizer Q1 to inverse quantize the transform coefficient level x to obtain the reconstructed value of the first transform coefficient.
  • the reconstructed value of the first transform coefficient is x*2 ⁇ .
  • the quantizer Q1 When using the quantizer Q1, it is judged whether x>0 is established. If so, the reconstructed value of the first transform coefficient is (2x-1) ⁇ , and if it is not established, the reconstructed value of the first transform coefficient (2x +1) ⁇ . And so on, until the inverse quantization operation is completed for the last transform coefficient level in the target quantization block.
  • is the quantization step size.
  • the decoder may update the state of the next transform coefficient level according to the current state of the current transform coefficient level and the state transition condition. For example, if the current state is s 0 , when the result of x modulo 3 is 0 or 2, the state of the state machine is updated to s 0 , and when the result of x modulo 3 is 1, the state of the state machine is updated to s 2 . If the current state is S1, when the result of x modulo 3 is 0 or 2, the state of the state machine is updated to s 2 , and when the result of x modulo 3 is 1, the state of the state machine is updated to s 0 .
  • the current state is s 2
  • the result of x modulo 3 is 0 or 2
  • the state of the state machine is updated to s 1
  • the result of x modulo 3 is 1, the state of the state machine is updated to s 3
  • the current state is s 3
  • the result of x modulo 3 is 0 or 2
  • the state of the state machine is updated to s 3
  • the result of x modulo 3 is 1, the state of the state machine is updated to s 1 .
  • the state corresponding to the first transform coefficient level in the plurality of transform coefficient levels is an initial state.
  • the determining the sk+1 based on the sk and the third remainder includes:
  • the sk+1 is determined based on the sk , the third remainder, and a first mapping relationship, where the first mapping relationship includes candidate states supported by the sk and a remainder group among the plurality of remainder groups , and the relationship between the candidate states supported by the s k+1 , the plurality of remainder groups are remainder groups obtained by dividing N remainders, and the values of the N remainders are 0 to (N-1 ), the N remainders include the third remainder.
  • the first mapping relationship includes some or all of the following information:
  • k represents the value of the q k
  • % represents the modulo operation
  • ! means not equal operator
  • the first mapping relationship includes some or all of the following information:
  • k represents the value of the q k
  • % represents the modulo operation
  • ! means not equal operator
  • the plurality of remainder groups include a first remainder group and a second remainder group
  • the first mapping relationship includes part or all of the following information:
  • the k represents the value of the q k
  • % represents the modulo operation.
  • the plurality of remainder groups include a first remainder group and a second remainder group
  • the first mapping relationship includes part or all of the following information:
  • the k represents the value of the q k
  • % represents the modulo operation.
  • the sk+1 is determined based on the sk , the third remainder, and a second mapping relationship, and the second mapping relationship includes candidate states supported by the sk and supported by the sk+1
  • the corresponding relationship between the candidate states of , and the N remainders, where the values of the N remainders are 0 to (N-1) respectively, and the N remainders include the third remainder.
  • N 3, and the second mapping relationship includes part or all of the following information:
  • the multiple quantizers are dual quantizers, or the multiple quantizers are three quantizers.
  • the process of the decoding method 400 is the inverse process of the encoding method 300, that is, the steps in the decoding method 400 may refer to the corresponding steps in the encoding method 300, which are not repeated here for brevity.
  • the size of the sequence numbers of the above-mentioned processes does not mean the sequence of execution, and the execution sequence of each process should be determined by its functions and internal logic, and should not be dealt with in the present application.
  • the implementation of the embodiments constitutes no limitation.
  • FIG. 24 is a schematic block diagram of an encoder 500 according to an embodiment of the present application.
  • the encoder 500 has a state machine and multiple quantizers, the state machine has multiple states, and the multiple states correspond to the multiple quantizers respectively.
  • the encoder 500 may include:
  • the transformation unit 510 is configured to transform a target image block in the target image sequence to obtain a target transformation block; the target transformation block includes a plurality of transformation coefficients, and the kth transformation coefficient in the plurality of transformation coefficients is represented as t k , the candidate state corresponding to t k includes sk,1 , and the candidate transform coefficient level obtained after quantization of t k by the quantizer corresponding to s k,1 in the plurality of quantizers includes q k ,1 , k>1;
  • the k+1 th transform coefficient in the plurality of transform coefficients is represented as t k+1 , and the candidate state corresponding to t k+1 includes s k+1,1 ;
  • the quantization unit 520 is used for:
  • the sk+1,1 is determined as follows:
  • the sk+1,1 is determined based on the sk,1 and the first remainder, and the first remainder is the remainder obtained by taking the modulo of N by the q k,1 , N ⁇ 3; the t
  • the candidate transform coefficient level obtained after k+ 1 is quantized by the quantizer corresponding to the s k+1,1 in the plurality of quantizers includes q k+1,1 ;
  • the encoding unit 530 is configured to encode the target quantization block to obtain a code stream.
  • the quantization unit 520 is also used for:
  • the sk+1,2 is determined as follows:
  • the candidate state corresponding to t k further includes sk,2 , and the t k is quantized by the quantizer corresponding to the sk,2 in the plurality of quantizers
  • the obtained candidate transform coefficient level includes q k,3
  • the candidate state corresponding to t k+1 also includes s k+1,3 ;
  • the target quantization block is determined based on the quantized transform coefficient levels for the plurality of transform coefficients.
  • the quantization unit 520 is specifically configured to:
  • the plurality of remainder groups include a first remainder group and a second remainder group
  • the first mapping relationship includes part or all of the following information:
  • the quantization unit 520 is specifically configured to:
  • the sk+1,1 is determined based on the sk,1 , the first remainder and the second mapping relationship, the second mapping relationship including the candidate states supported by the sk,1 and the s
  • N 3, and the second mapping relationship includes part or all of the following information:
  • FIG. 25 is a schematic block diagram of a decoder 600 according to an embodiment of the present application.
  • the decoder 600 has a state machine and multiple quantizers, the state machine has multiple states, and the multiple states correspond to the multiple quantizers respectively.
  • the k+1 th transform coefficient level in the plurality of transform coefficient levels is denoted as q k+1 , and the state corresponding to q k+1 is denoted as s k+1 ;
  • the inverse quantization unit 620 is used for:
  • the sk+1 is determined as follows:
  • the processing unit 630 is configured to transform the target block to obtain the target image block.
  • the state corresponding to the first transform coefficient level in the plurality of transform coefficient levels is an initial state.
  • the first mapping relationship includes some or all of the following information:
  • k represents the value of the q k
  • % represents the modulo operation
  • ! means not equal operator
  • k represents the value of the q k
  • % represents the modulo operation
  • ! means not equal operator
  • the plurality of remainder groups include a first remainder group and a second remainder group
  • the first mapping relationship includes part or all of the following information:
  • the k represents the value of the q k
  • % represents the modulo operation.
  • the plurality of remainder groups include a first remainder group and a second remainder group
  • the first mapping relationship includes part or all of the following information:
  • the k represents the value of the q k
  • % represents the modulo operation.
  • the inverse quantization unit 620 is specifically configured to:
  • the sk+1 is determined based on the sk , the third remainder, and a second mapping relationship, and the second mapping relationship includes candidate states supported by the sk and supported by the sk+1
  • the corresponding relationship between the candidate states of , and the N remainders, where the values of the N remainders are 0 to (N-1) respectively, and the N remainders include the third remainder.
  • N 3, and the second mapping relationship includes part or all of the following information:
  • k represents the value of the q k
  • % represents the modulo operation
  • the multiple quantizers are dual quantizers, or the multiple quantizers are three quantizers.
  • the apparatus embodiments and the method embodiments may correspond to each other, and similar descriptions may refer to the method embodiments. To avoid repetition, details are not repeated here.
  • the encoder 500 shown in FIG. 24 may correspond to the corresponding subject in executing the method 300 of the embodiments of the present application, that is, the aforementioned and other operations and/or functions of the various units in the encoder 500 are respectively for implementing the method 300 and the like
  • the decoder 600 shown in FIG. 25 may correspond to the corresponding main body in executing the method 400 of the embodiments of the present application, and the aforementioned and other operations and/or functions of the various units in the decoder 600 are for the purpose of implementing the method 400 and other methods, respectively. the corresponding process.
  • each unit in the encoder 500 or the decoder 600 involved in the embodiments of the present application may be respectively or all merged into one or several other units to form, or some of the unit(s) may be further disassembled It is divided into a plurality of units with smaller functions, which can realize the same operation without affecting the realization of the technical effects of the embodiments of the present application.
  • the above-mentioned units are divided based on logical functions. In practical applications, the function of one unit may also be implemented by multiple units, or the functions of multiple units may be implemented by one unit. In other embodiments of the present application, the encoder 500 or the decoder 600 may also include other units.
  • a general-purpose computing device including a general-purpose computer such as a central processing unit (CPU), a random access storage medium (RAM), a read-only storage medium (ROM), etc., and a general-purpose computer may be implemented
  • a computer program (including program code) capable of executing the steps involved in the corresponding method is run on the computer to construct the encoder 500 or the decoder 600 involved in the embodiments of the present application, and to implement the encoding or decoding methods of the embodiments of the present application.
  • the computer program may be recorded on, for example, a computer-readable storage medium, loaded into an electronic device through the computer-readable storage medium, and executed in the electronic device, so as to implement the corresponding methods of the embodiments of the present application.
  • the units mentioned above can be implemented in the form of hardware, can also be implemented by instructions in the form of software, and can also be implemented in the form of a combination of software and hardware.
  • the steps of the method embodiments in the embodiments of the present application may be completed by hardware integrated logic circuits in the processor and/or instructions in the form of software, and the steps of the methods disclosed in conjunction with the embodiments of the present application may be directly embodied as hardware
  • the execution of the decoding processor is completed, or the execution is completed by a combination of hardware and software in the decoding processor.
  • the software may be located in random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, registers, and other storage media mature in the art.
  • the storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps in the above method embodiments in combination with its hardware.
  • FIG. 26 is a schematic structural diagram of an electronic device 700 provided by an embodiment of the present application.
  • the electronic device 700 includes at least a processor 710 and a computer-readable storage medium 720 .
  • the processor 710 and the computer-readable storage medium 720 may be connected through a bus or other means.
  • the computer-readable storage medium 720 is used for storing a computer program 721
  • the computer program 721 includes computer instructions
  • the processor 710 is used for executing the computer instructions stored in the computer-readable storage medium 720 .
  • the processor 710 is the computing core and the control core of the electronic device 700, which is suitable for implementing one or more computer instructions, and is specifically suitable for loading and executing one or more computer instructions to implement corresponding method processes or corresponding functions.
  • the processor 710 may also be referred to as a central processing unit (Central Processing Unit, CPU).
  • the processor 710 may include but is not limited to: a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field programmable gate array (Field Programmable Gate Array, FPGA) Or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, and the like.
  • DSP Digital Signal Processor
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • the computer-readable storage medium 720 may be a high-speed RAM memory, or a non-volatile memory (Non-Volatile Memory), such as at least one disk memory; computer readable storage medium.
  • the computer-readable storage medium 720 includes, but is not limited to, volatile memory and/or non-volatile memory.
  • the non-volatile memory may be a read-only memory (Read-Only Memory, ROM), a programmable read-only memory (Programmable ROM, PROM), an erasable programmable read-only memory (Erasable PROM, EPROM), an electrically programmable read-only memory (Erasable PROM, EPROM).
  • Volatile memory may be Random Access Memory (RAM), which acts as an external cache.
  • RAM Random Access Memory
  • SRAM Static RAM
  • DRAM Dynamic RAM
  • SDRAM Synchronous DRAM
  • SDRAM double data rate synchronous dynamic random access memory
  • Double Data Rate SDRAM DDR SDRAM
  • enhanced SDRAM ESDRAM
  • synchronous link dynamic random access memory SLDRAM
  • Direct Rambus RAM Direct Rambus RAM
  • the electronic device 700 may be an encoding terminal, an encoder, or an encoding framework involved in the embodiments of the present application;
  • the computer-readable storage medium 720 stores first computer instructions; loaded and executed by the processor 710
  • the first computer instructions stored in the computer-readable storage medium 720 are used to implement corresponding steps in the encoding method provided by the embodiments of the present application; in other words, the first computer instructions in the computer-readable storage medium 720 are loaded and executed by the processor 710
  • Corresponding steps, in order to avoid repetition, are not repeated here.
  • the electronic device 700 may be a decoding end, a decoder, or a decoding framework involved in the embodiments of the present application;
  • the computer-readable storage medium 720 stores second computer instructions; loaded and executed by the processor 710
  • the second computer instructions stored in the computer-readable storage medium 720 are used to implement corresponding steps in the decoding method provided by the embodiments of the present application; in other words, the second computer instructions in the computer-readable storage medium 720 are loaded and executed by the processor 710 Corresponding steps, in order to avoid repetition, are not repeated here.
  • an embodiment of the present application further provides a computer-readable storage medium (Memory), where the computer-readable storage medium is a memory device in the electronic device 700 for storing programs and data.
  • computer readable storage medium 720 may include both a built-in storage medium in the electronic device 700 , and certainly also an extended storage medium supported by the electronic device 700 .
  • the computer-readable storage medium provides storage space in which the operating system of the electronic device 700 is stored.
  • one or more computer instructions suitable for being loaded and executed by the processor 710 are also stored in the storage space, and these computer instructions may be one or more computer programs 721 (including program codes).
  • a computer program product or computer program comprising computer instructions stored in a computer readable storage medium.
  • the data processing device 700 may be a computer, the processor 710 reads the computer instructions from the computer-readable storage medium 720, and the processor 710 executes the computer instructions, so that the computer executes the encoding method provided in the above-mentioned various optional manners or decoding method.
  • the computer program product includes one or more computer instructions.
  • the computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
  • the computer instructions may be stored in or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions may be transmitted from a website site, computer, server or data center via Transmission to another website site, computer, server, or data center by wired (eg, coaxial cable, optical fiber, digital subscriber line, DSL) or wireless (eg, infrared, wireless, microwave, etc.) means.
  • wired eg, coaxial cable, optical fiber, digital subscriber line, DSL
  • wireless eg, infrared, wireless, microwave, etc.

Abstract

本申请实施例提供一种编码方法、解码方法、编码器、解码器以及电子设备。该编码方法中,待量化的目标变换块包括多个变换系数,其中,第k个变换系数表示为tk,tk对应的候选状态包括sk,1,tk通过多个量化器中的sk,1对应的量化器量化后得到的候选变换系数级别包括qk,1,k>1;多个变换系数中的第k+1个变换系数表示为tk+1,tk+1对应候选状态包括sk+1,1;按照以下方式确定sk+1,1:基于sk,1和第一余数确定sk+1,1,第一余数为qk,1对N取模得到的余数,N≥3。该编码方法,不仅能够提升量化器的灵活性,使用IST技术时还能够避免变换过程和对偶量化过程发生冲突,以提升编码器的压缩性能。

Description

编码方法、解码方法、编码器、解码器以及电子设备 技术领域
本申请实施例涉及图像编解码技术领域,并且更具体地,涉及编码方法、解码方法、编码器、解码器以及电子设备。
背景技术
数字视频压缩技术主要是将庞大的数字影像视频数据进行压缩,以便于传输以及存储等。随着互联网视频的激增以及人们对视频清晰度的要求越来越高,尽管已有的数字视频压缩标准能够实现视频解压缩,但目前仍然需要追求更好的数字视频压缩技术,以提升压缩性能。
发明内容
本申请实施例提供一种编码方法、解码方法、编码器、解码器以及电子设备,不仅能够提升量化器的灵活性,使用IST技术时还能够避免变换过程和对偶量化过程发生冲突,以提升编码器的压缩性能。
一方面,提供了一种编码方法,所述编码方法应用于编码器,所述编码器具有状态机和多个量化器,所述状态机具有多种状态,所述多种状态分别对应所述多个量化器;
所述编码方法包括:
对目标图像序列中的目标图像块进行变换,得到目标变换块;所述目标变换块包括多个变换系数,所述多个变换系数中的第k个变换系数表示为t k,所述t k对应的候选状态包括s k,1,所述t k通过所述多个量化器中的所述s k,1对应的量化器量化后得到的候选变换系数级别包括q k,1,k>1;
所述多个变换系数中的第k+1个变换系数表示为t k+1,所述t k+1对应候选状态包括s k+1,1
按照以下方式确定所述s k+1,1
基于所述s k,1和第一余数确定所述s k+1,1,所述第一余数为所述q k,1对N取模得到的余数,N≥3;所述t k+1通过所述多个量化器中的所述s k+1,1对应的量化器量化后得到的候选变换系数级别包括q  k+1,1
基于对所述多个变换系数中每一个变换系数量化后得到的候选变换系数级别,确定目标量化块;
对所述目标量化块进行编码,得到码流。
另一方面,提供了一种解码方法,所述编码方法应用于解码器,所述解码器具有状态机和多个量化器,所述状态机具有多种状态,所述多种状态分别对应所述多个量化器;
所述解码方法包括:
通过解析码流,获取目标图像序列中的目标图像块的目标量化块,所述目标量化块包括多个变换系数级别;所述多个变换系数级别中的第k个变换系数级别表示为q k,所述q k对应的状态表示为s k,所述q k通过所述多个量化器中的所述s k对应的量化器反量化后得到的变换系数表示为t' k,k>1;
所述多个变换系数级别中的第k+1个变换系数级别表示为q k+1,所述q k+1对应状态表示为s k+1
按照以下方式确定所述s k+1
基于所述s k和第三余数确定所述s k+1,所述第一余数为所述q k对N取模得到的余数,N≥3;所述q k+1通过所述多个量化器中的所述s k+1,1对应的量化器反量化后得到的变换系数表示为q  k+1,1
基于对所述多个变换系数级别中每一个变换系数级别反量化后得到的变换系数,确定目标变换块;
对所述目标变换块,得到所述目标图像块。
另一方面,本申请实施例提供了一种编码器,用于执行上述第一方面或其各实现方式中的方法。具体地,该编码器包括用于执行上述第一方面或其各实现方式中的方法的功能单元。
另一方面,本申请实施例提供了一种解码器,用于执行上述第二方面或其各实现方式中的方法。具体地,该解码器包括用于执行上述第二方面或其各实现方式中的方法的功能单元。
另一方面,本申请实施例提供了一种电子设备,包括:
处理器,适于实现计算机指令;以及,
计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令适于由处理器加载并执行执行如上述第一方面至第二方面中的任一方面或其各实现方式中的方法。
另一方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,该计算机指令被计算机设备的处理器读取并执行时,使得计算机设备执行上述第一方面至第二方面中的任一方面或其各实现方式中的方法。
另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可 读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面至第二方面中的任一方面或其各实现方式中的方法。
本申请实施例中,通过q k对N取模得到的余数确定s k+1,一方面,N为大于等于1的整数,变换系数级别对整数N取模的余数为0,1…N-1,表示当前状态可至多支持N种跳转方式,与VVC中中的DQ基于奇偶规则的状态机仅支持两种跳转方式相比,根据N的取值不同,可对应更为灵活的跳转方式,即至多可由当前状态完成对N种状态的跳转,能够使得状态机的状态更新有更多的可能性,提高了对偶量化器设计的灵活性;另一方面,使用IST技术时还能够避免变换过程和对偶量化过程发生冲突,以提升编码器的压缩性能。
附图说明
图1是本申请实施例提供的编码框架的示意性结构图。
图2是本申请实施例提供的33种角度预测模式的具体方向示意图。
图3是本申请实施例提供的MIP模式的示意性流程图。
图4是本申请实施例提供的解码框架的示意性结构图。
图5是本申请实施例提供的对偶量化器的示意性结构图。
图6是本申请实施例提供的状态机的状态转移原理的示意性流程图。
图7是图6所示的状态迁移原理下的状态机的状态和变换系数级别的依赖性的示意图。
图8是图6所示的状态迁移原理下的对偶量化器用于获取变换系数级别的示意性结构图。
图9是本申请实施例提供的编码方法的示意性流程图。
图10至图12是本申请实施例提供的对偶量化器的另一示意性结构图。
图13是本申请实施例提供的状态机的状态转移原理的另一示意性流程图。
图14是图13所示的状态迁移原理下的对偶量化器的示意性结构图。
图15是图13所示的状态迁移原理下的状态机的状态和变换系数级别的依赖性的示意图。
图16是本申请实施例提供的状态机的状态转移原理的另一示意性流程图。
图17是图16所示的状态迁移原理下的对偶量化器的示意性结构图。
图18是图16所示的状态迁移原理下的状态机的状态和变换系数级别的依赖性的示意图。
图19是本申请实施例提供的状态机的状态转移原理的另一示意性流程图。
图20是图19所示的状态迁移原理下的状态机的状态和变换系数级别的依赖性的示意图。
图21是本申请实施例提供的基于三个量化器的状态转移原理的示意性流程图。
图22是图21所示的状态迁移原理下的三个量化器的示意结构图。
图23是本申请实施例提供的解码方法的示意性流程图。
图24是本申请实施例的编码器的示意性框图。
图25是本申请实施例的解码器的示意性框图。
图26是本申请实施例提供的电子设备的示意结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供的方案可应用于数字视频编码技术领域,例如,图像编解码领域、视频编解码领域、硬件视频编解码领域、专用电路视频编解码领域、实时视频编解码领域。本申请实施例提供的方案可结合至音视频编码标准(Audio Video coding Standard,AVS)、第二代AVS标准(AVS2)或第三代AVS标准(AVS3)。包括但不限于H.264/音视频编码(Audio Video coding,AVC)标准、H.265/高效视频编码(High Efficiency Video Coding,HEVC)标准以及H.266/多功能视频编码(Versatile Video Coding,VVC)标准。本申请实施例提供的方案可以用于对图像进行有损压缩(lossy compression),也可用于对图像进行无损压缩(lossless compression)。该无损压缩可以是视觉无损压缩(visually lossless compression),也可以是数学无损压缩(mathematically lossless compression)。
在数字视频编码过程中,编码器对不同颜色格式的原始视频序列读取不相等的亮度分量的像素和色度分量的像素,即编码器读取一幅黑白图像或彩色图像,然后针对黑白图像或彩色图像进行编码。其中,黑白图像可以包括亮度分量的像素,彩色图像可以包括色度分量的像素,可选的,彩色图像还可以包括亮度分量的像素。原始视频序列的颜色格式可以是亮度色度(YCbCr,YUV)格式或红绿蓝(Red-Green-Blue,RGB)格式等。针对YUV格式,Y表示明亮度(Luma),Cb(U)表示蓝色色差,Cr(V)表示红色色差,U和V表示为色度(Chroma)用于描述色差信息。编码器读取一幅黑白图像或 彩色图像之后,将其划分成块数据,并对块数据进行编码。该块数据可以是编码树单元(Coding Tree Unit,CTU)或编码单元块(Coding Unit,CU),一个编码树单元又可以继续被划分成若干个CU,CU可以为长方形块也可以为正方形块。即编码器可基于CTU或CU进行编码。如今编码器通常为混合框架编码模式,一般包含帧内与帧间预测、变换与量化、反变换与反量化、环路滤波及熵编码等操作。帧内预测只参考同一帧图像的信息,预测当前划分块内的像素信息,用于消除空间冗余;帧间预测可以参考不同帧的图像信息,利用运动估计搜索最匹配当前划分块的运动矢量信息,用于消除时间冗余;变换将预测后的图像块转换到频率域,能量重新分布,结合量化可以将人眼不敏感的信息去除,用于消除视觉冗余;熵编码可以根据当前上下文模型以及二进制码流的概率信息消除字符冗余。
为了便于理解,先对本申请提供的编码框架进行简单介绍。
图1是本申请实施例提供的编码框架100的示意性框图。
如图1所示,该编码框架100可包括帧内预测单元180、残差单元110、变换与量化单元120、熵编码单元130、反变换与反量化单元140、以及环路滤波单元150。可选的,该编码框架100还可包括解码图像缓冲单元160和/或帧间预测单元170。该编码框架100也可称为混合框架编码模式。
在编码框架100中,帧内预测单元180或帧间预测单元170可对待编码图像块进行预测,以输出预测块。残差单元110可基于预测块与待编码图像块计算残差块,即预测块和待编码图像块的差值。该残差块经由变换与量化单元120变换与量化等过程,可以去除人眼不敏感的信息,以消除视觉冗余。可选的,经过变换与量化单元120变换与量化之前的残差块可称为时域残差块,经过变换与量化单元120变换与量化之后的时域残差块可称为频率残差块或频域残差块。熵编码单元130接收到变换与量化单元120输出的变换量化系数后,可基于该变换量化系数输出码流。例如,熵编码单元130可根据目标上下文模型以及二进制码流的概率信息消除字符冗余。例如,熵编码单元130可以用于基于上下文的自适应二进制算术熵编码(CABAC)。熵编码单元130也可称为头信息编码单元。可选的,在本申请中,该待编码图像块也可称为原始图像块或目标图像块,预测块也可称为预测图像块或图像预测块,还可以称为预测信号或预测信息,重建块也可称为重建图像块或图像重建块,还可以称为重建信号或重建信息。此外,针对编码端,该待编码图像块也可称为编码块或编码图像块,针对解码端,该待编码图像块也可称为解码块或解码图像块。该待编码图像块可以是CTU或CU。
简言之,编码框架100将预测块与待编码图像块计算残差得到残差块经由变换与量化等过程,将残差块传输到解码端。解码端接收并解析码流后,经过反变换与反量化等步骤得到残差块,将解码端预测得到的预测块叠加残差块后得到重建块。
需要说明的是,编码框架100中的反变换与反量化单元140、环路滤波单元150以及解码图像缓冲单元160可用于形成一个解码器。相当于,帧内预测单元180或帧间预测单元170可基于已有的重建块对待编码图像块进行预测,进而能够保证编码端和解码端的对参考帧的理解一致。换言之,编码器可复制解码器的处理环路,进而可与解码端产生相同的预测。具体而言,量化的变换系数通过反变换与反量化单元140反变换与反量化来复制解码端的近似残差块。该近似残差块加上预测块后可经过环路滤波单元150,以平滑滤除由于基于块处理和量化产生的块效应等影响。环路滤波单元150输出的图像块可存储在解码图像缓存单元160中,以便用于后续图像的预测。
帧内预测单元180可用于帧内预测,帧内预测只参考同一帧图像的信息,预测待编码图像块内的像素信息,用于消除空间冗余;帧内预测所使用的帧可以为I帧。例如,可根据从左至右、从上到下的编码顺序,待编码图像块可以参考左上方图像块,上方图像块以及左侧图像块作为参考信息来预测待编码图像块,而待编码图像块又作为下一个图像块的参考信息,如此,可对整幅图像进行预测。若输入的数字视频为彩色格式,例如YUV 4:2:0格式,则该数字视频的每一图像帧的每4个像素点由4个Y分量和2个UV分量组成,编码框架100可对Y分量(即亮度块)和UV分量(即色度块)分别进行编码。类似的,解码端也可根据格式进行相应的解码。帧间预测单元170可用于帧间预测,帧间预测可以参考不同帧的图像信息,利用运动估计搜索最匹配待编码图像块的运动矢量信息,用于消除时间冗余;帧间预测所使用的帧可以为P帧和/或B帧,P帧指的是向前预测帧,B帧指的是双向预测帧。
针对帧内预测过程,帧内预测可借助角度预测模式与非角度预测模式对待编码图像块进行预测,以得到预测块,根据预测块与待编码图像块计算得到的率失真信息,筛选出待编码图像块最优的预测模式,并将该预测模式经码流传输到解码端。解码端解析出预测模式,预测得到目标解码块的预测块并叠加经码流传输而获取的时域残差块,可得到重建块。经过历代的数字视频编解码标准发展,非角度模式保持相对稳定,有均值模式和平面模式;角度模式则随着数字视频编解码标准的演进而不断增加。以国际数字视频编码标准H系列为例,H.264/AVC标准仅有8种角度预测模式和1种非角度预测模式;H.265/HEVC扩展到33种角度预测模式和2种非角度预测模式。在H.266/VVC中,帧内预 测模式被进一步拓展,对于亮度块共有67种传统预测模式和非传统的预测模式。非传统的预测模式可以包括矩阵加权帧内预测(Matrix weighted intra-frame prediction,MIP)模式。传统预测模式包括:模式编号0的平面(planar)模式、模式编号1的DC模式和模式编号2到模式编号66的角度预测模式。图2为本申请实施例提供的33种角度预测模式的具体方向示意图,如图2所示,33种角度预测模式分为水平类模式和竖直类模式,水平类模式包括H+32(模式编号2)至H-32(模式编号17),竖直类模式包括V-32(模式编号18)至V+32(模式编号34)。V0(模式编号26)和H0(模式编号10)分别表示竖直和水平方向,其余角度预测模式的预测方向都可以看作是在竖直或水平方向上做一个角度偏移。VVC的参考软件测试平台(VVC TEST MODEL,VTM)对于色度块除了planar模式、DC模式和角度模式外,还有跨分量线性色度预测(Cross component linear model prediction,CCLM)模式。MIP模式目前为VVC独有,而CCLM模式也存在于其它先进的标准里,例如AV1的来自亮度的色度(Chroma from Luma,CfL)模式和AVS3的两步跨分量预测模式(Two Step Cross-component Prediction Mode,TSCPM)。
图3是本申请实施例提供的MIP模式的示意性流程图。
如图3所示,利用待编码图像块左侧的K列,上方的K行和左上方的K列重建像素点为输入,采用全连接神经网络对待编码图像块进行预测,进而得到待编码图像块的预测像素点,即待编码图像块的预测块。重建像素点也可称为重构像素值或重构像素点,预测像素点也可称为预测像素值。换言之,在一个给定的形状为MxN的待编码图像块中,例如M≤32且N≤32,以待编码图像块周围的参考点为输入,采用全连接神经网络对待编码图像块进行预测,进而得到待编码图像块的预测块。待编码图像块周围的参考点可以由待编码图像块周围的K行宽度为N+K的上参考行和K列高度为M的左参考行构成。针对不同形状的待编码图像块,对全连接神经网络的多套参数即多套网络权重需要进行率失真筛选,选择出最优的一套网络权重进行预测,并将此套参数的索引编入码流。网络权重可包括矩阵和偏置(biases)等参数。
需要说明的是,MIP模式源于基于神经网络的预测模式,具体源于基于全连接神经网络的帧内预测模式。基于神经网络的预测模式指采用神经网络对图像块进行帧内预测。基于神经网络的预测模式可包括基于非线性神经网络的预测模式或基于线性网络的预测模式。通常基于预先准备好的训练集训练出一套或多套网络权重,在使用基于神经网络的预测模式对图像块进行帧内预测时,通过读取预先训练好的一套或多套网络权重来生成预测块,然而,训练中会因为考虑到神经网络的泛用性,往往使用通用训练集训练出大多数情况下都较为适用的网络权重,但即便如此,在实际预测中,也仍会存在待编码图像块对应的训练集没有被通用训练集包括的情况,对于这样的待编码图像块,大都会选中非神经网络的帧内预测模式。此外,MIP模式局限于其只使用在亮度块的预测。并且,MIP模式的模型种类过多,训练起来较为复杂。
MIP模式相比于基于神经网络的预测模式,经过了包括网络参数、输入点数等多方面的简化,最终采用向量乘矩阵的形式完成预测。在MIP模式中,对于一个宽度为N,高度为M的待编码图像块,MIP模式会选取该块上方一行的W个重建像素点和左侧一列的H个重建像素点作为输入。如果这些位置的像素还未被重建,可像传统预测方法一样处理。MIP模式产生预测值主要基于三个步骤,分别是参考像素取均值、矩阵向量相乘和线性插值上采样。MIP模式作用于4x4至32x32大小的块,对于一个长方形的块,若长方形短边长为4时,将会从预先训练好的16套16列4行的矩阵和偏置(即网络权重)中选取最优;若长方形短边长为8时,将会从预先训练好的8套16列8行的矩阵和偏置中选取最优;若长方形短边长为16时;将会从预先训练好的6套64列8行的矩阵和偏置中选取最优。可通过合并多个训练后的神经网络的网络权重,获取上述涉及特定尺寸的块所对应的多套的矩阵和偏置。
图4是本申请实施例提供的解码框架200的示意性框图。
如图4所示,该解码框架200可包括熵解码单元210、反变换反量化单元220、残差单元230、帧内预测单元240、帧间预测单元250、环路滤波单元260、解码图像缓存单元270。
熵解码单元210接收并解析码流后,以获取预测块和频域残差块,针对频域残差块,通过反变换反量化单元220进行反变换与反量化等步骤,可获取时域残差块,残差单元230将帧内预测单元240或帧间预测单元250预测得到的预测块叠加至经过通过反变换反量化单元220进行反变换与反量化之后的时域残差块,可得到重建块。例如,帧内预测单元240或帧间预测单元250可通过解码码流的头信息,获取预测块。
应理解,图1至图4仅为本申请的示例,不应理解为对本申请的限制。
例如,该编码框架100中的环路滤波单元150可包括去块滤波器(DBF)和样点自适应补偿滤波(SAO)。DBF的作用是去块效应,SAO的作用是去振铃效应。在本申请的其他实施例中,该编码 框架100可采用基于神经网络的环路滤波算法,以提高视频的压缩效率。或者说,该编码框架100可以是基于深度学习的神经网络的视频编码混合框架。在一种实现中,可以在去块滤波器和样点自适应补偿滤波基础上,采用基于卷积神经网络的模型计算对像素滤波后的结果。环路滤波单元150在亮度分量和色度分量上的网络结构可以相同,也可以有所不同。考虑到亮度分量包含更多的视觉信息,还可以采用亮度分量指导色度分量的滤波,以提升色度分量的重建质量。
在VVC中,定义了一种量化方式,即对偶量化。对偶量化作用在变换后的块上,与传统的量化不同的是,对偶量化共包含了两个量化器,这两个量化器虽然有着相同的量化步长,但与变换系数的匹配却是交错的。
图5是本申请实施例提供的对偶量化器的示意性结构图。
如图5所示,用于对偶量化的量化器Q0和量化器Q1交错的与变换系数进行匹配。具体地,量化器Q0匹配了偶数倍的量化步长Δ与变换系数级别,变换系数级别是上文涉及的变换量化系数,即量化器Q0匹配的变换系数级别为A点和B点对应的数字,量化器Q1匹配了奇数倍的量化步长Δ与变换系数级别,即量化器Q0匹配的变换系数级别为C点和D点对应的数字。
对偶量化器通过引入两个交错的量化器,以及量化器之间跳转的原则,使得大步长的量化器能够完成更精细的量化,达到减小了重建的变换系数与原始变换系数之间的损失,从而提高编码效率。
对于每个变换系数,均可以使用量化器Q0以及量化器Q1进行量化,这两个量化器的量化的方式与传统的量化器(HEVC中的量化)相似。这两个量化器反量化后的变换系数都可以用量化步长Δ表示,这两个量化器反量化后的变换系数定义如下:
针对量化器Q0,其变换系数级别为偶数倍的量化步长Δ,当使用这个量化器Q0对变换系数等级进行反量化时,重建反量化后的变换系数t'可根据以下公式计算:
t'=2·k·Δ;
其中,k表示待反量化的变换系数级别。
针对量化器Q1,其变换系数级别为奇数或零倍的量化步长Δ,当使用量化器Q1反量化变换系数级别时,反量化后的变换系数可根据如下公式计算:
t'=(2·k-sgn(k))·Δ;
其中,sgn(·)代表符号函数,sgn(x)可按照以下公式计算:
Figure PCTCN2021075606-appb-000001
使用量化器Q0或量化器Q1进行量化并不会通过编码标志位来进行控制。取而代之的是,使用在系数扫描顺序上的上一个系数的变换系数级别的奇偶性来决定当前变换系数使用Q0或Q1。
图6是本申请实施例提供的状态机的状态转移原理的示意性流程图。
如图6所示,按照系数的扫描顺序,当前系数的重建值可以通过图6所示的转移方法决定下一个变换系数对应的状态,状态共有四种,分别由0,1,2,3这四个值来表示。例如当前变换系数对应状态为2且当前变换系数级别为5时,由于5是奇数,所以决定下一个变换系数对应的状态跳转为状态3。&表示位与运算符,==表示等于运算符。k表示当前变换系数级别,运算规则k&1表示当前变换系数级别的奇偶性。每一个变换块在扫描顺序上的第一个变换系数对应的状态被设定为初始状态0。状态的0,1,2,3也决定这当前的系数使用哪一个量化器,状态0,1对应着使用量化器Q0,状态2,3对应着使用量化器Q1。
换言之,可以通过下述状态转移表确定下一个变换系数对应的状态:
Figure PCTCN2021075606-appb-000002
例如,若当前变换系数对应的状态为2且k为5,k&1==1,此时下一个变换系数对应的状态跳转为状态3。
与率失真优化的量化(rate-distortion optimized quantization,RDOQ)的实现方式相似,变换系数级别{q k}的取值为最小化如下拉格朗日率失真代价的一个过程,具体可通过以下公式计算:
Figure PCTCN2021075606-appb-000003
其中,t k和q k分别代表当前变换系数和当前变换系数级别,t k'(q k|…)代表在q k下重建出的变换系数,R k(q k|…)代表估计出的编码q k需要消耗的比特数,λ为一个可变的系数,D代表当前编码方式造成的重建块与原始块之间的失真。上述公式中通过累计变换块中的k个变换系数的失真代价,得到变换块的拉格朗日率失真代价。
图7是图6所示的状态迁移原理下的状态机的状态和变换系数级别的依赖性的示意图。
如图7所示,编码器基于状态机的状态转移原理,可以将量化器与变换系数级别之间的依赖性表示成如图7所示的网格图,每一列的四个状态表示当前系数的可能的四种状态,即s 0,s 1,s 2以及s 3,每个变换系数对应的状态节点与编码顺序上的下一个变换系数的可能的两个状态节点相连。对于一个给定的当前变换系数t k和t k对应的状态,编码器可以使用当前量化器量化出对应的变换系数级别,编码器可以选择使用奇数的变换系数级别也可以选择使用偶数的变换系数级别,奇数的变换系数级别对应图5所示的Q0的B点和Q1的D点,偶数的变换系数级别对应图5所示的Q0的A点和和Q1的C点。当算出所有状态节点的代价J k后,基于此,变换系数级别q k就可以通过找到的一条代价总和最小的路径来决定最终的变换系数级别q_k。维特比算法(Viterbi algorithm)是一种用于查找代价总和最小的路径的动态规划算法。本申请实施例中,可以通过维特比算法在多条路线中查找一条代价总和最小的路径。
图8是图6所示的状态迁移原理下的对偶量化器用于获取变换系数级别的示意性结构图。
如图8所示,对于一个给定的当前变换系数t k,编码器找到与t k对应的分别来自Q0和Q1的候选变换系数级别,即q k,1,q k,2,q k,3,q k,4,编码器使用维特比算法以估计出的t k之前的已确定的状态节点形成的多个路径中的代价总和,确定候选路径;最终,编码器可以在候选路径中选在量化路径,并将量化路径上的状态节点对应的一系列变换系数级别确定为对变换块中的变换系数量化后的变换系数级别。
由于不同的块在预测后的残差的特性可能不同,从2个或多个变换核中选择一个合适变换核能提升压缩性能。一种方法是在码流中使用标志位来指示当前变换块使用哪一个或哪一组变换核。解码器解码这个标志位就知道使用哪一个或哪一组变换核进行反变换。另一种方法是通过隐式变换选择(Implicit selection of transforms,IST)的方式指示变换核,IST技术是一种把选择变换核的标志隐藏在变换系数级别里面的技术,IST技术不需要在码流中使用标志位来指示当前变换块使用哪一种变换核,而是把这个信息隐藏在变换系数级别中,这样解码器在解码了变换系数级别后,从变换系数级别中获得信息确定使用哪一个或哪一组变换核进行反变换。例如AVS3中使用的IST技术,将变换核的选择隐藏在变换系数级别的非零系数中的偶数系数的个数的奇偶性中。即如果变换系数级别中的偶数系数的个数为奇数,使用一个或一组变换核进行反变换,如果变换系数级别中的偶数系数的个数为偶数,使用另一个或一组变换核进行反变换。但是,针对AVS3中使用的IST技术,其变换过程中基于变换系数级别中偶数系数的个数的奇偶性指示变换核的过程和基于变换系数级别的奇偶性进行状态转移的对偶量化过程会发生冲突。
本申请实施例提供了一种基于多量化器的编码方法,不仅能够提升量化器的灵活性,使用IST技术时还能够避免变换过程和对偶量化过程发生冲突,以提升编码器的压缩性能。
图5是本申请实施例提供的编码方法300的示意性流程图。应理解,该编码方法300可由编码器执行。例如应用于图1所示的编码框架100。为便于描述,下面以编码器为例进行说明,所述编码器具有状态机和多个量化器,所述状态机具有多种状态,所述多种状态分别对应所述多个量化器。
如图5所示,所述编码方法300可包括:
S310,对目标图像序列中的目标图像块进行变换,得到目标变换块;所述目标变换块包括多个变换系数,所述多个变换系数中的第k个变换系数表示为t k,所述t k对应的候选状态包括s k,1,所述t k通过所述多个量化器中的所述s k,1对应的量化器量化后得到的候选变换系数级别包括q k,1,k>1;
S320,所述多个变换系数中的第k+1个变换系数表示为t k+1,所述t k+1对应候选状态包括s k+1,1
按照以下方式确定所述s k+1,1
基于所述s k,1和第一余数确定所述s k+1,1,所述第一余数为所述q k,1对N取模得到的余数,N≥3;所述t k+1通过所述多个量化器中的所述s k+1,1对应的量化器量化后得到的候选变换系数级别包括q  k+1,1
S330,基于对所述多个变换系数中每一个变换系数量化后得到的候选变换系数级别,确定目标量化块;
S340,对所述目标量化块进行编码,得到码流。
例如,编码器进入量化过程,确认对偶量化初始位置以及基于扫描方式定位预设位置上的变换系 数x,并将状态机状态初始化为s 0。初始状态下产生两个候选变换系数级别,这两个候选变换系数级别基于候选变换系数级别对N取模得到的余数确定下一个变换系数对应的候选状态。例如,当两个候选变换系数级别模3后余数为0和1时,下一个变换系数对应的候选状态分别为s 0和s 2;当两个候选变换系数级别模3后余数为1和2时,下一个变换系数对应的候选状态分别为s 2和s 0;当两个候选变换系数级别模3后余数为0和2时,下一个节点的候选状态跳转为s 0;接着,编码器使用下一个变换系数对应的候选状态对应的量化器对所述下一个变换系数进行量化,得到出针对所述下一个变换系数量化后的候选变换系数级别,以此类推,直至针对变换块中的最后一个变换系数完成量化操作。在一个变换系数对应的候选状态存在多条状态转移候选路径时,估算出多条状态转移候选路径中的每一条状态转移候选路径的拉格朗日率失真代价,并舍弃掉每一种候选状态中率失真较大的路径。例如,当前变换系数对应的候选状态s 0和s 2都可以得到下一个变换系数对应的候选状态s 2,此时舍弃掉代价较大的一种。这样保持下一个系数每种候选状态只来自单一路径。编码器针对变换块中的最后一个变换系数完成量化操作后,可比较现有各候选状态所在的路径的代价,选择其中代价最小的一个状态从而确定整个量化路径。
通过改变状态机的状态转移条件,即基于变换系数级别对整数N取模的余数来完成状态的跳转,当N≥3时,即使变换系数级别中偶数系数的个数的奇偶性发生变换,也可以量化路径不发生变化,相当于,能够将基于变换系数级别中偶数系数的个数的奇偶性指示变换核的过程和对偶量化过程进行解耦,进而能够避免变换核的指示方式和对偶量化过程会发生冲突。例如,在4种状态的状态机中基于变换系数级别对整数N取模的余数来完成状态的跳转,不仅能够实时更新状态机的状态,从而隐式指导编码器使用相应的量化器进行量化反量化的过程,还能够避免变换核的指示方式和对偶量化过程会发生冲突。。
本申请实施例中,通过q k对N取模得到的余数确定s k+1,一方面,N为大于等于1的整数,变换系数级别对整数N取模的余数为0,1…N-1,表示当前状态可至多支持N种跳转方式,与VVC中中的DQ基于奇偶规则的状态机仅支持两种跳转方式相比,根据N的取值不同,可对应更为灵活的跳转方式,即至多可由当前状态完成对N种状态的跳转,能够使得状态机的状态更新有更多的可能性,提高了对偶量化器设计的灵活性;另一方面,使用IST技术时还能够避免变换过程和对偶量化过程发生冲突,以提升编码器的压缩性能。
图10至图12是本申请实施例提供的对偶量化器的另一示意性结构图。
如图10所示,用于对偶量化的量化器Q0和量化器Q1交错的与变换系数进行匹配,具体地,量化器Q0匹配了偶数倍的Δ、零倍的Δ以及变换系数级别,且量化器Q0对应状态s 0和s 2,量化器Q1匹配了奇数倍的Δ、零倍的Δ以及变换系数级别,且量化器Q1对应状态s 3和s 1。如图11所示,用于对偶量化的量化器Q0和量化器Q1交错的与变换系数进行匹配,具体地,量化器Q0匹配了负的偶数倍的Δ、正的奇数倍的Δ以及变换系数级别,且量化器Q0对应状态s 0和s 2,量化器Q1匹配了正的偶数倍的Δ、负的奇数倍的Δ以及变换系数级别,且量化器Q1对应状态s 3和s 1。如图12所示,用于对偶量化的量化器Q0和量化器Q1交错的与变换系数进行匹配,具体地,量化器Q0匹配了偶数倍的Δ、零倍的Δ以及变换系数级别,且量化器Q0对应状态s 0和s 2,量化器Q1匹配了奇数倍的Δ与变换系数级别,且量化器Q1对应状态s 3和s 1
在本申请的一些实施例中,所述多个变换系数中的第一个变换系数对应的状态为初始状态。可选的,所述初始状态可以为状态0。
在本申请的一些实施例中,所述t k通过所述多个量化器中的所述s k,1对应的量化器量化后得到的候选变换系数级别还包括q k,2,所述第k+1个变换系数对应候选状态还包括s k+1,2;所述方法300还可包括:
按照以下方式确定所述s k+1,2
基于所述s k,1和第二余数确定所述s k+1,2,所述第二余数为所述q k,2对N取模得到的余数,所述t k+1通过所述多个量化器中的所述s k+1,2对应的量化器量化后得到的候选变换系数级别包括q  k+1,2
换言之,所述t k通过所述多个量化器中的所述s k,1对应的量化器量化后,可得到两个候选变换系数级别。
在本申请的一些实施例中,所述t k对应的候选状态包括还包括s k,2,所述t k通过所述多个量化器中的所述s k,2对应的量化器量化后得到的候选变换系数级别包括q k,3,所述t k+1对应候选状态还包括s k+1,3;所述方法300还可包括:
按照以下方式确定所述s k+1,3
基于所述s k,2和第三余数确定所述s k+1,3,所述第三余数为所述q k,3对N取模得到的余数。
换言之,所述t k对应的候选状态可包括两个候选状态,所述t k通过所述两个候选状态中的每一个 候选状态对应的量化器量化后,可得到两个候选变换系数级别。当然,在其他实施例中,所述t k对应的候选状态也可包括多于两个的候选状态,本申请实施例对此不作具体限定。
在本申请的一些实施例中,所述s k+1,1和所述s k+1,3相同;所述方法300还可包括:
确定所述s k+1,1所在的状态转移候选路径的拉格朗日率失真代价,和所述s k+1,3所在的状态转移候选路径的拉格朗日率失真代价;删除第一状态转移候选路径中的候选状态,以及通过所述第一状态转移候选路径中的候选状态对应的量化器量化的候选变换系数等级;所述第一状态转移候选路径为所述s k+1,1所在的状态转移候选路径和所述s k+1,3所在的状态转移候选路径中的拉格朗日率失真代价最大的状态转移候选路径。
换言之,所述t k对应的候选状态可包括两个候选状态,所述t k通过所述两个候选状态对应的量化器量化后,可得到四个候选变换系数级别,基于所述四个候选变换系数级别对N取模得到的四个余数确定的四个候选状态,存在相同的候选状态时,需要在相同的候选状态所在的状态转移候选路径中筛选出最优的状态转移候选路径。
在本申请的一些实施例中,所述多个变换系数中的最后一个变换系数对应多个候选状态,所述多个候选状态分别对应多个状态转移候选路径;所述S330可包括:
确定所述多个状态转移候选路径中的每一个状态转移候选路径的拉格朗日率失真代价;将所述多个状态转移候选路径中拉格朗日率失真代价最小的状态转移候选路径,确定为所述多个变换系数的量化路径;将通过所述量化路径中的候选状态对应的量化器量化的候选变换系数等级,确定为针对所述多个变换系数量化后的变换系数等级;基于所述针对所述多个变换系数量化后的变换系数等级,确定所述目标量化块。
换言之,编码器需要在所述多个状态转移候选路径中筛选出最优的状态转移候选路径,即量化目镜。
在本申请的一些实施例中,所述S320可包括:
基于所述s k,1、所述第一余数以及第一映射关系,确定所述s k+1,1,所述第一映射关系包括所述s k,1支持的候选状态、多个余数组中的余数组、以及所述s k+1,1支持的候选状态之间的关系,所述多个余数组为针对N个余数划分后得到余数组,所述N个余数的取值分别为0~(N-1),所述N个余数包括所述第一余数。
换言之,编码器可以对N个余数进行分类合并。
例如,N=3时,模3后余数0,1,2中的两种合并为一类,例如可以将余数0和余数2分为一类,将余数1分为一类。再如,N=4时,模3后余数0,1,2,3合并为两个余数组,例如可以将余数0、余数2和余数3分为一类,将余数1分为一类。
在一种实现方式中,所述第一映射关系包括以下中的部分或全部信息:
Figure PCTCN2021075606-appb-000004
其中,k表示所述q k,1的取值,%表示取模运算,!=表示不等于运算符,==表示等于运算符。
当然,上述中的(k%N)!=1以及(k%N)==1仅为示例,在其他可替代实施例中,可以将(k%N)!=1以及(k%N)==1分别替换为(k%N)!=n以及(k%N)==n,其中,0<n<N。
图13是本申请实施例提供的状态机的状态转移原理的示意性流程图。
如图13所示,按照系数的扫描顺序,当前系数的重建值可以通过图13所示的转移方法决定下一个变换系数对应的状态,状态共有四种,分别由0,1,2,3这四个值来表示。例如当前变换系数对应状态为2、当前变换系数级别为5且N等于3时,由于5%3的余数为2,即不等于1,所以决定下一个变换系数对应的状态跳转为状态1。每一个变换块在扫描顺序上的第一个变换系数对应的状态被设定为初始状态0。状态的0,1,2,3也决定这当前的系数使用哪一个量化器,状态0,1对应着使用量化器Q0,状态2,3对应着使用量化器Q1。
图14是图13所示的状态迁移原理下的对偶量化器的示意性结构图。
如图14所示,假设N等于3,对于一个给定的当前变换系数t k和t k对应的状态,编码器可以使用当前量化器量化出对应的变换系数级别,编码器可以选择使用余数为0的变换系数级别,也可以选择使用余数为1的变换系数级别,也可以选择使用余数为2的变换系数级别。针对量化器Q0,余数 为0的变换系数级别对应图14所示的A点,余数为1的变换系数级别对应图14所示的B点,余数为2的变换系数级别对应图14所示的C点。针对量化器Q1,余数为0的变换系数级别对应图14所示的E点,余数为1的变换系数级别对应图14所示的F点,余数为2的变换系数级别对应图14所示的D点。当然,上述A、B、C、D、E、F分别对应的余数的具体数值仅为示例,不应理解为对本申请的限制。
图15是图13所示的状态迁移原理下的状态机的状态和变换系数级别的依赖性的示意图。
如图15所示,状态机一共有4种状态,记为s 0,s 1,s 2以及s 3。通过修改状态跳转条件,相对状态机跳转基于变换系数级别的奇偶跳转的方式,基于变换后系数级别对N取模,当取模的结果为1或者不为1时,跳转至不同的状态,进而形成状态转移路径。
在一种实现方式中,所述第一映射关系包括以下中的部分或全部信息:
Figure PCTCN2021075606-appb-000005
其中,k表示所述q k,1的取值,%表示取模运算,!=表示不等于运算符,==表示等于运算符。
在一种实现方式中,所述多个余数组包括第一余数组合第二余数组,所述第一映射关系包括以下中的部分或全部信息:
Figure PCTCN2021075606-appb-000006
其中,==表示等于运算符,i按照以下公式计算:
Figure PCTCN2021075606-appb-000007
其中,所述k表示所述q k,1的取值,%表示取模运算。
例如,N=4时,模4后余数0,1,2,3分为两类,例如可以将余数0和余数3分为一类,将余数1和余数2分为一类。
图16是本申请实施例提供的状态机的状态转移原理的另一示意性流程图。
如图16所示,按照系数的扫描顺序,当前系数的重建值可以通过图16所示的转移方法决定下一个变换系数对应的状态,状态共有四种,分别由0,1,2,3这四个值来表示。例如当前变换系数对应状态为2、当前变换系数级别为5且N等于3时,由于5%3的余数为2,假设余数2属于所述第一余数组,则i==0,所以决定下一个变换系数对应的状态跳转为状态1。每一个变换块在扫描顺序上的第一个变换系数对应的状态被设定为初始状态0。状态的0,1,2,3也决定这当前的系数使用哪一个量化器,状态0,1对应着使用量化器Q0,状态2,3对应着使用量化器Q1。
图17是图16所示的状态迁移原理下的对偶量化器的示意性结构图。
如图17所示,假设N等于4,对于一个给定的当前变换系数t k和t k对应的状态,编码器可以使用当前量化器量化出对应的变换系数级别,编码器可以选择使用余数为0的变换系数级别,也可以选择使用余数为1的变换系数级别,也可以选择使用余数为2的变换系数级别,也可以选择使用余数为3的变换系数级别。针对量化器Q0,余数为0的变换系数级别对应图17所示的A点,余数为1的变换系数级别对应图17所示的B点,余数为2的变换系数级别对应图17所示的C点,余数为3的变换系数级别对应图17所示的D点。针对量化器Q1,余数为0的变换系数级别对应图17所示的E点,余数为1的变换系数级别对应图17所示的F点,余数为2的变换系数级别对应图17所示的G点,余数为3的变换系数级别对应图17所示的H点。当然,上述A、B、C、D、E、F、G以及H分别对应的余数的具体数值仅为示例,不应理解为对本申请的限制。
图18是图16所示的状态迁移原理下的状态机的状态和变换系数级别的依赖性的示意图。
如图18所示,状态机一共有4种状态,记为s 0,s 1,s 2以及s 3。通过修改状态跳转条件,相对状态机跳转基于变换系数级别的奇偶跳转的方式,基于变换后系数级别对N取模,当取模的结果属于第一余数组或第二余数组时,跳转至不同的状态,进而形成状态转移路径。
在一种实现方式中,所述多个余数组包括第一余数组合第二余数组,所述第一映射关系包括以下中的部分或全部信息:
Figure PCTCN2021075606-appb-000008
其中,==表示等于运算符,i按照以下公式计算:
Figure PCTCN2021075606-appb-000009
其中,所述k表示所述q k,1的取值,%表示取模运算。
在本申请的一些实施例中,所述S320可包括:
基于所述s k,1、第一余数以及第二映射关系,确定所述s k+1,1,所述第二映射关系包括所述s k,1支持的候选状态、以及所述s k+1,1支持的候选状态以及N个余数的对应关系,所述N个余数的取值分别为0~(N-1),所述N个余数包括所述第一余数。
换言之,编码器不对N个余数进行分类合并。
例如,N=3时,模3后余数0,1,2分别对应三种跳转方式。
例如,N=4时,模3后余数0,1,2,3分别对应四种跳转方式。
在一种实现方式中,N=3,所述第二映射关系包括以下中的部分或全部信息:
Figure PCTCN2021075606-appb-000010
其中,k表示所述q k,1的取值,%表示取模运算,==表示等于运算符。
在本申请的一些实施例中,所述多个量化器为对偶量化器,或所述多个量化器为三个量化器。
图19是本申请实施例提供的状态机的状态转移原理的另一示意性流程图。
如图19所示,按照系数的扫描顺序,当前系数的重建值可以通过图19所示的转移方法决定下一个变换系数对应的状态,状态共有四种,分别由0,1,2,3这四个值来表示。例如当前变换系数对应状态为2、当前变换系数级别为5时,由于为奇数,所以决定下一个变换系数对应的状态跳转为状态2。每一个变换块在扫描顺序上的第一个变换系数对应的状态被设定为初始状态0。状态的0,1,2,3也决定这当前的系数使用哪一个量化器,状态0,1对应着使用量化器Q0,状态2,3对应着使用量化器Q1。
图20是图19所示的状态迁移原理下的状态机的状态和变换系数级别的依赖性的示意图。
如图20所示,状态机一共有4种状态,记为s 0,s 1,s 2以及s 3。基于变换系数级别的奇偶跳转的方式,变换系数级别的奇偶不同时跳转至不同的状态,进而形成状态转移路径。换言之,本申请实施例中涉及的方案,可通过改变状态机的内部的各个状态节点的连接关系,以形成新的变形方案,其均属于本申请的保护范围。
图21是本申请实施例提供的基于三个量化器的状态转移原理的示意性流程图。
如图21所示,本申请的方案使用多个量化器,以一种3个量化器的状态转换机为例,其状态转换时,基于变换系数级别的奇偶跳转的方式,变换系数级别的奇偶不同时跳转至不同的状态,进而形成状态转移路径。换言之,本申请实施例中涉及的方案,可扩展至通过多于两个的量化步长相同的量化器进行实现。
图22是图21所示的状态迁移原理下的三个量化器的示意结构图。
如图22所示,对于一个给定的当前变换系数t k和t k对应的状态,编码器可以使用当前量化器量化出对应的变换系数级别,变换系数级别对应Q0的A点、Q1的B点以及Q2的C点。此时,状态转移条件包含根据变换系数级别的奇偶性但不仅限于变换系数级别的奇偶性。例如,还可以基于变换系数级别对N取模得到的余数,确定状态转移条件。
上文从编码端的角度详细描述了根据本申请实施例的编码方法,下面结合图23,从解码端的角度描述根据本申请实施例的解码方法。
图23示出了根据本申请实施例的解码方法400的示意性流程图。应理解,该解码方法400可由解码器执行。例如应用于图4所示的解码框架200。所述解码器具有状态机和多个量化器,所述状态机具有多种状态,所述多种状态分别对应所述多个量化器。
如图23所示,所述解码方法400可包括:
S410,通过解析码流,获取目标图像序列中的目标图像块的目标量化块,所述目标量化块包括多个变换系数级别;所述多个变换系数级别中的第k个变换系数级别表示为q k,所述q k对应的状态表示为s k,所述q k通过所述多个量化器中的所述s k对应的量化器反量化后得到的变换系数表示为t' k,k>1;
S420,所述多个变换系数级别中的第k+1个变换系数级别表示为q k+1,所述q k+1对应状态表示为s k+1
按照以下方式确定所述s k+1
基于所述s k和第三余数确定所述s k+1,所述第一余数为所述q k对N取模得到的余数,N≥3;所述q k+1通过所述多个量化器中的所述s k+1,1对应的量化器反量化后得到的变换系数表示为q  k+1,1
S430,基于对所述多个变换系数级别中每一个变换系数级别反量化后得到的变换系数,确定目标变换块;
S440,对所述目标变换块,得到所述目标图像块。
例如,解码器进入反量化过程,确认对偶量化初始位置以及扫描方式定位目标量化块中的首个变换系数级别x,并将状态机状态初始化为0。然后,解码器根据当前状态机的状态确认所使用的量化器,当前状态为s 0和s 1时,使用量化器Q0对变换系数级别x进行反量化,得到首个变换系数的重建值,当前状态为s 2和s 3时,使用量化器Q1对变换系数级别x进行反量化,得到首个变换系数的重建值。当使用量化器Q0时,首个变换系数的重建值为x*2△。当使用量化器Q1时,判断x>0是否成立,在成立的情况下,首个变换系数的重建值为(2x-1)△,在不成立的情况下,首个变换系数的重建值(2x+1)△。以此类推,直至对目标量化块中的最后一个变换系数级别完成反量化操作。其中△为量化步长。
本申请实施例中,解码器可根据当前变换系数级别的当前状态以及状态转移条件更新下一个变换系数级别的状态。例如,若当前状态为s 0,当x模3的结果为0或2时,状态机的状态更新为s 0,当x模3的结果为1时,状态机的状态更新为s 2。若当前状态为S1,当x模3的结果为0或2时,状态机的状态更新为s 2,当x模3的结果为1时,状态机的状态更新为s 0。若当前状态为s 2,当x模3的结果为0或2时,状态机的状态更新为s 1,当x模3的结果为1时,状态机的状态更新为s 3。若当前状态为s 3,当x模3的结果为0或2时,状态机的状态更新为s 3,当x模3的结果为1时,状态机的状态更新为s 1
在本申请的一些实施例中,所述多个变换系数级别中的第一个变换系数级别对应的状态为初始状态。
在本申请的一些实施例中,所述基于所述s k和第三余数确定所述s k+1,包括:
基于所述s k、所述第三余数以及第一映射关系,确定所述s k+1,所述第一映射关系包括所述s k支持的候选状态、多个余数组中的余数组、以及所述s k+1支持的候选状态之间的关系,所述多个余数组为针对N个余数划分后得到余数组,所述N个余数的取值分别为0~(N-1),所述N个余数包括所述第三余数。
在本申请的一些实施例中,所述第一映射关系包括以下中的部分或全部信息:
Figure PCTCN2021075606-appb-000011
其中,k表示所述q k的取值,%表示取模运算,!=表示不等于运算符,==表示等于运算符。
在本申请的一些实施例中,所述第一映射关系包括以下中的部分或全部信息:
Figure PCTCN2021075606-appb-000012
其中,k表示所述q k的取值,%表示取模运算,!=表示不等于运算符,==表示等于运算符。
在本申请的一些实施例中,所述多个余数组包括第一余数组合第二余数组,所述第一映射关系包括以下中的部分或全部信息:
Figure PCTCN2021075606-appb-000013
其中,==表示等于运算符,i按照以下公式计算:
Figure PCTCN2021075606-appb-000014
其中,所述k表示所述q k的取值,%表示取模运算。
在本申请的一些实施例中,所述多个余数组包括第一余数组合第二余数组,所述第一映射关系包括以下中的部分或全部信息:
Figure PCTCN2021075606-appb-000015
其中,==表示等于运算符,i按照以下公式计算:
Figure PCTCN2021075606-appb-000016
其中,所述k表示所述q k的取值,%表示取模运算。
在本申请的一些实施例中,所述基于所述s k和第三余数确定所述s k+1,包括:
基于所述s k、所述第三余数以及第二映射关系,确定所述s k+1,所述第二映射关系包括所述s k支持的候选状态、以及所述s k+1支持的候选状态以及N个余数的对应关系,所述N个余数的取值分别为0~(N-1),所述N个余数包括所述第三余数。
在本申请的一些实施例中,N=3,所述第二映射关系包括以下中的部分或全部信息:
Figure PCTCN2021075606-appb-000017
其中,k表示所述q k的取值,%表示取模运算,==表示等于运算符。
在本申请的一些实施例中,所述多个量化器为对偶量化器,或所述多个量化器为三个量化器。
应理解,解码方法400的过程为编码方法300的逆过程,即解码方法400中的步骤可以参考编码方法300中的相应步骤,为了简洁,在此不再赘述。
以上结合附图详细描述了本申请的优选实施方式,但是,本申请并不限于上述实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。还应理解,在本申请的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文详细描述了本申请的方法实施例,下文结合图11至图13,详细描述本申请的装置实施例。
图24是本申请实施例的编码器500的示意性框图。所述编码器500具有状态机和多个量化器,所述状态机具有多种状态,所述多种状态分别对应所述多个量化器。
如图24所示,所述编码器500可包括:
变换单元510,用于对目标图像序列中的目标图像块进行变换,得到目标变换块;所述目标变换块包括多个变换系数,所述多个变换系数中的第k个变换系数表示为t k,所述t k对应的候选状态包括s k,1,所述t k通过所述多个量化器中的所述s k,1对应的量化器量化后得到的候选变换系数级别包括q k,1,k>1;
所述多个变换系数中的第k+1个变换系数表示为t k+1,所述t k+1对应候选状态包括s k+1,1
量化单元520,用于:
按照以下方式确定所述s k+1,1
基于所述s k,1和第一余数确定所述s k+1,1,所述第一余数为所述q k,1对N取模得到的余数,N≥3;所述t k+1通过所述多个量化器中的所述s k+1,1对应的量化器量化后得到的候选变换系数级别包括q  k+1,1
基于对所述多个变换系数中每一个变换系数量化后得到的候选变换系数级别,确定目标量化块;
编码单元530,用于对所述目标量化块进行编码,得到码流。
在本申请的一些实施例中,所述多个变换系数中的第一个变换系数对应的状态为初始状态。
在本申请的一些实施例中,所述t k通过所述多个量化器中的所述s k,1对应的量化器量化后得到的候选变换系数级别还包括q k,2,所述第k+1个变换系数对应候选状态还包括s k+1,2
所述量化单元520还用于:
按照以下方式确定所述s k+1,2
基于所述s k,1和第二余数确定所述s k+1,2,所述第二余数为所述q k,2对N取模得到的余数,所述t k+1通过所述多个量化器中的所述s k+1,2对应的量化器量化后得到的候选变换系数级别包括q  k+1,2
在本申请的一些实施例中,所述t k对应的候选状态包括还包括s k,2,所述t k通过所述多个量化器中的所述s k,2对应的量化器量化后得到的候选变换系数级别包括q k,3,所述t k+1对应候选状态还包括s k+1,3
所述量化单元520还用于:
按照以下方式确定所述s k+1,3
基于所述s k,2和第三余数确定所述s k+1,3,所述第三余数为所述q k,3对N取模得到的余数。
在本申请的一些实施例中,所述s k+1,1和所述s k+1,3相同;
所述量化单元520还用于:
确定所述s k+1,1所在的状态转移候选路径的拉格朗日率失真代价,和所述s k+1,3所在的状态转移候选路径的拉格朗日率失真代价;
删除第一状态转移候选路径中的候选状态,以及通过所述第一状态转移候选路径中的候选状态对应的量化器量化的候选变换系数等级;所述第一状态转移候选路径为所述s k+1,1所在的状态转移候选路径和所述s k+1,3所在的状态转移候选路径中的拉格朗日率失真代价最大的状态转移候选路径。
在本申请的一些实施例中,所述多个变换系数中的最后一个变换系数对应多个候选状态,所述多个候选状态分别对应多个状态转移候选路径;
所述量化单元520具体用于:
确定所述多个状态转移候选路径中的每一个状态转移候选路径的拉格朗日率失真代价;
将所述多个状态转移候选路径中拉格朗日率失真代价最小的状态转移候选路径,确定为所述多个变换系数的量化路径;
将通过所述量化路径中的候选状态对应的量化器量化的候选变换系数等级,确定为针对所述多个变换系数量化后的变换系数等级;
基于所述针对所述多个变换系数量化后的变换系数等级,确定所述目标量化块。
在本申请的一些实施例中,所述量化单元520具体用于:
基于所述s k,1、所述第一余数以及第一映射关系,确定所述s k+1,1,所述第一映射关系包括所述s k,1支持的候选状态、多个余数组中的余数组、以及所述s k+1,1支持的候选状态之间的关系,所述多个余数组为针对N个余数划分后得到余数组,所述N个余数的取值分别为0~(N-1),所述N个余数包括所述第一余数。
在本申请的一些实施例中,所述第一映射关系包括以下中的部分或全部信息:
Figure PCTCN2021075606-appb-000018
其中,k表示所述q k,1的取值,%表示取模运算,!=表示不等于运算符,==表示等于运算符。
在本申请的一些实施例中,所述第一映射关系包括以下中的部分或全部信息:
Figure PCTCN2021075606-appb-000019
其中,k表示所述q k,1的取值,%表示取模运算,!=表示不等于运算符,==表示等于运算符。
在本申请的一些实施例中,所述多个余数组包括第一余数组合第二余数组,所述第一映射关系包括以下中的部分或全部信息:
Figure PCTCN2021075606-appb-000020
其中,==表示等于运算符,i按照以下公式计算:
Figure PCTCN2021075606-appb-000021
其中,所述k表示所述q k,1的取值,%表示取模运算。
在本申请的一些实施例中,所述多个余数组包括第一余数组合第二余数组,所述第一映射关系包括以下中的部分或全部信息:
Figure PCTCN2021075606-appb-000022
其中,==表示等于运算符,i按照以下公式计算:
Figure PCTCN2021075606-appb-000023
其中,所述k表示所述q k,1的取值,%表示取模运算。
在本申请的一些实施例中,所述量化单元520具体用于:
基于所述s k,1、第一余数以及第二映射关系,确定所述s k+1,1,所述第二映射关系包括所述s k,1支持的候选状态、以及所述s k+1,1支持的候选状态以及N个余数的对应关系,所述N个余数的取值分别为0~(N-1),所述N个余数包括所述第一余数。
在本申请的一些实施例中,N=3,所述第二映射关系包括以下中的部分或全部信息:
Figure PCTCN2021075606-appb-000024
其中,k表示所述q k,1的取值,%表示取模运算,==表示等于运算符。
在本申请的一些实施例中,所述多个量化器为对偶量化器,或所述多个量化器为三个量化器。
图25是本申请实施例的解码器600的示意性框图。所述解码器600具有状态机和多个量化器,所述状态机具有多种状态,所述多种状态分别对应所述多个量化器。
如图25所示,所述解码器600可包括:
解析单元610,用于通过解析码流,获取目标图像序列中的目标图像块的目标量化块,所述目标量化块包括多个变换系数级别;所述多个变换系数级别中的第k个变换系数级别表示为q k,所述q k对应的状态表示为s k,所述q k通过所述多个量化器中的所述s k对应的量化器反量化后得到的变换系数表示为t' k,k>1;
所述多个变换系数级别中的第k+1个变换系数级别表示为q k+1,所述q k+1对应状态表示为s k+1
反量化单元620,用于:
按照以下方式确定所述s k+1
基于所述s k和第三余数确定所述s k+1,所述第一余数为所述q k对N取模得到的余数,N≥3;所述q k+1通过所述多个量化器中的所述s k+1,1对应的量化器反量化后得到的变换系数表示为q  k+1,1
基于对所述多个变换系数级别中每一个变换系数级别反量化后得到的变换系数,确定目标变换块;
处理单元630,用于对所述目标变换块,得到所述目标图像块。
在本申请的一些实施例中,所述多个变换系数级别中的第一个变换系数级别对应的状态为初始状态。
在本申请的一些实施例中,所述反量化单元620具体用于:
基于所述s k、所述第三余数以及第一映射关系,确定所述s k+1,所述第一映射关系包括所述s k支持的候选状态、多个余数组中的余数组、以及所述s k+1支持的候选状态之间的关系,所述多个余数组为针对N个余数划分后得到余数组,所述N个余数的取值分别为0~(N-1),所述N个余数包括所述第三余数。
在本申请的一些实施例中,所述第一映射关系包括以下中的部分或全部信息:
Figure PCTCN2021075606-appb-000025
其中,k表示所述q k的取值,%表示取模运算,!=表示不等于运算符,==表示等于运算符。
在本申请的一些实施例中,所述第一映射关系包括以下中的部分或全部信息:
Figure PCTCN2021075606-appb-000026
Figure PCTCN2021075606-appb-000027
其中,k表示所述q k的取值,%表示取模运算,!=表示不等于运算符,==表示等于运算符。
在本申请的一些实施例中,所述多个余数组包括第一余数组合第二余数组,所述第一映射关系包括以下中的部分或全部信息:
Figure PCTCN2021075606-appb-000028
其中,==表示等于运算符,i按照以下公式计算:
Figure PCTCN2021075606-appb-000029
其中,所述k表示所述q k的取值,%表示取模运算。
在本申请的一些实施例中,所述多个余数组包括第一余数组合第二余数组,所述第一映射关系包括以下中的部分或全部信息:
Figure PCTCN2021075606-appb-000030
其中,==表示等于运算符,i按照以下公式计算:
Figure PCTCN2021075606-appb-000031
其中,所述k表示所述q k的取值,%表示取模运算。
在本申请的一些实施例中,所述反量化单元620具体用于:
基于所述s k、所述第三余数以及第二映射关系,确定所述s k+1,所述第二映射关系包括所述s k支持的候选状态、以及所述s k+1支持的候选状态以及N个余数的对应关系,所述N个余数的取值分别为0~(N-1),所述N个余数包括所述第三余数。
在本申请的一些实施例中,N=3,所述第二映射关系包括以下中的部分或全部信息:
Figure PCTCN2021075606-appb-000032
其中,k表示所述q k的取值,%表示取模运算,==表示等于运算符。
在本申请的一些实施例中,所述多个量化器为对偶量化器,或所述多个量化器为三个量化器。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图24所示的编码器500可以对应于执行本申请实施例的方法300中的相应主体,即编码器500中的各个单元的前述和其它操作和/或功能分别为了实现方法300等各个方法中 的相应流程。图25所示的解码器600可以对应于执行本申请实施例的方法400中的相应主体,并且解码器600中的各个单元的前述和其它操作和/或功能分别为了实现方法400等各个方法中的相应流程。
还应当理解,本申请实施例涉及的编码器500或解码器600中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,该编码器500或解码器600也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。根据本申请的另一个实施例,可以通过在包括例如中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的通用计算机的通用计算设备上运行能够执行相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造本申请实施例涉及的编码器500或解码器600,以及来实现本申请实施例的编码方法或解码方法。计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于电子设备中,并在其中运行,来实现本申请实施例的相应方法。
换言之,上文涉及的单元可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过软硬件结合的形式实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件组合执行完成。可选地,软件可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图26是本申请实施例提供的电子设备700的示意结构图。
如图26所示,该电子设备700至少包括处理器710以及计算机可读存储介质720。其中,处理器710以及计算机可读存储介质720可通过总线或者其它方式连接。计算机可读存储介质720用于存储计算机程序721,计算机程序721包括计算机指令,处理器710用于执行计算机可读存储介质720存储的计算机指令。处理器710是电子设备700的计算核心以及控制核心,其适于实现一条或多条计算机指令,具体适于加载并执行一条或多条计算机指令从而实现相应方法流程或相应功能。
作为示例,处理器710也可称为中央处理器(CentralProcessingUnit,CPU)。处理器710可以包括但不限于:通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
作为示例,计算机可读存储介质720可以是高速RAM存储器,也可以是非不稳定的存储器(Non-VolatileMemory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于远离前述处理器710的计算机可读存储介质。具体而言,计算机可读存储介质720包括但不限于:易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在一种实现方式中,该电子设备700可以是本申请实施例涉及的编码端、编码器或编码框架;该计算机可读存储介质720中存储有第一计算机指令;由处理器710加载并执行计算机可读存储介质720中存放的第一计算机指令,以实现本申请实施例提供的编码方法中的相应步骤;换言之,计算机可读存储介质720中的第一计算机指令由处理器710加载并执行相应步骤,为避免重复,此处不再赘述。
在一种实现方式中,该电子设备700可以是本申请实施例涉及的解码端、解码器或解码框架;该计算机可读存储介质720中存储有第二计算机指令;由处理器710加载并执行计算机可读存储介质720中存放的第二计算机指令,以实现本申请实施例提供的解码方法中的相应步骤;换言之,计算机可读存储介质720中的第二计算机指令由处理器710加载并执行相应步骤,为避免重复,此处不再赘 述。
根据本申请的另一方面,本申请实施例还提供了一种计算机可读存储介质(Memory),计算机可读存储介质是电子设备700中的记忆设备,用于存放程序和数据。例如,计算机可读存储介质720。可以理解的是,此处的计算机可读存储介质720既可以包括电子设备700中的内置存储介质,当然也可以包括电子设备700所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了电子设备700的操作系统。并且,在该存储空间中还存放了适于被处理器710加载并执行的一条或多条的计算机指令,这些计算机指令可以是一个或多个的计算机程序721(包括程序代码)。
根据本申请的另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。例如,计算机程序721。此时,数据处理设备700可以是计算机,处理器710从计算机可读存储介质720读取该计算机指令,处理器710执行该计算机指令,使得该计算机执行上述各种可选方式中提供的编码方法或解码方法。
换言之,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地运行本申请实施例的流程或实现本申请实施例的功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质进行传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元以及流程步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
最后需要说明的是,以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (28)

  1. 一种编码方法,其特征在于,所述编码方法应用于编码器,所述编码器具有状态机和多个量化器,所述状态机具有多种状态,所述多种状态分别对应所述多个量化器;
    所述编码方法包括:
    对目标图像序列中的目标图像块进行变换,得到目标变换块;所述目标变换块包括多个变换系数,所述多个变换系数中的第k个变换系数表示为t k,所述t k对应的候选状态包括s k,1,所述t k通过所述多个量化器中的所述s k,1对应的量化器量化后得到的候选变换系数级别包括q k,1,k>1;
    所述多个变换系数中的第k+1个变换系数表示为t k+1,所述t k+1对应候选状态包括s k+1,1
    按照以下方式确定所述s k+1,1
    基于所述s k,1和第一余数确定所述s k+1,1,所述第一余数为所述q k,1对N取模得到的余数,N≥3;所述t k+1通过所述多个量化器中的所述s k+1,1对应的量化器量化后得到的候选变换系数级别包括q k+1,1
    基于对所述多个变换系数中每一个变换系数量化后得到的候选变换系数级别,确定目标量化块;
    对所述目标量化块进行编码,得到码流。
  2. 根据权利要求1所述的方法,其特征在于,所述多个变换系数中的第一个变换系数对应的状态为初始状态。
  3. 根据权利要求1或2所述的方法,其特征在于,所述t k通过所述多个量化器中的所述s k,1对应的量化器量化后得到的候选变换系数级别还包括q k,2,所述第k+1个变换系数对应候选状态还包括s k+1,2
    所述方法还包括:
    按照以下方式确定所述s k+1,2
    基于所述s k,1和第二余数确定所述s k+1,2,所述第二余数为所述q k,2对N取模得到的余数,所述t k+1通过所述多个量化器中的所述s k+1,2对应的量化器量化后得到的候选变换系数级别包括q k+1,2
  4. 根据权利要求1至3中任一项所述的方法,其特征在于,所述t k对应的候选状态包括还包括s k,2,所述t k通过所述多个量化器中的所述s k,2对应的量化器量化后得到的候选变换系数级别包括q k,3,所述t k+1对应候选状态还包括s k+1,3
    所述方法还包括:
    按照以下方式确定所述s k+1,3
    基于所述s k,2和第三余数确定所述s k+1,3,所述第三余数为所述q k,3对N取模得到的余数。
  5. 根据权利要求4所述的方法,其特征在于,所述s k+1,1和所述s k+1,3相同;
    所述方法还包括:
    确定所述s k+1,1所在的状态转移候选路径的拉格朗日率失真代价,和所述s k+1,3所在的状态转移候选路径的拉格朗日率失真代价;
    删除第一状态转移候选路径中的候选状态,以及通过所述第一状态转移候选路径中的候选状态对应的量化器量化的候选变换系数等级;所述第一状态转移候选路径为所述s k+1,1所在的状态转移候选路径和所述s k+1,3所在的状态转移候选路径中的拉格朗日率失真代价最大的状态转移候选路径。
  6. 根据权利要求1至5中任一项所述的方法,其特征在于,所述多个变换系数中的最后一个变换系数对应多个候选状态,所述多个候选状态分别对应多个状态转移候选路径;
    所述基于对所述多个变换系数中每一个变换系数量化后得到的候选变换系数级别,确定目标量化块,包括:
    确定所述多个状态转移候选路径中的每一个状态转移候选路径的拉格朗日率失真代价;
    将所述多个状态转移候选路径中拉格朗日率失真代价最小的状态转移候选路径,确定为所述多个变换系数的量化路径;
    将通过所述量化路径中的候选状态对应的量化器量化的候选变换系数等级,确定为针对所述多个变换系数量化后的变换系数等级;
    基于所述针对所述多个变换系数量化后的变换系数等级,确定所述目标量化块。
  7. 根据权利要求1至6中任一项所述的方法,其特征在于,所述基于所述s k,1和第一余数确定所述s k+1,1,包括:
    基于所述s k,1、所述第一余数以及第一映射关系,确定所述s k+1,1,所述第一映射关系包括所述s k,1支持的候选状态、多个余数组中的余数组、以及所述s k+1,1支持的候选状态之间的关系,所述多个余数组为针对N个余数划分后得到余数组,所述N个余数的取值分别为0~(N-1),所述N个余数包括所述第一余数。
  8. 根据权利要求7所述的方法,其特征在于,所述第一映射关系包括以下中的部分或全部信息:
    Figure PCTCN2021075606-appb-100001
    其中,k表示所述q k,1的取值,%表示取模运算,!=表示不等于运算符,==表示等于运算符。
  9. 根据权利要求7所述的方法,其特征在于,所述第一映射关系包括以下中的部分或全部信息:
    Figure PCTCN2021075606-appb-100002
    其中,k表示所述q k,1的取值,%表示取模运算,!=表示不等于运算符,==表示等于运算符。
  10. 根据权利要求7所述的方法,其特征在于,所述多个余数组包括第一余数组合第二余数组,所述第一映射关系包括以下中的部分或全部信息:
    Figure PCTCN2021075606-appb-100003
    其中,==表示等于运算符,i按照以下公式计算:
    Figure PCTCN2021075606-appb-100004
    其中,所述k表示所述q k,1的取值,%表示取模运算。
  11. 根据权利要求7所述的方法,其特征在于,所述多个余数组包括第一余数组合第二余数组,所述第一映射关系包括以下中的部分或全部信息:
    Figure PCTCN2021075606-appb-100005
    其中,==表示等于运算符,i按照以下公式计算:
    Figure PCTCN2021075606-appb-100006
    其中,所述k表示所述q k,1的取值,%表示取模运算。
  12. 根据权利要求1至6中任一项所述的方法,其特征在于,所述基于所述s k,1和第一余数确定所述s k+1,1,包括:
    基于所述s k,1、第一余数以及第二映射关系,确定所述s k+1,1,所述第二映射关系包括所述s k,1支持的候选状态、以及所述s k+1,1支持的候选状态以及N个余数的对应关系,所述N个余数的取值分别为0~(N-1),所述N个余数包括所述第一余数。
  13. 根据权利要求12所述的方法,其特征在于,N=3,所述第二映射关系包括以下中的部分或全 部信息:
    Figure PCTCN2021075606-appb-100007
    其中,k表示所述q k,1的取值,%表示取模运算,==表示等于运算符。
  14. 根据权利要求1至13中任一项所述的方法,其特征在于,所述多个量化器为对偶量化器,或所述多个量化器为三个量化器。
  15. 一种解码方法,其特征在于,所述编码方法应用于解码器,所述解码器具有状态机和多个量化器,所述状态机具有多种状态,所述多种状态分别对应所述多个量化器;
    所述解码方法包括:
    通过解析码流,获取目标图像序列中的目标图像块的目标量化块,所述目标量化块包括多个变换系数级别;所述多个变换系数级别中的第k个变换系数级别表示为q k,所述q k对应的状态表示为s k,所述q k通过所述多个量化器中的所述s k对应的量化器反量化后得到的变换系数表示为t' k,k>1;
    所述多个变换系数级别中的第k+1个变换系数级别表示为q k+1,所述q k+1对应状态表示为s k+1
    按照以下方式确定所述s k+1
    基于所述s k和第三余数确定所述s k+1,所述第一余数为所述q k对N取模得到的余数,N≥3;所述q k+1通过所述多个量化器中的所述s k+1,1对应的量化器反量化后得到的变换系数表示为q k+1,1
    基于对所述多个变换系数级别中每一个变换系数级别反量化后得到的变换系数,确定目标变换块;
    对所述目标变换块,得到所述目标图像块。
  16. 根据权利要求15所述的方法,其特征在于,所述多个变换系数级别中的第一个变换系数级别对应的状态为初始状态。
  17. 根据权利要求15或16所述的方法,其特征在于,所述基于所述s k和第三余数确定所述s k+1,包括:
    基于所述s k、所述第三余数以及第一映射关系,确定所述s k+1,所述第一映射关系包括所述s k支持的候选状态、多个余数组中的余数组、以及所述s k+1支持的候选状态之间的关系,所述多个余数组为针对N个余数划分后得到余数组,所述N个余数的取值分别为0~(N-1),所述N个余数包括所述第三余数。
  18. 根据权利要求17所述的方法,其特征在于,所述第一映射关系包括以下中的部分或全部信息:
    Figure PCTCN2021075606-appb-100008
    其中,k表示所述q k的取值,%表示取模运算,!=表示不等于运算符,==表示等于运算符。
  19. 根据权利要求17所述的方法,其特征在于,所述第一映射关系包括以下中的部分或全部信息:
    Figure PCTCN2021075606-appb-100009
    其中,k表示所述q k的取值,%表示取模运算,!=表示不等于运算符,==表示等于运算符。
  20. 根据权利要求17所述的方法,其特征在于,所述多个余数组包括第一余数组合第二余数组,所述第一映射关系包括以下中的部分或全部信息:
    Figure PCTCN2021075606-appb-100010
    其中,==表示等于运算符,i按照以下公式计算:
    Figure PCTCN2021075606-appb-100011
    其中,所述k表示所述q k的取值,%表示取模运算。
  21. 根据权利要求17所述的方法,其特征在于,所述多个余数组包括第一余数组合第二余数组,所述第一映射关系包括以下中的部分或全部信息:
    Figure PCTCN2021075606-appb-100012
    其中,==表示等于运算符,i按照以下公式计算:
    Figure PCTCN2021075606-appb-100013
    其中,所述k表示所述q k的取值,%表示取模运算。
  22. 根据权利要求15或16所述的方法,其特征在于,所述基于所述s k和第三余数确定所述s k+1,包括:
    基于所述s k、所述第三余数以及第二映射关系,确定所述s k+1,所述第二映射关系包括所述s k支持的候选状态、以及所述s k+1支持的候选状态以及N个余数的对应关系,所述N个余数的取值分别为0~(N-1),所述N个余数包括所述第三余数。
  23. 根据权利要求22所述的方法,其特征在于,N=3,所述第二映射关系包括以下中的部分或全部信息:
    Figure PCTCN2021075606-appb-100014
    其中,k表示所述q k的取值,%表示取模运算,==表示等于运算符。
  24. 根据权利要求15至23中任一项所述的方法,其特征在于,所述多个量化器为对偶量化器,或所述多个量化器为三个量化器。
  25. 一种编码器,其特征在于,所述编码器具有状态机和多个量化器,所述状态机具有多种状态,所述多种状态分别对应所述多个量化器;
    所述编码器包括:
    变换单元,用于对目标图像序列中的目标图像块进行变换,得到目标变换块;所述目标变换块包括多个变换系数,所述多个变换系数中的第k个变换系数表示为t k,所述t k对应的候选状态包括s k,1, 所述t k通过所述多个量化器中的所述s k,1对应的量化器量化后得到的候选变换系数级别包括q k,1,k>1;
    所述多个变换系数中的第k+1个变换系数表示为t k+1,所述t k+1对应候选状态包括s k+1,1
    量化单元,用于:
    按照以下方式确定所述s k+1,1
    基于所述s k,1和第一余数确定所述s k+1,1,所述第一余数为所述q k,1对N取模得到的余数,N≥3;所述t k+1通过所述多个量化器中的所述s k+1,1对应的量化器量化后得到的候选变换系数级别包括q k+1,1
    基于对所述多个变换系数中每一个变换系数量化后得到的候选变换系数级别,确定目标量化块;
    编码单元,用于对所述目标量化块进行编码,得到码流。
  26. 一种解码器,其特征在于,所述解码器具有状态机和多个量化器,所述状态机具有多种状态,所述多种状态分别对应所述多个量化器;
    所述解码器包括:
    解析单元,用于通过解析码流,获取目标图像序列中的目标图像块的目标量化块,所述目标量化块包括多个变换系数级别;所述多个变换系数级别中的第k个变换系数级别表示为q k,所述q k对应的状态表示为s k,所述q k通过所述多个量化器中的所述s k对应的量化器反量化后得到的变换系数表示为t' k,k>1;
    所述多个变换系数级别中的第k+1个变换系数级别表示为q k+1,所述q k+1对应状态表示为s k+1
    反量化单元,用于:
    按照以下方式确定所述s k+1
    基于所述s k和第三余数确定所述s k+1,所述第一余数为所述q k对N取模得到的余数,N≥3;所述q k+1通过所述多个量化器中的所述s k+1,1对应的量化器反量化后得到的变换系数表示为q k+1,1
    基于对所述多个变换系数级别中每一个变换系数级别反量化后得到的变换系数,确定目标变换块;
    处理单元,用于对所述目标变换块,得到所述目标图像块。
  27. 一种电子设备,其特征在于,包括:
    处理器,适于执行计算机程序;
    计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1至14中任一项所述的编码方法,或实现如权利要求15至24中任一项所述的解码方法。
  28. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机指令,所述计算机指令适于由所述处理器加载并执行如权利要求1至14中任一项所述的编码方法,或实现如权利要求15至24中任一项所述的解码方法。
PCT/CN2021/075606 2021-02-05 2021-02-05 编码方法、解码方法、编码器、解码器以及电子设备 WO2022165763A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2021/075606 WO2022165763A1 (zh) 2021-02-05 2021-02-05 编码方法、解码方法、编码器、解码器以及电子设备
CN202180082518.2A CN116636206A (zh) 2021-02-05 2021-02-05 编码方法、解码方法、编码器、解码器以及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/075606 WO2022165763A1 (zh) 2021-02-05 2021-02-05 编码方法、解码方法、编码器、解码器以及电子设备

Publications (1)

Publication Number Publication Date
WO2022165763A1 true WO2022165763A1 (zh) 2022-08-11

Family

ID=82741920

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/075606 WO2022165763A1 (zh) 2021-02-05 2021-02-05 编码方法、解码方法、编码器、解码器以及电子设备

Country Status (2)

Country Link
CN (1) CN116636206A (zh)
WO (1) WO2022165763A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190387259A1 (en) * 2018-06-18 2019-12-19 Qualcomm Incorporated Trellis coded quantization coefficient coding
WO2020060867A1 (en) * 2018-09-21 2020-03-26 Interdigital Vc Holdings, Inc. Scalar quantizer decision scheme for dependent scalar quantization
WO2020064745A1 (en) * 2018-09-24 2020-04-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Efficient coding of transform coefficients using or suitable for a combination with dependent scalar quantization
CN111131819A (zh) * 2018-10-31 2020-05-08 北京字节跳动网络技术有限公司 依赖性量化的编码工具下的量化参数

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190387259A1 (en) * 2018-06-18 2019-12-19 Qualcomm Incorporated Trellis coded quantization coefficient coding
WO2020060867A1 (en) * 2018-09-21 2020-03-26 Interdigital Vc Holdings, Inc. Scalar quantizer decision scheme for dependent scalar quantization
WO2020064745A1 (en) * 2018-09-24 2020-04-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Efficient coding of transform coefficients using or suitable for a combination with dependent scalar quantization
CN111131819A (zh) * 2018-10-31 2020-05-08 北京字节跳动网络技术有限公司 依赖性量化的编码工具下的量化参数

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HEIKO SCHWARZ ET AL.: "CE7: Transform Coefficient Coding and Dependent Quantization (Tests 7.1.2, 7.2.1)", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11, JVET-K0071, 18 July 2018 (2018-07-18), XP030198772 *

Also Published As

Publication number Publication date
CN116636206A (zh) 2023-08-22

Similar Documents

Publication Publication Date Title
RU2684202C2 (ru) Улучшенный процесс кодирования с использованием режима палитры
JP7277616B2 (ja) ビデオ・データを処理する方法、装置及び記憶媒体
US20190273928A1 (en) Scanning orders for non-transform coding
WO2020258055A1 (zh) 环路滤波的方法与装置
JP7286783B2 (ja) 符号化方法、復号化方法、デコーダ、エンコーダー及び記憶媒体
WO2022155923A1 (zh) 编码方法、解码方法、编码器、解码器以及电子设备
JP2022538968A (ja) ビデオデータの変換スキップ残差符号化
WO2022116085A1 (zh) 编码方法、解码方法、编码器、解码器以及电子设备
WO2021185008A1 (zh) 编码方法、解码方法、编码器、解码器以及电子设备
WO2022052533A1 (zh) 编码方法、解码方法、编码器、解码器以及编码系统
CN117296312A (zh) 用于交叉分量样本自适应偏移的方法和系统
US11202085B1 (en) Low-cost hash table construction and hash-based block matching for variable-size blocks
JP2022520295A (ja) デコードのための予測方法及びその装置、並びにコンピュータ記憶媒体
US20200068198A1 (en) Block-based video decoding method using pre-scan and apparatus thereof
JP2023507935A (ja) パレットモードで映像データを符号化するための方法及び装置
WO2022165763A1 (zh) 编码方法、解码方法、编码器、解码器以及电子设备
WO2022178686A1 (zh) 编解码方法、编解码设备、编解码系统以及计算机可读存储介质
CN113395520B (zh) 解码预测方法、装置及计算机存储介质
KR20170058870A (ko) 비선형 매핑을 통한 영상 부호화/복호화 방법 및 장치
CN115086664A (zh) 未匹配像素的解码方法、编码方法、解码器以及编码器
CN115428455A (zh) 调色板预测方法
JP2022548204A (ja) 変換スキップモードで映像データを符号化するための方法及び装置
WO2023193254A1 (zh) 解码方法、编码方法、解码器以及编码器
WO2023193253A1 (zh) 解码方法、编码方法、解码器以及编码器
WO2023123398A1 (zh) 滤波方法、滤波装置以及电子设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21923779

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202180082518.2

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21923779

Country of ref document: EP

Kind code of ref document: A1