Image decoding updating method, device, apparatus and storage medium

By updating the state of the image block to be decoded in the image transformation unit in reverse, the problem of repetitive calculation in the image decoding process is solved, thus improving decoding efficiency and reducing resource consumption.

CN116546212BActive Publication Date: 2025-11-21BEIJING DAJIA INTERNET INFORMATION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310357218.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-04-04
Publication Date
2025-11-21
Estimated Expiration
2043-04-04

AI Technical Summary

Technical Problem

Existing technologies suffer from repetitive computations during image decoding, leading to increased decoding complexity and system resource consumption.

Method used

By obtaining the transformation coefficients of the first image block to be decoded in the image transformation unit of the image to be decoded, and updating the target data used by the second image block to be decoded in the decoding process based on the decoding result of the first coefficient, the state of the image block to be decoded in the image transformation unit is updated in reverse, thereby reducing the calculation of adjacent image blocks.

Benefits of technology

It reduces the complexity of the decoding process, improves decoding efficiency, and reduces system resource consumption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116546212B_ABST
    Figure CN116546212B_ABST
Patent Text Reader

Abstract

The present disclosure relates to an image decoding updating method, device, equipment and storage medium. The method comprises: obtaining a to-be-decoded image; the to-be-decoded image comprises an image transform unit; decoding a transform coefficient of a first to-be-decoded image block in the image transform unit to obtain a first coefficient decoding result corresponding to the first to-be-decoded image block; obtaining a second to-be-decoded image block dependent on the first coefficient decoding result in a decoding process; the second to-be-decoded image block is a to-be-decoded image block in a top-left region of the first to-be-decoded image block in the image transform unit; and updating target data used by the second to-be-decoded image block in the decoding process based on the first coefficient decoding result to obtain an updated coefficient decoding result corresponding to the second to-be-decoded image block. The embodiment of the present disclosure can reduce the complexity of the decoding process and improve the decoding efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the field of computers, and in particular, to an image decoding updating method and device, equipment and a storage medium. BACKGROUND

[0002] The wide application of multi-function video coding (H.266 / VVC) will greatly save the storage and bandwidth costs and provide new possibilities for ultra-high-definition video applications. In the process of decoding VVC code streams, the context-based adaptive binary arithmetic entropy coding module (CABAC module) has always been a module with relatively high decoding complexity. Therefore, it is particularly important to optimize the CABAC module in order to improve the efficiency of the decoder.

[0003] Figure 1 is a decoding schematic diagram of the CABAC module in the related art, as shown in Figure 1 , the CABAC module takes a small block of 4x4 as a unit, and in the decoding process, the state of the black point in the figure is updated after adding the states of all the gray points. The decoding calculation order is from the top left to the bottom right. Therefore, when calculating the state of the current decoding block (i.e., the black point in Figure 1 ), the states of each adjacent decoding block (i.e., the gray points in Figure 1 ) need to be calculated and added up, and then the state of the current decoding block is updated. However, in the related art, each current decoding block needs to be recalculated with all the surrounding adjacent decoding blocks, which causes repeated calculation, increases the decoding complexity, and consumes system resources in the decoding process. SUMMARY

[0004] The present disclosure provides an image decoding updating method, device, equipment and storage medium to at least solve the problem that in the related art, each current decoding block needs to be recalculated with all the surrounding adjacent decoding blocks in order to calculate the current decoding block, which causes repeated calculation, increases the decoding complexity, and consumes system resources in the decoding process. The technical solutions of the present disclosure are as follows:

[0005] According to a first aspect of an embodiment of the present disclosure, an image decoding updating method is provided, comprising:

[0006] obtaining a to-be-decoded image; the to-be-decoded image comprises an image transform unit; the image transform unit comprises a plurality of to-be-decoded image blocks; each to-be-decoded image block corresponds to a respective transform coefficient;

[0007] decoding the transform coefficient of a first to-be-decoded image block in the image transform unit to obtain a first coefficient decoding result corresponding to the first to-be-decoded image block; the first to-be-decoded image block is any one of the to-be-decoded image blocks in the image transform unit;

[0008] Obtain a second image block to be decoded that depends on the decoding result of the first coefficient during the decoding process; the second image block to be decoded is the image block to be decoded located in the upper left region of the first image block to be decoded in the image transformation unit;

[0009] Based on the first coefficient decoding result, the target data used in the decoding process of the second image block to be decoded is updated to obtain the updated coefficient decoding result corresponding to the second image block to be decoded;

[0010] The updated coefficient decoding result corresponding to the second image block to be decoded is used to decode the transform coefficients of the second image block to be decoded; the target data is determined based on the coefficient decoding result obtained by the candidate image block to be decoded during the decoding process; the candidate image block to be decoded is the image block to be decoded located in the lower right region of the second image block to be decoded in the image transformation unit, and the candidate image block to be decoded includes the first image block to be decoded.

[0011] In an optional embodiment, obtaining the second image block to be decoded, which depends on the decoding result of the first coefficients in the decoding process, includes:

[0012] The image block to be decoded is obtained by acquiring the image block to be decoded located above the first image block to be decoded, the image block to be decoded located to the left of the first image block to be decoded, and the image block to be decoded located at the upper left corner of the first image block to be decoded in the image transformation unit, thereby obtaining the second image block to be decoded.

[0013] In an optional embodiment, the candidate image block to be decoded is at least one, and the target data is stored in the second image block to be decoded. The target data is determined based on the sum of the absolute values ​​of the coefficient decoding results obtained by each of the candidate image blocks to be decoded during the decoding process.

[0014] The step of updating the target data used in the decoding process of the second image block to be decoded based on the first coefficient decoding result, to obtain the updated coefficient decoding result corresponding to the second image block to be decoded, includes:

[0015] The sum of the absolute values ​​is updated using the first coefficient decoding result to obtain the updated coefficient decoding result corresponding to the second image block to be decoded.

[0016] In an optional embodiment, the process of obtaining the candidate image block to be decoded includes:

[0017] The candidate image block to be decoded is obtained by acquiring the image block to the right of the second image block to be decoded, the image block to be decoded below the second image block to be decoded, and the image block to be decoded at the lower right corner of the second image block to be decoded in the image transformation unit.

[0018] In an optional embodiment, after obtaining the decoding result of the updated coefficients corresponding to the second image block to be decoded, the method further includes:

[0019] Obtain the decoding result of the update coefficients corresponding to the second image block to be decoded;

[0020] Based on the decoding result of the updated coefficients corresponding to the second image block to be decoded, the transform coefficients of the second image block to be decoded are decoded to obtain the second coefficient decoding result of the second image block to be decoded;

[0021] Wherein, if the second image block to be decoded is not located in the upper left corner of the image transformation unit, the second coefficient decoding result is used to update the data used by the target image block to be decoded during the decoding process; the target image block to be decoded is the image block to be decoded located in the upper left region of the second image block to be decoded in the image transformation unit.

[0022] In an optional embodiment, decoding the transform coefficients of the first image block to be decoded in the image transform unit to obtain the first coefficient decoding result corresponding to the first image block to be decoded includes:

[0023] If the first image block to be decoded is not located in the lower right corner of the image transformation unit, the updated coefficient decoding result corresponding to the first image block to be decoded is obtained; the updated coefficient decoding result corresponding to the first image block to be decoded is obtained by updating the data used by the first image block to be decoded during the decoding process based on the target coefficient decoding result, wherein the target coefficient decoding result is the coefficient decoding result obtained by the image block to be decoded in the lower right region of the first image block to be decoded during the decoding process;

[0024] Based on the decoding result of the updated coefficients corresponding to the first image block to be decoded, the transform coefficients of the first image block to be decoded are decoded to obtain the first coefficient decoding result.

[0025] In an optional embodiment, the step of decoding the transform coefficients of the first image block to be decoded in the image transformation unit to obtain a first coefficient decoding result corresponding to the first image block to be decoded; obtaining a second image block to be decoded that depends on the first coefficient decoding result during the decoding process; and updating the target data used by the second image block to be decoded during the decoding process based on the first coefficient decoding result to obtain an updated coefficient decoding result corresponding to the second image block to be decoded, includes:

[0026] When the first image block to be decoded is not located in the lower right corner of the image transformation unit, the transformation coefficients of the current image block to be decoded are decoded using the first image block to be decoded as the current image block to be decoded and the decoding result of the update coefficients corresponding to the first image block to be decoded as the current update coefficient decoding result, so as to obtain the current coefficient decoding result corresponding to the current image block to be decoded.

[0027] Obtain a second image block to be decoded that depends on the decoding result of the current coefficients during the decoding process;

[0028] Based on the current coefficient decoding result, update the target data used in the decoding process of the second image block to be decoded, and obtain the updated coefficient decoding result corresponding to the second image block to be decoded;

[0029] Using the second image block to be decoded as the current image block to be decoded, and the decoding result of the update coefficients corresponding to the second image block to be decoded as the current update coefficient decoding result, the operation of decoding the transform coefficients of the current image block to be decoded is repeated until the decoding result of the update coefficients corresponding to the second image block to be decoded is obtained, until the decoding result of the update coefficients of the image block to be decoded in the upper left corner of the image transformation unit is obtained.

[0030] In an optional embodiment, the coefficient decoding result corresponding to each image block to be decoded includes the change coefficient quantization result corresponding to each image block to be decoded and the encoding / decoding mode information corresponding to each image block to be decoded. The method further includes:

[0031] The inverse transform and inverse quantization process is performed on the quantization results of the change coefficients corresponding to each image block to be decoded to obtain the residual data of each image block to be decoded;

[0032] Based on the encoding / decoding mode information corresponding to each image block to be decoded, the prediction data of each image block to be decoded is obtained;

[0033] The residual data of each image block to be decoded and the sum of the predicted data of each image block to be decoded are calculated to obtain the reconstructed data of each image block to be decoded;

[0034] Loop filtering is performed on the reconstructed data of each image block to be decoded to obtain the decoding result of the image to be decoded.

[0035] According to a second aspect of the present disclosure, an image decoding and updating apparatus is provided, comprising:

[0036] The first image acquisition module is configured to acquire an image to be decoded; the image to be decoded includes an image transformation unit; the image transformation unit includes multiple image blocks to be decoded; each image block to be decoded has its own transformation coefficients.

[0037] The decoding module is configured to decode the transformation coefficients of a first image block to be decoded in the image transformation unit to obtain a first coefficient decoding result corresponding to the first image block to be decoded; the first image block to be decoded is any one of the image blocks to be decoded in the image transformation unit;

[0038] The second image acquisition module is configured to acquire a second image block to be decoded that depends on the decoding result of the first coefficient during the decoding process; the second image block to be decoded is the image block to be decoded located in the upper left region of the first image block to be decoded in the image transformation unit;

[0039] The update module is configured to perform an update based on the first coefficient decoding result, update the target data used in the decoding process of the second image block to be decoded, and obtain the updated coefficient decoding result corresponding to the second image block to be decoded;

[0040] The updated coefficient decoding result corresponding to the second image block to be decoded is used to decode the transform coefficients of the second image block to be decoded; the target data is determined based on the coefficient decoding result obtained by the candidate image block to be decoded during the decoding process; the candidate image block to be decoded is the image block to be decoded located in the lower right region of the second image block to be decoded in the image transformation unit, and the candidate image block to be decoded includes the first image block to be decoded.

[0041] In an optional embodiment, the second image acquisition module includes:

[0042] The second image block acquisition unit is configured to acquire the image block to be decoded located above the first image block to be decoded, the image block to be decoded located to the left of the first image block to be decoded, and the image block to be decoded located at the upper left corner of the first image block to be decoded in the image transformation unit, thereby obtaining the second image block to be decoded.

[0043] In an optional embodiment, the candidate image block to be decoded is at least one, and the target data is stored in the second image block to be decoded. The target data is determined based on the sum of the absolute values ​​of the coefficient decoding results obtained by each of the candidate image blocks to be decoded during the decoding process.

[0044] The update module includes:

[0045] The absolute value update unit is configured to perform the sum of updating the absolute value using the first coefficient decoding result to obtain the updated coefficient decoding result corresponding to the second image block to be decoded.

[0046] In an optional embodiment, the apparatus further includes:

[0047] The candidate image block acquisition unit is configured to acquire the image block to be decoded located to the right of the second image block to be decoded, the image block to be decoded located below the second image block to be decoded, and the image block to be decoded located at the lower right corner of the second image block to be decoded in the image transformation unit, thereby obtaining the candidate image block to be decoded.

[0048] In an optional embodiment, the apparatus further includes:

[0049] The update coefficient decoding result acquisition unit is configured to acquire the update coefficient decoding result corresponding to the second image block to be decoded from the second image block to be decoded;

[0050] The second coefficient decoding result generation unit is configured to perform the decoding of the transform coefficients of the second image block to be decoded based on the updated coefficient decoding result corresponding to the second image block to be decoded, so as to obtain the second coefficient decoding result of the second image block to be decoded;

[0051] Wherein, if the second image block to be decoded is not located in the upper left corner of the image transformation unit, the second coefficient decoding result is used to update the data used by the target image block to be decoded during the decoding process; the target image block to be decoded is the image block to be decoded located in the upper left region of the second image block to be decoded in the image transformation unit.

[0052] In an optional embodiment, the decoding module includes:

[0053] The coefficient decoding result acquisition unit is configured to acquire the updated coefficient decoding result corresponding to the first image block to be decoded when the first image block to be decoded is not located in the lower right corner of the image transformation unit; the updated coefficient decoding result corresponding to the first image block to be decoded is obtained by updating the data used by the first image block to be decoded during the decoding process based on the target coefficient decoding result, wherein the target coefficient decoding result is the coefficient decoding result obtained by the image block to be decoded located in the lower right region of the first image block to be decoded during the decoding process;

[0054] The first coefficient decoding result generation unit is configured to perform the decoding of the transform coefficients of the first image block to be decoded based on the updated coefficient decoding result corresponding to the first image block to be decoded, so as to obtain the first coefficient decoding result.

[0055] In an optional embodiment, the decoding module, the second image acquisition module, and the update module include:

[0056] The current coefficient decoding result generation module is configured to, when the first image block to be decoded is not located in the lower right corner of the image transformation unit, decode the transformation coefficients of the current image block to be decoded using the first image block to be decoded as the current image block to be decoded and the updated coefficient decoding result corresponding to the first image block to be decoded as the current updated coefficient decoding result, to obtain the current coefficient decoding result corresponding to the current image block to be decoded.

[0057] The second image block acquisition module is configured to acquire a second image block to be decoded that depends on the decoding result of the current coefficients during the decoding process.

[0058] The target data update module is configured to update the target data used in the decoding process of the second image block to be decoded based on the current coefficient decoding result, so as to obtain the updated coefficient decoding result corresponding to the second image block to be decoded;

[0059] The execution module is configured to perform the operation of decoding the transform coefficients of the current image block to be decoded, using the second image block to be decoded as the current image block to be decoded and the decoding result of the update coefficients corresponding to the second image block to be decoded as the current update coefficient decoding result, and repeating the operation of decoding the transform coefficients of the current image block to be decoded until the decoding result of the update coefficients corresponding to the second image block to be decoded is obtained, until the decoding result of the update coefficients of the image block to be decoded in the upper left corner of the image transformation unit is obtained.

[0060] In an optional embodiment, the coefficient decoding result corresponding to each image block to be decoded includes the change coefficient quantization result corresponding to each image block to be decoded and the encoding / decoding mode information corresponding to each image block to be decoded. The apparatus further includes:

[0061] The transform quantization module is configured to perform inverse transform and inverse quantization processing on the quantization results of the transformation coefficients corresponding to each of the image blocks to be decoded, so as to obtain the residual data of each of the image blocks to be decoded.

[0062] The prediction data generation module is configured to perform the following: obtain prediction data for each image block to be decoded based on the encoding / decoding mode information corresponding to each image block to be decoded;

[0063] The reconstruction data generation module is configured to perform the calculation of the sum of the residual data of each image block to be decoded and the predicted data of each image block to be decoded, so as to obtain the reconstruction data of each image block to be decoded;

[0064] The loop filtering module is configured to perform loop filtering on the reconstructed data of each of the image blocks to be decoded, so as to obtain the decoding result of the image to be decoded.

[0065] According to a third aspect of the present disclosure, an electronic device is provided, comprising:

[0066] processor;

[0067] Memory used to store the processor's executable instructions;

[0068] The processor is configured to execute the instructions to implement the image decoding update method as described in any of the above embodiments.

[0069] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided, wherein when instructions in the computer-readable storage medium are executed by a processor of an electronic device, the electronic device performs an image decoding update method as described in any of the above embodiments.

[0070] According to a fifth aspect of the present disclosure, a computer program product is provided, including a computer program that, when executed by a processor, implements the image decoding and updating method described in any of the above embodiments.

[0071] The technical solutions provided by the embodiments of this disclosure have at least the following beneficial effects:

[0072] In this embodiment, an image to be decoded is acquired, which includes an image transformation unit; the transformation coefficients of a first image block to be decoded in the image transformation unit are decoded to obtain a first coefficient decoding result corresponding to the first image block to be decoded; a second image block to be decoded, which depends on the first coefficient decoding result during the decoding process, is acquired, and the second image block to be decoded is located in the upper left region of the first image block in the image transformation unit; based on the first coefficient decoding result, the target data used by the second image block to be decoded during the decoding process is updated to obtain the updated coefficient decoding result corresponding to the second image block to be decoded. This realizes that the transformation coefficients of the image blocks to be decoded in the image transformation unit are decoded sequentially from the lower right to the upper left direction, and the data is updated in reverse. In the decoding process, the target data used by the second image block to be decoded, which depends on the decoding result of the first coefficient, is used to obtain the updated coefficient decoding result corresponding to the second image block to be decoded. Since the state of the second image block to be decoded has been updated in reverse when the first image block to be decoded is decoded, when the second image block to be decoded is decoded, the target data used in the decoding process has been updated. Therefore, the updated coefficient decoding result can be used directly to decode the transform coefficients of the second image block to be decoded. It is not necessary to obtain the neighboring image blocks to be decoded around the second image block to be decoded and calculate the updated coefficient decoding result for the neighboring image blocks to be decoded. This reduces the complexity of the decoding process, improves the decoding efficiency, and reduces the consumption of system resources in the decoding process.

[0073] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description

[0074] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure, and are not intended to unduly limit this disclosure.

[0075] Figure 1 This is a schematic diagram of the decoding of the CABAC module in related technologies.

[0076] Figure 2 This is an application environment diagram illustrating an image decoding and updating method according to an exemplary embodiment.

[0077] Figure 3 This is a flowchart illustrating an image decoding and updating method according to an exemplary embodiment. Figure 1 .

[0078] Figure 4 This is a schematic diagram of an image transformation unit according to an exemplary embodiment.

[0079] Figure 5 This is a flowchart illustrating an image decoding and updating method according to an exemplary embodiment. Figure 2 .

[0080] Figure 6 This is a block diagram of an image decoding and updating apparatus according to an exemplary embodiment.

[0081] Figure 7 This is a block diagram illustrating an electronic device for image decoding updates according to an exemplary embodiment. Detailed Implementation

[0082] To enable those skilled in the art to better understand the technical solutions of this disclosure, the technical solutions in the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings.

[0083] It should be noted that the terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this disclosure are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this disclosure described herein can be implemented in orders other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this disclosure as detailed in the appended claims.

[0084] Please see Figure 2 , Figure 2 This is an application environment diagram illustrating an image decoding and updating method according to an exemplary embodiment. The application environment may include a client 01 and a server 02. The server 02 can communicate with the client 01 via wired or wireless means, which is not limited in this disclosure.

[0085] Server 02 can be used to update image decoding. Optionally, server 02 can be a standalone physical server, a server cluster or distributed system consisting of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDN), and big data and artificial intelligence platforms.

[0086] The client 01 can be used to acquire and display the decoding results of the image to be decoded. Optionally, the client can include a smartphone, desktop computer, tablet computer, laptop computer, etc.

[0087] It should be noted that, Figure 2 This is merely one application environment for the image decoding and updating method provided in this disclosure. In practical applications, other application environments may also be included.

[0088] To facilitate understanding, a brief introduction to the VVC encoding and decoding provided in this application will be given first.

[0089] I. About VCC encoding:

[0090] The fundamental assumption of VVC follows the concept of block-based hybrid video coding. The video image is divided into blocks, and prediction is performed on each block using intra-image prediction or motion-compensated prediction. The predicted residual blocks are then encoded using transform coefficient coding, which consists of orthogonal block transform, transform coefficient quantization, and entropy coding of the quantization index. This process of encoding the predicted residual blocks can be considered residual coding.

[0091] VVC coding mainly includes the following processes: 1) block partitioning, 2) intra-frame prediction and inter-frame prediction, 3) transformation and quantization, 4) entropy coding, and 5) loop filtering.

[0092] 1) Block partitioning:

[0093] After the VVC coding framework reads the image to be decoded, it divides the image into block data and encodes based on the block data. For example, after reading the image to be decoded, the coding framework can divide the image into several Coding Tree Units (CTUs). Each CTU can be further divided into several Coding Units (CUs), which can be rectangular or square. Each CU can be further divided into several 4x4 Transform Units (TUs), where each TU stores the transform quantization information of the CU. The coding framework can encode based on CTUs, CUs, or TUs.

[0094] In addition to quadtree partitioning, VVC introduces a new partitioning method called Multiple-Type Tree (MTT). In other words, VVC employs a partitioning method combining quadtrees and multiple-type trees (QT+MTT). In QT+MTT partitioning, a block can be evenly divided into two rectangular blocks (left-right or top-bottom), also known as binary-tree splitting (BT); or it can be divided into three rectangular blocks from left to right or top to bottom in a 1:2:1 ratio, also known as ternary-tree splitting (TT).

[0095] 2) Intra-frame prediction and inter-frame prediction:

[0096] Intra-frame prediction includes an intra-frame estimation unit and an intra-frame prediction unit, while inter-frame prediction includes a motion compensation unit and a motion estimation unit.

[0097] The intra-frame estimation unit and intra-frame prediction unit can predict the target image block by referring to neighboring image blocks of the image to be encoded, and output a prediction block. Alternatively, the motion compensation unit and motion estimation unit can predict the target image block by referring to neighboring image blocks of the image frame to be encoded, and output a prediction block. Then, a residual block, i.e., the difference between the prediction block and the target image block to be encoded, can be calculated based on the prediction block and the target image block to be encoded; this residual block can also be called residual information. This residual block undergoes transformation and quantization processes by the transform quantization unit to remove information that is not sensitive to the human eye, thereby eliminating visual redundancy. Optionally, the residual block before transformation and quantization by the transform quantization unit can be called a temporal residual block, and the temporal residual block after transformation and quantization by the transform quantization unit can be called a frequency residual block or a frequency domain residual block. After receiving the quantized change coefficients output by the transform quantization unit, the header information encoding unit or entropy encoding unit can output the target bitstream based on these quantized change coefficients and the intra-frame prediction data output by the intra-frame estimation unit and intra-frame prediction unit, or the motion data output by the motion compensation unit and motion estimation unit. For example, the header information coding unit or entropy coding unit can eliminate character redundancy based on the target context model and the probability information of the binary bitstream. For example, the header information coding unit or entropy coding unit can be used for context-based adaptive binary arithmetic entropy coding (CABAC).

[0098] 3) Transformation and quantization

[0099] After the residual signal undergoes transformation operations such as Discrete Fourier Transform (DFT) and Discrete Cosine Transform (DCT), the signal is transformed into the transform domain, and these are called transform coefficients. The transform coefficients are then subjected to lossy quantization, losing some information to make the quantized signal easier to compress. The fineness of quantization is usually determined by the quantization parameter (QP). A larger QP value means that coefficients with a wider range of values ​​will be quantized into the same output, thus usually resulting in greater distortion and a lower bit rate; conversely, a smaller QP value means that coefficients with a smaller range of values ​​will be quantized into the same output, thus usually resulting in less distortion and a higher bit rate.

[0100] In terms of transforms, VVC introduces non-square transforms, multiple transform (master transform) selection, low-frequency inseparable transforms, and sub-block transforms. Additionally, the maximum transform dimension in VVC is increased to 64 (maximum transform). Non-square transforms are used to transform non-square blocks. This transform uses transform kernels of different lengths in the horizontal and vertical directions.

[0101] VVC introduces three encoding tools for quantization: adaptive chromaticity parameter bias, dependent quantization, and joint encoding of quantization residuals. When using adaptive chromaticity parameter bias, for a specific quantization group, the chromaticity parameters are not directly encoded, but rather derived through the luminance quantization parameters and a predefined, transmitted lookup table. In dependent quantization, the reconstructed value range of a transform coefficient depends on the reconstructed values ​​of several transform coefficients preceding it in the scan order, thus reducing the average distortion between the input vector and the closest reconstructed vector. Joint encoding of quantization residuals refers to encoding the residuals of two chromaticity components together, rather than separately, which results in higher encoding efficiency when the residuals of the two chromaticity components are similar.

[0102] 4) Entropy coding

[0103] The quantized transform-domain signal is statistically compressed and encoded based on the frequency of each value, ultimately outputting a binary (0 or 1) compressed bitstream. Simultaneously, other information generated during encoding, such as the selected encoding mode and motion vector data, also requires entropy coding to reduce the bit rate. Statistical coding is a lossless encoding method that effectively reduces the bit rate required to represent the same signal. Common statistical coding methods include Variable Length Coding (VLC) and CABAC.

[0104] CABAC primarily comprises three steps: binary context modeling and binary arithmetic encoding. After binarizing the input syntax elements, the binary data can be encoded using either a regular encoding mode or a bypass encoding mode. The bypass encoding mode does not require assigning a specific probability model to each binary bit; the input binary bit bin values ​​are directly encoded using a simple bypass encoder, thus accelerating the overall encoding and decoding speed. Generally, different syntax elements are not completely independent, and the same syntax elements themselves possess a certain degree of memory. Therefore, according to conditional entropy theory, using other encoded syntax elements for conditional encoding can further improve encoding performance compared to independent encoding or memoryless encoding. This encoded symbol information used as conditions is called the context. In the regular encoding mode, the binary bits of the syntax elements sequentially enter the context modeler. The encoder assigns an appropriate probability model to each input binary bit based on the values ​​of previously encoded syntax elements or binary bits; this process is called context modeling. The context model corresponding to a grammatical element can be located using the context index increment (ctxIdxInc) and the context index start (ctxIdxStart). After the bin value and the assigned probability model are fed into the binary arithmetic encoder for encoding, the context model needs to be updated based on the bin value, which is the adaptive process in encoding.

[0105] VVC improves upon the CABAC engine and transform coefficient encoding. The improvement to the CABAC engine involves an adaptive rate bound to the multiple hypothesis probability update model and the context model (i.e., the probability update speed depends on the context model). This employs two probability estimates, P0 and P1, coupled to each context model, which are updated independently according to their respective adaptive rates. The probability estimate P used for interval subdivision in the binary arithmetic encoder is set as the mean of P0 and P1. Regarding transform coefficient encoding, in addition to the 4-mean coefficient set, VVC allows six other coefficient sets: 1-mean set, 16-mean set, 26-mean set, 86-mean set, 26-mean set, and 46-mean set. Furthermore, a flag is added for quantization-dependent state transitions, and an improved probability model selection mechanism is used for encoding syntax elements related to the absolute values ​​of the transform coefficients.

[0106] Among them, the entropy encoding of the transform coefficients refers to the entropy encoding of the quantized transform coefficients. The entropy encoding of the quantized transform coefficients includes two parts: one is to scan the quantized transform coefficients; the other is to locate the non-zero transform coefficients.

[0107] Transform coefficient scanning transforms two-dimensional transform coefficients into one-dimensional transform coefficients. During scanning, numbers with similar amplitudes are grouped together as much as possible. The scan is based on 4x4 blocks, so for transform coefficients larger than 4x4, they must first be divided into several 4x4 sub-blocks. The scanning process is repeated within and between sub-blocks. The 16 consecutive coefficients obtained after scanning each 4x4 sub-block are called a coefficient group (CG). After the above scan, a transform coefficient array is obtained. Since most values ​​of the transform coefficients are 0 after quantization, directly entropy encoding each coefficient sequentially is inefficient. Therefore, CABAC encoding can be used to encode the position and amplitude of each non-zero coefficient.

[0108] 5) Loop Filtering

[0109] The transformed and quantized signal is then subjected to inverse quantization, inverse transform, and prediction compensation to obtain a reconstructed image. Due to the effects of quantization, the reconstructed image differs from the original image in some aspects, resulting in distortion. Therefore, filtering operations can be performed on the reconstructed image, such as deblocking filters (DB), sample adaptive offset (SAO), or adaptive loop filters (ALF), to effectively reduce the distortion caused by quantization. Since these filtered reconstructed images will serve as a reference for subsequent coded images to predict future image signals, the aforementioned filtering operations are also called loop filtering, i.e., filtering operations within the coding loop.

[0110] II. Regarding VVC decoding:

[0111] After receiving and parsing the bitstream, the decoding framework obtains the temporal residual block through inverse transformation and inverse quantization. The reconstructed block is obtained by superimposing the predicted block obtained by the decoding end onto the temporal residual block. This decoding process can be considered as a residual decoding process.

[0112] The decoding framework may include a header information decoding unit or entropy decoding unit, an inverse transform inverse unit, a residual unit, a motion compensation unit, an intra-frame prediction unit, a loop filtering unit, and a decoded image buffer unit. After receiving and parsing the bitstream, the header information decoding unit or entropy decoding unit performs entropy decoding to obtain transform coefficients, motion vectors, image segmentation information, and other encoding / decoding information to obtain prediction blocks and frequency domain residual blocks. For the frequency domain residual block, the inverse transform inverse quantization unit performs inverse transform and inverse quantization steps to obtain the time domain residual block. The residual unit superimposes the prediction blocks obtained by the motion compensation unit or intra-frame prediction unit onto the time domain residual block after inverse transform and inverse quantization, thus obtaining the reconstructed block. In other words, on one hand, entropy decoding can be performed on the bitstream to obtain transform coefficients, motion vectors, image segmentation information, and other encoding / decoding information; then, the transform coefficients undergo inverse quantization and inverse transform processing to obtain the residual signal. On the other hand, based on the known coding mode information, the prediction signal corresponding to the CU can be obtained. Then, the residual signal and the prediction signal are added together to obtain the reconstructed signal. The reconstructed signal is then subjected to loop filtering and other operations to generate the final output signal.

[0113] Figure 3 This is a flowchart illustrating an image decoding and updating method according to an exemplary embodiment. Figure 1 ,like Figure 3 As shown, it includes the following steps.

[0114] In step S11, an image to be decoded is obtained; the image to be decoded includes an image transformation unit; the image transformation unit includes multiple image blocks to be decoded; each image block to be decoded has its own transformation coefficients.

[0115] In this embodiment, the image to be decoded is obtained by encoding the image to be encoded using VCC entropy coding. Referring to the above description of VCC coding, after intra-frame prediction and inter-frame prediction, the image to be encoded can output a prediction block. The difference between the pre-stored block and the image to be encoded is calculated to obtain the residual signal. During the transform and quantization process, the residual signal undergoes transform operations such as DFT and DCT to transform it into the transform domain, obtaining transform coefficients. The transform coefficients are further subjected to lossy quantization, losing some information, resulting in quantized transform coefficients. In the transform coefficient encoding process of VCC entropy coding, the scanning of the quantized transform coefficients is based on 4x4 blocks. That is, the server divides the image to be encoded into TUs, and each TU is divided into 4x4 CGs, resulting in 16 consecutive coefficients. Each CG contains 4x4 blocks of transform coefficients.

[0116] Therefore, the image to be decoded also includes an image transformation unit (TU), which includes multiple CGs. Each CG includes a 4x4 sub-block (i.e., the image block to be decoded). Each image block to be decoded has its own transformation coefficient (which is obtained by converting the residual signal into the transform domain). Each image block to be decoded represents a pixel in the image to be decoded.

[0117] It should be noted that, in addition to dividing the TU according to the 4x4 CG, the TU can also be divided according to the CG of 1x16, 2x8, 8x2, 2x4, 4x2 and 16x1, etc., according to actual business needs.

[0118] Figure 4 This is a schematic diagram of an image transformation unit according to an exemplary embodiment, such as... Figure 4 As shown, the image transformation unit is divided into four CGs according to a 4x4 CG, which means four 4x4 sub-blocks are obtained. Each block in the image transformation unit refers to an image block to be decoded, and each image block to be decoded represents a pixel in the image to be decoded.

[0119] In step S13, the transformation coefficients of the first image block to be decoded in the image transformation unit are decoded to obtain the first coefficient decoding result corresponding to the first image block to be decoded; the first image block to be decoded is any one of the image blocks to be decoded in the image transformation unit.

[0120] In this embodiment of the disclosure, for any image block to be decoded in the transform unit, i.e., the first image block to be decoded, the server can decode the transform coefficients of the first image block to be decoded to obtain the first coefficient decoding result corresponding to the first image block to be decoded. This decoding process can be considered as the residual decoding process described above. Optionally, the first coefficient decoding result may include, but is not limited to: transformation coefficient quantization result, encoding / decoding mode information, motion vector, image segmentation information, etc.

[0121] It should be noted that the transform coefficients are scanned according to a 4x4 CG during encoding and decoding, and the first block to be decoded can be any image block to be decoded in the currently scanned CG.

[0122] In step S15, a second image block to be decoded that depends on the decoding result of the first coefficient is obtained; the second image block to be decoded is the image block to be decoded located in the upper left region of the first image block to be decoded in the image transformation unit.

[0123] In this embodiment, the decoding order is from the lower right corner to the upper left corner of the image transformation unit. Therefore, after obtaining the first coefficient decoding result corresponding to the first image block to be decoded, a second image block to be decoded that depends on the first coefficient decoding result during the decoding process can be obtained. That is, the image block to be decoded located in the upper left region of the first image block to be decoded in the image transformation unit. Here, the second image block to be decoded that depends on the first coefficient decoding result refers to the image block to be decoded that needs to use the first coefficient decoding result during the decoding process of the transformation coefficients. It should be noted that if the first image block to be decoded is located in the upper left corner of the transformation unit, then there is no corresponding second image block to be decoded.

[0124] Optionally, for each CG, the decoding order is from the lower right corner to the upper left corner of each CG. The first image block to be decoded and the second image block to be decoded can be located in the same CG. The second image block to be decoded is the image block to be decoded located in the upper left region of the first image block to be decoded in a certain CG.

[0125] In step S17, based on the first coefficient decoding result, the target data used in the decoding process of the second image block to be decoded is updated to obtain the updated coefficient decoding result corresponding to the second image block to be decoded; wherein, the updated coefficient decoding result corresponding to the second image block to be decoded is used to decode the transform coefficients of the second image block to be decoded; the target data is determined based on the coefficient decoding result obtained in the decoding process of the candidate image block to be decoded; the candidate image block to be decoded is the image block to be decoded located in the lower right region of the second image block to be decoded, and the candidate image block to be decoded includes the first image block to be decoded.

[0126] In this embodiment of the disclosure, the data used by each image block to be decoded during the residual process is determined by the coefficient decoding result obtained by the image block to be decoded in the lower right region of the image block to be decoded during the decoding process. For the second image block to be decoded, the target data used during the decoding process can be determined by the coefficient decoding result obtained by the candidate image block to be decoded in the lower right region of the second image block to be decoded during the decoding process. Since the second image block to be decoded is located in the upper left region of the first image block to be decoded, the first image block to be decoded is located in the lower right region of the second image block to be decoded, meaning that the candidate image block to be decoded includes the first image block to be decoded.

[0127] Optionally, for each CG, the second image block to be decoded and the candidate image block to be decoded can be located within the same CG, and the candidate image block to be decoded is the image block to be decoded located in the upper right region of the second image block to be decoded in a certain CG.

[0128] In this embodiment, the updated coefficient decoding result corresponding to the second image block to be decoded is used to decode the transform coefficients of the second image block to be decoded. Since the target data used in the decoding process of the second image block located to the upper left of the first image block to be decoded has already been updated in reverse order (from lower right to upper left) when decoding the first image block, the server can directly use the updated coefficient decoding result to decode the transform coefficients of the second image block when decoding the second image block. This eliminates the need to obtain the surrounding adjacent image blocks to be decoded and calculate the updated coefficient decoding results for them, thus reducing the complexity of the decoding process, improving decoding efficiency, and reducing the consumption of system resources during the decoding process.

[0129] In an optional embodiment, in step S15 above, obtaining the second image block to be decoded, which depends on the decoding result of the first coefficients in the decoding process, may include:

[0130] The image block to be decoded is obtained by acquiring the image block to be decoded above the first image block to be decoded, the image block to be decoded to the left of the first image block to be decoded, and the image block to be decoded to the upper left of the first image block to be decoded, thus obtaining the second image block to be decoded.

[0131] The decoding order used in this embodiment is from the lower right corner to the upper left corner of the image transformation unit. The image block to be decoded above the first image block to be decoded, the image block to be decoded to the left of the first image block to be decoded, and the image block to be decoded to the upper left of the first image block to be decoded can be used as the second image block to be decoded. Optionally, for each CG, the decoding order is from the lower right corner to the upper left corner of each CG. The first image block to be decoded and the second image block to be decoded can be located within the same CG. The CG containing the first image block to be decoded can be found, and the image blocks to be decoded above the first image block to be decoded, the image blocks to be decoded to the left of the first image block to be decoded, and the image blocks to be decoded to the upper left of the first image block to be decoded within that CG can be used.

[0132] As an example, the two adjacent image blocks to be decoded above the first image block to be decoded, the two adjacent image blocks to be decoded to the left of the first image block to be decoded, and the image block to be decoded to the upper left of the first image block to be decoded can be considered as the second image block to be decoded. Continuing as... Figure 4As shown, the black block is the first image block to be decoded (image block 8). The two adjacent gray blocks above the black block (image blocks 7 and 12 to be decoded), the two adjacent gray blocks to the left of the first image block to be decoded (image blocks 14 and 15 to be decoded), and the gray block in the upper left corner of the first image block to be decoded (image block 13 to be decoded) can be used as the second image block to be decoded.

[0133] It should be noted that if, within the same CG, a first image block to be decoded is located at or near the edge of the CG, then the two adjacent image blocks above it, the two adjacent image blocks to its left, and one image block to its upper left may partially exist or not. In this case, the partially existing image block is taken as the second image block to be decoded corresponding to the first image block. For example, for Figure 4 The image block to be decoded 14 in the image block to be decoded has two image blocks to be decoded above it, one image block to be decoded to its left, and one image block to be decoded in its upper left corner.

[0134] In this embodiment of the present disclosure, the image block to be decoded located above the first image block to be decoded, the image block to be decoded located to the left of the first image block to be decoded, and the image block to be decoded located at the upper left corner of the first image block to be decoded are used as the second image block to be decoded. This allows the decoding order of this embodiment to be decoded in the order from the lower right corner to the upper left corner of the image transformation unit, thereby reducing the complexity of the decoding process, improving the decoding efficiency, and reducing the consumption of system resources by the decoding process.

[0135] Optionally, step S17 can be implemented in various ways, and no specific limitation is made here.

[0136] In one implementation, the server may pre-store the data used during the decoding process in each image block to be decoded. The data stored in each image block is determined based on the sum of the absolute values ​​of the coefficient decoding results obtained from the image blocks located to the lower right of each image block, and the number of candidate image blocks to be decoded located to the lower right of each image block. For a second image block to be decoded, target data may be stored, which is determined based on the sum of the absolute values ​​of the coefficient decoding results obtained from the candidate image blocks, and the number of candidate image blocks. For example, target data = sum of the absolute values ​​of the coefficient decoding results obtained from the candidate image blocks + number of candidate image blocks.

[0137] The candidate image block to be decoded can be the image block to the right of the second image block to be decoded, the image block to the bottom of the second image block to be decoded, or the image block to the bottom right corner of the second image block to be decoded within the image transformation unit. As an example, two adjacent image blocks to the bottom of the second image block to be decoded, two adjacent image blocks to the right of the second image block to be decoded, and one image block to the top right corner of the second image block to be decoded can be used as candidate image blocks to be decoded. This allows for decoding of the current image block to be decoded based on the coefficient decoding results of the already decoded data, improving decoding accuracy.

[0138] Continue as Figure 4 As shown, the second image block to be decoded is image block 1. The two adjacent gray blocks below image block 1 (image blocks 4 and 5), the two adjacent gray blocks to the right of image block 1 (image blocks 2 and 3), and the gray block at the lower right corner of the second image block (image block 6) can be considered as candidate image blocks to be decoded. Therefore, the target data of image block 1 = the absolute value of the coefficient decoding results obtained during the decoding process of image block 2 + the absolute value of the coefficient decoding results obtained during the decoding process of image block 3 + the absolute value of the coefficient decoding results obtained during the decoding process of image block 4 + the absolute value of the coefficient decoding results obtained during the decoding process of image block 5 + the absolute value of the coefficient decoding results obtained during the decoding process of image block 6 + the number of candidate image blocks to be decoded. It should be noted that before a candidate image block to be decoded is decoded, the absolute value of the corresponding coefficient decoding result is 0. Only after a candidate image block to be decoded is decoded will the absolute value of the obtained coefficient decoding result be updated to the target data.

[0139] Optionally, for each CG, the decoding order is from the bottom right corner to the top left corner. The second image block to be decoded and its corresponding candidate image block to be decoded can be located within the same CG. The CG containing the second image block to be decoded can be traversed, and the image blocks to be decoded below, to the right, and to the top right of the second image block within that CG can be considered as candidate image blocks to be decoded. It should be noted that if a second image block to be decoded is located at or near the edge of the same CG, the two adjacent image blocks below, to the right, and to the bottom right of that second image block may partially exist or not. The partially existing image blocks are then considered as candidate image blocks to be decoded corresponding to that second image block. For example, for... Figure 4 If image block 7 to be decoded is considered as the second image block to be decoded, its corresponding candidate image blocks to be decoded are image blocks 8 and 11 below it, image block 9 to its right, and image block 10 in its lower right corner. Accordingly, the target data for image block 7 is calculated as: the absolute value of the coefficient decoding result obtained by image block 9 during decoding + the absolute value of the coefficient decoding result obtained by image block 8 during decoding + the absolute value of the coefficient decoding result obtained by image block 10 during decoding + the absolute value of the coefficient decoding result obtained by image block 11 during decoding + the number of candidate image blocks to be decoded.

[0140] In another implementation, the server may also store the data used by each image block to be decoded during the decoding process.

[0141] Accordingly, step S17 above may include:

[0142] Using the first coefficient decoding result, update the sum of the absolute values ​​of the coefficient decoding results obtained by each candidate image block to be decoded during the decoding process, and obtain the updated coefficient decoding result corresponding to the second image block to be decoded.

[0143] In this embodiment, after obtaining the first coefficient decoding result, the sum of the absolute values ​​of the coefficient decoding results obtained by each candidate image block to be decoded during the decoding process can be updated using the first coefficient decoding result, thereby realizing the update of the decoding state of the second image block to be decoded (i.e., realizing the update of the CABAC state) and obtaining the updated coefficient decoding result corresponding to the second image block to be decoded.

[0144] The update method can be specifically as follows:

[0145] Sum[-1]+=coeff;

[0146] Sum[-2]+=coeff;

[0147] Sum[-width] + = coeff;

[0148] Sum[-1-width]+=coeff;

[0149] Sum[-2*width]+=coeff.

[0150] Sum refers to Figure 4 The sum of absolute values ​​stored in each gray block (i.e., image block 14, image block 7, image block 12, image block 13, and image block 15 to be decoded), where coeff refers to... Figure 4 The first coefficient decoding result corresponding to the black block (image block 8 to be decoded) is defined as follows: Sum[-1] refers to image block 14 to be decoded, Sum[-2] refers to image block 15 to be decoded, Sum[-width] refers to image block 7 to be decoded, Sum[-1-width] refers to image block 13 to be decoded, and Sum[-2*width] refers to image block 12 to be decoded. Sum[-1]+=coeff means updating the first coefficient decoding result to image block 14 to be decoded, Sum[-2]+=coeff means updating the first coefficient decoding result to image block 15 to be decoded, Sum[-width] means updating the first coefficient decoding result to image block 7 to be decoded, Sum[-1-width] means updating the first coefficient decoding result to image block 13 to be decoded, and Sum[-2*width] means updating the first coefficient decoding result to image block 12 to be decoded.

[0151] Continue as Figure 4As shown, assuming the first image block to be decoded is image block 8, and the second image block to be decoded is image block 7, since the target data is stored in the second image block to be decoded or in the server, and the target data of image block 7 is equal to the absolute value of the coefficient decoding result obtained during the decoding of image block 9 + the absolute value of the coefficient decoding result obtained during the decoding of image block 8 + the absolute value of the coefficient decoding result obtained during the decoding of image block 10 + the absolute value of the coefficient decoding result obtained during the decoding of image block 11 + the number of candidate image blocks to be decoded. After obtaining the first coefficient decoding result, since the image block to be decoded 8 is located to the lower right of the second image block to be decoded, that is, the image block to be decoded 8 is included in the candidate image blocks to be decoded of the second image block to be decoded, the first coefficient decoding result of image block 8 is used to update the "absolute value of the coefficient decoding result obtained during the decoding of the first image block to be decoded 8" in the target data, thus obtaining the updated coefficient decoding result corresponding to image block 7.

[0152] Since image block 8 to be decoded is also a candidate image block to be decoded for image blocks 12, 13, 14, and 15, the state update process of image blocks 12, 13, 14, and 15 is similar to that of image block 7 to be decoded, and will not be described again here.

[0153] In this embodiment, by storing target data in the second image block to be decoded, which is the sum of the absolute values ​​of the coefficient decoding results obtained during the decoding process of each candidate image block to be decoded, and using the first coefficient decoding result to update the sum of the absolute values, the updated coefficient decoding result corresponding to the second image block to be decoded is obtained. This allows the decoding order of this embodiment to be decoded in the order from the lower right corner to the upper left corner of the image transformation unit, thereby realizing the reverse update of the CABAC state of the second image block to be decoded. Since the updated coefficient decoding result is still stored in the second image block to be decoded when updating the target data stored in the second image block to be decoded, when decoding the second image block to be decoded, since the target data stored therein has been updated, the existing updated coefficient decoding result can be directly used to decode the transformation coefficients of the second image block to be decoded. It is not necessary to obtain the neighboring image blocks to be decoded around the second image block to be decoded and calculate the updated coefficient decoding result for the neighboring image blocks to be decoded, which reduces the complexity of the decoding process, improves the decoding efficiency, and reduces the consumption of system resources by the decoding process.

[0154] In this embodiment of the disclosure, after obtaining the decoding result of the update coefficients corresponding to the second image block to be decoded, the above method may further include:

[0155] Obtain the decoding result of the update coefficients corresponding to the second image block to be decoded from the second image block to be decoded.

[0156] Based on the decoding result of the updated coefficients corresponding to the second image block to be decoded, the transform coefficients of the second image block to be decoded are decoded to obtain the second coefficient decoding result of the second image block to be decoded;

[0157] In the case where the second image block to be decoded is not located in the upper left corner of the image transformation unit, the second coefficient decoding result is used to update the data used by the target image block to be decoded during the decoding process; the target image block to be decoded is the image block to be decoded located in the upper left region of the second image block to be decoded in the image transformation unit.

[0158] In this embodiment, after obtaining the update coefficient decoding result corresponding to the second image block to be decoded, the update coefficient decoding result can be used to decode the transform coefficients of the second image block to be decoded, thereby obtaining the second coefficient decoding result of the second image block to be decoded. This second coefficient decoding result may include, but is not limited to: transform coefficient quantization result, encoding / decoding mode information, motion vectors, image segmentation information, etc.

[0159] In this embodiment, if the second image block to be decoded is not the top-left image block in the image transformation unit, it indicates that there is another image block in the image transformation unit that depends on the second coefficient decoding result of the second image block. This image block that depends on the second coefficient decoding result of the second image block can be considered the target image block to be decoded. This target image block to be decoded is the image block located in the top-left region of the second image block in the image transformation unit. The server can use the second coefficient decoding result to update the data used by this target image block during the decoding process. Continuing as... Figure 4 As shown, assume the second image block to be decoded is Figure 5 If the target image blocks to be decoded are image blocks to be decoded 13, 16, 15, and 17, and the second coefficient decoding result of image block to be decoded 14 depends on image block to be decoded 14, then the data stored in each of the decoded image blocks 13, 16, 15, and 17 that are used in the decoding process is updated using the second coefficient decoding result of image block to be decoded 14.

[0160] Optionally, for each CG, the decoding order is from the bottom right corner to the top left corner of each CG. If the second image block to be decoded is the top left corner image block to be decoded in a certain CG, the second coefficient decoding result is used to update the data used in the decoding process of the image block to be decoded in that CG that depends on the second coefficient decoding result.

[0161] Since the target data used in the decoding process of the second image block has been updated in reverse during the decoding of the first image block to be decoded, the updated coefficient decoding result of the second image block to be decoded is obtained. That is, when the first image block to be decoded is decoded, the state of the second image block to be decoded has been updated in reverse. When decoding the second image block, since the target data used in the decoding process has been updated, the updated coefficient decoding result can be directly used to decode the transform coefficients of the second image block to be decoded. It is not necessary to obtain the neighboring image blocks to be decoded around the second image block to be decoded and calculate the updated coefficient decoding result for the neighboring image blocks to be decoded. This reduces the complexity of the decoding process, improves the decoding efficiency, and reduces the consumption of system resources in the decoding process.

[0162] Optionally, in step S13, the above-mentioned decoding of the transformation coefficients of the first image block to be decoded in the image transformation unit to obtain the first coefficient decoding result corresponding to the first image block to be decoded can be achieved in various ways.

[0163] In one implementation, step S13 may include:

[0164] If the first image block to be decoded is not located in the lower right corner of the image transformation unit, the updated coefficient decoding result corresponding to the first image block to be decoded is obtained. The updated coefficient decoding result corresponding to the first image block to be decoded is obtained by updating the data used by the first image block to be decoded during the decoding process based on the target coefficient decoding result. The target coefficient decoding result is the coefficient decoding result obtained by the image block to be decoded in the lower right region of the first image block to be decoded during the decoding process. Based on the updated coefficient decoding result corresponding to the first image block to be decoded, the transformation coefficients of the first image block to be decoded are decoded to obtain the first coefficient decoding result.

[0165] In this embodiment, when the first image block to be decoded is not located at the lower right corner of the image transformation unit, the decoding process of the first image block to be decoded requires the use of the target coefficient decoding results obtained by the image block to be decoded in the lower right region of the first image block. The server can store the data used in the decoding process of the first image block to be decoded in the first image block to be decoded or in the server. The used data = the sum of the absolute values ​​of the target coefficient decoding results obtained by the image block to be decoded in the lower right region of the first image block to be decoded + the number of image blocks to be decoded in the lower right region of the first image block to be decoded. When the target coefficient decoding result of the image block to be decoded in the lower right region of the first image block is decoded, the target coefficient decoding result of the image block to be decoded in the lower right region of the first image block to be decoded can be used to update the data stored in the server or the first image block to be decoded, to obtain the updated coefficient decoding result corresponding to the first image block to be decoded. The server uses the updated coefficient decoding result corresponding to the first image block to decode to decode the transformation coefficients of the first image block to be decoded, to obtain the first coefficient decoding result.

[0166] Optionally, for each CG, the decoding order is from the bottom right corner to the top left corner of each CG. If the first image block to be decoded is not the bottom right corner image block in a certain CG, the second coefficient decoding result is used to update the data used by the image block to be decoded in the CG that depends on the second coefficient decoding result during the decoding process.

[0167] In this embodiment, when the first image block to be decoded is not located in the lower right corner of the image transformation unit, the server uses the target coefficient decoding result obtained by the image block to be decoded in the lower right region of the first image block to be decoded during the decoding process to update the data used by the first image block to be decoded during the decoding process, and obtains the updated coefficient decoding result corresponding to the first image block to be decoded. Since the data used by the first image block to be decoded during the decoding process has been updated in reverse by the coefficient decoding result obtained by the image block to be decoded in the lower right region of the first image block to be decoded before decoding, when decoding the first image block to be decoded, since the target data used by it during the decoding process has been updated, the updated coefficient decoding result can be directly used to decode the transformation coefficients of the first image block to be decoded. It is not necessary to obtain the surrounding adjacent image blocks to be decoded and calculate the corresponding updated coefficient decoding result for the surrounding adjacent image blocks to be decoded, which reduces the complexity of the decoding process, improves the decoding efficiency, and reduces the consumption of system resources by the decoding process.

[0168] In another embodiment, step S13 may further include: when the first image block to be decoded is located in the lower right corner of the image transformation unit, since there are no other image blocks to be decoded in the lower right area of ​​the first image block to be decoded, the transformation coefficients of the first image block to be decoded in the image transformation unit can be decoded to obtain the first coefficient decoding result corresponding to the first image block to be decoded.

[0169] Figure 2 This is a flowchart illustrating an image decoding and updating method according to an exemplary embodiment. Figure 5 ,like Figure 4 As shown, steps S11, S13, S15, and S17 may include:

[0170] In step S21, an image to be decoded is obtained; the image to be decoded includes an image transformation unit; the image transformation unit includes multiple image blocks to be decoded; each image block to be decoded has its own transformation coefficients.

[0171] In step S23, if the first image block to be decoded is not located in the lower right corner of the image transformation unit, the transformation coefficients of the current image block to be decoded are decoded using the first image block to be decoded as the current image block to be decoded and the decoding result of the update coefficients corresponding to the first image block to be decoded as the current update coefficient decoding result, so as to obtain the current coefficient decoding result corresponding to the current image block to be decoded.

[0172] In step S25, a second image block to be decoded is obtained, which depends on the decoding result of the current coefficients in the decoding process.

[0173] In step S27, based on the current coefficient decoding result, the target data used in the decoding process of the second image block to be decoded is updated to obtain the updated coefficient decoding result corresponding to the second image block to be decoded.

[0174] In step S29, the transformation coefficients of the current image block to be decoded are repeatedly decoded, with the second image block to be decoded as the current image block to be decoded and the decoding result of the update coefficients corresponding to the second image block to be decoded as the current decoding result of the update coefficients, until the decoding result of the update coefficients corresponding to the second image block to be decoded is obtained, until the decoding result of the update coefficients of the image block to be decoded in the upper left corner of the image transformation unit is obtained.

[0175] Optionally, in step S23 above, if the first image block to be decoded is not located in the lower right corner of the image transformation unit, the first image block to be decoded is determined as the current image block to be decoded, and the decoding result of the updated coefficients corresponding to the first image block to be decoded is determined as the current decoding result of the updated coefficients. This decoding result of the updated coefficients corresponding to the first image block to be decoded is obtained by updating the data used in the decoding process of the image block to be decoded in the lower right region of the first image block to be decoded. The server can use the first image block to be decoded as the current image block to be decoded and the decoding result of the updated coefficients corresponding to the first image block to be decoded as the current decoding result to decode the transformation coefficients of the current image block to be decoded, thereby updating the CABAC state of the current image block to be decoded and obtaining the current decoding result of the current coefficients corresponding to the current image block to be decoded. For example, the current decoding result of the updated coefficients can be directly used as the current decoding result of the current image block to be decoded.

[0176] Optionally, in step S25 above, the server may obtain a second image block to be decoded that depends on the decoding result of the current coefficients during the decoding process. This second image block to be decoded is the image block located in the upper left region of the current image block to be decoded within the image transformation unit.

[0177] Optionally, in step S27, the server may update the second image block to be decoded or the target data used by the second image block to be decoded during the decoding process stored in the server based on the current coefficient decoding result, so as to obtain the updated coefficient decoding result corresponding to the second image block to be decoded.

[0178] Optionally, in step S29 above, the server may use the second image block to be decoded as the current image block to be decoded, and use the decoding result of the update coefficients corresponding to the second image block to be decoded as the current decoding result of the update coefficients.

[0179] Repeat steps S23-S27 until the updated coefficient decoding result of the image block to be decoded in the upper left corner of the image transformation unit is obtained.

[0180] Optionally, for each CG, the decoding order can be from the bottom right corner to the top left corner of each CG, and the currently decoded image block and the second image block to be decoded can be located in the same CG. Continuing as... Figure 4 As shown, you can first... Figure 6The image block 8 to be decoded is taken as the current image block to be decoded, and the decoding result of the updated coefficients corresponding to the image block 8 is taken as the current coefficient decoding result. The second image blocks to be decoded corresponding to the image block 8 are the image blocks to be decoded 7, 12, 13, 14, and 15. Then, the target data used by the image blocks to be decoded 7, 12, 13, 14, and 15 during the decoding process can be updated using the current coefficient decoding result, and the updated coefficient decoding results corresponding to the image blocks to be decoded 7, 12, 13, 14, and 15 are obtained.

[0181] Next, image blocks 7, 12, 13, 14, and 15 can be sequentially designated as the current image blocks to be decoded, and their corresponding update coefficient decoding results can be used as the current update coefficient decoding results. Based on the current update coefficient decoding results, the transform coefficients of the current image blocks to be decoded are decoded to obtain the update coefficient decoding results for each of the image blocks 7, 12, 13, 14, and 15. Simultaneously, the second image blocks corresponding to each of the image blocks 7, 12, 13, 14, and 15 can be obtained, and CABAC state updates are performed in the same manner until the update coefficient decoding result for image block 18 is obtained.

[0182] In this embodiment, based on the current coefficient decoding result, the target data used in the decoding process of the second image block to be decoded is updated in reverse, resulting in the updated coefficient decoding result for the second image block to be decoded. Since the state of the second image block to be decoded has already been updated in reverse when the current image block to be decoded is being decoded, when decoding the second image block, since the target data used in its decoding process has already been updated, the updated coefficient decoding result can be directly used to decode the transform coefficients of the second image block to be decoded. It is not necessary to obtain the neighboring image blocks to be decoded around the second image block to be decoded and calculate the corresponding updated coefficient decoding results for the neighboring image blocks to be decoded, thus reducing the complexity of the decoding process, improving decoding efficiency, and reducing the consumption of system resources during the decoding process. Furthermore, during the decoding of the second image block to be decoded, the second image block to be decoded becomes the current image block to be decoded. The server can then use the update coefficient decoding result of the second image block to be decoded to update the image blocks to be decoded that depend on the update coefficient decoding result, and so on, until the update coefficient decoding result of the image block to be decoded in the upper left corner of the image transformation unit is obtained. This achieves the decoding of the change coefficients of the current image block to be decoded in the image transformation unit in the order from the lower right to the upper left. This not only further reduces the complexity of the decoding process, improves the decoding efficiency, and reduces the consumption of system resources by the decoding process, but also does not significantly affect the overall structure of the CABAC module and has a wide range of applications.

[0183] In an optional embodiment, the coefficient decoding result for each image block to be decoded includes the quantization result of the change coefficients for each image block to be decoded and the encoding / decoding mode information for each image block to be decoded. The method further includes:

[0184] The inverse transform and inverse quantization process is used to quantize the change coefficients corresponding to each image block to be decoded, resulting in the residual data of each image block to be decoded.

[0185] Based on the encoding / decoding mode information corresponding to each image block to be decoded, the prediction data for each image block to be decoded is obtained.

[0186] The residual data and the predicted data of each image block to be decoded are summed to obtain the reconstructed data of each image block to be decoded.

[0187] Loop filtering is performed on the reconstructed data of each image block to be decoded to obtain the decoding result of the image to be decoded.

[0188] In this embodiment, the coefficient decoding result corresponding to each image block to be decoded includes the quantization result of the change coefficients corresponding to each image block to be decoded, the encoding / decoding mode information corresponding to each image block to be decoded, the image seam segmentation information corresponding to each image block to be decoded, and the motion vector corresponding to each image block to be decoded. After obtaining the coefficient decoding result corresponding to each image block to be decoded, the server can, on the one hand, perform inverse quantization and inverse transform processing on the quantization result of the change coefficients to obtain residual data; on the other hand, it can obtain the prediction data of each image block to be decoded according to the encoding / decoding mode information. Then, the residual data and the prediction data are added together to obtain the reconstruction data of each image block to be decoded. The reconstructed signal is then subjected to loop filtering and other operations to generate the final output signal, which is the decoding result of the image to be decoded. Since the coefficient decoding result corresponding to each image block to be decoded is obtained by decoding in the order of the image transformation unit from the lower right corner to the upper left corner, the complexity of the decoding process can be reduced, the decoding efficiency can be improved, and the consumption of system resources by the decoding process can be reduced. For example, the decoding method of this embodiment improves the overall speed of the decoder by about 1.5% and the speed of the CABAC module by about 20%.

[0189] Figure 6 This is a block diagram illustrating an image decoding and updating apparatus according to an exemplary embodiment. (Refer to...) Figure 7 The device includes:

[0190] The first image acquisition module 31 is configured to acquire an image to be decoded; the image to be decoded includes an image transformation unit; the image transformation unit includes multiple image blocks to be decoded; each image block to be decoded has its own transformation coefficients.

[0191] Decoding module 33 is configured to decode the transform coefficients of the first image block to be decoded in the image transformation unit to obtain the first coefficient decoding result corresponding to the first image block to be decoded; the first image block to be decoded is any image block to be decoded in the image transformation unit;

[0192] The second image acquisition module 35 is configured to acquire a second image block to be decoded that depends on the decoding result of the first coefficient during the decoding process; the second image block to be decoded is the image block to be decoded located in the upper left region of the first image block to be decoded in the image transformation unit;

[0193] The update module 37 is configured to perform the following: based on the first coefficient decoding result, update the target data used in the decoding process of the second image block to be decoded, and obtain the updated coefficient decoding result corresponding to the second image block to be decoded;

[0194] The updated coefficient decoding result corresponding to the second image block to be decoded is used to decode the transform coefficients of the second image block to be decoded; the target data is determined based on the coefficient decoding result obtained by the candidate image block to be decoded during the decoding process; the candidate image block to be decoded is the image block to be decoded located in the lower right region of the second image block to be decoded in the image transformation unit, and the candidate image block to be decoded includes the first image block to be decoded.

[0195] In an optional embodiment, the second image acquisition module 35 described above includes:

[0196] The second image block acquisition unit is configured to acquire the image block to be decoded located above the first image block to be decoded, the image block to be decoded located to the left of the first image block to be decoded, and the image block to be decoded located at the upper left corner of the first image block to be decoded in the image transformation unit, to obtain the second image block to be decoded.

[0197] In an optional embodiment, there is at least one candidate image block to be decoded, and the second image block to be decoded stores target data, which is determined based on the sum of the absolute values ​​of the coefficient decoding results obtained by each candidate image block during the decoding process.

[0198] The aforementioned update modules include:

[0199] The absolute value update unit is configured to perform the sum of updating the absolute values ​​using the first coefficient decoding result to obtain the update coefficient decoding result corresponding to the second image block to be decoded.

[0200] In an optional embodiment, the above-described apparatus further includes:

[0201] The candidate image block acquisition unit is configured to acquire the image block to the right of the second image block to be decoded, the image block to be decoded below the second image block to be decoded, and the image block to be decoded at the lower right corner of the second image block to be decoded in the image transformation unit, to obtain the candidate image block to be decoded.

[0202] In an optional embodiment, the above-described apparatus further includes:

[0203] The update coefficient decoding result acquisition unit is configured to acquire the update coefficient decoding result corresponding to the second image block to be decoded from the second image block to be decoded;

[0204] The second coefficient decoding result generation unit is configured to perform the update coefficient decoding result based on the second image block to be decoded, decode the transform coefficients of the second image block to be decoded, and obtain the second coefficient decoding result of the second image block to be decoded.

[0205] In the case where the second image block to be decoded is not located in the upper left corner of the image transformation unit, the second coefficient decoding result is used to update the data used by the target image block to be decoded during the decoding process; the target image block to be decoded is the image block to be decoded located in the upper left region of the second image block to be decoded in the image transformation unit.

[0206] In an optional embodiment, the decoding module 33 includes:

[0207] The coefficient decoding result acquisition unit is configured to acquire the updated coefficient decoding result corresponding to the first image block to be decoded when the first image block to be decoded is not located in the lower right corner of the image transformation unit; the updated coefficient decoding result corresponding to the first image block to be decoded is obtained by updating the data used by the first image block to be decoded during the decoding process based on the target coefficient decoding result, where the target coefficient decoding result is the coefficient decoding result obtained by the image block to be decoded located in the lower right region of the first image block to be decoded during the decoding process;

[0208] The first coefficient decoding result generation unit is configured to execute the updated coefficient decoding result based on the first image block to be decoded, and decode the transform coefficients of the first image block to be decoded to obtain the first coefficient decoding result.

[0209] In an optional embodiment, the decoding module, the second image acquisition module, and the update module described above include:

[0210] The current coefficient decoding result generation module is configured to, when the first image block to be decoded is not located at the lower right corner of the image transformation unit, take the first image block to be decoded as the current image block to be decoded, and take the updated coefficient decoding result corresponding to the first image block to be decoded as the current updated coefficient decoding result.

[0211] The transform coefficients of the current image block to be decoded are decoded to obtain the current coefficient decoding result corresponding to the current image block to be decoded;

[0212] The second image block acquisition module is configured to acquire the second image block to be decoded that depends on the decoding result of the current coefficients during the decoding process.

[0213] The target data update module is configured to update the target data used in the decoding process of the second image block to be decoded based on the current coefficient decoding result, so as to obtain the updated coefficient decoding result corresponding to the second image block to be decoded;

[0214] The execution module is configured to use the second image block to be decoded as the current image block to be decoded, and the decoding result of the update coefficients corresponding to the second image block to be decoded as the current decoding result of the update coefficients.

[0215] Repeat the process of decoding the transform coefficients of the current image block to be decoded until the decoding result of the updated coefficients corresponding to the second image block to be decoded is obtained, until the decoding result of the updated coefficients of the image block to be decoded in the upper left corner of the image transformation unit is obtained.

[0216] In an optional embodiment, the coefficient decoding result for each image block to be decoded includes the quantization result of the change coefficients for each image block to be decoded and the encoding / decoding mode information for each image block to be decoded. The apparatus further includes:

[0217] The transform quantization module is configured to perform inverse transform and inverse quantization processing on the transformation coefficient quantization results corresponding to each image block to be decoded, so as to obtain the residual data of each image block to be decoded.

[0218] The prediction data generation module is configured to obtain prediction data for each image block to be decoded based on the encoding / decoding mode information corresponding to each image block to be decoded;

[0219] The reconstruction data generation module is configured to perform the calculation of the residual data of each image block to be decoded and the sum of the predicted data of each image block to be decoded, so as to obtain the reconstruction data of each image block to be decoded.

[0220] The loop filtering module is configured to perform loop filtering on the reconstructed data of each image block to be decoded, so as to obtain the decoding result of the image to be decoded.

[0221] Regarding the apparatus in the above embodiments, the specific manner in which each module performs its operation has been described in detail in the embodiments related to the method, and will not be elaborated upon here.

[0222] In an exemplary embodiment, an electronic device is also provided, including a processor; a memory for storing processor-executable instructions; wherein, when the processor is configured to execute the instructions stored in the memory, it implements the steps of any of the image decoding update methods described above.

[0223] The electronic device can be a terminal, a server, or a similar computing device. Taking a server as an example... Figure 7This is a block diagram illustrating an electronic device for image decoding and updating according to an exemplary embodiment. The electronic device 40 can vary significantly due to different configurations or performance characteristics. It may include one or more Central Processing Units (CPUs) 41 (CPUs 41 may include, but are not limited to, microprocessors (MCUs) or programmable logic devices (FPGAs), a memory 43 for storing data, and one or more storage media 42 (e.g., one or more mass storage devices) for storing application programs 423 or data 422. The memory 43 and storage media 42 may be temporary or persistent storage. The program stored in the storage media 42 may include one or more modules, each module including a series of instruction operations on the electronic device. Furthermore, the CPU 41 may be configured to communicate with the storage media 42 and execute the series of instruction operations in the storage media 42 on the electronic device 40. Electronic device 40 may also include one or more power supplies 46, one or more wired or wireless network interfaces 45, one or more input / output interfaces 44, and / or one or more operating systems 421, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.

[0224] The input / output interface 44 can be used to receive or send data via a network. Specific examples of the network described above may include a wireless network provided by the communication provider of the electronic device 40. In one example, the input / output interface 44 includes a network interface controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In an exemplary embodiment, the input / output interface 44 can be a radio frequency (RF) module for wireless communication with the Internet.

[0225] Those skilled in the art will understand that Figure 7 The structure shown is for illustrative purposes only and does not limit the structure of the electronic device described above. For example, electronic device 40 may also include... Figure 7 The more or fewer components shown, or having the same ​ The different configurations shown.

[0226] In an exemplary embodiment, a computer-readable storage medium is also provided, which, when executed by a processor of an electronic device, enables the electronic device to perform the steps of any of the image decoding update methods described above.

[0227] In an exemplary embodiment, a computer program product is also provided, including a computer program that, when executed by a processor, implements the image decoding and updating method provided in any of the above embodiments.

[0228] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. This computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided in this disclosure can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), RAMbus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and RAMbus dynamic RAM (RDRAM), etc.

[0229] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the following claims.

[0230] It should be understood that this disclosure is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this disclosure is limited only by the appended claims.

Claims

1. An image decoding and updating method, characterized in that, include: Obtain the image to be decoded; The image to be decoded includes an image transformation unit; the image transformation unit includes multiple image blocks to be decoded; each image block to be decoded has its own transformation coefficients; The transformation coefficients of the first image block to be decoded in the image transformation unit are decoded to obtain the first coefficient decoding result corresponding to the first image block to be decoded; The first image block to be decoded is any one of the image blocks to be decoded in the image transformation unit; Obtain a second image block to be decoded that depends on the decoding result of the first coefficient during the decoding process; the second image block to be decoded is the image block to be decoded located in the upper left region of the first image block to be decoded in the image transformation unit; Based on the first coefficient decoding result, the target data used in the decoding process of the second image block to be decoded is updated to obtain the updated coefficient decoding result corresponding to the second image block to be decoded; The decoding result of the update coefficients corresponding to the second image block to be decoded is used to decode the transform coefficients of the second image block to be decoded. The target data is determined based on the coefficient decoding results obtained during the decoding process of the candidate image block to be decoded; the candidate image block to be decoded is the image block to be decoded located in the lower right region of the second image block to be decoded in the image transformation unit, and the candidate image block to be decoded includes the first image block to be decoded.

2. The method according to claim 1, characterized in that, The step of obtaining the second image block to be decoded, which depends on the decoding result of the first coefficient, includes: The image block to be decoded is obtained by acquiring the image block to be decoded located above the first image block to be decoded, the image block to be decoded located to the left of the first image block to be decoded, and the image block to be decoded located at the upper left corner of the first image block to be decoded in the image transformation unit, thereby obtaining the second image block to be decoded.

3. The method according to claim 1, characterized in that, The candidate image block to be decoded is at least one, and the target data is stored in the second image block to be decoded. The target data is determined based on the sum of the absolute values ​​of the coefficient decoding results obtained by each candidate image block during the decoding process. The step of updating the target data used in the decoding process of the second image block to be decoded based on the first coefficient decoding result, to obtain the updated coefficient decoding result corresponding to the second image block to be decoded, includes: The sum of the absolute values ​​is updated using the first coefficient decoding result to obtain the updated coefficient decoding result corresponding to the second image block to be decoded.

4. The method according to claim 3, characterized in that, The process of obtaining the candidate image blocks to be decoded includes: The candidate image block to be decoded is obtained by acquiring the image block to the right of the second image block to be decoded, the image block to be decoded below the second image block to be decoded, and the image block to be decoded at the lower right corner of the second image block to be decoded in the image transformation unit.

5. The method according to claim 3, characterized in that, After obtaining the decoding result of the updated coefficients corresponding to the second image block to be decoded, the method further includes: Obtain the decoding result of the update coefficients corresponding to the second image block to be decoded; Based on the decoding result of the updated coefficients corresponding to the second image block to be decoded, the transform coefficients of the second image block to be decoded are decoded to obtain the second coefficient decoding result of the second image block to be decoded; Wherein, if the second image block to be decoded is not located in the upper left corner of the image transformation unit, the second coefficient decoding result is used to update the data used by the target image block to be decoded during the decoding process; the target image block to be decoded is the image block to be decoded located in the upper left region of the second image block to be decoded in the image transformation unit.

6. The method according to any one of claims 1 to 5, characterized in that, Decoding the transform coefficients of the first image block to be decoded in the image transform unit to obtain the first coefficient decoding result corresponding to the first image block to be decoded includes: If the first image block to be decoded is not located in the lower right corner of the image transformation unit, the updated coefficient decoding result corresponding to the first image block to be decoded is obtained; the updated coefficient decoding result corresponding to the first image block to be decoded is obtained by updating the data used by the first image block to be decoded during the decoding process based on the target coefficient decoding result, wherein the target coefficient decoding result is the coefficient decoding result obtained by the image block to be decoded in the lower right region of the first image block to be decoded during the decoding process; Based on the decoding result of the updated coefficients corresponding to the first image block to be decoded, the transform coefficients of the first image block to be decoded are decoded to obtain the first coefficient decoding result.

7. The method according to claim 6, characterized in that, The transformation coefficients of the first image block to be decoded in the image transformation unit are decoded to obtain the first coefficient decoding result corresponding to the first image block to be decoded; Obtain a second image block to be decoded that depends on the decoding result of the first coefficient; based on the decoding result of the first coefficient, update the target data used by the second image block to be decoded during the decoding process to obtain the updated coefficient decoding result corresponding to the second image block to be decoded, including: When the first image block to be decoded is not located in the lower right corner of the image transformation unit, the transformation coefficients of the current image block to be decoded are decoded using the first image block to be decoded as the current image block to be decoded and the decoding result of the update coefficients corresponding to the first image block to be decoded as the current update coefficient decoding result, so as to obtain the current coefficient decoding result corresponding to the current image block to be decoded. Obtain a second image block to be decoded that depends on the decoding result of the current coefficients during the decoding process; Based on the current coefficient decoding result, update the target data used in the decoding process of the second image block to be decoded, and obtain the updated coefficient decoding result corresponding to the second image block to be decoded; Using the second image block to be decoded as the current image block to be decoded, and the decoding result of the update coefficients corresponding to the second image block to be decoded as the current update coefficient decoding result, the operation of decoding the transform coefficients of the current image block to be decoded is repeated until the decoding result of the update coefficients corresponding to the second image block to be decoded is obtained, until the decoding result of the update coefficients of the image block to be decoded in the upper left corner of the image transformation unit is obtained.

8. The method according to claim 7, characterized in that, The coefficient decoding result for each image block to be decoded includes the quantization result of the change coefficients for each image block to be decoded and the encoding / decoding mode information for each image block to be decoded. The method further includes: The inverse transform and inverse quantization process is performed on the quantization results of the change coefficients corresponding to each image block to be decoded to obtain the residual data of each image block to be decoded; Based on the encoding / decoding mode information corresponding to each image block to be decoded, the prediction data of each image block to be decoded is obtained; The residual data of each image block to be decoded and the sum of the predicted data of each image block to be decoded are calculated to obtain the reconstructed data of each image block to be decoded; Loop filtering is performed on the reconstructed data of each image block to be decoded to obtain the decoding result of the image to be decoded.

9. An image decoding and updating device, characterized in that, include: The first image acquisition module is configured to acquire the image to be decoded. The image to be decoded includes an image transformation unit; the image transformation unit includes multiple image blocks to be decoded; each image block to be decoded has its own transformation coefficients; The decoding module is configured to decode the transformation coefficients of the first image block to be decoded in the image transformation unit to obtain the first coefficient decoding result corresponding to the first image block to be decoded. The first image block to be decoded is any one of the image blocks to be decoded in the image transformation unit; The second image acquisition module is configured to acquire a second image block to be decoded that depends on the decoding result of the first coefficient during the decoding process; the second image block to be decoded is the image block to be decoded located in the upper left region of the first image block to be decoded in the image transformation unit; The update module is configured to perform an update based on the first coefficient decoding result, update the target data used in the decoding process of the second image block to be decoded, and obtain the updated coefficient decoding result corresponding to the second image block to be decoded; The decoding result of the update coefficients corresponding to the second image block to be decoded is used to decode the transform coefficients of the second image block to be decoded. The target data is determined based on the coefficient decoding results obtained during the decoding process of the candidate image block to be decoded; the candidate image block to be decoded is the image block to be decoded located in the lower right region of the second image block to be decoded in the image transformation unit, and the candidate image block to be decoded includes the first image block to be decoded.

10. An electronic device, characterized in that, include: processor; Memory used to store the processor's executable instructions; The processor is configured to execute the instructions to implement the image decoding update method as described in any one of claims 1 to 8.

11. A computer-readable storage medium, wherein instructions in the computer-readable storage medium, when executed by a processor of an electronic device, cause the electronic device to perform the image decoding update method as described in any one of claims 1 to 8.

Citation Information

Patent Citations

  • Simplified range and context update for multimedia context-adaptive binary arithmetic coding design

    CN105338353A

  • Simplified range and context update for multimedia context-adaptive binary arithmetic coding design

    US20160043735A1