WO2022178686A1 - 编解码方法、编解码设备、编解码系统以及计算机可读存储介质 - Google Patents

编解码方法、编解码设备、编解码系统以及计算机可读存储介质 Download PDF

Info

Publication number
WO2022178686A1
WO2022178686A1 PCT/CN2021/077522 CN2021077522W WO2022178686A1 WO 2022178686 A1 WO2022178686 A1 WO 2022178686A1 CN 2021077522 W CN2021077522 W CN 2021077522W WO 2022178686 A1 WO2022178686 A1 WO 2022178686A1
Authority
WO
WIPO (PCT)
Prior art keywords
coefficient matrix
quantization
transform
coefficient
quantized
Prior art date
Application number
PCT/CN2021/077522
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/077522 priority Critical patent/WO2022178686A1/zh
Priority to CN202180093908.XA priority patent/CN116848844A/zh
Publication of WO2022178686A1 publication Critical patent/WO2022178686A1/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Definitions

  • the embodiments of the present application relate to the field of video compression, and more particularly, to an encoding and decoding method, an encoding and decoding device, an encoding and decoding system, and a computer-readable storage medium.
  • Video compression technology mainly compresses huge digital video and video data to facilitate transmission and storage.
  • Video compression standards can save a lot of video data, they still face the problems of low coding efficiency and high coding complexity.
  • an encoding method a decoding method, an encoding device, a decoding device, an encoding and decoding system, and a computer-readable storage medium, which can combine an implicit transform kernel with dependency quantization, improve encoding efficiency, and reduce the complexity of the encoding device.
  • the present application provides an encoding method, comprising:
  • the first quantization coefficient matrix is adjusted to obtain the second quantization coefficient matrix, so the first quantization coefficient matrix is different from the second quantization coefficient matrix;
  • a code stream is generated based on the first quantized coefficient matrix or the second quantized coefficient matrix.
  • the present application provides a decoding method, comprising:
  • Inverse quantization is performed on the quantization coefficient matrix to obtain a transformation coefficient matrix, wherein from a specified position, the quantization coefficient matrix is inversely quantized using dependent quantization;
  • inverse transform is performed on the transform coefficient matrix to obtain a residual block
  • a decoded image is obtained from the residual block and the predicted prediction block.
  • an encoding device including:
  • the prediction module is used to predict the current coding block and obtain the predicted block
  • a residual error obtaining module configured to obtain a residual block of the current coding block according to the current coding block and the prediction block;
  • a transform module configured to perform transform processing on the residual block through at least one transform kernel to obtain a transform coefficient matrix
  • a quantization module configured to perform quantization processing on the transformation coefficient matrix to obtain a first quantization coefficient matrix, wherein the transformation coefficient matrix is quantized using dependent quantization from a specified position;
  • an adjustment module configured to adjust the first quantization coefficient matrix if the first quantization coefficient matrix needs to be adjusted according to the used transform kernel and the first quantization coefficient matrix to obtain the second quantization coefficient matrix a quantized coefficient matrix, the first quantized coefficient matrix is different from the second quantized coefficient matrix;
  • a code stream generation module configured to generate a code stream based on the first quantized coefficient matrix or the second quantized coefficient matrix.
  • a decoding device including:
  • the parsing module is used to parse the received code stream and obtain the quantization coefficient matrix of the current coding block;
  • a transform kernel determination module configured to determine the transform kernel to be used according to the quantization coefficients of the quantization coefficient matrix of the current coding block
  • an inverse quantization module configured to perform inverse quantization on the quantization coefficient matrix to obtain a transformation coefficient matrix, wherein the quantization coefficient matrix is inversely quantized using dependent quantization from a specified position;
  • an inverse transform module configured to perform inverse transform on the transform coefficient matrix to obtain a residual block based on the transform kernel determined to be used
  • a prediction module for obtaining a decoded image from the residual block and the predicted prediction block.
  • an encoding and decoding system including: the above-mentioned encoding device and decoding device.
  • a sixth aspect provides an encoding method, the method comprising:
  • the third quantization coefficient matrix is adjusted to obtain a fourth quantization coefficient matrix, and the third quantization coefficient matrix is adjusted.
  • the three quantized coefficient matrix is different from the fourth quantized coefficient matrix;
  • a code stream is generated based on the third quantized coefficient matrix or the fourth quantized coefficient matrix.
  • an encoding device comprising:
  • At least one memory includes instructions that, when executed by the at least one processor, perform the encoding method as described above.
  • a decoding device including:
  • At least one memory includes instructions that, when executed by the at least one processor, perform the decoding method as described above.
  • a computer-readable storage medium stores a computer program, wherein the computer program implements the above-mentioned encoding method or the above-mentioned decoding method when executed by a processor.
  • FIG. 1 is a schematic block diagram of an encoding framework 10 provided by an embodiment of the present application.
  • FIG. 2 is a schematic block diagram of a decoding framework 20 provided by an embodiment of the present application.
  • FIG. 3 is a schematic diagram of the quantization-dependent quantizer Q0 and the quantizer Q1 matching transform coefficients according to an embodiment of the present application.
  • FIG. 4 is a schematic diagram of a transfer method in coefficient scanning order according to an embodiment of the present application.
  • FIG. 5 is a graph of dependency grids between quantizers and transform coefficient levels according to an embodiment of the present application.
  • FIG. 6 is a schematic diagram showing the dependence of the state of the grid structure on the transform coefficient level according to the embodiment of the present application.
  • FIG. 7 is a schematic diagram of candidate transform coefficient levels according to an embodiment of the present application.
  • FIG. 8 is a flowchart of an encoding method according to an embodiment of the present application.
  • FIG. 9 is a schematic diagram of a coding unit in an embodiment of the present application after transformation and quantization.
  • FIG. 10 is a schematic flowchart of an encoding method according to another embodiment of the present application.
  • FIG. 11 is a schematic flowchart of a decoding method according to an embodiment of the present application.
  • FIG. 12 is a block diagram of an encoding device according to an embodiment of the present application.
  • FIG. 13 is a block diagram of a decoding device according to an embodiment of the present application.
  • the technical solutions involved in the embodiments of the present application can be applied to the field of image encoding and decoding, the field of video encoding and decoding, the field of hardware video encoding and decoding, the field of dedicated circuit video encoding and decoding, and the field of real-time video encoding and decoding.
  • the solution of the present application can be incorporated into the Audio Video coding Standard (AVS).
  • AVC H.264/Audio Video coding
  • HEVC High Efficiency Video Coding
  • VVC Versatile Video Coding
  • Video compression or video coding is the processing of sequences of pictures that form a video or video sequence.
  • a picture sequence includes a series of pictures, which are further divided into slices, which are further divided into blocks.
  • Video encoding is a block-by-block encoding process.
  • a video slice, a frame of pictures or a series of pictures are divided into coding tree units (CTUs).
  • the CTU is generally an area with a luminance component size of 128*128.
  • the CTU may be further divided into coding units CU.
  • CU is the basic unit of coding.
  • prediction can be performed using the pixels surrounding the block as a reference.
  • prediction can be performed with reference to spatially adjacent block information and reference information in other frames.
  • the residual information obtained based on the original value and the predicted value of the input video can be transformed, quantized and entropy encoded in block units to form a code stream.
  • a module for video compression which may include a module for block division, an intra-frame prediction and/or inter-frame prediction module for reducing or taking out the inherent redundancy in the video, a transform quantization and inverse transform and inverse quantization module for residual information, Multiple modules such as loop filtering module and entropy coding module to improve the quality of subjective and objective reconstruction.
  • FIG. 1 it is a schematic block diagram of an encoding framework 10 provided by an embodiment of the present application. It should be understood that the encoding framework 10 can be used to perform lossy compression on video as well as lossless compression on video.
  • the lossless compression may be visually lossless compression (visually lossless compression) or mathematically lossless compression (mathematically lossless compression).
  • the encoding framework 10 includes a transform and quantization module 101 , an inverse transform and inverse quantization module 102 , an entropy encoding module 103 , a loop filtering module 104 , a decoded picture buffer module 105 and a prediction module 106 .
  • Prediction module 106 may include intra prediction module 107 and motion estimation/compensation module 108 .
  • the prediction module 106 may predict the target image block in the input video with reference to neighboring image blocks of the image frame to be encoded. Based on the predicted block and the target image block to be encoded, a residual block, that is, the difference between the predicted block and the target image block to be encoded, may be calculated, and the residual block may also be referred to as residual information.
  • the residual block can remove information insensitive to human eyes through the transformation and quantization process of the transformation and quantization module 101 to eliminate visual redundancy.
  • the residual block before transformation and quantization by the transform and quantization module 101 may be referred to as a time domain residual block
  • the time domain residual block after transformation and quantization by the transform/quantization module 101 may be referred to as a frequency residual block block or frequency domain residual block.
  • the entropy coding module 103 can output a code stream based on the quantized variation coefficient and the intra-frame prediction data or motion data output by the prediction module 106 .
  • the entropy encoding module 103 can eliminate character redundancy according to the target context model and the probability information of the binary code stream.
  • the entropy coding module 103 may be used for context-based adaptive binary arithmetic entropy coding (CABAC).
  • CABAC context-based adaptive binary arithmetic entropy coding
  • the decoding device After the decoding device receives and parses the code stream, it obtains a time-domain residual block through steps such as inverse transformation and inverse quantization.
  • the reconstructed block can be obtained after the predicted prediction block is superimposed on the temporal residual block.
  • the target image block may also be referred to as an original image block, an image block to be encoded, or a current encoding block
  • a prediction block may also be referred to as a predicted image block or an image prediction block
  • a reconstructed block may also be referred to as a reconstructed image block or image reconstruction block.
  • the target image block may also be referred to as a target encoding block or a target encoded image block
  • the target image block may also be referred to as a target decoding block or a target decoding image block.
  • the target image block may be a target CTU or a target CU.
  • the prediction module 106 may include an intra prediction module 107 and a motion estimation/compensation module 108 .
  • the intra prediction module 107 is used for intra prediction. Intra prediction can only refer to the information of the same frame image to predict the pixel information in the target image block. Frames used for intra prediction may be I-frames. Performing intra prediction removes spatial redundancy.
  • the motion estimation/compensation module 108 is used for inter prediction.
  • Inter-frame prediction can refer to image information of different frames, and use motion estimation to search for motion vector information that best matches the target image block.
  • Frames used for inter-frame prediction may be P frames and/or B frames, where P frames refer to forward predicted frames, and B frames refer to bidirectional predicted frames.
  • Inter-frame prediction removes temporal redundancy.
  • the target image block cannot refer to information of different image frames, and can only be predicted by using adjacent image blocks of the same image frame as reference information.
  • the target image block can refer to the upper left image block, the upper image block and the left image block as reference information to predict the target image block, and the target image block As the reference information for the next image block, in this way, the entire image can be predicted.
  • the input digital video is in color format, for example, YUV 4:2:0 format
  • every 4 pixels of each image frame of the digital video is composed of 4 Y components and 2 UV components
  • the encoding framework 10 can The Y and UV components are encoded separately.
  • the decoding device can also perform corresponding decoding according to the format.
  • intra-frame prediction may be performed on the target coding block by using the angular prediction mode and the non-angular prediction mode to obtain the prediction block.
  • the optimal prediction mode of the target image block is screened out, and the prediction mode is transmitted to the decoding device through the code stream.
  • the decoding device 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 prediction mode may include an average mode and a plane mode.
  • the angle prediction mode may include various prescribed modes of digital video coding.
  • the coefficients transformed and quantized by the transform and quantization module 101 are inversely extended and inversely transformed by the inverse transform and inverse quantization module 131 to obtain a residual signal (residual block). After the approximate residual signal is added to the prediction block, it is filtered by the loop filter module 104 to smoothly filter out the effects of blockiness caused by block-based processing and quantization.
  • the loop filtering module 104 may include a deblocking filter (DBF) and sample adaptive compensation filtering (SAO).
  • DBF deblocking filter
  • SAO sample adaptive compensation filtering
  • the decoded picture cache module 105 is used to store decoded pictures for use in prediction of subsequent pictures.
  • FIG. 1 is only an example of the present application, and should not be construed as a limitation of the present application.
  • the decoding device After the decoding device receives the code stream sent by the encoding device, it obtains a temporal residual block and a prediction block based on the code stream, and then can construct a reconstructed block based on the temporal residual block and the predicted block, and after filtering the reconstructed block, can generate a decoding image.
  • FIG. 2 is a schematic block diagram of a decoding framework 20 provided by an embodiment of the present application.
  • the decoding framework 20 includes:
  • Entropy decoding module 201 Entropy decoding module 201, inverse transform and inverse quantization module 202, intra prediction module 203, motion estimation/compensation module 204, filtering module 205 and decoded picture buffering module 206.
  • the entropy decoding module 201 receives and parses the code stream from the encoding device to obtain prediction blocks and frequency domain residual blocks.
  • the inverse transform and inverse quantization module 202 performs steps such as inverse transformation and inverse quantization to obtain the time domain residual block.
  • the reconstructed block can be obtained by superimposing the prediction block predicted by the motion estimation/compensation module 204 or the intra-frame prediction module 203 on the temporal residual block after inverse transformation and inverse quantization by the inverse transform and inverse quantization module 202 .
  • the motion estimation/compensation module 204 or the intra prediction module 203 can obtain the prediction block by decoding the header information of the target code stream.
  • the residual block obtained by performing spatial prediction or temporal prediction on the encoding block still contains a certain amount of redundant data in the spatial domain.
  • the pixel values within the CU become residual values, and before transformation, the CU is divided into transform units TU.
  • the transformation unit TU is used to complete the process of transformation and quantization. Through transform and quantization, the image energy can be concentrated in the low frequency range, the dynamic range of image coding can be reduced, and the code stream can be saved.
  • the specific operation process of transforming a block is to multiply the block by a transform matrix (transform kernel).
  • the transform kernel may include a discrete cosine transform (Discrete Cosine Transform, DCT) kernel, a discrete sine transform (Discrete Sine Transform, DST) kernel, a Fourier transform kernel, and the like.
  • Implicit Selection of Transforms is a multi-core transformation technology, which achieves the purpose of implicit selection transformation by hiding the sign of the selection transformation core in the quantization coefficients. Since the characteristics of the predicted residuals may be different for different blocks, selecting an appropriate transform kernel from 2 or more transform kernels can improve the compression performance.
  • a flag bit may be used in the codestream to indicate which transform core or group of transform cores the current transform block (transform unit) uses.
  • the decoding device obtains the flag bit by decoding, and can use the corresponding transformation kernel to perform inverse transformation.
  • transform kernel information indicating the use of the current transform block may be hidden in the quantization coefficients.
  • the decoding apparatus After decoding the quantized coefficients, the decoding apparatus obtains transform kernel information from the quantized coefficients to perform inverse transform using the corresponding transform kernels.
  • the transform kernel information may be hidden in the parity of the number of even coefficients of the quantized coefficients.
  • the first transformation kernel is used to perform inverse transformation; if the number of even-numbered coefficients in the quantized coefficients is even, the second transformation kernel is used to inversely transform. transform.
  • the first transformation kernel and the second transformation kernel are the same, or the first transformation kernel and the second transformation kernel are different.
  • Quantization is to map the signal in the value range X to a smaller value range Y, thereby reducing the number of bits represented by the signal.
  • the transformed transform coefficient values generally have a larger dynamic range.
  • a quantization method is usually used. The quantization process divides the value range of the transform coefficients into different intervals, and all the values contained in each interval are represented by only one label, which realizes many-to-one mapping of the transform coefficient values.
  • DQ Dependent Quantization
  • FIG. 3 it is a schematic diagram of a quantization-dependent quantizer Q0 and a quantizer Q1 matching transform coefficients according to an embodiment of the present application.
  • the quantizer Q0 matches an even multiple of the quantization step size ⁇ and the transform coefficient level (that is, the numbers corresponding to points A and B), and the quantizer Q1 matches an odd multiple of the quantization step size ⁇ and the transform coefficient level (ie, C, D). point the corresponding number).
  • the quantizer with large step size can complete finer quantization, which can reduce the loss between the reconstructed transform coefficients and the original transform coefficients. , so as to improve the coding efficiency.
  • quantization can be performed using the two quantizers Q0 and Q1 described in FIG. 3 .
  • the quantization of these two quantizers is similar to the conventional quantizer (quantization in HEVC).
  • the reconstruction coefficients of the two quantizers can be represented by the quantization step size ⁇ , and the reconstruction coefficients of the two quantizers are defined as follows:
  • the reconstruction level of the quantizer is an even multiple of the quantization step size ⁇ , and when this quantizer is used, the reconstructed transform coefficient t' can be calculated according to the following formula (1).
  • k represents the transform coefficient level in FIG. 3 .
  • the reconstruction level of the quantizer is odd or zero times the quantization step size ⁇ , and when this quantizer is used, the reconstructed transform coefficient t' can be calculated according to the following formula (2).
  • sgn( ⁇ ) represents the sign function, as shown in formula (3).
  • the current transform coefficient use Q0 or Q1 is decided according to the parity of the transform coefficient level (the transform coefficient level described in FIG. 3 ) of the previous coefficient in the coefficient scanning order.
  • the state of the next coefficient can be determined by the current coefficient through the transition method shown in FIG. 4 .
  • there are four states which are represented by four values of 0, 1, 2, and 3, respectively. For example, when the state of the current coefficient is 2 and the current transform coefficient level is 5, since 5 is an odd number, the state of the next coefficient is determined to jump to state 3.
  • the state of the first coefficient in scan order of each transform block is set to the initial state 0.
  • State 0, 1, 2 and 3 determine which quantizer is used for the current coefficient, where state 0 and 1 correspond to using quantizer Q0, and states 2 and 3 correspond to using quantizer Q1.
  • the value of the quantization-dependent transform coefficient level ⁇ q k ⁇ is a process that minimizes the following formula (4).
  • t k and q k represent the original transform coefficient and transform coefficient level, respectively
  • %) represents the reconstructed transform coefficient value at the current transform coefficient level q k
  • %) represents the number of bits that the estimated encoding q k needs to consume.
  • the dependencies between quantizers and transform coefficient levels can be represented as a trellis diagram as shown in FIG. 5 .
  • the four states in each column represent the four possible states of the current coefficient, and each node is connected to the possible two state nodes of the next coefficient in the coding order.
  • the corresponding transform coefficient level can be quantized using the current quantizer.
  • the encoding device may choose to use odd-numbered transform coefficient levels, or may choose to use even-numbered transform coefficient levels.
  • a trellis structure represents a dependency diagram of states and transform coefficient levels according to an embodiment.
  • the coding order is from left to right.
  • the odd-numbered transform coefficient levels correspond to B (Q0 with parity 1) and D (Q1 with parity 1) in FIG. 6 .
  • Even transform coefficient levels correspond to A (Q0 with parity 0) and C (Q1 with parity 0).
  • the transform coefficient level q k can be determined by finding a route with the smallest cost sum. Determining the minimum cost sum can be achieved by the Viterbi algorithm.
  • candidate transform coefficient levels include A, B, C, and D.
  • Q0 and Q1 the two transform coefficient levels that best match the original transform coefficients are selected.
  • the transform coefficient level q k of a series of current nodes is determined based on the estimated sum of rate-distortion costs.
  • RDO Rate-Distortion Optimization
  • the quantization value will be re-corrected during the quantization process.
  • the accuracy of quantization dependent quantization is higher than that of rate-distortion-optimized quantization.
  • FIG. 8 it is a flowchart of an encoding method according to an embodiment of the present application.
  • the method shown in FIG. 8 can be performed by the encoding device above, and includes steps S81 to S86.
  • the current coding block is a coding block in the original input video.
  • the current coding block may be a CU.
  • the current coding block can be predicted by means of inter-frame prediction or intra-frame prediction.
  • the encoding device may have N transform kernels (N is a natural number greater than or equal to 1).
  • N is a natural number greater than or equal to 1.
  • different transform kernels may be traversed in sequence to transform the residual block, so as to determine at least one transform kernel for transforming the residual block. For example, the first transform kernel is used to transform the current residual block, and then the second transform kernel is used to transform the current residual block.
  • the transform kernel used for transforming the residual block may be determined according to the rate-distortion cost corresponding to each transform kernel in the at least one transform kernel.
  • the transform kernel with the least rate-distortion cost may be determined as the transform kernel for transforming the residual block.
  • the dependent quantization is used from the specified position.
  • the specified position is the position corresponding to the Mth non-zero coefficient of the transform coefficient matrix according to the coefficient scanning order, where M is a positive integer greater than or equal to 1.
  • FIG. 9 it is a schematic diagram of a coding unit after transform and quantization in an embodiment.
  • 0 means zero coefficient
  • 1 means non-zero coefficient.
  • the line with arrows in the figure is the order of coefficient scanning, which is a zig-zag scanning method starting from the lower right corner. According to the scanning sequence shown in FIG. 9 , the position corresponding to the second non-zero coefficient is the position corresponding to the second 1.
  • the coefficient region modified by implicit selection transformation and the coefficient region modified by quantization are separated, so as to realize the coexistence of the two technologies, improve the coding efficiency, and only need to change the quantization coefficient in a relatively low range, and can Reduce the complexity of encoding equipment.
  • Using the position corresponding to the second non-zero coefficient can further reduce the coding complexity and improve the coding efficiency.
  • the transform coefficients before the designated position can be quantized using a preset quantization method.
  • the preset quantization mode is the default quantization mode of the encoding device.
  • the default quantization mode may be RDOQ quantization mode or constant quantization parameter quantization mode, etc.
  • quantizing the transform coefficient matrix may include:
  • the jump state of the next transform coefficient is determined according to the parity of the quantization coefficient obtained after the transform coefficient is quantized, so as to use a corresponding quantizer to quantize the next transform coefficient. That is, k in FIG. 4 is changed to the quantized coefficient obtained after the transform coefficient is quantized, and the jump state is determined according to the parity of the quantized coefficient.
  • performing quantization processing on the transform coefficient matrix may further include:
  • the jump state of the next transform coefficient is determined according to the result of taking the modulo of the quantization coefficient obtained after the transform coefficient is quantized, so as to use a corresponding quantizer to quantize the next transform coefficient.
  • transform coefficients and quantization coefficients are corresponding. As shown in FIG. 4 , determining the jump state, that is, determining the jump state of the transform coefficient, or determining the jump state of the quantization coefficient.
  • the first quantization coefficient matrix is adjusted to obtain a second quantization coefficient matrix, and the first quantization coefficient matrix is different from The second quantized coefficient matrix.
  • different transformation kernels use different implicit representations. For example, if the first type of transformation kernel is used, the number of even-numbered coefficients in the quantization coefficient matrix is an odd number, and if the second type of transformation kernel is used, the number of even-numbered coefficients in the quantization coefficient matrix is an even number.
  • a modulo operation may be performed on the number of even coefficients of the quantization coefficient matrix, and the used transformation kernel may be determined according to the result of the modulo operation. For example, in the case of three transformation kernels, the modulo 3 operation is performed on the number of even coefficients, the remainder is 0 corresponding to the first transformation kernel, the remainder 1 corresponds to the second transformation kernel, and the remainder 2 corresponds to the third transformation kernel .
  • adjusting the first quantized coefficient matrix includes: adjusting the quantized coefficients before a specified position in the first quantized coefficient matrix.
  • the number of even coefficients in the first matrix of quantized coefficients is determined. If the parity of the number of even-numbered coefficients in the first quantized coefficient matrix does not match the parity representation of the used transform kernel, adjust the parity of the quantized coefficients before the specified position in the first quantized coefficient matrix to obtain the second Quantization coefficient matrix.
  • the transform kernels usable by the encoding apparatus include a first transform kernel and a second transform kernel.
  • the first transform kernel can indicate that the number of even-numbered coefficients of the quantized coefficient matrix is odd
  • the second transform kernel can indicate that the number of even-numbered coefficients of the quantized coefficient matrix is even.
  • the first transform kernel may indicate that the number of even-numbered coefficients of the quantization coefficient matrix is an even number
  • the second transform kernel may indicate that the number of even-numbered coefficients of the quantization coefficient matrix is an odd number.
  • the first transform kernel may be a discrete cosine transform kernel
  • the second transform kernel may be a discrete sine transform kernel
  • the first transformation kernel it needs to be implicitly represented by the number of even coefficients in the current quantization coefficient matrix (the first quantization coefficient matrix) being odd, and the number of even coefficients in the current quantization coefficient matrix is even, then adjust the current The parity of the coefficients before the specified position in the coefficient matrix is quantized to achieve a parity representation that satisfies the first transform kernel.
  • the identification bit includes at least one of the following information: the transform coefficient scan boundary of the transform coefficient matrix and whether the transform coefficient is a non-zero coefficient.
  • adjusting the parity of the quantization coefficients before the specified position in the first quantization coefficient matrix may include: adding 1 or subtracting 1 to the quantization coefficients before the specified position in the first quantization coefficient matrix .
  • a code stream is generated based on the adjusted second quantization coefficient matrix. If the first quantization coefficient matrix is not adjusted, a code stream is generated based on the first quantization coefficient matrix.
  • the code stream at least includes: an identification bit, and a first quantization coefficient matrix or a second quantization coefficient matrix.
  • the identification bit includes at least one of the following information: whether the transform coefficient scanning boundary of the transform coefficient matrix corresponding to the first quantization coefficient matrix or the second quantization coefficient matrix is a non-zero coefficient and whether the transform coefficient is a non-zero coefficient.
  • the parity of the number of even coefficients in the quantization coefficient matrix may also be replaced by the parity of odd coefficients or the parity of the number of non-zero even coefficients in the quantization coefficient matrix. That is, if the parity of the number of odd coefficients in the quantization coefficient matrix does not match the parity representation of the transform kernel used, then adjust the parity of the quantization coefficients before the specified position in the first quantization coefficient matrix to obtain the second quantization coefficient matrix. Quantization coefficient matrix.
  • FIG. 10 it is a schematic flowchart of an encoding method according to another embodiment of the present application, which includes steps S101 to S106 .
  • the dependent quantization processing is performed on the transform coefficients in the transform coefficient matrix, including:
  • the jump state of the next transform coefficient is determined according to the result of taking the modulo of the quantization coefficient obtained after the transform coefficient is quantized, so as to use a corresponding quantizer to quantize the next transform coefficient.
  • the modulo may be a modulo 3 operation, a modulo 4 operation, or the like.
  • the operation results are 0, 1, 2 and 3.
  • the results of 0 and 1 can be classified into the first category, and 2 and 3 into the second category.
  • Each category controls a jump direction.
  • the number of even coefficients in the third matrix of quantized coefficients is determined. If the parity of the number of even coefficients in the third quantization coefficient matrix does not match the parity representation of the transform kernel used, a specified zero coefficient is adjusted before the preset non-zero coefficient of the quantization coefficient matrix.
  • the designated zero coefficients are zero coefficients adjacent to the preset non-zero coefficients.
  • the preset non-zero coefficient may be the first non-zero coefficient, the second non-zero coefficient or other preset non-zero coefficients.
  • the non-zero coefficient obtained after the specified zero coefficient is adjusted conforms to the current state determined by the previous coefficient and does not change the state of the next non-zero coefficient.
  • the parity of the number of even coefficients in the third quantization coefficient matrix in the embodiment shown in FIG. 10 may also be replaced by the parity of odd coefficients in the third quantization coefficient matrix parity or the number of non-zero even coefficients.
  • dependent quantization is used from the beginning, and the implicit selection transformation is corrected by adjusting the coefficients. Parity representation. Therefore, by adjusting the specified coefficients before the preset non-zero coefficients of the quantization coefficient matrix, the coexistence of implicit selection transformation and dependent quantization can be realized, the coding efficiency is improved, and the complexity of the coding device is reduced.
  • FIG. 11 is a schematic flowchart of a decoding method according to an embodiment of the present application, which includes steps S111 to S115.
  • S112 Determine the transform kernel to be used according to the quantization coefficients of the quantization coefficient matrix of the current decoding block.
  • the quantization coefficient is determined according to the parity of the number of even coefficients, the parity of the number of odd coefficients, or the number of non-zero even coefficients in the quantization coefficient matrix of the current decoding block.
  • the transform kernel used by the matrix is determined according to the parity of the number of even coefficients, the parity of the number of odd coefficients, or the number of non-zero even coefficients in the quantization coefficient matrix of the current decoding block.
  • N transformation cores that can be used by the decoding device, where N is a natural number greater than or equal to 1.
  • the decoding device can determine the transform kernel to be used by parsing the code stream and according to the quantization coefficient matrix.
  • the transform kernel includes a first transform kernel and a second transform kernel, taking the transform kernel determined according to the parity of the number of even-numbered coefficients of the quantization coefficient matrix as an example, if the number of even-numbered coefficients of the quantization coefficient matrix of the current decoding block is is an odd number, the used transform kernel is determined to be the first transform kernel; if the number of even coefficients of the quantization coefficients of the current decoding block is an even number, the used transform kernel is determined to be the second transform kernel.
  • the first transformation kernel is different from the second transformation kernel.
  • the first transform kernel may be a discrete cosine transform kernel
  • the second transform kernel may be a discrete sine transform kernel.
  • a modulo operation may be performed on the number of even coefficients of the quantization coefficient matrix, and the used transformation kernel may be determined according to the result of the modulo operation. For example, in the case of three transformation kernels, the modulo 3 operation is performed on the number of even coefficients, the remainder is 0 corresponding to the first transformation kernel, the remainder 1 corresponds to the second transformation kernel, and the remainder 2 corresponds to the third transformation kernel .
  • the transform kernel to be used for inverse transform can be determined by quantizing the coefficient matrix.
  • inverse quantization is performed on the quantization coefficient matrix using a preset quantization method, wherein the preset quantization method is different from the dependent quantization.
  • the specified position is the position corresponding to the Mth non-zero transform coefficient, where M is a positive integer greater than or equal to 1.
  • the specified position is the position corresponding to the second non-zero coefficient. It should be understood that the specified position may also be other non-zeroth natural number coefficients, for example, the third non-zero coefficient.
  • the preset quantization mode is the default quantization mode.
  • the default quantization mode may be RDOQ quantization mode or constant quantization parameter quantization mode, etc.
  • the identification bit can be obtained by parsing the received code stream.
  • the identification bit includes at least one of the following information: the transform coefficient scan boundary of the transform coefficient matrix corresponding to the quantized coefficient matrix and whether the transform coefficient is a non-zero coefficient. Thereby, the position of the non-zero transform coefficients can be determined, and thus the starting position of the dependent quantization can be determined.
  • the jump state of the next quantized coefficient is determined according to the parity of the quantized coefficient, so as to use the corresponding quantizer to quantify the next quantized coefficient Do inverse quantization.
  • the jump state of the next quantized coefficient is determined according to the result of taking the modulo of the quantized coefficient, so that the corresponding quantizer is used to perform inverse quantization on the next quantized coefficient.
  • the decoding apparatus can perform inverse quantization through dependent quantization from a specified position, and perform quantization through a default quantization method before the specified position, thereby realizing efficient inverse quantization of the decoded block.
  • the entropy decoding unit 201 can parse the code stream to obtain the prediction information, quantization coefficient matrix, etc. of the current decoding block, and the motion estimation/motion compensation module 204 or the intra prediction module 203 uses the prediction information for the current decoding block. Intra prediction or inter prediction produces the predicted block of the current decoded block.
  • the inverse quantization/transform unit 202 uses the quantized coefficient matrix obtained from the code stream to perform inverse quantization and inverse transformation on the quantized coefficient matrix to obtain a residual block.
  • the reconstructed block is obtained by adding the prediction block and the residual block.
  • the reconstructed blocks of other image blocks in the image to be decoded can be obtained, and the decoded image can be obtained based on each reconstructed block.
  • the reconstructed block may be filtered through the filtering module 205 shown in FIG. 2 , for example, loop filtering is performed to obtain a final reconstructed block, and a decoded image is obtained. It should be understood that filtering may also be performed in other filtering manners, which are not limited in this embodiment of the present application.
  • the decoding method of this embodiment of the present application the coexistence of implicit selection transformation and dependent quantization can be realized, the decoding efficiency is improved, and the quantization coefficients only need to be changed in a relatively low range, which can reduce the complexity of decoding.
  • the encoding and decoding methods of the embodiments of the present application can solve the conflict between implicit selection transform and dependent quantization, so that the performance of the two can be better coupled; by indicating the position where the quantization coefficient is modified by the implicit selection transform, the dependent quantization coefficient technology is guaranteed. validity and correct transmission of transform kernel information.
  • the encoding and decoding efficiency can be effectively improved, the quantization coefficients can be changed to a relatively low extent, and the complexity of the encoding and decoding equipment can be reduced.
  • the encoding and decoding methods of the embodiments of the present application specify the starting position of the dependent quantization, and can also apply the dependent quantization to all coefficients, which increases the flexibility of the dependent quantization and enables the encoding device to have more choices.
  • the decoding method adopted by the decoding device may refer to the decoding framework as shown in FIG. 2 .
  • step S113 dependent quantization is used to perform inverse quantization from the beginning, and other steps can be the same as the decoding method shown in FIG. 11 .
  • the encoding device 12 is a block diagram of an encoding device according to an embodiment of the application.
  • the encoding device 12 includes:
  • the prediction module 121 is used to predict the current coding block and obtain the prediction block;
  • a residual error obtaining module 122 configured to obtain a residual block of the current coding block according to the current coding block and the prediction block;
  • a transform module 123 configured to perform transform processing on the residual block through at least one transform kernel to obtain a transform coefficient matrix
  • a quantization module 124 configured to perform quantization processing on the transformation coefficient matrix to obtain a first quantization coefficient matrix, wherein the transformation coefficient matrix is quantized using dependent quantization from a specified position;
  • the adjustment module 125 is configured to adjust the first quantization coefficient matrix if the first quantization coefficient matrix needs to be adjusted according to the used transform kernel and the first quantization coefficient matrix, so as to obtain the first quantization coefficient matrix.
  • a matrix of diquantized coefficients, the first matrix of quantized coefficients is different from the second matrix of quantized coefficients;
  • the code stream generation module 126 is configured to generate a code stream based on the first quantized coefficient matrix or the second quantized coefficient matrix.
  • the decoding device 13 is a block diagram of a decoding device according to an embodiment of the application.
  • the decoding device 13 includes:
  • the parsing module 131 is used for parsing the received code stream to obtain the quantization coefficient matrix of the current decoding block;
  • a transform kernel determination module 132 configured to determine the transform kernel to be used according to the quantization coefficients of the quantization coefficient matrix of the current decoding block;
  • an inverse quantization module 133 configured to perform inverse quantization on the quantization coefficient matrix to obtain a transformation coefficient matrix, wherein, from a specified position, use dependent quantization to perform inverse quantization processing on the quantization coefficient matrix;
  • an inverse transform module 134 configured to perform inverse transform on the transform coefficient matrix to obtain a residual block based on the transform kernel determined to be used;
  • the prediction module 135 is used to obtain a decoded image according to the residual block and the predicted prediction block.
  • an embodiment of the present application further provides an encoding and decoding system, which includes the above-mentioned encoding device and a decoding device.
  • an encoding device comprising:
  • At least one memory includes instructions that, when executed by the at least one processor, perform the encoding method described above in FIG. 9 or FIG. 10 .
  • At least one memory includes instructions that, when executed by the at least one processor, perform the decoding method described above with respect to FIG. 11 .
  • the processor 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 Field Programmable Gate Array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • DSP Digital Signal Processor
  • ASIC Application Specific Integrated Circuit
  • FPGA field programmable gate Field Programmable Gate Array
  • the memory 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). Erase programmable read-only memory (Electrically EPROM, EEPROM) or flash memory.
  • Volatile memory may be Random Access Memory (RAM), which acts as an external cache.
  • RAM 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 instructions may be divided into one or more modules, and the one or more modules are stored in the memory and executed by the processor to complete the encoding and decoding methods provided by the present application .
  • the one or more modules may be a series of computer program instruction segments capable of performing specific functions, and the instruction segments are used to describe the execution process of the computer program in the device.
  • Corresponding embodiments of the present application further provide a computer-readable storage medium, where the computer-readable storage medium stores a computer program, wherein the computer program, when executed by a processor, implements the aforementioned encoding method or decoding method.
  • 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.
  • the functional modules can be implemented in the form of hardware, can also be implemented by instructions in the form of software, and can also be implemented by a combination of hardware and software modules.
  • 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 modules in the decoding processor.
  • the software modules 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.
  • the disclosed system, apparatus and method may be implemented in other manners.
  • the apparatus embodiments described above are only illustrative.
  • the division of the modules is only a logical function division. In actual implementation, there may be other division methods.
  • multiple modules or components may be combined or Integration into another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or modules, and may be in electrical, mechanical or other forms.
  • Modules described as separate components may or may not be physically separated, and components shown as modules may or may not be physical modules, that is, may be located in one place, or may be distributed over multiple network elements. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution in this embodiment. For example, each functional module in each embodiment of the present application may be integrated into one processing module, or each module may exist physically alone, or two or more modules may be integrated into one module.

Abstract

本申请实施例提供一种编码方法、解码方法、编码设备、解码设备、编解码系统以及计算机可读存储介质,所述编码方法包括:对当前编码块进行预测,获取预测块;根据当前编码块和预测块,获取当前编码块的残差块;通过至少一个变换核,对残差块进行变换处理得到变换系数矩阵;对变换系数矩阵进行量化处理,得到第一量化系数矩阵;根据使用的变换核和第一量化系数矩阵,若需要对第一量化系数矩阵进行调整,则对第一量化系数矩阵进行调整,以得到第二量化系数矩阵,第一量化系数矩阵不同于第二量化系数矩阵;基于第一量化系数矩阵或第二量化系数矩阵,生成码流。通过本申请可提升编解码效率。

Description

编解码方法、编解码设备、编解码系统以及计算机可读存储介质 技术领域
本申请实施例涉及视频压缩领域,更为具体地,涉及一种编解码方法、编解码设备、编解码系统以及计算机可读存储介质。
背景技术
视频压缩技术主要是将庞大的数字影像视频数据进行压缩,以便于传输以及存储等。随着互联网视频的激增以及人们对视频清晰度的要求越来越高,尽管已有的视频压缩标准能够节省不少视频数据,但目前仍然面临编码效率不高和编码复杂度高等问题。
发明内容
提供了一种编码方法、解码方法、编码设备、解码设备、编解码系统以及计算机可读存储介质,能够将隐式变换核和依赖量化结合,提升编码效率,并可减轻编码设备的复杂度。
第一方面,本申请提供一种编码方法,包括:
对当前编码块进行预测,获取预测块;
根据所述当前编码块和所述预测块,获取所述当前编码块的残差块;
通过至少一个变换核,对所述残差块进行变换处理得到变换系数矩阵;
对所述变换系数矩阵进行量化处理,得到第一量化系数矩阵,其中,从指定位置开始使用依赖量化对所述变换系数矩阵进行量化处理;
根据使用的变换核和所述第一量化系数矩阵,若需要对所述第一量化系数矩阵进行调整,则对所述第一量化系数矩阵进行调整,以得到所述第二量化系数矩阵,所述第一量化系数矩阵不同于所述第二量化系数矩阵;
基于所述第一量化系数矩阵或所述第二量化系数矩阵,生成码流。
第二方面,本申请提供一种解码方法,包括:
解析接收到的码流,获取当前编码块的量化系数矩阵;
根据所述当前编码块的量化系数矩阵的量化系数,确定使用的变换核;
对所述量化系数矩阵进行反量化得到变换系数矩阵,其中,从指定位置开始使用依赖量化对所述量化系数矩阵进行反量化处理;
基于确定使用的变换核,对所述变换系数矩阵进行反变换得到残差块;
根据所述残差块和经预测得到的预测块,以获得解码图像。第三方面,提供一种编码设备,包括:
预测模块,用于对当前编码块进行预测,获取预测块;
残差获取模块,用于根据所述当前编码块和所述预测块,获取所述当前编码块的残差块;
变换模块,用于通过至少一个变换核,对所述残差块进行变换处理得到变换系数矩阵;
量化模块,用于对所述变换系数矩阵进行量化处理,得到第一量化系数矩阵,其中,从指定位置开始使用依赖量化对所述变换系数矩阵进行量化处理;
调整模块,用于根据使用的变换核和所述第一量化系数矩阵,若需要对所述第一量化系数矩阵进行调整,则对所述第一量化系数矩阵进行调整,以得到所述第二量化系数矩阵,所述第一量化系数矩阵不同于所述第二量化系数矩阵;
码流生成模块,用于基于所述第一量化系数矩阵或所述第二量化系数矩阵,生成码流。
第四方面,提供一种解码设备,包括:
解析模块,用于解析接收到的码流,获取当前编码块的量化系数矩阵;
变换核确定模块,用于根据所述当前编码块的量化系数矩阵的量化系数,确定使用的变换核;
反量化模块,用于对所述量化系数矩阵进行反量化得到变换系数矩阵,其中,从指定位置开始使用依赖量化对所述量化系数矩阵进行反量化处理;
反变换模块,用于基于确定使用的变换核,对所述变换系数矩阵进行反变换得到残差块;
预测模块,用于根据所述残差块和经预测得到的预测块,以获得解码图像。
第五方面,提供一种编解码系统,包括:上述的编码设备和解码设备。
第六方面,提供一种编码方法,所述方法包括:
对当前编码块进行预测,获取预测块;
根据所述当前编码块和所述预测块,获取所述当前编码块的残差块;
通过至少一个变换核,对所述残差块进行变换处理得到变换系数矩阵;
按照系数扫描顺序,依次对所述变换系数矩阵中的变换系数进行依赖量化处理,得到第三量化系数矩阵;
根据使用的变换核和所述第三量化系数矩阵,若需要对所述第三量化系数矩阵进行调整,则对所述第三量化系数矩阵进行调整,以得到第四量化系数矩阵,所述第三量化系数矩阵不同于所述第四量化系数矩阵;
基于所述第三量化系数矩阵或所述第四量化系数矩阵,生成码流。
第七方面,提供一种编码设备,包括:
至少一个处理器;
至少一个存储器,包括指令,当该指令被所述至少一个处理器执行时,执行如上述的编码方法。
第八方面,提供一种解码设备,包括:
至少一个处理器;
至少一个存储器,包括指令,当该指令被所述至少一个处理器执行时,执行 如上述的解码方法。
第九方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其中,所述计算机程序时被处理器执行时实现上述的编码方法或上述的解码方法。
本申请实施例,通过将隐式选择变换修改的系数区域和依赖量化修改的系数区域进行隔离,以实现两种技术的共存,提高编码效率,且仅需较低幅度的改变量化系数,可减轻编解码设备的复杂度。
附图说明
图1是本申请实施例提供的编码框架10的示意性框图。
图2是本申请实施例提供的解码框架20的示意性框图。
图3是本申请实施例的依赖量化的量化器Q0和量化器Q1与变换系数匹配的示意图。
图4是本申请实施例在系数扫描顺序上的转移方法示意图。
图5是本申请实施例的量化器与变换系数级别之间的依赖网格图。
图6是本申请实施例的网格结构表示状态与变换系数级别的依赖性示意图。
图7是本申请实施例的候选变换系数级别示意图。
图8是本申请一实施例的编码方法流程图。
图9是本申请实施例的编码单元经过变换量化后的示意图。
图10是本申请另一实施例的编码方法的流程示意图。
图11是本申请一实施例的解码方法的流程示意图。
图12是本申请一实施例的编码设备的框图。
图13是本申请一实施例的解码设备的框图。
具体实施方式
为了对本申请的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本申请的具体实施方式。应理解,本申请实施例可在其它方面中使用,并可包括附图中未描绘的结构或逻辑变化。因此,以下具体实施方式不应以限制性的意义来理解,且本申请的范围由所附权利要求书界定。进一步,应理解的是,除非另外明确提出,本文中所描述的各示例性实施例和/或方面的特征可以互相组合。
本申请实施例所涉及的技术方案可应用于图像编解码领域、视频编解码领域、硬件视频编解码领域、专用电路视频编解码领域、实时视频编解码领域。例如,本申请的方案可结合至音视频编码标准(Audio Video coding Standard,AVS)。例如,H.264/音视频编码(Audio Video coding,AVC)标准,H.265/高效视频编码(High Efficiency Video Coding,HEVC)标准以及H.266/多功能视频编码(Versatile Video Coding,VVC)标准。应理解,本申请实施例涉及的技术方案,还可能应用于未来的视频编码标准中。
本申请的实施例部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
视频压缩或视频编码是处理形成视频或视频序列的图片序列。图片序列包括一系列图像(picture),图像被进一步划分为切片(slice),切片再被划分为块(block)。视频编码是以块为单位进行编码处理。一个视频片,一帧图片或一系列图片会被划分成编码树单元CTU。CTU一般为亮度分量128*128大小的区域。CTU可进一步被划分成编码单元CU。CU为编码的基本单位。对于帧内块,可通过块周边像素作为参考进行预测。对于帧间块,可参考空间上的邻近块信息和其他帧里的参考信息进行预测。基于输入视频的原始值和预测值得到的残差信息,可以块为单位进行变换、量化和熵编码,以形成码流。这些技术被描述在标准里,并实施在各种与视频压缩相关的领域。
用于视频压缩的模块,可包括用于块划分的模块,用于减少或取出视频内在冗余的帧内预测和/或帧间预测模块,残差信息的变换量化和反变换反量化模块,提高主客观重建质量的环路滤波模块和熵编码模块等多个模块。
为了便于理解,先对本申请实施例提供的编解码框架进行简单介绍。
参见图1是本申请实施例提供的编码框架10的示意性框图。应理解,该编码框架10可用于对视频进行有损压缩(lossy compression),也可用于对视频进行无损压缩(lossless compression)。该无损压缩可以是视觉无损压缩(visually lossless compression),也可以是数学无损压缩(mathematically lossless compression)。
如图1所示,该编码框架10包括变换量化模块101、反变换反量化模块102、熵编码模块103、环路滤波模块104、解码图片缓存模块105和预测模块106。预测模块106可包括帧内预测模块107和运动估计/补偿模块108。预测模块106可参考待编码图像帧的相邻图像块对输入视频中的目标图像块进行预测。基于预测块与待编码的目标图像块可计算残差块,即预测块和待编码的目标图像块的差值,该残差块也可称为残差信息。
该残差块经由变换量化模块101的变换与量化等过程,可以去除人眼不敏感的信息,以消除视觉冗余。在一些实施例中,经过变换量化模块101变换与量化之前的残差块可称为时域残差块,经过变换/量化模块101变换与量化之后的时域残差块可称为频率残差块或频域残差块。熵编码模块103接收到变换/量化模块101输出的量化后的变化系数后,可基于该量化后的变化系数和预测模块106输出的帧内预测数据或运动数据,输出码流。例如,熵编码模块103可根据目标上下文模型以及二进制码流的概率信息消除字符冗余。例如,熵编码模块103可以用于基于上下文的自适应二进制算术熵编码(CABAC)。
解码设备接收并解析码流后,经过反变换与反量化等步骤得到时域残差块。将预测得到的预测块叠加时域残差块后,即可得到重建块。
在本申请实施例中,目标图像块也可称为原始图像块、待编码的图像块或当前编码块,预测块也可称为预测图像块或图像预测块,重建块也可称为重建图像 块或图像重建块。此外,针对编码设备,目标图像块也可称为目标编码块或目标编码图像块,针对解码设备,目标图像块也可称为目标解码块或目标解码图像块。
在本申请的实施例中,目标图像块可以是目标CTU或目标CU。
如图1所示,预测模块106可包括帧内预测模块107和运动估计/补偿模块108。帧内预测模块107用于进行帧内预测。帧内预测可只参考同一帧图像的信息,以预测目标图像块内的像素信息。帧内预测所使用的帧可以为I帧。进行帧内预测可消除空间冗余。
运动估计/补偿模块108用于进行帧间预测。帧间预测可以参考不同帧的图像信息,利用运动估计搜索最匹配目标图像块的运动矢量信息。帧间预测所使用的帧可以为P帧和/或B帧,其中,P帧指的是向前预测帧,B帧指的是双向预测帧。进行帧间预测可消除时间冗余。
以帧内预测过程为例,目标图像块不能参考不同图像帧的信息,只能借助同一图像帧的相邻图像块作为参考信息进行预测。例如,可根据从左至右、从上到下的编码顺序,目标图像块可以参考左上侧图像块,上侧图像块以及左侧图像块作为参考信息来预测目标图像块,而目标图像块又作为下一个图像块的参考信息,如此,可对整幅图像进行预测。若输入的数字视频为彩色格式,例如,YUV 4:2:0格式,则该数字视频的每一图像帧的每4个像素点由4个Y分量和2个UV分量组成,编码框架10可对Y分量和UV分量分别进行编码。类似的,解码设备也可根据格式进行相应的解码。
再如,可借助角度预测模式与非角度预测模式对目标编码块进行帧内预测,以得到预测块。根据预测块与目标图像块计算得到的率失真信息,筛选出目标图像块最优的预测模式,并将该预测模式经码流传输到解码设备。解码设备解析出预测模式,预测得到目标解码块的预测块并叠加经码流传输而获取的时域残差块,可得到重建块。可选的,该非角度预测模式可包括均值模式和平面模式。可选的,该角度预测模式可包括各种数字视频编码的规定的模式。
经变换量化模块101变换和量化的系数通过反变换反量化模块131的反扩展、反变换得到残差信号(残差块)。该近似残差信号加上预测块后,经环路滤波模块104的滤波,以平滑滤除由于基于块处理和量化产生的块效应等影响。
环路滤波模块104可包括去块滤波器(DBF)和样点自适应补偿滤波(SAO)。DBF的作用是去方块效应,SAO的作用是去除振铃效应。
解码图片缓存模块105用于存储经解码后的图片,以便用于后续图片的预测。
应理解,图1仅为本申请的示例,不应理解为对本申请的限制。
解码设备接收到编码设备发送的码流后,基于码流获取时域残差块和预测块,进而可基于时域残差块和预测块构建重建块,对该重建块滤波后,可生成解码图像。
如图2所示是本申请实施例提供的解码框架20的示意性框图。解码框架20包括:
熵解码模块201、反变换反量化模块202、帧内预测模块203、运动估计/补 偿模块204、滤波模块205和解码图片缓存模块206。
熵解码模块201接收并解析来自编码设备的码流,以获取预测块和频域残差块。针对频域残差块,通过反变换反量化模块202进行反变换与反量化等步骤,可获取时域残差块。将运动估计/补偿模块204或帧内预测模块203预测得到的预测块叠加至经过通过反变换反量化模块202进行反变换与反量化之后的时域残差块,可得到重建块。在一实施例中,运动估计/补偿模块204或帧内预测模块203可通过解码目标码流的头信息,获取预测块。
在上述图1和图2所示的编解码过程中,对编码块进行空间预测或时间预测得到的残差块中,仍然包含一定的空域冗余数据。预测完成后,CU内的像素值变为残差值,并且在变换前,将CU划分为变换单元TU。变换单元TU用于完成变换、量化的过程。通过变换量化可将图像能量集中在低频范围内,减少图像编码动态范围,节省码流。
对一个块作变换具体的运算过程为将这个块乘上变换矩阵(变换核)。变换核可包括离散余弦变换(Discrete Cosine Transform,DCT)核、离散正弦变换(Discrete Sine Transform,DST)核、傅里叶变换核等。
隐式选择变换(Implicit Selection of Transforms,IST)是一种多变换核的变换技术,通过将选择变换核的标志隐藏在量化系数里达到隐式选择变换的目的。由于不同的块在预测后的残差的特性可能不同,从2个或多个变换核中选择一个合适变换核能提升压缩性能。
在一实施例中,可在码流中,使用标志位来指示当前变换块(变换单元)使用哪一个或哪一组变换核。解码设备通过解码得到标志位,即可使用相应的变换核进行反变换。
在另一实施例中,可将指示当前变换块使用的变换核信息隐藏在量化系数中。解码设备在解码了量化系数后,从量化系数中获得变换核信息,以使用相应的变换核进行反变换。
可选的,可将变换核信息隐藏在量化系数的偶数系数的个数的奇偶性中。在一实施例中,如果量化系数中的偶数系数的个数为奇数,则使用第一变换核进行反变换;如果量化系数中的偶数系数的个数为偶数,则使用第二变换核进行反变换。其中,第一变换核和第二变换核相同,或者第一变换核和第二变换核不相同。
量化是将处于取值范围X的信号映射到一个较小的取值范围Y中,从而减少信号表示的比特数。变换后的变换系数值通常具有较大的动态范围。为了减小这些系数的取值空间,通常采用量化方法。量化过程把变换系数取值范围分为不同的区间,每个区间包含的全部数值只用一个标号来代表,实现变换系数取值多对一的映射。
依赖量化(Dependent Quantization,DQ)为一种量化方式,其共包含两个量化器,这两个量化器有相同的量化步长,但与变换系数的匹配却是交错的。
参见图3,是本申请实施例的依赖量化的量化器Q0和量化器Q1与变换系数匹配的示意图。
其中,量化器Q0匹配了偶数倍的量化步长Δ与变换系数级别(即A、B点对应的数字),量化器Q1匹配了奇数倍的量化步长Δ与变换系数级别(即C、D点对应的数字)。
依赖量化通过引入两个交错的量化器,以及量化器之间跳转的原则,使得大步长的量化器能够完成更精细的量化,可减小重建的变换系数与原始变换系数之间的损失,从而提高编码效率。
对于每个变换系数,可以使用图3中描述的两种量化器Q0和Q1进行量化。这两个量化器的量化的方式与传统的量化器(HEVC中的量化)相似。两个量化器的重建系数都可以用量化步长Δ表示,两个量化器的重建系数定义如下:
对于量化器Q0,该量化器的重建级别为偶数倍的量化步长Δ,当使用这个量化器时,重建的变换系数t′可根据如下公式(1)计算。
t′=2·k·Δ           (1)
其中,k表示图3中变换系数级别。
对于量化器Q1,该量化器的重建级别为奇数或零倍的量化步长Δ,当使用这个量化器时,重建的变换系数t′可根据如下公式(2)计算。
t′=(2·k-sgn(k))·Δ         (2)
其中,sgn(·)代表符号函数,如公式(3)所示。
Figure PCTCN2021077522-appb-000001
使用Q0或Q1进行量化,不通过编码标志位来进行控制。而是根据系数扫描顺序上的上一个系数的变换系数级别(图3中所述的变换系数级别)的奇偶性来决定当前变换系数使用Q0或Q1。
参见图4,在系数扫描顺序上,可以通过图4所示的转移方法,通过当前系数决定下一个系数的状态。在一个实施例中,状态共有四种,分别由0、1、2和3这四个值来表示。例如,当前系数的状态为2且当前变换系数级别为5时,由于5是奇数,所以决定下一个系数的状态跳转为状态3。
每一个变换块在扫描顺序上的第一个系数的状态被设定为初始状态0。状态的0、1、2和3决定着当前的系数使用哪一个量化器,其中,状态0和1对应着使用量化器Q0,状态2和3对应着使用量化器Q1。
与率失真优化量化(Rate-Distortion Optimized Quantization,RDOQ)的实现方式相似,依赖量化的变换系数级别{q k}的取值为最小化如下公式(4)的一个过程。
J=D+λ·R=∑ k(t k-t′ k(q k|q k-1,q k-2,...)) 2+λ·R k(q k|q k-1,q k-2,...)                                              (4)
其中,t k和q k分别代表原始的变换系数和变换系数级别,t′ k(q k|...)代表在当前变换系数级别q k下重建出的变换系数值,R k(q k|...)代表估计出的编码q k需要消耗的比特数。
参见图4所示的状态机的转移,可以将量化器与变换系数级别之间的依赖性表示成如图5所示的网格图。
每一列的四个状态表示当前系数可能的四种状态,每个节点与编码顺序上下一个系数的可能的两个状态节点相连。对于一个给定的当前状态和当前变换系数t k,可以使用当前量化器量化出对应的变换系数级别。编码设备可以选择使用奇数的变换系数级别,也可以选择使用偶数的变换系数级别。
参见图6为一实施例的网格结构表示状态与变换系数级别的依赖性图。其中,编码顺序为从左到右。奇数变换系数级别对应图6中B(Q0 with parity 1)和D(Q1 with parity 1)。偶数变换系数级别对应A(Q0 with parity 0)和C(Q1 with parity 0)。当根据公式(5)算出所有节点的代价后,变换系数级别q k就可以通过找到一条代价总和最小的路线来决定。确定最小代价和可以通过维特比算法(Viterbi algorithm)来实现。
J k(q k)=(t k-t′ k(q k|...)) 2+λ·R k(q k|...)       (5)
具体的实现由两步组成:
S1、找到4个与原始变换系数对应的分别来自Q0和Q1的候选变换系数级别。参见图7,候选变换系数级别包括A、B、C和D。对于Q0和Q1,与原始变换系数最匹配的两个变换系数级别会被选中。
S2、使用维特比算法,基础估计出的率失真(rate-distortion)代价总和来确定一系列当前节点的变换系数级别q k
在编码过程中,若采用隐式选择变换进行变换,会通过率失真优化(Rate-Distortion Optimization,RDO)选择出较优的变换核。在量化的过程中,可结合率失真优化量化RDOQ修改其中的量化值的奇偶性以达到对应的隐式条件,从而确保编解码匹配。
而依赖量化的量化方式,由于当前变换系数的量化会受到前一变换系数的量化的影响,在量化过程中会对量化值进行重新修正。依赖量化的量化精确度相比于率失真优化量化的精确度更高。
但,由于隐式选择变换和依赖量化都需要对量化系数进行修改,目前两种技术存在实现上的冲突,在变换和量化时,无法同时采用隐式选择变换和依赖量化。
本申请实施例,通过将隐式选择变换修改的系数区域和依赖量化修改的系数区域进行隔离,以实现两种技术的共存,提高编码效率,且仅需较低幅度的改变量化系数,可减轻编码设备的复杂度。
参见图8为本申请一实施例的编码方法流程图。图8所示的方法可由上文中的编码设备执行,包括步骤S81至步骤S86。
S81、对当前编码块进行预测,获取预测块。
当前编码块为原始输入视频中的一个编码块,如前所述,当前编码块可为一个CU。对当前编码块可通过帧间预测或帧内预测等方式进行预测。
S82、根据当前编码块和预测块,获取当前编码块的残差块。
S83、通过至少一个变换核,对所述残差块进行变换处理得到变换系数矩阵。
在本申请的实施例中,编码设备可有N个变换核(N为大于或等于1的自然数)。在确定变换核时,可依次遍历不同变换核对残差块进行变换,从而确定至少一个变换核用于对残差块进行变换处理。例如,先对当前残差块使用第一变换核进行变换,再对当前残差块使用第二种变换核进行变换。
在一个实施例中,可根据至少一个变换核中各个变换核对应的率失真代价,确定用于对残差块进行变换处理的变换核。可将率失真代价最小的变换核确定为用于对残差块进行变换的变换核。
S84、对变换系数矩阵进行量化处理,得到第一量化系数矩阵,其中,从指定位置开始使用依赖量化对变换系数矩阵进行量化处理。
在本申请的实施例中,若当前编码设备使用依赖量化进行量化,则从指定位置开始使用依赖量化。该指定位置为按照系数扫描顺序,变换系数矩阵的第M个非零系数对应的位置,M为大于或等于1的正整数。
参见图9为一实施例中,一个编码单元经过变换量化后的示意图。其中,0表示零系数,1表示非零系数。图中的带箭头的线是系数扫描的顺序,是从右下角开始的一种zig-zag扫描方式。按照图9所示的扫描顺序,第二个非零系数对应的位置为第二个1对应的位置。
本申请实施例中,通过将隐式选择变换修改的系数区域和依赖量化修改的系数区域进行隔离,以实现两种技术的共存,提高编码效率,且仅需较低幅度的改变量化系数,可减轻编码设备的复杂度。而使用第二个非零系数对应的位置,可进一步降低编码复杂度,提升编码效率。
在一实施例中,在指定位置之前的变换系数可使用预设量化方式进行量化处理。预设量化方式为编码设备默认的量化方式。默认的量化方式可为RDOQ量化方式或恒定量化参数量化方式等。
在本申请的一实施例中,可根据上述图4和图5所描述的跳转方式,从指定位置,对变换系数进行依赖量化处理。此外,对变换系数矩阵进行量化处理,可包括:
对于一变换系数,根据该变换系数量化后得到的量化系数的奇偶性,确定下一变换系数的跳转状态,以使用相应的量化器对所述下一变换系数进行量化。即将图4中的k改为变换系数量化后得到的量化系数,根据量化系数的奇偶性,决定跳转状态。
在一些实施例中,对变换系数矩阵进行量化处理,还可包括:
对于一变换系数,根据该变换系数量化后得到的量化系数的取模的结果,确定下一变换系数的跳转状态,以使用相应的量化器对所述下一变换系数进行量化。
应理解,变换系数和量化系数是相对应的,如图4所示,确定跳转状态,即是确定变换系数的跳转状态,也可为确定量化系数的跳转状态。
S85、根据使用的变换核和第一量化系数矩阵,若需要对第一量化系数矩阵进行调整,则对第一量化系数矩阵进行调整,以得到第二量化系数矩阵,第一量 化系数矩阵不同于第二量化系数矩阵。
在本申请的实施例中,不同变换核,使用的隐式表示的方式不相同。例如,若使用第一种变换核,则以量化系数矩阵的偶数系数的个数为奇数来表示,若使用第二种变换核,则以量化系数矩阵的偶数系数的个数为偶数来表示。
如果有超过两种变换核,可对量化系数矩阵的偶数系数的个数进行取模运算,根据取模运算的结果确定所使用的变换核。例如,对于三种变换核的情况,对偶数系数的个数进行模3运算,余数为0对应第一种变换核,余数为1对应第二种变换核,余数为2对应第三种变换核。
在本申请实施例中,对第一量化系数矩阵进行调整,包括:对第一量化系数矩阵中,指定位置之前的量化系数进行调整。
在一实施例中,确定第一量化系数矩阵中偶数系数的个数。若第一量化系数矩阵中偶数系数的个数的奇偶性与所使用的变换核的奇偶表示不匹配,则调整第一量化系数矩阵中,指定位置之前的量化系数的奇偶性,以得到第二量化系数矩阵。
在一实施例中,编码设备可使用的变换核包括第一变换核和第二变换核。第一变换核可以量化系数矩阵的偶数系数个数为奇数表示,第二变换核可以量化系数矩阵的偶数系数个数为偶数表示。或者,第一变换核可以量化系数矩阵的偶数系数个数为偶数表示,第二变换核可以量化系数矩阵的偶数系数个数为奇数表示。
可选的,第一变换核可为离散余弦变换核,第二变换核可为离散正弦变换核。
若使用第一种变换核需要以当前量化系数矩阵(第一量化系数矩阵)的偶数系数的个数为奇数来隐式表示,而当前量化系数矩阵的偶数系数的个数为偶数,则调整当前量化系数矩阵指定位置之前的系数的奇偶性来达到满足第一种变换核的奇偶表示。
若当前量化系数矩阵的偶数系数的个数的奇偶性满足第一种变换核的奇偶表示,则不需要调整当前量化系数矩阵的系数。可记录当前变换核下对应的率失真代价与对应的标识位。标识位中包括以下信息中的至少一种:变换系数矩阵的变换系数扫描边界和变换系数是否为非零系数。
在本申请的一实施例中,调整第一量化系数矩阵中,指定位置之前的量化系数的奇偶性,可包括:对第一量化系数矩阵中,指定位置之前的量化系数进行加1或减1。
S86、基于第一量化系数矩阵或第二量化系数矩阵,生成码流。
在本申请的一实施例中,若对第一量化系数矩阵中的量化系数进行了调整,则基于调整后得到的第二量化系数矩阵,生成码流。若未对第一量化系数矩阵进行调整,则基于第一量化系数矩阵,生成码流。
在本申请的一实施例中,码流中至少包括:标识位,以及第一量化系数矩阵或第二量化系数矩阵。标识位中包括以下信息中的至少一种:与第一量化系数矩阵或第二量化系数矩阵对应的变换系数矩阵的变换系数扫描边界和变换系数是否为非零系数。
应理解,在本申请的其它实施例中,量化系数矩阵中的偶数系数个数的奇偶性还可替换为量化系数矩阵中的奇数系数的奇偶性或非零偶数系数的个数的奇偶性。即若量化系数矩阵中的奇数系数的个数的奇偶性与所使用的变换核的奇偶表示不匹配,则调整第一量化系数矩阵中,指定位置之前的量化系数的奇偶性,以得到第二量化系数矩阵。或,若量化系数矩阵中的非零偶数系数的个数的奇偶性与所使用的变换核的奇偶表示不匹配,则调整第一量化系数矩阵中,指定位置之前的量化系数的奇偶性,以得到第二量化系数矩阵。
通过本申请的实施例,可实现隐式选择变换和依赖量化的共存,从指定位置开始进行依赖量化,无论指定位置之前的系数怎么调整都不会影响依赖量化。指定位置之前的系数只是用来调整隐式选择变换的条件。从而可将隐式选择变换修改的系数区域和依赖量化修改的系数区域进行隔离,提高编码效率,且仅需较低幅度的改变量化系数,可减轻编码设备的复杂度。
参见图10,为本申请另一实施例的编码方法的流程示意图,其包括步骤S101至步骤S106。
S101、对当前编码块进行预测,获取预测块。
S102、根据当前编码块和预测块,获取当前编码块的残差块。
S103、通过至少一个变换核,对所述残差块进行变换处理得到变换系数矩阵。
S104、按照系数扫描顺序,依次对变换系数矩阵中的变换系数进行依赖量化处理,得到第三量化系数矩阵。
在本申请的该实施例中,为了保证量化系数的调整不影响依赖量化的状态跳转,又不影响隐式选择变换的奇偶表示,对变换系数矩阵中的变换系数进行依赖量化处理,包括:
对于一变换系数,根据该变换系数量化后得到的量化系数的取模的结果,确定下一变换系数的跳转状态,以使用相应的量化器对下一变换系数进行量化。
可选的,取模可为模3运算、模4运算等。例如,对于模4运算,运算结果有0、1、2和3,可把结果为0和1归为第一类,2和3归为第二类,每一类控制一个跳转方向。
S105、根据使用的变换核和第三量化系数矩阵,若需要对第三量化系数矩阵进行调整,则对第三量化系数矩阵进行调整,以得到第四量化系数矩阵,第三量化系数矩阵不同于第四量化系数矩阵。
在一个实施例中,确定第三量化系数矩阵中偶数系数的个数。若第三量化系数矩阵中偶数系数的个数的奇偶性与所使用的变换核的奇偶表示不匹配,则在量化系数矩阵的预设非零系数之前调整一个指定零系数。
在一个实施例中,指定零系数为与预设非零系数相邻的零系数。预设非零系数可为第一个非零系数、第二个非零系数或其它预先设定的非零系数。
可选的,指定零系数被调整后得到的非零系数符合上一个系数决定的当前状态且不改变下一个非零系数的状态。
S106、基于第三量化系数矩阵或第四量化系数矩阵,生成码流。
应理解,本申请该实施例的步骤S101-S103及S106可按照图9所示的实施例的方式执行,其实现细节相似,在此不再赘述。
应理解,在本申请的其它实施例中,图10所示的实施例中的第三量化系数矩阵中的偶数系数个数的奇偶性还可替换为第三量化系数矩阵中的奇数系数的奇偶性或非零偶数系数的个数的奇偶性。
通过本申请的该实施例,从一开始的位置就使用依赖量化,通过调整系数实现隐式选择变换的修正,所调整的系数既不影响依赖量化的状态跳转又可修正隐式选择变换的奇偶表示。由此,通过调整量化系数矩阵的预设非零系数之前的指定系数,可实现隐式选择变换和依赖量化的共存,提高编码效率,减轻编码设备的复杂度。
参见图11为本申请一实施例的解码方法的流程示意图,其包括步骤S111至步骤S115。
S111、解析接收到的码流,获取当前解码块的量化系数矩阵。
S112、根据当前解码块的量化系数矩阵的量化系数,确定使用的变换核。
在本申请的实施例中,根据当前解码块的量化系数矩阵的偶数系数的个数的奇偶性,奇数系数的个数的奇偶性,或非零偶数系数的个数的奇偶性,确定量化系数矩阵使用的变换核。
可选的,与编码设备相对应,解码设备可使用的变换核可有N个,N为大于或等于1的自然数。解码设备可通过解析码流,并根据量化系数矩阵的确定所要使用的变换核。若变换核包括第一变换核和第二变换核,以根据量化系数矩阵的偶数系数的个数的奇偶性确定使用的变换核为例,若当前解码块的量化系数矩阵的偶数系数的个数为奇数,则确定使用的变换核为第一变换核;若当前解码块的量化系数的偶数系数的个数为偶数,则确定使用的变换核为第二变换核。
其中,第一变换核不同于所述第二变换核。在一个实施例中,第一变换核可为离散余弦变换核,第二变换核可为离散正弦变换核。
如果有超过两种变换核,可对量化系数矩阵的偶数系数的个数进行取模运算,根据取模运算的结果确定所使用的变换核。例如,对于三种变换核的情况,对偶数系数的个数进行模3运算,余数为0对应第一种变换核,余数为1对应第二种变换核,余数为2对应第三种变换核。
由此,本申请实施例通过量化系数矩阵,可以确定反变换要使用的变换核。
S113、对量化系数矩阵进行反量化得到变换系数矩阵,其中,从指定位置开始使用依赖量化对量化系数矩阵进行反量化处理。
在本申请的实施例中,在指定位置之前,使用预设量化方式对量化系数矩阵进行反量化处理,其中,预设量化方式不同于依赖量化。指定位置为第M个非零变换系数对应的位置,M为大于或等于1的正整数。在一个实施例中,指定位置为第二个非零系数对应的位置。应理解,指定位置也可以为其他第非零自然数 个系数,例如,第三个非零系数。
可选的,预设量化方式为默认的量化方式。默认的量化方式可为RDOQ量化方式或恒定量化参数量化方式等。
在本申请的实施例中,通过解析接收到的码流,可获取标识位。标识位包括以下信息中的至少一种:与量化系数矩阵对应的变换系数矩阵的变换系数扫描边界和变换系数是否为非零系数。由此,可以确定非零变换系数的位置,进而确定依赖量化的开始位置。
在本申请的实施例中,在进行反量化的过程中,对于一量化系数,根据该量化系数的奇偶性,确定下一量化系数的跳转状态,以使用相应的量化器对下一量化系数进行反量化。或者,对于一量化系数,根据该量化系数的取模的结果,确定下一量化系数的跳转状态,以使用相应的量化器对下一量化系数进行反量化。
由此,解码设备可对从指定位置,通过依赖量化进行反量化,而指定位置之前通过默认量化方式进行量化,从而对解码块实现高效的反量化。
S114、基于确定使用的变换核,对变换系数矩阵进行反变换得到残差块。
S115、根据残差块和经预测得到的预测块,以获得解码图像。
可参见图2所示,熵解码单元201可解析码流得到当前解码块的预测信息、量化系数矩阵等,运动估计/运动补偿模块204或帧内预测模块203基于预测信息,对当前解码块使用帧内预测或帧间预测产生当前解码块的预测块。反量化/变换单元202使用从码流得到的量化系数矩阵,对量化系数矩阵进行反量化、反变换得到残差块。将预测块和残差块相加得到重建块。依次类推,可以得到待解码图像中其他图像块的重建块,基于各重建块得到解码图像。
在本申请的一实施例中,对重建块可经由图2所示的滤波模块205进行滤波,例如,进行环路滤波得到最终重建块,得到解码图像。应理解,也可通过其它的滤波方式进行滤波,本申请实施例对此不进行限制。
应理解,本申请实施例的解码方法中与编码方法相同的特征,在编码方法中进行了详细描述,此处不再做详细阐述说明。
通过本申请的该实施例的解码方法,可实现隐式选择变换和依赖量化的共存,提高解码效率,且仅需较低幅度的改变量化系数,可减轻解码的复杂度。
本申请实施例的编解码方法,能够解决隐式选择变换与依赖量化的冲突,使两者的性能能够较好的耦合;通过指示隐式选择变换修改量化系数的位置,保证了依赖量化系数技术的有效性和变换核信息的正确传输。同时,能够有效提升编解码效率,较低幅度地改动量化系数,减轻编解码设备的复杂度。此外,本申请实施例的编解码方法,指定了依赖量化的开始位置,也可以将依赖量化应用于所有系数,增加了依赖量化的灵活性,使得编码设备有更多的选择。
应理解,若编码设备从一开始的位置就使用依赖量化,即编码设备采用如图10所述的编码方式,则解码设备采用的解码方法可参照如图2的解码框架。相比于图11所示的解码方法,在步骤S113中,从开始位置即采用依赖量化进行反量化,其它步骤可与图11所示的解码方法相同。
参见图12为本申请一实施例的编码设备的框图,编码设备12包括:
预测模块121,用于对当前编码块进行预测,获取预测块;
残差获取模块122,用于根据所述当前编码块和所述预测块,获取所述当前编码块的残差块;
变换模块123,用于通过至少一个变换核,对所述残差块进行变换处理得到变换系数矩阵;
量化模块124,用于对所述变换系数矩阵进行量化处理,得到第一量化系数矩阵,其中,从指定位置开始使用依赖量化对所述变换系数矩阵进行量化处理;
调整模块125,用于根据使用的变换核和所述第一量化系数矩阵,若需要对所述第一量化系数矩阵进行调整,则对所述第一量化系数矩阵进行调整,以得到所述第二量化系数矩阵,所述第一量化系数矩阵不同于所述第二量化系数矩阵;
码流生成模块126,用于基于所述第一量化系数矩阵或所述第二量化系数矩阵,生成码流。
该实施例中的各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处不再做详细说明阐述。
参见图13为本申请一实施例的解码设备的框图,解码设备13包括:
解析模块131,用于解析接收到的码流,获取当前解码块的量化系数矩阵;
变换核确定模块132,用于根据所述当前解码块的量化系数矩阵的量化系数,确定使用的变换核;
反量化模块133,用于对所述量化系数矩阵进行反量化得到变换系数矩阵,其中,从指定位置开始使用依赖量化对所述量化系数矩阵进行反量化处理;
反变换模块134,用于基于确定使用的变换核,对所述变换系数矩阵进行反变换得到残差块;
预测模块135,用于根据残差块和经预测得到的预测块,以获得解码图像。
该实施例中的各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处不再做详细说明阐述。
相应的本申请实施例,还提供一种编解码系统,其包括上述的编码设备,以及解码设备。
相应的本申请实施例,还提供一种编码设备,包括:
至少一个处理器;
至少一个存储器,包括指令,当该指令被所述至少一个处理器执行时,执行前述图9或图10所述的编码方法。
相应的本申请实施例,还提供一种解码设备包括:
至少一个处理器;
至少一个存储器,包括指令,当该指令被所述至少一个处理器执行时,执行前述图11所述的解码方法。
在本申请的一些实施例中,该处理器可以包括但不限于:通用处理器、数字 信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,存储器包括但不限于:易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(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)。
在本申请的一些实施例中,指令可以被分割成一个或多个模块,该一个或者多个模块被存储在该存储器中,并由该处理器执行,以完成本申请提供的编解码的方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序在设备中的执行过程。
相应的本申请实施例,还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其中,所述计算机程序时被处理器执行时实现如前所述的编码方法或解码方法。
应理解,为了简洁,本申请实施例不再赘述前述已经描述过的实现原理和细节。
以上结合附图详细描述了本申请的优选实施方式,但是,本申请并不限于上述实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。
还应理解,在本申请的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文中结合附图从功能模块的角度描述了本申请实施例的装置和系统。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步 骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。

Claims (30)

  1. 一种编码方法,其特征在于,所述方法包括:
    对当前编码块进行预测,获取预测块;
    根据所述当前编码块和所述预测块,获取所述当前编码块的残差块;
    通过至少一个变换核,对所述残差块进行变换处理得到变换系数矩阵;
    对所述变换系数矩阵进行量化处理,得到第一量化系数矩阵,其中,从指定位置开始使用依赖量化对所述变换系数矩阵进行量化处理;
    根据使用的变换核和所述第一量化系数矩阵,若需要对所述第一量化系数矩阵进行调整,则对所述第一量化系数矩阵进行调整,以得到所述第二量化系数矩阵,所述第一量化系数矩阵不同于所述第二量化系数矩阵;
    基于所述第一量化系数矩阵或所述第二量化系数矩阵,生成码流。
  2. 根据权利要求1所述的编码方法,其特征在于,所述方法还包括:
    在所述指定位置之前,使用预设量化方式对所述变换系数矩阵进行量化处理,其中,所述预设量化方式不同于所述依赖量化,所述指定位置为按照系数扫描顺序,所述变换系数矩阵的第M个非零变换系数对应的位置,所述M为大于或等于1的正整数。
  3. 根据权利要求1或2所述的编码方法,其特征在于,对所述第一量化系数矩阵进行调整,包括:
    对所述第一量化系数矩阵中,所述指定位置之前的量化系数进行调整。
  4. 根据权利要求3所述的编码方法,其特征在于,所述方法还包括:
    确定所述第一量化系数矩阵中偶数系数的个数;
    若所述第一量化系数矩阵中偶数系数的个数的奇偶性与所使用的变换核的奇偶表示不匹配,则调整所述第一量化系数矩阵中,所述指定位置之前的量化系数的奇偶性,以得到所述第二量化系数矩阵。
  5. 根据权利要求4所述的编码方法,其特征在于,所述使用的变换核为第一变换核,所述第一变换核以量化系数矩阵的偶数系数的个数为奇数表示;
    若所述第一量化系数矩阵中偶数系数的个数为偶数,则调整所述第一量化系数矩阵中,所述指定位置之前的量化系数的奇偶性,使得所述第二量化系数矩阵中偶数系数的个数为奇数。
  6. 根据权利要求4所述的编码方法,其特征在于,所述使用的变换核为第二变换核,所述第二变换核以量化系数矩阵的偶数系数的个数为偶数表示;
    若所述第一量化系数矩阵中偶数系数的个数为奇数,则调整所述第一量化系数矩阵中,所述指定位置之前的量化系数的奇偶性,使得所述第二量化系数矩阵中偶数系数的个数为偶数。
  7. 根据权利要求4-6任一项所述的编码方法,其特征在于,所述调整所述第一量化系数矩阵中,所述指定位置之前的量化系数的奇偶性,包括:
    对所述第一量化系数矩阵中,所述指定位置之前的量化系数进行加1或减1。
  8. 根据权利要求3所述的编码方法,其特征在于,所述方法还包括:
    确定所述第一量化系数矩阵中奇数系数的个数;
    若所述奇数系数的个数的奇偶性与所使用的变换核的奇偶表示不匹配,则调整所述第一量化系数矩阵中,所述指定位置之前的量化系数的奇偶性,以得到所述第二量化系数矩阵。
  9. 根据权利要求3所述的编码方法,其特征在于,所述方法还包括:
    确定所述第一量化系数矩阵中非零偶数系数的个数;
    若所述非零偶数系数的个数的奇偶性与所使用的变换核的奇偶表示不匹配,则调整所述第一量化系数矩阵中,所述指定位置之前的量化系数的奇偶性,以得到所述第二量化系数矩阵。
  10. 根据权利要求1所述的编码方法,其特征在于,对所述变换系数矩阵进行量化处理,包括:
    对于一变换系数,根据该变换系数量化后得到的量化系数的奇偶性,确定下一变换系数的跳转状态,以使用相应的量化器对所述下一变换系数进行量化。
  11. 根据权利要求1所述的编码方法,其特征在于,对所述变换系数矩阵进行量化处理,包括:
    对于一变换系数,根据该变换系数量化后得到的量化系数的取模的结果,确定下一变换系数的跳转状态,以使用相应的量化器对所述下一变换系数进行量化。
  12. 根据权利要求1所述的编码方法,其特征在于,所述方法包括:
    根据所述至少一个变换核中各个变换核对应的率失真代价,确定用于对所述残差块进行变换处理的变换核。
  13. 根据权利要求1所述的编码方法,其特征在于,所述码流中至少包括:标识位,以及所述第一量化系数矩阵或所述第二量化系数矩阵,所述标识位中包括以下信息中的至少一种:与所述第一量化系数矩阵或所述第二量化系数矩阵对应的变换系数矩阵的变换系数扫描边界和变换系数是否为非零系数。
  14. 一种解码方法,其特征在于,包括:
    解析接收到的码流,获取当前解码块的量化系数矩阵;
    根据所述当前解码块的量化系数矩阵的量化系数,确定使用的变换核;
    对所述量化系数矩阵进行反量化得到变换系数矩阵,其中,从指定位置开始使用依赖量化对所述量化系数矩阵进行反量化处理;
    基于确定使用的变换核,对所述变换系数矩阵进行反变换得到残差块;
    根据所述残差块和经预测得到的预测块,以获得解码图像。
  15. 根据权利要求14所述的解码方法,其特征在于,所述方法还包括:
    在所述指定位置之前,使用预设量化方式对所述量化系数矩阵进行反量化处理,其中,所述预设量化方式不同于所述依赖量化,所述指定位置为第M个非零变换系数对应的位置,所述M为大于或等于1的正整数。
  16. 根据权利要求14所述的解码方法,其特征在于,根据所述当前解码块的 量化系数矩阵的量化系数,确定所述量化系数矩阵使用的变换核包括:
    根据所述当前解码块的量化系数矩阵的偶数系数的个数的奇偶性,奇数系数的个数的奇偶性,或非零偶数系数的个数的奇偶性,确定所述量化系数矩阵使用的变换核。
  17. 根据权利要求16所述的解码方法,其特征在于,若所述当前解码块的量化系数矩阵的偶数系数的个数为奇数,则确定使用的变换核为第一变换核;
    若所述当前解码块的量化系数的偶数系数的个数为偶数,则确定使用的变换核为第二变换核;其中,所述第一变换核不同于所述第二变换核。
  18. 根据权利要求14所述的解码方法,其特征在于,对所述量化系数矩阵进行反量化得到变换系数矩阵,包括:
    对于一量化系数,根据该量化系数的奇偶性,确定下一量化系数的跳转状态,以使用相应的量化器对所述下一量化系数进行反量化。
  19. 根据权利要求14所述的解码方法,其特征在于,对所述量化系数矩阵进行反量化得到变换系数矩阵,包括:
    对于一量化系数,根据该量化系数的取模的结果,确定下一量化系数的跳转状态,以使用相应的量化器对所述下一量化系数进行反量化。
  20. 根据权利要求14所述的解码方法,其特征在于,所述方法还包括:
    解析所述码流,获取标识位,所述标识位包括以下信息中的至少一种:与所述量化系数矩阵对应的变换系数矩阵的变换系数扫描边界和变换系数是否为非零系数。
  21. 一种编码设备,其特征在于,包括:
    预测模块,用于对当前编码块进行预测,获取预测块;
    残差获取模块,用于根据所述当前编码块和所述预测块,获取所述当前编码块的残差块;
    变换模块,用于通过至少一个变换核,对所述残差块进行变换处理得到变换系数矩阵;
    量化模块,用于对所述变换系数矩阵进行量化处理,得到第一量化系数矩阵,其中,从指定位置开始使用依赖量化对所述变换系数矩阵进行量化处理;
    调整模块,用于根据使用的变换核和所述第一量化系数矩阵,若需要对所述第一量化系数矩阵进行调整,则对所述第一量化系数矩阵进行调整,以得到所述第二量化系数矩阵,所述第一量化系数矩阵不同于所述第二量化系数矩阵;
    码流生成模块,用于基于所述第一量化系数矩阵或所述第二量化系数矩阵,生成码流。
  22. 一种解码设备,其特征在于,包括:
    解析模块,用于解析接收到的码流,获取当前解码块的量化系数矩阵;
    变换核确定模块,用于根据所述当前解码块的量化系数矩阵的量化系数,确定使用的变换核;
    反量化模块,用于对所述量化系数矩阵进行反量化得到变换系数矩阵,其中, 从指定位置开始使用依赖量化对所述量化系数矩阵进行反量化处理;
    反变换模块,用于基于确定使用的变换核,对所述变换系数矩阵进行反变换得到残差块;
    预测模块,用于根据所述残差块和经预测得到的预测块,以获得解码图像。
  23. 一种编解码系统,其特征在于,包括:
    根据权利要求21所述的编码设备,以及根据权利要求22所述解码设备。
  24. 一种编码方法,其特征在于,所述方法包括:
    对当前编码块进行预测,获取预测块;
    根据所述当前编码块和所述预测块,获取所述当前编码块的残差块;
    通过至少一个变换核,对所述残差块进行变换处理得到变换系数矩阵;
    按照系数扫描顺序,依次对所述变换系数矩阵中的变换系数进行依赖量化处理,得到第三量化系数矩阵;
    根据使用的变换核和所述第三量化系数矩阵,若需要对所述第三量化系数矩阵进行调整,则对所述第三量化系数矩阵进行调整,以得到第四量化系数矩阵,所述第三量化系数矩阵不同于所述第四量化系数矩阵;
    基于所述第三量化系数矩阵或所述第四量化系数矩阵,生成码流。
  25. 根据权利要求24所述的编码方法,其特征在于,所述方法还包括:
    确定所述第三量化系数矩阵中偶数系数的个数;
    若所述第三量化系数矩阵中偶数系数的个数的奇偶性与所使用的变换核的奇偶表示不匹配,则在所述第三量化系数矩阵的预设非零系数之前调整一个指定零系数,其中,所述指定零系数为与所述预设非零系数相邻的零系数。
  26. 根据权利要求25所述的编码方法,其特征在于,所述指定零系数被调整后得到的非零系数符合上一个系数决定的当前状态且不改变下一个非零系数的状态。
  27. 根据权利要求24所述的编码方法,其特征在于,对所述变换系数矩阵中的变换系数进行依赖量化处理,包括:
    对于一变换系数,根据该变换系数量化后得到的量化系数的取模的结果,确定下一变换系数的跳转状态,以使用相应的量化器对所述下一变换系数进行量化。
  28. 一种编码设备,其特征在于,包括:
    至少一个处理器;
    至少一个存储器,包括指令,当该指令被所述至少一个处理器执行时,执行如权利要求1-13或24-27任一项所述的方法。
  29. 一种解码设备,其特征在于,包括:
    至少一个处理器;
    至少一个存储器,包括指令,当该指令被所述至少一个处理器执行时,执行如权利要求14-20任一项所述的解码方法。
  30. 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其中,所述计算机程序时被处理器执行时实现如权利要求1-13或24-27中任一项 所述的编码方法,或如权利要求14-20任一项所述的解码方法。
PCT/CN2021/077522 2021-02-23 2021-02-23 编解码方法、编解码设备、编解码系统以及计算机可读存储介质 WO2022178686A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2021/077522 WO2022178686A1 (zh) 2021-02-23 2021-02-23 编解码方法、编解码设备、编解码系统以及计算机可读存储介质
CN202180093908.XA CN116848844A (zh) 2021-02-23 2021-02-23 编解码方法、编解码设备、编解码系统以及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/077522 WO2022178686A1 (zh) 2021-02-23 2021-02-23 编解码方法、编解码设备、编解码系统以及计算机可读存储介质

Publications (1)

Publication Number Publication Date
WO2022178686A1 true WO2022178686A1 (zh) 2022-09-01

Family

ID=83048625

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/077522 WO2022178686A1 (zh) 2021-02-23 2021-02-23 编解码方法、编解码设备、编解码系统以及计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN116848844A (zh)
WO (1) WO2022178686A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116886913A (zh) * 2023-08-03 2023-10-13 镕铭微电子(济南)有限公司 率失真优化量化方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111819854A (zh) * 2018-03-07 2020-10-23 华为技术有限公司 用于协调多符号位隐藏和残差符号预测的方法和装置
CN112106373A (zh) * 2018-03-28 2020-12-18 韩国电子通信研究院 用于图像编/解码的方法和装置及存储比特流的记录介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111819854A (zh) * 2018-03-07 2020-10-23 华为技术有限公司 用于协调多符号位隐藏和残差符号预测的方法和装置
CN112106373A (zh) * 2018-03-28 2020-12-18 韩国电子通信研究院 用于图像编/解码的方法和装置及存储比特流的记录介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
H. SCHWARZ (FRAUNHOFER), T. NGUYEN (FRAUNHOFER), D. MARPE (FRAUNHOFER), T. WIEGAND (FRAUNHOFER HHI): "CE7: Transform coefficient coding and dependent quantization (Tests 7.1.2, 7.2.1)", 123. MPEG MEETING; 20180716 - 20180720; LJUBLJANA; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11), no. m42987; K0071, 3 July 2018 (2018-07-03), XP030195734 *
P. YIN (DOLBY), S. MCCARTHY (MAILTO:SMCCA), F. PU, T. LU, W. HUSAK, T. CHEN(DOLBY), T. TSUKUBA(SONY): "AHG13: Sign Data Hiding", 123. MPEG MEETING; 20180716 - 20180720; LJUBLJANA; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11), no. m43243; K0310, 14 July 2018 (2018-07-14), XP030197221 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116886913A (zh) * 2023-08-03 2023-10-13 镕铭微电子(济南)有限公司 率失真优化量化方法、装置、电子设备及存储介质
CN116886913B (zh) * 2023-08-03 2024-03-08 镕铭微电子(济南)有限公司 率失真优化量化方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN116848844A (zh) 2023-10-03

Similar Documents

Publication Publication Date Title
CN109997361B (zh) 用于视频译码的低复杂度符号预测
US11115673B2 (en) Image encoder using machine learning and data processing method of the image encoder
JP7336004B2 (ja) ニューラルネットワークを利用したコーデック
TW201841503A (zh) 視頻寫碼中之內濾波旗標
US10284851B2 (en) Method of determining binary codewords for transform coefficients
JP2013538471A (ja) 辞書を用いてビデオをコード化する方法
WO2019086033A1 (zh) 视频数据解码方法及装置
TW202029774A (zh) 藉由轉換域濾波之量化假影抑制及信號恢復
TW202032993A (zh) 用於係數位準之逃逸寫碼
JP2024038261A (ja) 4:4:4の彩度形式でのビデオ符号化の方法および装置
CN110944179B (zh) 一种视频数据解码方法及装置
CN116349225A (zh) 用于逐块图像压缩中的去块的内容自适应在线训练方法和装置
WO2022155923A1 (zh) 编码方法、解码方法、编码器、解码器以及电子设备
WO2022178686A1 (zh) 编解码方法、编解码设备、编解码系统以及计算机可读存储介质
EP4107952A1 (en) Block-wise content-adaptive online training in neural image compression with post filtering
CN113709459B (zh) 帧内预测方法、装置及计算机存储介质
CN115550666A (zh) 用于视频数据的编码方法、解码方法、计算设备和介质
CN113395520B (zh) 解码预测方法、装置及计算机存储介质
CN117063467A (zh) 块划分方法、编码器、解码器以及计算机存储介质
CN115086664A (zh) 未匹配像素的解码方法、编码方法、解码器以及编码器
CN114424544A (zh) 允许基于矩阵的帧内预测块具有多个变换块
WO2023092404A1 (zh) 视频编解码方法、设备、系统、及存储介质
WO2023193254A1 (zh) 解码方法、编码方法、解码器以及编码器
WO2022165763A1 (zh) 编码方法、解码方法、编码器、解码器以及电子设备
WO2022174478A1 (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: 21927131

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202180093908.X

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: 21927131

Country of ref document: EP

Kind code of ref document: A1