Image decoding method, decoder, and storage medium

The image decoding method addresses inefficiencies in video coding by allowing overlapping coding unit partitioning, reducing header information and redundant data, thereby improving coding efficiency.

JP2026076333APending Publication Date: 2026-05-11GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
Filing Date
2026-02-17
Publication Date
2026-05-11

AI Technical Summary

Technical Problem

Current video coding technologies face inefficiencies due to overly fine block splitting, leading to increased header information and repeated data display, which reduces coding efficiency.

Method used

An image decoding method that allows for overlapping partitioning between coding units, using state and mark parameters to determine whether a node supports or enables refresh, thereby reducing unnecessary header information and avoiding excessive partitioning.

Benefits of technology

Improves coding efficiency by minimizing header information and reducing redundant data display through overlapping coding unit partitioning, enhancing the decoding process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026076333000001_ABST
    Figure 2026076333000001_ABST
Patent Text Reader

Abstract

This invention provides an image decoding method, decoder, and storage medium that improve coding efficiency by avoiding excessively fine block division and effectively reducing the amount of header information. [Solution] The image decoding method receives bitstream data, analyzes it to obtain coding tree units, then performs analysis on the nodes of each layer corresponding to the coding tree units to obtain state parameters and mark parameters for the layer nodes, then performs detection processing on the nodes according to the state parameters and mark parameters, and then performs decoding processing on the nodes with data to obtain all coding units corresponding to the coding tree units and obtain the corresponding decoded images.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of video codec technology, and in particular, to an image decoding method, a decoder, and a storage medium.

Background Art

[0002] Currently, the technical solutions for video coding mainly use a splitting technique to split the spatial region of an image into non-overlapping small blocks, which are used as the basic units of coding, and then coding is performed on them. Here, the multi-type-tree splitting technique (MTT) used has evolved step by step from the quadtree splitting block technique (QT) to the quadtree and binary tree splitting block technique (QTBT), and further in combination with the ternary tree splitting block technique (TT). Therefore, the differences between QT, QTBT, and MTT are different splitting methods when performing image splitting, and the splitting principles of the three are the same.

[0003] In order to obtain a better coding effect, when performing video coding, it is always necessary to finely split each frame of the image. At the same time, in the fixed splitting scheme of the current video coding technology, fine splitting generates more header information and repeated information display, thereby reducing the coding efficiency.

Summary of the Invention

Problems to be Solved by the Invention

[0004] The embodiments of the present application provide an image decoding method, a decoder, and a storage medium, which can avoid overly fine block splitting, effectively reduce the number of header information, and improve the coding efficiency.

Means for Solving the Problems

[0005] The technical solution of the present embodiment is realized as follows.

[0006] An image decoding method, wherein the method is The process involves receiving bitstream data, analyzing the bitstream data, and obtaining a coding tree unit corresponding to the bitstream data. The process involves analyzing the i-th node of the i-th layer corresponding to a coding tree unit, and obtaining the i-th state parameter and i-th mark parameter corresponding to the i-th node, where i is an integer greater than 0, the i-th state parameter is used to determine whether the i-th node supports refresh, and the i-th mark parameter is used to determine whether the i-th node enables refresh. The process involves performing a detection process on the i-th node according to the i-th state parameter and the i-th mark parameter, and obtaining the i-th detection result. In accordance with the i-th detection result, the i+1 node of the i+1th layer corresponding to the coding tree unit is obtained, The detection process is continued for the i+1 node, and all nodes corresponding to the coding tree unit are traversed until all coding unit data corresponding to the coding tree unit is obtained. The process includes generating a decoded image corresponding to the bitstream data according to all the nodes and all the coding unit data. [Effects of the Invention]

[0007] This embodiment provides an image decoding method, a decoder, and a storage medium. The decoder receives bitstream data, analyzes the bitstream data to obtain a coding tree unit corresponding to the bitstream data, analyzes the i-th node of the i-th layer corresponding to the coding tree unit to obtain the i-th state parameter and i-th mark parameter corresponding to the i-th node, where i is an integer greater than 0, the i-th state parameter is used to determine whether the i-th node supports refreshing, and the i-th mark parameter is used to determine whether the i-th node enables refreshing. A detection process is performed on the i-th node according to the i-th state parameter and i-th mark parameter to obtain the i-th detection result. The i+1-th node of the (i+1)-th layer corresponding to the coding tree unit is obtained according to the i-th detection result, and the detection process is continued on the (i+1)-th node. The decoder traverses all nodes corresponding to the coding tree unit until all coding unit data corresponding to the coding tree unit is obtained, and generates a decoded image corresponding to the bitstream data according to all nodes and all coding unit data. As can be seen from the following, in the embodiment of the present invention, the process of decoding images in a video involves receiving bitstream data, analyzing it to obtain coding tree units, then performing analysis on the nodes of each layer corresponding to the coding tree units to obtain state parameters and mark parameters for the said layer nodes, then performing detection processing on the nodes according to the state parameters and mark parameters, and then performing decoding processing on the nodes with data to obtain all coding units corresponding to the coding tree units and obtain the corresponding decoded images.Here, when coding, in order to support overlapping partitioning between coding units, if there are at least two coding units whose regions overlap when decoding a node containing data, the decoder can perform a refresh process on the image information corresponding to the background coding unit according to the image information corresponding to the refresh coding unit. This avoids excessive partitioning of the video image, reduces unnecessary header information, avoids the distribution and repeated display of data with similar characteristics within the same region, and further improves coding efficiency. [Brief explanation of the drawing]

[0008] [Figure 1] This is a schematic diagram 1 showing the partitioning process using QT technology. [Figure 2] This is a schematic diagram of the partitioning process using QT technology. [Figure 3] This is a schematic diagram of excessive division. [Figure 4] This is an illustrative structural diagram of the video coding system configuration. [Figure 5] This is an illustrative structural diagram of the video decoding system configuration. [Figure 6] This is an illustrative implementation flowchart of the image decoding method according to the present embodiment. [Figure 7] This is an illustrative structural diagram of a coding tree unit in the prior art. [Figure 8] This is an illustrative structural diagram of a coding tree unit in the present embodiment. [Figure 9] This is flowchart 1 illustrating an example of an image decoding method according to the present embodiment. [Figure 10] This is flowchart 2 illustrating an example of an image decoding method according to the present embodiment. [Figure 11] This is a schematic diagram of the state parameters and mark parameters in the embodiment of the present invention. [Figure 12]It is a schematic diagram 1 of the segmentation process. [Figure 13] It is a schematic diagram 2 of the segmentation process. [Figure 14] It is a schematic diagram 3 of the segmentation process. [Figure 15] It is a schematic diagram 4 of the segmentation process. [Figure 16] It is a schematic diagram 5 of the segmentation process. [Figure 17] It is a schematic diagram 6 of the segmentation process. [Figure 18] It is a schematic diagram of the image coding method according to the embodiment of the present application. [Figure 19] It is a schematic diagram 1 without overlapping segmentation. [Figure 20] It is a schematic diagram 2 without overlapping segmentation. [Figure 21] It is a schematic diagram 1 with overlapping segmentation. [Figure 22] It is a schematic diagram 2 with overlapping segmentation. [Figure 23] It is an exemplary structural diagram 1 of the decoder configuration according to the embodiment of the present application. [Figure 24] It is an exemplary structural diagram 2 of the decoder configuration according to the embodiment of the present application.

Mode for Carrying Out the Invention

[0009] Hereinafter, referring to the drawings in the embodiments of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described. It should be understood that the specific embodiments described here are only used to explain the related applications and do not limit the related applications. Furthermore, for the sake of easy explanation, the drawings only show the parts related to the related applications.

[0010] Coding a video is to code each frame of the image. Similarly, decoding the video bitstream after coding and compressing the video is to decode the bitstream of each frame of the image. In almost all international standards for video image coding, when coding a single frame of an image, it is necessary to divide the image into several M×M pixel sub-images, called coding units (CUs). Each sub-image is coded one block at a time, with the CU being the basic coding unit. Typical sizes of M are 4, 8, 16, 32, and 64. Therefore, coding a video image sequence means sequentially coding each coding unit, i.e., each CU, for each frame of the image. Decoding the bitstream of a video image sequence also means sequentially decoding each CU for each frame of the image, ultimately reconstructing the entire video image sequence.

[0011] To adapt to the different content and properties of each part of an image within a single frame, targeted and most effective coding is performed, and the size of each CU within a single frame of an image may vary, some being 8x8 and others 64x64. To seamlessly connect CUs of different sizes, a single frame of an image is typically first divided into the largest coding unit (LCU) or coding tree unit (CTU) having NxN pixels of the same size, and then each LCU is further divided into multiple CUs of not necessarily the same size. For example, a single frame of an image is first divided into LCUs of the same size, 64x64 pixels, i.e., N=64, where a particular LCU consists of three 32x32 pixel CUs and four 16x16 pixel CUs, and another LCU consists of two 32x32 pixel CUs, three 16x16 pixel CUs and twenty 8x8 pixel CUs. A CU can also be further divided into several sub-regions. These sub-regions include, but are not limited to, prediction units (PUs) and transformation units (TUs). In summary, a coding block or decoding block refers to a region within an image frame that is coded or decoded.

[0012] A CU (Cumulative Unit) is a region composed of several pixel values. A CU can be rectangular in shape, and within a single frame of an image, each CU can have a different shape and size from the others.

[0013] The H.265 / video compression standard (HEVC: High Efficiency Video Coding) employs QuickTime (QT) technology to perform non-overlapping subdivisions of coding units or coding blocks. Figure 1 is a schematic diagram of subdivision using QT technology. As shown in Figure 1, an image in one frame is first divided into multiple regions of the same size according to rows and columns. Each region is called a CTU, where the side length of one CTU can be 128 pixels, 64 pixels, etc. Since this subdivision is fixed horizontally and vertically, CTUs do not overlap. Figure 2 is a schematic diagram of subdivision using QT technology. As shown in Figure 2, within one CTU, it is recursively divided into multiple CUs using the QT method. The sizes of the multiple CUs are not exactly the same; there may be 8x8 pixel CUs, 16x16 pixel CUs, and even 32x32 pixel CUs. Here, there is no overlapping region between each CU, and all are leaf nodes in a quadtree partition. Similarly, because the horizontal and vertical partitions are fixed, CUs partitioned from any one CTU do not overlap.

[0014] The existing H.266 / Versatile Video Coding (VVC) video coding technology adds binary tree (BT) partitioning technology to the QT base to form QTBT partitioning technology, and further adds TT partitioning technology proposals to form MTT. Various partitioning methods in MTT, such as QT partitioning, vertical BT partitioning, horizontal BT partitioning, vertical central-bilateral TT partitioning, and horizontal central-bilateral TT partitioning, are all used in each layer within the CTU.

[0015] As can be seen, the current MTT scheme is a technology that has evolved step by step from QT to QTBT, and further by combining it with TT. Although they differ in their division methods, the division principle of all three is the same, and there is no overlap between CUs. In other words, all current division schemes do not allow overlapping areas between CUs, and because they are fixed division methods, in order to obtain better video coding effects, it is necessary to finely divide the irregular edges of objects. On the other hand, fine division can generate more header information and reduce coding efficiency. With the diversification of division modes, some problems with fine division have been partially solved, but the problem of over-division still remains. Figure 3 is a schematic diagram of over-division. As shown in Figure 3, after dividing and enlarging the area at the top edge where the right player is holding the ball, it can be seen that most of the area is a flat area with a similar background, and only the top of the ball has different content from the other areas in the block. In order to divide the area corresponding to that, the final division result is very fine. As can be seen, when coding videos, existing codec technologies always require dividing each frame of an image into smaller parts to achieve better coding results. However, this finer division generates more header and repeating information, which can reduce coding efficiency.

[0016] This embodiment proposes an image decoding method that can improve coding efficiency by avoiding excessively fine block division of images, effectively reducing the amount of header information, and avoiding the display of repeated information. Here, the coding method can be applied to the block division and the combination of intra and inter-prediction signals within a video coding hybrid framework, and more specifically, the decoding method can be applied to the buffer portion within a video coding hybrid framework. For example, Figure 4 is an exemplary structural diagram of the configuration of a video coding system, and as shown in Figure 4, the video coding system 200 comprises a transform and quantization unit 201, an intra estimation unit 202, an intra prediction unit 203, a motion compensation unit 204, a motion estimation unit 205, an inverse transform and inverse quantization unit 206, a filter control analysis unit 207, a filtering unit 208, an entropy coding unit 209, and a decoding image buffer unit 210, where the filtering unit 208 can perform unblock filtering and sample adaptive offset (SAO) filtering, and the entropy coding unit 209 can perform header information coding and context-based adaptive binary arithmetic coding (CABAC).

[0017] If it is detected that the original video signal has been received, a video coding block can be obtained from the input original video signal via the division of the coding tree unit, and then the video coding block is transformed via the transformation and quantization unit 201 with respect to residual pixel information obtained after intra-prediction or inter-prediction, the residual information is converted from a pixel field to a transformation field, and the obtained transformation coefficients are quantized in order to reduce the bit rate. The intra-estimation unit 202 and the intra-prediction unit 203 are configured to perform intra-prediction on the video coding block, more specifically, the intra-estimation unit 202 and the intra-prediction unit 203 are configured to determine the intra-prediction mode to be used to code the video coding block, the motion compensation unit 204 and the motion estimation unit 205 are configured to perform intra-prediction coding of the received video coding block for one or more blocks in one or more reference frames in order to provide time prediction information, the motion estimation performed by the motion estimation unit 205 is a process that generates motion vectors, which can estimate the motion of the video coding block, and then the motion compensation unit 204 performs motion compensation based on the motion vectors determined by the motion estimation unit 205. After determining the intra-prediction mode, the intra-prediction unit 203 is further configured to provide selected intra-prediction data to the entropy decoding unit 209, and the motion estimation unit 205 also transmits the calculated and determined motion vector data to the entropy decoding unit 209. Furthermore, the inverse transform and inverse quantization unit 206 is configured to reconstruct the video coding block and reconstruct the residual block in the pixel field. The reconstructed residual block is then removed from the frame by the filter control analysis unit 207 and the filtering unit 208 to remove block effect artifacts, and subsequently added to one prediction block in the frame of the decoding image cache unit 210 to generate the reconstructed video coding block.The entropy decoding unit 209 is configured to code various coding parameters and quantized transformation coefficients, and in a CABAC-based coding algorithm, the context content can be based on adjacent coding blocks, code information indicating a determined intra-prediction mode, and is configured to output a code stream of the video signal, and the decoding image cache unit 210 is configured to store reconstructed video coding blocks in order to predict references. As video image coding is performed, new reconstructed video coding blocks are continuously generated, and all of these reconstructed video coding blocks are stored in the decoding image cache unit 210.

[0018] Figure 5 is an exemplary structural diagram of the configuration of a video decoding system, and as shown in Figure 5, the video decoding system 300 comprises an entropy decoding unit 301, an inverse transform and inverse quantization unit 302, an intra prediction unit 303, a motion compensation unit 304, a filtering unit 305, and a decoding image buffer unit 306, etc., where the entropy decoding unit 301 can perform header information decoding and CABAC decoding, and the filtering unit 305 can perform deblocking filtering and SAO filtering. The input video signal is subjected to the coding process shown in Figure 4 and outputs a code stream of the video signal, which is input to the video decoding system 300. In order to obtain the decoded conversion coefficients, it first passes through the entropy decoding unit 301 and then processes the conversion coefficients via the inverse transform and inverse quantization unit 302 to generate residual blocks in the pixel field. The intra-prediction unit 303 is configured to generate prediction data for the current video decoding block based on the determined intra-prediction mode and data from the previous decoding block from the current frame or photograph. The motion compensation unit 304 is configured to determine prediction information for the video decoding block by analyzing motion vectors and other relevant grammatical elements, and to use this prediction information to generate a prediction block for the video decoding block being decoded. The residual block from the inverse transform and inverse quantization unit 302 is added to the corresponding prediction block generated by the intra-prediction unit 303 or the motion compensation unit 304 to form the video block of the decoding, and the video signal of the decoding can be filtered through the filtering unit 305 to remove block effect artifacts and improve video quality.Subsequently, the decoded video block is stored in the decoding image cache unit 306, which is configured to store a reference image for subsequent intra-prediction or motion compensation and to output a video signal, i.e., to obtain the recovered original video signal.

[0019] The image decoding method according to the present invention can be applied to the codec frameworks shown in Figures 4 and 5 above, but the embodiments of the present invention are not specifically limited thereto.

[0020] The technical solutions in the embodiments of this application will be described clearly and completely below with reference to the drawings of the embodiments.

[0021] In one embodiment of the present invention, Figure 6 is an exemplary implementation flowchart of an image decoding method according to the embodiment of the present invention, and as shown in Figure 6, in the embodiment of the present invention, the method by which the decoder performs image decoding may include the following steps.

[0022] In step 101, the bitstream data is received, the bitstream data is analyzed, and the coding tree units corresponding to the bitstream data are obtained.

[0023] In the embodiment of the present invention, the decoder can receive bitstream data and then analyze the received bitstream data to obtain coding tree units corresponding to the bitstream data. Here, after analyzing the bitstream data, the decoder can obtain at least one coding tree unit of the same size.

[0024] In the embodiments of the present invention, it should be noted that when the encoder performs video coding, it codes frame by frame for multiple frames of images in the video. At any given moment, the image of one frame being coded can be called the current coded image. When the encoder codes the current coded image in the video, it first needs to divide the current coded image into coding tree units of the same size, and then continue to code by further dividing the coding tree units into coding units of different sizes. For example, the encoder may divide the current coded image to obtain coding tree units of the same size, i.e., coding tree units consisting of 64x64 pixel points. Here, in the embodiments of the present invention, when the encoder performs overlapping division on the current coded image, it allows for overlap between coding units, but does not allow overlap between coding tree units for the needs of parallel processing and reduced coding complexity.

[0025] In the embodiments of the present invention, it should be noted that the encoder can perform overlapping partitioning on the current coded image via multi-type tree partitioning (MTT) technique, encode it, and then obtain bitstream data corresponding to the current coded image, and the decoder can decode the current coded image according to the bitstream data to obtain coding tree units and further obtain coding units.

[0026] Furthermore, in the embodiments of the present invention, when the decoder performs video decoding, it decodes the bitstream data of multiple frames of images in the video frame by frame. At any given moment, the image of one frame being decoded can be called the current decoded image.

[0027] In the embodiments of the present application, when the decoder decodes the current decoded image, there is no overlap between coding tree units, but overlap between coding units is permitted. That is, in the embodiments of the present application, when the decoder decodes, there may be multiple coding units simultaneously carrying decoded pixel data for the same region to that position in the reconstructed frame buffer, one of which may be large and considered a background coding unit, and one of which may be small and considered a refresh coding unit. The background coding unit decodes the reconstructed data and may be covered by the pixel data for that position carried by the refresh coding unit, i.e., a refresh process. In the present application, a decoding mode that uses such a refresh coding unit to refresh the background coding unit is a refresh decoding mode.

[0028] Furthermore, in embodiments of the present invention, when the decoder performs video decoding, it may choose to initiate a refresh decoding mode used to perform a refresh of the coding unit. Specifically, the decoder may configure a higher-layer control syntax, and in the image parameter set (PPS) or sequence parameter set (SPS), a single enable switch syntax, PPSRfrsEnbl or SPSRfrsEnbl, may indicate whether or not it currently supports the refresh decoding mode.

[0029] In other words, in the embodiment of the present invention, the decoder can start a preset refresh mode after receiving bitstream data, analyzing the bitstream data, and obtaining coding tree units corresponding to the bitstream data, i.e., after step 101. Specifically, the preset refresh mode can be used to perform duplicate decoding between coding units.

[0030] In step 102, the i-th node of the i-th layer corresponding to the coding tree unit is analyzed to obtain the i-th state parameter and i-th mark parameter corresponding to the i-th node, where i is an integer greater than 0, the i-th state parameter is used to determine whether the i-th node supports refresh, and the i-th mark parameter is used to determine whether the i-th node enables refresh.

[0031] In the embodiment of the present invention, the decoder can first perform an analysis on the i-th node of the i-th layer corresponding to the coding tree unit to obtain the i-th state parameter and the i-th mark parameter corresponding to the i-th node. Specifically, i is an integer greater than 0, for example, i may be 1, 2, 3, etc.

[0032] Note that in the embodiments of the present application, the i-th state parameter may be used to determine the default state of the i-th node. Here, the i-th state parameter may include the i-th subtree default state and the i-th data default state. Specifically, the i-th subtree default state is used to indicate whether the i-th node supports a refresh state, and the i-th data default state is used to determine whether the i-th node has source data.

[0033] Furthermore, in the embodiment of the present invention, the specific syntax of the video codec allows for the determination of the i-th subtree default state via bRfrsEnblFlag, namely, bRfrsEnblFlag can indicate whether the current node of the coding tree unit supports a refresh state, specifically, if bRfrsEnblFlag is assigned a value of 0, the current node of the coding tree unit is considered not to support a refresh, and if bRfrsEnblFlag is assigned a value of 1, the current node of the coding tree unit is considered to support a refresh.

[0034] Furthermore, in the embodiment of the present application, for the first node of the first layer of the coding tree unit, i.e., when i=1, the default value of the i-th subtree default state is SPSRfrsEnbl, where SPSRfrsEnbl is a mark declared in the SPS layer indicating whether or not to support refresh, which may also be an enable control decision performed in the PPS layer. If i is not 1, the i-th subtree default state can be determined via the subtree default state of the previous layer, i.e., the i-th subtree default state can be determined according to the i-1 subtree default state.

[0035] Furthermore, in the embodiment of the present application, the specific syntax of the video codec allows for the determination of the i-th data default state via bAncFlag, that is, bAncFlag can indicate whether or not there is source data at the current node of the coding tree unit. Specifically, if bAncFlag is assigned a value of 0, it is considered that there is no source data at the current node of the coding tree unit, and if bAncFlag is assigned a value of 1, it is considered that there is source data at the current node of the coding tree unit.

[0036] Furthermore, in the embodiment of the present application, for the first node of the first layer of the coding tree unit, i.e., when i=1, the default value of the i-th data default state is 0, and when i is not 1, the i-th data default state can be determined via the data default state of the previous layer, i.e., the i-th data default state can be determined according to the i-1 data default state.

[0037] It should be noted that in the embodiments of the present invention, the i-th mark parameter may be used to determine the data mark of the i-th node. Here, the i-th state parameter may include the i-th subtree identifier and the i-th data identifier. Specifically, the i-th subtree identifier is used to indicate whether or not there are coding units that can be refreshed in the subtree of the i-th node, and the i-th data identifier is used to determine whether or not there is data in the i-th node.

[0038] Furthermore, in the embodiment of the present invention, the specific syntax of the video codec allows for the determination of the i-th subtree identifier via Refresh_CU_enable_flag[x0][y0], that is, Refresh_CU_enable_flag[x0][y0] can indicate whether or not there is a coding unit that can be refreshed at the current node of the coding tree unit. Specifically, if the value 0 is assigned to Refresh_CU_enable_flag[x0][y0], it is considered that there is no coding unit that can be refreshed at the current node of the coding tree unit, and if the value 1 is assigned to Refresh_CU_enable_flag[x0][y0], it is considered that there is a coding unit that can be refreshed at the current node of the coding tree unit.

[0039] Furthermore, in the embodiment of the present invention, the specific syntax of the video codec allows for the determination of the i-th data identifier via Refresh_CU_flag[x0][y0], that is, Refresh_CU_flag[x0][y0] can indicate whether or not there is data at the current node of the coding tree unit. Specifically, if the value 0 is assigned to Refresh_CU_flag[x0][y0], it is considered that there is no data at the current node of the coding tree unit, and if the value 1 is assigned to Refresh_CU_flag[x0][y0], it is considered that there is data at the current node of the coding tree unit.

[0040] Furthermore, in the embodiments of this application, in the specific syntax transmission of the video codec, bAncFlag, Refresh_CU_enable_flag[x0][y0] and Refresh_CU_flag[x0][y0] may not be transmitted. Specifically, whether or not Refresh_CU_flag[x0][y0] and Refresh_CU_flag[x0][y0] exist depends on whether the current node is a leaf node, bRfrsEnblFlag, and bAncFlag.

[0041] In the embodiment of the present invention, the coding tree unit can correspond to at least one layer of nodes, and any one node in each layer may have data, where the data of an ancestor node can be covered by the data of its descendant node. Therefore, when the decoder decodes the coding tree unit, it needs to detect whether there is data in each layer, and further, it can perform a decoding process on the data nodes to construct the corresponding coding unit. In contrast, in the prior art, for a single coding tree unit, data exists only in nodes that cannot be continuously divided within the tree structure, i.e., only in the leaves. Therefore, the decoder needs to analyze each leaf and perform a decoding process. Figure 7 is an exemplary structural diagram of a coding tree unit in the prior art, and Figure 8 is an exemplary structural diagram of a coding tree unit in the embodiment of the present invention. As shown in Figures 7 and 8, for similar coding tree units, the coding unit in the prior art and the coding unit cannot be duplicated. Therefore, in the tree structure corresponding to the coding tree unit, data exists only in the leaves, and when the decoder decodes, it needs to perform data analysis on all leaves to construct the coding unit. In the embodiments of the present invention, since coding units and coding units can be duplicated, in the tree structure corresponding to a coding tree unit, it is possible that all data is present in any one intermediate node. For any one coding tree unit, it is possible to detect whether there is data in each node, and if there is data, decoding is performed to obtain the corresponding coding unit without having to perform data analysis on all leaves, thereby avoiding a large number of small block divisions and improving decoding efficiency. Furthermore, in the embodiments of the present invention, when performing image coding, the encoder can not only use leaf nodes as coding units but also perform compression coding on intermediate nodes.However, it is necessary to remove some node information from the descendant nodes from the intermediate nodes, which is done, for example, through a mask, zero-padding, interpolation, or external expansion. Comparing Figure 7 and Figure 8, the encoder can reduce the degree of fineness of coding division by combining multiple irregular regions into one region for coding. Here, regions that were originally different from the background are temporarily treated as the same as other background regions through data expansion, reducing the number of bits used for display. Blocks that are different from the background further need to be coded independently and refreshed to cover the background blocks to obtain image content that is the same as the original. As a result, some divisions in the original division tree do not need to be divided, reducing some of the header information. Furthermore, flat image regions mainly contain low-frequency components, and the corresponding energy is all concentrated in the upper left corner of the region. The reduction in division is more beneficial because it concentrates energy, saving frequency domain data after transforming part of the pixel domain compared to excessive division. Specifically, the dotted line portion of the division tree in Figure 8 does not contain valid data, so the division information for this portion can be omitted.

[0042] Furthermore, in the embodiment of the present invention, the i-th layer data corresponding to a coding tree unit may have at least one node. Therefore, the i-th node of the i-th layer corresponding to a coding tree unit is all the nodes in the i-th layer. That is, the decoder can perform a detection process on all the i-th nodes in the i-th layer corresponding to a coding tree unit and obtain a detection result corresponding to each i-th node. In other words, by performing the detection, all detection results corresponding to all nodes in the i-th layer can be obtained.

[0043] In step 103, a detection process is performed on the i-th node according to the i-th state parameter and the i-th mark parameter to obtain the i-th detection result.

[0044] In the embodiment of the present invention, the decoder can perform an analysis process on the i-th node of the i-th layer corresponding to the coding tree unit, obtain the i-th state parameter and the i-th mark parameter corresponding to the i-th node, and then perform a detection process on the i-th node according to the i-th state parameter and the i-th mark parameter to obtain the i-th detection result.

[0045] In the embodiment of the present invention, it should be noted that after the decoder determines the i-th state parameter and the i-th mark parameter, it can further combine them with the leaf parameter of the i-th node and determine whether or not there is data at the i-th node according to the i-th state parameter and the i-th mark parameter.

[0046] Furthermore, in the embodiments of the present invention, the leaf parameter of the i-th node can be used to determine whether or not the i-th node is a leaf in a coding tree unit.

[0047] In the embodiment of the present invention, when the decoder performs a detection process on the i-th node according to the i-th state parameter and the i-th mark parameter and obtains the i-th detection result, it should be noted that first, the leaf parameter corresponding to the i-th node can be determined, where the leaf parameter is used to determine whether or not the i-th node can continue to split, and then the i-th detection result can be obtained according to the leaf parameter, the i-th state parameter and the i-th mark parameter. That is, the decoder can determine whether or not the i-th node can continue to split according to the leaf parameter corresponding to the i-th node.

[0048] Furthermore, in the embodiment of the present application, in order to determine whether or not there is data at the i-th node and whether or not it can continue to be divided, the decoder performs a detection process on the i-th node, and accordingly, the i-th detection result may include four possibilities: data is present and it can be divided; there is no data and it can be divided; there is data and it cannot be divided; and there is no data and it cannot be divided.

[0049] In the embodiments of this application, it should be noted that in the specific syntax transmission of the video codec, bAncFlag, Refresh_CU_enable_flag[x0][y0] and Refresh_CU_flag[x0][y0] may not be transmitted. Therefore, the decoder needs to infer and determine whether or not there is data at the i-th node, based on the leaf parameter, the i-th state parameter, and the i-th mark parameter.

[0050] In step 104, the i+1 node of the i+1 layer corresponding to the coding tree unit is obtained according to the i-th detection result.

[0051] In the embodiment of the present invention, the decoder can perform a detection process on the i-th node according to the i-th state parameter and the i-th mark parameter, obtain the i-th detection result, and then obtain the i+1th node of the i+1th layer corresponding to the coding tree unit according to the i-th detection result.

[0052] In the embodiment of the present invention, after the decoder performs a detection process and obtains the i-th detection result, the i-th detection result may include four possibilities: data exists and is divided; data does not exist and is divided; data exists and is not divided; and data does not exist and is not divided. Therefore, it should be noted that the decoder can further process the i-th node correspondingly according to the different detection results.

[0053] Furthermore, in the embodiment of the present invention, if the i-th detection result is that data exists and needs to be split, the decoder can acquire the i-th coding unit data of the i-th layer, and then perform a splitting process on the i-th node to acquire the i+1-th node of the i+1-th layer corresponding to the coding tree unit.

[0054] In the embodiment of the present invention, if the decoder determines, after performing a detection process on the i-th node, that there is data at the i-th node and that the division process can continue on the i-th node, it should be noted that the decoder first needs to acquire the corresponding data, that is, acquire the i-th coding unit data corresponding to the i-th node in the coding tree unit. Here, since the i-th layer corresponding to the coding tree unit can have at least one i-th node, the decoder can sequentially perform a detection process on all i-th nodes in the i-th layer, and then acquire data for the i-th node where the detection result indicates that there is data, thereby acquiring the i-th coding unit data corresponding to the i-th node. Furthermore, after acquiring the corresponding i-th coding unit data, the decoder can continue performing a division process on the i-th node to acquire the node of the next layer in the i-th layer, that is, acquire the i+1th node of the (i+1)th layer corresponding to the coding tree unit.

[0055] Furthermore, in the embodiment of the present invention, if the i-th detection result is that there is no data and it should be split, the splitting process is performed on the i-th node to obtain the i+1th node of the i+1th layer corresponding to the coding tree unit. In the embodiment of the present invention, after the decoder has performed a detection process on the i-th node of the i-th layer corresponding to the coding tree unit and obtained the i-th detection result, if the i-th detection result is that there is no data and it should be split, the decoder does not need to perform data acquisition and directly performs the splitting process to obtain the node of the next layer, i.e., the i+1th node of the i+1th layer.

[0056] Furthermore, in the embodiment of the present invention, since the i-th layer corresponding to the coding tree unit may have at least one i-th node, the decoder can sequentially perform detection processing on all i-th nodes of the i-th layer, and then perform splitting processing on the i-th nodes whose detection results indicate that they can be continued to split, thereby obtaining the i+1-th node of the i+1-th layer corresponding to each i-th node. In other words, for each i-th node that can be continued to split, the decoder can obtain at least one i+1-th node by splitting them all.

[0057] As can be seen from this, in the embodiment of the present invention, as long as the i-th node is divisible, the decoder needs to perform a division process on the i-th node and obtain the i+1th node of the (i+1)th layer, regardless of whether or not there is data in the i-th node.

[0058] Furthermore, in the embodiment of the present invention, if the i-th detection result is that data exists but is not divided, the i-th coding unit data of the i-th layer is acquired and the analysis process of the i-th node is terminated.

[0059] In the embodiment of the present invention, if the decoder determines, after performing a detection process on the i-th node, that there is data at the i-th node and that the division process cannot be continued on the i-th node, it should be noted that the decoder must first acquire the corresponding data, that is, acquire the i-th coding unit data corresponding to the i-th node in the coding tree unit. Here, since the i-th layer corresponding to the coding tree unit can have at least one i-th node, the decoder can sequentially perform a detection process on all i-th nodes in the i-th layer, and then acquire data for the i-th node where the detection result indicates that there is data, thereby acquiring the i-th coding unit data corresponding to the i-th node. Furthermore, since the i-th node cannot be continued to be divided, the decoder can terminate the analysis process of the i-th node after acquiring the corresponding i-th coding unit data.

[0060] Furthermore, in the embodiment of the present invention, if the i-th detection result is that there is no data and no division is required, the decoder does not need to perform data acquisition or division processing, and the analysis processing of the i-th node is terminated directly.

[0061] In the embodiments of the present invention, the encoder can determine whether or not there is data in each rectangular region generated by the division, and if there is data, it can obtain coding unit data corresponding to that node. For example, for the i-th node that has data, the i-th coding unit data of the i-th node can be obtained. Furthermore, it should be noted that in the embodiments of the present invention, the i-th coding unit data may include identifier information, prediction information, and conversion coefficients. In addition, the decoder can obtain the corresponding i-th background pixel data according to the i-th coding unit data.

[0062] In step 105, the detection process continues for the i+1th node, traversing all nodes corresponding to coding tree units until all coding unit data corresponding to the coding tree unit is obtained.

[0063] In the embodiment of the present invention, the decoder can obtain the (i+1)th node of the (i+1)th layer corresponding to the coding tree unit according to the i-th detection result, then continue to perform detection processing on the (i+1)th node, and subsequently traverse all nodes corresponding to the coding tree unit, that is, it can perform detection processing on all nodes of the coding tree unit until the coding tree unit corresponds to all coding units.

[0064] In the embodiment of the present invention, the decoder can obtain the (i+1)th node of the (i+1)th layer by partitioning, and then continue to perform detection processing on the (i+1)th node according to the methods of steps 101 to 104 above to obtain the (i+1)th coding unit data and the (i+2)th node of the (i+2)th layer corresponding to the (i+1)th node. It should be noted that after performing recursive processing according to the methods of steps 101 to 104 above, all coding unit data corresponding to the coding tree units can be obtained.

[0065] Furthermore, in the embodiment of the present invention, the decoder can perform recursive processing on any node in any layer of the coding tree unit according to the methods of steps 101 to 104 above. That is, for any one node, the decoder first performs detection processing according to the state parameter and mark parameter, then performs data acquisition on nodes that have data and are to be split, obtains the corresponding coding unit data, continues the splitting process to obtain the node of the next layer, directly performs the splitting process on nodes that do not have data and are to be split to obtain the node of the next layer, performs data acquisition on nodes that have data but are not to be split, obtains the corresponding coding unit data, and terminates the decoding process, and directly terminates the decoding process on nodes that do not have data and are not to be split. In summary, the decoder can perform layer-by-layer recursive processing on the coding tree unit according to the methods of steps 101 to 104 above, and then obtain all the coding unit data corresponding to the coding tree unit.

[0066] In step 106, a decoded image corresponding to the bitstream data is generated according to all node and all coding unit data.

[0067] In the embodiment of the present invention, the decoder can acquire all coding unit data corresponding to coding tree units and then generate a decoded image corresponding to bitstream data according to all nodes and all coding unit data.

[0068] In the embodiment of the present invention, when the decoder generates a decoded image corresponding to bitstream data according to all node and all coding unit data, it should be noted that it can first perform a decoding process on all coding unit data to obtain all pixel data corresponding to coding tree units, and then generate a decoded image corresponding to bitstream data according to all pixel data.

[0069] Furthermore, in the embodiment of the present invention, when the decoder performs a decoding process on all coding unit data to obtain all pixel data corresponding to the coding tree units, if there is data at the i-th node and it is not divided, the decoder decodes the i-th coding unit data to obtain the i-th pixel data; if there is data at the i-th node and it is divided, the decoder decodes the i-th coding unit data to obtain the i-th background pixel data; decodes the i+1 coding unit data to obtain the i-th refresh pixel data to obtain the i-th pixel data; and can traverse all nodes until all pixel data is obtained.

[0070] Furthermore, in the embodiment of the present invention, when the decoder generates a decoded image corresponding to the bitstream data according to all the pixel data, if there is data at the i-th node and it is divided, it performs a refresh process on the i-th background pixel data according to the i-th refresh pixel data to obtain the refreshed pixel data, that is, it obtains the i-th pixel data and continues to traverse all nodes until it obtains the decoded image.

[0071] In other words, if the i-th node cannot be further divided, i.e., if the i-th node is a leaf node in the coding tree unit, the i-th pixel data obtained by decoding by the decoder is the pixel data corresponding to the i-th coding unit. If the i-th node can be further divided, i.e., if the i-th node is not a leaf node in the coding tree unit, the decoder obtains the pixel data corresponding to the (i+1)th coding unit of the (i+1)th node, and then refreshes the corresponding area of ​​the pixel data corresponding to the i-th coding unit with the pixel data corresponding to the (i+1)th coding unit of the (i+1)th node to obtain the pixel data corresponding to the i-th coding unit.

[0072] In the embodiments of the present invention, when the decoder performs a decoding process on all coding unit data to obtain all pixel data corresponding to coding tree units, it should be noted that it may first decode the data of the next layer and then decode the data of the previous layer. Specifically, when the decoder performs a decoding process on all coding unit data to obtain all pixel data corresponding to coding tree units, if there is data at the i-th node and it is divided, the decoder may obtain the (i+1)th coding unit data, decode the (i+1)th coding unit data to obtain the i-th refresh pixel data corresponding to the i-th node, then decode the i-th coding unit data to obtain the i-th background pixel data, then set the i-th background pixel data as the background of the i-th refresh pixel data to obtain the i-th coding unit, and the encoder may traverse all nodes until all pixel data is obtained.

[0073] In the embodiment of this application, it should be noted that if the i-th detection result is that there is no data, the i-th background pixel data remains in an idle state.

[0074] In the embodiment of the present invention, when the decoder generates a decoded image according to all coding unit data, it can first perform a decoding process on all coding unit data to obtain all pixel data corresponding to coding tree units. If there is an overlapping area between the background pixel data corresponding to the background coding unit and the refresh pixel data corresponding to the refresh coding unit among all the pixel data, the decoder can switch the area pixel data corresponding to the background coding unit according to the pixel data of the refresh coding unit, that is, the background coding unit can be refreshed with the refresh coding unit.

[0075] In other words, in the embodiment of the present invention, when the decoder generates a decoded image corresponding to bitstream data according to all coding units, if there is an overlapping area between the pixel data corresponding to the mth coding unit and the pixel data corresponding to the nth coding unit, the decoder can perform a refresh process on the pixel data corresponding to the mth coding unit according to the pixel data corresponding to the nth coding unit to generate a decoded image. Here, m is an integer greater than 0, and n is an integer greater than m, i.e., the nth coding unit is the refresh coding unit of the mth coding unit.

[0076] In the prior art, when an encoder performs coding of a video image, coding units do not overlap, so even small pieces of image information must be divided into fine coding units. Correspondingly, when a decoder performs video image decoding, there is no overlap in the coding units obtained through decoding. In contrast, the image decoding method according to the embodiment of the present invention supports the overlap of coding units when the encoder performs image coding, thus avoiding the need for fine division of graphics. Correspondingly, when a decoder performs video image decoding, if there is an overlap between the background pixel data corresponding to the background coding unit and the refresh pixel data corresponding to the refresh coding unit among all the pixel data, the decoder can switch the corresponding region pixel data of the background coding unit according to the pixel data of the refresh coding unit, that is, the background coding unit can be refreshed with the refresh coding unit.

[0077] Furthermore, in the embodiment of the present invention, in the decoding process, the data of the background coding unit, such as prediction information, identifier information, and conversion coefficients, can be refreshed and switched by the refresh coding unit data.

[0078] In other words, in the embodiment of the present invention, the decoder uses the latest current data in the decoding process, regardless of the pixel data, prediction information, identifier information and conversion coefficients in the buffer, where the latest data may be the pixel data corresponding to the coding tree unit background coding unit, and may be the data of the background coding unit not covered by the refresh, or the data switched by the decoding image of the refresh coding unit.

[0079] In the embodiments of the present invention, it should be noted that the encoder and decoder allow region overlap of coding units during prediction and / or conversion, and accordingly, one coding tree unit may have a corresponding background prediction unit and a refresh prediction unit, and a corresponding background conversion unit and a refresh conversion unit.

[0080] Furthermore, in the embodiments of the present invention, the decoding process may involve the decoder immediately refreshing or not immediately refreshing the information used for subsequent block prediction.

[0081] Based on the image decoding method proposed by steps 101 to 106 above, Figure 9 is an exemplary flowchart 1 of the image decoding method according to an embodiment of the present invention, as shown in Figure 9, for any one node in the coding tree unit that can be continuously divided, the decoder first performs an analysis process and can determine whether or not there is data in the node according to the state parameters and mark parameters obtained by the analysis process. If the detection result is that there is data, the decoder can obtain the data, obtain the corresponding identifier information, prediction information and conversion coefficients, obtain the corresponding coding unit via the decoding process, and then proceed to the division process. If the detection result is that there is no data, the decoder can proceed directly to the division process. In the splitting process, the decoder first determines whether the node can perform a quadtree split. If it determines that a quadtree split is not possible, the decoder determines whether the node can perform a binary or ternary split. If a quadtree split is possible, the decoder performs a quadtree split on the node, and then further determines whether a quadtree split can be performed on each of the split nodes. If possible, each node is recursively decoded. If not possible, the decoder continues to determine whether each split node can perform a binary or ternary split. When deciding on a binary or ternary split, it is necessary to determine the direction of the split, i.e., whether it is a vertical or horizontal split. Finally, recursive decoding is performed on the split nodes. Ultimately, all coding unit data corresponding to the coding tree unit can be obtained.

[0082] In the embodiments of the present invention, it should be noted that if the data is located on the upper left side corresponding to a coding tree unit, the decoder can first perform recursive decoding on the upper left coding unit and then analyze the data; if the data is located on the left side corresponding to a coding tree unit, the decoder can first perform recursive decoding on the left coding unit and then analyze the data; and if the data is located on the upper side corresponding to a coding tree unit, the decoder can first perform recursive decoding on the upper coding unit and then analyze the data.

[0083] Furthermore, in the embodiments of the present invention, when the decoder performs image decoding, the process of determining whether or not there is data for a given node can be placed on each branch after performing branch identification analysis on that node, thereby effectively saving the number of bits transmitted for the signal. Based on Figure 9 above, Figure 10 is an exemplary flowchart 2 of the image decoding method according to the embodiments of the present invention, and as shown in Figure 10, for any node in a coding tree unit that can be further divided, the decoder can first determine whether or not a quadtree split can be performed on that node, and if it is determined that a quadtree split cannot be performed, the decoder can continue to determine whether or not a binary tree split or a ternary tree split can be performed on that node. If a quadtree split can be performed, the decoder performs the quadtree split on the node, then further determines whether a quadtree split can be performed on each of the split nodes. If it can be performed, recursive decoding is performed on each node to obtain the split identifier of the branch on that node. If it cannot be performed, the decoder continues to determine whether each of the split nodes can be split into a binary or ternary tree, obtains the split identifier of the branch on that node, parses it to obtain the split identifier on each branch of that node, then performs parsing on each branch, and then determines whether there is data on the node according to the state parameters and mark parameters obtained by the parsing process. If there is data, the decoder can obtain the data, obtain the corresponding identifier information, prediction information and conversion coefficients, obtain the coding unit corresponding to the node, and perform recursive decoding on each of the split branches. If there is no data, the decoder can directly perform recursive decoding on each of the split branches. Finally, all coding unit data corresponding to the coding tree unit can be obtained.

[0084] This embodiment provides an image decoding method in which the decoder receives bitstream data, analyzes the bitstream data to obtain a coding tree unit corresponding to the bitstream data, analyzes the i-th node of the i-th layer corresponding to the coding tree unit to obtain the i-th state parameter and i-th mark parameter corresponding to the i-th node, where i is an integer greater than 0, the i-th state parameter is used to determine whether the i-th node supports refreshing, and the i-th mark parameter is used to determine whether the i-th node enables refreshing. A detection process is performed on the i-th node according to the i-th state parameter and i-th mark parameter to obtain the i-th detection result, the i+1-th node of the (i+1)-th layer corresponding to the coding tree unit is obtained according to the i-th detection result, the detection process is continued on the (i+1)-th node, and all nodes corresponding to the coding tree unit are traversed until all coding unit data corresponding to the coding tree unit is obtained, and a decoded image corresponding to the bitstream data is generated according to all nodes and all coding unit data. As can be seen from the following, in the embodiment of the present invention, the process of decoding images in a video involves receiving bitstream data, analyzing it to obtain coding tree units, then performing analysis on the nodes of each layer corresponding to the coding tree units to obtain state parameters and mark parameters for the said layer nodes, then performing detection processing on the nodes according to the state parameters and mark parameters, and then performing decoding processing on the nodes with data to obtain all coding units corresponding to the coding tree units and obtain the corresponding decoded images.Here, when coding, in order to support the overlapping division of coding units, if there are at least two coding units whose regions overlap in all coding units obtained by decoding a node containing data, the decoder can perform a refresh process on the image information corresponding to the background coding unit according to the image information corresponding to the refresh coding unit. This avoids excessive division of the video image, reduces unnecessary header information, avoids the distribution and repeated display of data with similar characteristics within the same region, and further improves coding efficiency.

[0085] In another embodiment of the present invention, based on the above embodiment, for step 102, the decoder may determine whether or not there is data at the i-th node according to the i-th state parameter and the i-th mark parameter, and this method may include the following steps:

[0086] In step 103a, the leaf parameter corresponding to the i-th node is determined, and this leaf parameter is used to determine whether the i-th node continues to split.

[0087] In the embodiment of the present invention, the decoder can first determine the leaf parameter of the i-th node, specifically, the leaf parameter can be used to determine whether the i-th node can continue to divide, that is, the decoder first determines whether the i-th node is a leaf of a coding tree unit.

[0088] It should be noted that in the embodiment of the present invention, if the i-th node is a leaf, that is, if the i-th node has no branch, the decoder can directly perform the normal decoding process without having to perform a refresh operation on the i-th node.

[0089] It should be noted that in the embodiments of the present invention, if the i-th node is not a leaf, i.e., if the i-th node has a branch, the decoder can further decide whether or not to perform a refresh operation on the i-th node.

[0090] Furthermore, in the embodiments of the present application, if a value of 0 is assigned to the leaf parameter, it can be indicated that it is not a leaf node, and if a value of 1 is assigned to the leaf parameter, it can be indicated that it is a leaf node.

[0091] In step 103b, the i-th detection result is obtained according to the leaf parameter, the i-th state parameter, and the i-th mark parameter.

[0092] In the embodiment of the present invention, the decoder can determine the leaf parameter of the i-th node and then obtain the i-th detection result according to the leaf parameter, the i-th state parameter, and the i-th mark parameter.

[0093] In the embodiment of the present invention, in the specific syntax transmission of the video codec, there is a possibility that bAncFlag, Refresh_CU_enable_flag[x0][y0] and Refresh_CU_flag[x0][y0] may not be transmitted. At the same time, whether or not Refresh_CU_flag[x0][y0] and Refresh_CU_flag[x0][y0] exist always depends on whether the current node is a leaf node, bRfrsEnblFlag, and bAncFlag. Therefore, it should be noted that the decoder must further infer and determine whether or not there is data at the i-th node according to the leaf parameter, the i-th state parameter, and the i-th mark parameter.

[0094] In the embodiment of the present invention, the decoder must first transmit the (i+1)th state parameter according to the leaf parameter, the i-th state parameter, and the i-th mark parameter before continuing to perform analysis, partitioning, and / or decoding operations for the (i+1)th node.

[0095] Note that in embodiments of the present invention, the (i+1)th state parameter may be used to determine the default state of the (i+1)th node. Here, the (i+1)th state parameter may include the (i+1)th subtree default state and the (i+1)th data default state. Specifically, the (i+1)th subtree default state is used to indicate whether the i-th node supports a refresh state, and the (i+1)th data default state is used to determine whether the i-th node has source data.

[0096] Furthermore, in the embodiment of the present application, the default state of the (i+1)th subtree for the (i+1)th node of the coding tree unit can be determined via the default state of the subtree of the previous layer, that is, the default state of the (i+1)th subtree can be determined according to the default state of the (i)th subtree.

[0097] Furthermore, in the embodiment of the present application, for the i+1th node of a coding tree unit, the i+1th data default state can be determined via the data default state of the previous layer, that is, the i+1th data default state can be determined according to the i-th data default state.

[0098] In the embodiment of the present invention, when the decoder transmits the i+1th state parameter according to the leaf parameter, the i-th state parameter, and the i-th mark parameter, it can first determine whether or not to perform a state refresh according to the leaf parameter, the i-th state parameter, and the i-th mark parameter. If it determines that a default state refresh should be performed, the decoder can perform a refresh process on the i-th state parameter to obtain the i+1th state parameter. If it determines that a state refresh should not be performed, the decoder can determine the i-th state parameter as the i+1th state parameter.

[0099] Table 1 is an analysis table combining the syntax transmission and state refresh status of the embodiment of the present invention. As shown in Table 1, the decoder can further determine whether there is data in a node, i.e., whether to perform decoding on that node, according to five parameters: the leaf parameter of a node, the subtree default state indicated by bRfrsEnblFlag, the data default state indicated by bAncFlag, the subtree mark indicated by Refresh_CU_enable_flag[x0][y0], and the data mark indicated by Refresh_CU_flag[x0][y0]. At the same time, the decoder can further determine the subtree default state and data default state of the nodes in the next layer via these five parameters of the node. Here, for the first node of the first layer of the coding tree unit, i.e., when i=1, the default value of the first subtree default state is SPSRfrsEnbl, where SPSRfrsEnbl is a mark declared in the SPS layer indicating whether or not to support refresh, which may also be an enable control decision made in the PPS layer, and the default value of the first data default state is 0. [Table 1] Furthermore, based on Table 1 above, if one node in the coding tree unit is not a leaf node, i.e., the leaf parameter is 0, the subtree default state bRfrsEnblFlag is assigned a value of 1, i.e., the subtree supports the coding unit refresh process, the data default state bAncFlag is 0, i.e., there is no source data in that node, the subtree mark Refresh_CU_enable_flag[x0][y0] is 0, i.e., there are no coding units in the subtree of that node that can be refreshed, and the data mark Refresh_CU_flag[x0 If [y0] is not transmitted, according to the five parameters above, the decoder may determine that there is no data at that node and therefore decide not to perform a decoding operation for that node. Furthermore, the decoder may refresh the subtree default state of the next layer according to the subtree default state bRfrsEnblFlag of that node, i.e., the subtree default state to be transmitted to the next layer may be assigned to 1. At the same time, the decoder may decide not to refresh the data default state of the next layer, i.e., the data default state to be transmitted to the next layer may still be 0.

[0100] Based on Table 1 above, Figure 11 is a schematic diagram of the state parameters and mark parameters of the embodiment of the present invention. As shown in Figure 11, for the first node of the first layer of the coding tree unit, the value 1 is assigned to the subtree default state bRfrsEnblFlag of the first node, i.e., the subtree supports the coding unit to perform refresh processing, and different subtrees of the first node have different support statuses. The data default state bAncFlag is 0, i.e., there is no source data in the node. The subtree mark Refresh_CU_enable_flag[x0][y0] is 1, i.e., there is a coding unit that can be refreshed in the subtree of the first node. The data mark Refresh_CU_flag[x0][y0] is 0, i.e., there is no data in the first node. Since the first node is not a leaf node, i.e., its leaf parameter is 0, the decoder can determine, based on Table 1 above, that it will not perform a decoding operation on the first node. At the same time, it can determine that the subtree default state of the node to be transmitted to the next layer is 1 and the data default state is 0. As can be seen from this, for the four second nodes in the second layer of the coding tree unit, the subtree default state is 1 for all of them, and the data default state is 0 for all of them.

[0101] This embodiment provides an image decoding method, a decoder, and a storage medium. The decoder receives bitstream data, analyzes the bitstream data to obtain a coding tree unit corresponding to the bitstream data, analyzes the i-th node of the i-th layer corresponding to the coding tree unit to obtain the i-th state parameter and i-th mark parameter corresponding to the i-th node, where i is an integer greater than 0, the i-th state parameter is used to determine whether the i-th node supports refreshing, and the i-th mark parameter is used to determine whether the i-th node enables refreshing. A detection process is performed on the i-th node according to the i-th state parameter and i-th mark parameter to obtain the i-th detection result. The i+1-th node of the (i+1)-th layer corresponding to the coding tree unit is obtained according to the i-th detection result, and the detection process is continued on the (i+1)-th node. The decoder traverses all nodes corresponding to the coding tree unit until all coding unit data corresponding to the coding tree unit is obtained, and generates a decoded image corresponding to the bitstream data according to all nodes and all coding unit data. As can be seen from the following, in the embodiment of the present invention, the process of decoding images in a video involves receiving bitstream data, analyzing it to obtain coding tree units, then performing analysis on the nodes of each layer corresponding to the coding tree units to obtain state parameters and mark parameters for the said layer nodes, then performing detection processing on the nodes according to the state parameters and mark parameters, and then performing decoding processing on the nodes with data to obtain all coding units corresponding to the coding tree units and obtain the corresponding decoded images.Here, when coding, in order to support the overlapping division of coding units, if there are at least two coding units whose regions overlap in all coding units obtained by decoding a node containing data, the decoder can perform a refresh process on the image information corresponding to the background coding unit according to the image information corresponding to the refresh coding unit. This avoids excessive division of the video image, reduces unnecessary header information, avoids the distribution and repeated display of data with similar characteristics within the same region, and further improves coding efficiency.

[0102] Based on the above embodiment, a method by which the decoder performs a splitting operation on the i-th node to obtain the i+1th node of the i+1th layer corresponding to the coding tree unit may include the following steps:

[0103] In step 201, the i-th partition mode corresponding to the i-th node is obtained.

[0104] In the embodiment of the present invention, when the i-th node is divided, the decoder can first obtain the i-th division mode corresponding to the i-th node.

[0105] In the embodiments of this application, it should be noted that the i-th division mode may include one of the division modes such as QT, QTBT, TT, and BT. The i-th division mode may also be MTT, where it should be noted that MTT is not a technical proposal in parallel with QT, BT, and TT, but rather a general term that includes multiple division methods, i.e., QT, BT, and TT coexist. QTBT is similar, a technical proposal in parallel with QT and BT, and is a general term that includes multiple division methods, with QT and BT coexisting.

[0106] In step 202, a partitioning process is performed on the i-th node according to the i-th partitioning mode to obtain the i+1 node.

[0107] In the embodiment of the present invention, the decoder can obtain the i-th division mode corresponding to the i-th node, and then perform a division process on the i-th node according to the i-th division mode, thereby obtaining the i+1th node.

[0108] In the embodiment of the present invention, the decoder performs a splitting process on the i-th node based on the i-th splitting mode, and it should be noted that each i-th node can be split to obtain at least two leaves, that is, at least two i+1-th nodes can be obtained.

[0109] This embodiment provides an image decoding method, a decoder, and a storage medium. The decoder receives bitstream data, analyzes the bitstream data to obtain a coding tree unit corresponding to the bitstream data, analyzes the i-th node of the i-th layer corresponding to the coding tree unit to obtain the i-th state parameter and i-th mark parameter corresponding to the i-th node, where i is an integer greater than 0, the i-th state parameter is used to determine whether the i-th node supports refreshing, and the i-th mark parameter is used to determine whether the i-th node enables refreshing. A detection process is performed on the i-th node according to the i-th state parameter and i-th mark parameter to obtain the i-th detection result. The i+1-th node of the (i+1)-th layer corresponding to the coding tree unit is obtained according to the i-th detection result, and the detection process is continued on the (i+1)-th node. The decoder traverses all nodes corresponding to the coding tree unit until all coding unit data corresponding to the coding tree unit is obtained, and generates a decoded image corresponding to the bitstream data according to all nodes and all coding unit data. As can be seen from the following, in the embodiment of the present invention, the process of decoding images in a video involves receiving bitstream data, analyzing it to obtain coding tree units, then performing analysis on the nodes of each layer corresponding to the coding tree units to obtain state parameters and mark parameters for the said layer nodes, then performing detection processing on the nodes according to the state parameters and mark parameters, and then performing decoding processing on the nodes with data to obtain all coding units corresponding to the coding tree units and obtain the corresponding decoded images.Here, when coding, in order to support the overlapping division of coding units, if there are at least two coding units whose regions overlap in all coding units obtained by decoding a node containing data, the decoder can perform a refresh process on the image information corresponding to the background coding unit according to the image information corresponding to the refresh coding unit. This avoids excessive division of the video image, reduces unnecessary header information, avoids the distribution and repeated display of data with similar characteristics within the same region, and further improves coding efficiency.

[0110] In yet another embodiment of the present invention, a division process when performing image decoding on a decoder according to the image decoding method of steps 101 to 106 described above will be illustrated based on the above embodiment.

[0111] Figure 12 is a schematic diagram 1 of the partitioning process, and Figure 13 is a schematic diagram 2 of the partitioning process. As shown in Figures 12 and 13, after the coding tree unit performs a QT partition on the first node A11 which has no data, the acquired upper left coding block A21, upper right coding block A22, lower left coding block A23, and lower right coding block A24 all have data. That is, all four second nodes in the second layer of the coding tree unit have data, and A23 can undergo further partitioning. Therefore, the encoder can perform a QT partition on A23 to acquire four third nodes in the third layer. Here, all four third nodes have no data, and one third node can undergo a vertical BT partition. The two fourth nodes in the fourth layer acquired after partitioning are A41 and A42, respectively. Here, neither A41 nor A42 can be partitioned, and A42 has data. As can be seen from the above, the image decoding method according to the present invention requires that the decoding process be performed only on A21, A22, A23, A24, and A42 where data exists, in order to obtain the corresponding coding unit. Here, since there is an overlapping area between A42 and A23, the decoder can refresh the coding unit corresponding to A23 according to the coding unit corresponding to A42, and finally obtain the decoded image corresponding to the coding tree.

[0112] Figure 14 is a schematic diagram 3 of the partitioning process, and Figure 15 is a schematic diagram 4 of the partitioning process. As shown in Figures 14 and 15, there is data in the first node of the first layer of the coding tree unit, and after performing a QT partition on the first node B11, the obtained coding blocks are the upper left coding block B21, the upper right coding block B22, the lower left coding block B23, and the lower right coding block B24. Of these, B23 has data, and B23 can undergo further partitioning. Therefore, the encoder can perform a QT partition on B23 to obtain four third nodes of the third layer. Here, all four third nodes have no data, and one third node can undergo a vertical BT partition. The two fourth nodes of the fourth layer obtained after partitioning are B41 and B42, respectively. Here, neither B41 nor B42 can be further partitioned, and B42 has data. As can be seen from the above, the image decoding method according to the present invention requires that the decoding process be performed only on B11, B23, and B42 where data exists, in order to obtain the corresponding coding units. Here, there are overlapping areas in B23 and B11, and overlapping areas in B23 and B42. Therefore, the decoder can refresh the coding unit corresponding to B11 according to the coding unit corresponding to B23 to obtain the refreshed coding unit corresponding to B23, and then refresh the refreshed coding unit corresponding to B23 according to the coding unit corresponding to B42, and finally obtain the decoded image corresponding to the coding tree.

[0113] Figure 16 is a schematic diagram of the splitting process, and Figure 17 is a schematic diagram of the splitting process. As shown in Figures 16 and 17, there is data in the first node of the first layer of the coding tree unit, and after performing QT splitting on the first node C11, there is no data in the acquired upper left coding block C21, upper right coding block C22, lower left coding block C23, and lower right coding block C24. Since C23 and C24 can undergo further splitting, the encoder will process C22 and C24. By performing a QT partition on each of the 23 nodes, we can obtain eight third nodes in the third layer, including four third nodes corresponding to C22 and four third nodes corresponding to C23. Here, none of the eight third nodes contain any data, and two of these third nodes can be further partitioned vertically using a CT partition. The four fourth nodes obtained after partitioning are C41, C42, C43, and C44, respectively. Here, C41, C42, C43, and C44 cannot be further partitioned, while C41 and C44 contain data. As can be seen from the above, the image decoding method according to the present invention requires that the decoding process be performed only on C11, C41, and C44 where data exists, in order to obtain the corresponding coding units. Here, since C41 and C44 each have overlapping areas with C11, the decoder can refresh the coding unit corresponding to C11 according to the coding unit corresponding to C41, and at the same time, refresh the coding unit corresponding to C11 according to the coding unit corresponding to C44, and finally obtain the decoded image corresponding to the coding tree.

[0114] This embodiment provides an image decoding method, a decoder, and a storage medium. The decoder receives bitstream data, analyzes the bitstream data to obtain a coding tree unit corresponding to the bitstream data, analyzes the i-th node of the i-th layer corresponding to the coding tree unit to obtain the i-th state parameter and i-th mark parameter corresponding to the i-th node, where i is an integer greater than 0, the i-th state parameter is used to determine whether the i-th node supports refreshing, and the i-th mark parameter is used to determine whether the i-th node enables refreshing. A detection process is performed on the i-th node according to the i-th state parameter and i-th mark parameter to obtain the i-th detection result. The i+1-th node of the (i+1)-th layer corresponding to the coding tree unit is obtained according to the i-th detection result, and the detection process is continued on the (i+1)-th node. The decoder traverses all nodes corresponding to the coding tree unit until all coding unit data corresponding to the coding tree unit is obtained, and generates a decoded image corresponding to the bitstream data according to all nodes and all coding unit data. As can be seen from the following, in the embodiment of the present invention, the process of decoding images in a video involves receiving bitstream data, analyzing it to obtain coding tree units, then performing analysis on the nodes of each layer corresponding to the coding tree units to obtain state parameters and mark parameters for the said layer nodes, then performing detection processing on the nodes according to the state parameters and mark parameters, and then performing decoding processing on the nodes with data to obtain all coding units corresponding to the coding tree units and obtain the corresponding decoded images.Here, when coding, in order to support the overlapping division of coding units, if there are at least two coding units whose regions overlap in all coding units obtained by decoding a node containing data, the decoder can perform a refresh process on the image information corresponding to the background coding unit according to the image information corresponding to the refresh coding unit. This avoids excessive division of the video image, reduces unnecessary header information, avoids the distribution and repeated display of data with similar characteristics within the same region, and further improves coding efficiency.

[0115] In another embodiment of the present invention, the image decoding method according to the above embodiment is proposed on the basis that when the encoder performs image coding, it supports the overlap between coding units, and when the encoder performs coding, it supports the overlap between coding units and can avoid fine division of the graphic. Correspondingly, when the decoder performs decoding of a video image, if there is an overlapping area between the background pixel data corresponding to the background coding unit and the refresh pixel data corresponding to the refresh coding unit among all the pixel data, the decoder can switch the corresponding area pixel data of the background coding unit according to the pixel data of the refresh coding unit, that is, the background coding unit can be refreshed with the refresh coding unit.

[0116] In summary, Figure 17 is a schematic diagram of an image coding method according to an embodiment of the present invention, and as shown in Figure 17, the method by which the encoder performs image coding may include the following steps.

[0117] In step 301, the current coding image is split, and the coding tree unit corresponding to the current coding image is obtained.

[0118] In the embodiment of the present invention, the encoder can first divide the current coding image and obtain coding tree units corresponding to the current coding image.

[0119] Furthermore, in the embodiments of the present invention, when the encoder performs video coding, it codes each frame of the multi-frame images in the video. At any given moment, the image of one frame being coded can be called the current coded image. When the encoder codes the current coded image in the video, it first needs to divide the current coded image into coding tree units of the same size. For example, the encoder can divide the current coded image to obtain coding tree units of the same size, i.e., coding tree units consisting of 64x64 pixel points.

[0120] It should be noted that in the embodiments of the present invention, the encoder can perform duplicate splitting on the current coded image. Specifically, the encoder can perform duplicate splitting on the current coded image via a multi-type tree splitting technique.

[0121] In the embodiment of the present invention, it should be noted that the encoder can be set to a preset refresh coding mode and a normal coding mode, respectively. Here, the normal coding mode is generally a coding mode that does not allow overlap between coding tree units and also does not allow overlap between coding units and coding tree units, while the preset refresh coding mode is a coding mode that allows overlap between coding tree units and coding tree units. That is, regardless of whether it is the preset refresh coding mode or the normal coding mode, there is no overlap between coding tree units and coding tree units.

[0122] Furthermore, in the embodiment of the present invention, the encoder can choose whether to start a preset refresh coding mode or a normal coding mode when performing video coding. From the coding side, the preset refresh coding mode can be selected from existing methods and compared and judged across different layers via Rate Distortion Optimization (RDO). In the implementation process, the number of supported refresh layers, the number of regions, etc., can also be flexibly selected.

[0123] Furthermore, in the embodiment of the present invention, the encoder can first switch the coding mode to a preset refresh coding mode before splitting the current coding image and obtaining the coding tree units corresponding to the current coding image, that is, before step 401.

[0124] In the embodiments of the present invention, it should be noted that when the encoder divides the current coded image, it can divide the coding tree units according to the rearrangement of the raster order, and after the encoder's division, multiple coding tree units can be obtained.

[0125] Furthermore, in the embodiments of the present invention, the current coding image can be further divided using MTT technology or other division techniques after it has been divided into coding tree units, and finally, coding can be performed on a unit basis, the coding units.

[0126] In step 302, the coding tree units are further divided to obtain background coding units and refresh coding units corresponding to the coding tree units, where the refresh coding units are used to cover a portion of the area of ​​the background coding units.

[0127] In the embodiment of the present invention, the encoder can divide the current coding image to obtain coding tree units corresponding to the current coding image, and then continue dividing the coding tree units to obtain background coding units and refresh coding units corresponding to the coding tree units. Here, both the background coding units and refresh coding units are coding units that are obtained by further dividing the coding tree units and used for image coding.

[0128] It should be noted that in the embodiments of the present invention, the refresh coding unit may be used to cover a portion of the area of ​​the background coding unit.

[0129] Furthermore, in the embodiment of the present invention, after acquiring a coding tree unit, the encoder can continue to divide the coding tree unit according to a preset refresh coding mode, thereby acquiring background coding units and refresh coding units corresponding to the coding tree unit. Specifically, the encoder can first extract pixel information within a coding tree unit, and then divide the coding tree unit according to the pixel information, thereby dividing the coding tree unit into a background coding unit and a refresh coding unit. That is, the encoder can further divide the coding tree unit into a background coding unit and a refresh coding unit according to the pixel information within the coding tree unit, thereby performing image coding according to the background coding unit and the refresh coding unit. Here, a portion of the background coding unit's area can be covered and refreshed by the refresh coding unit.

[0130] Figure 18 is a schematic diagram 1 without overlapping division, and Figure 19 is a schematic diagram 2 without overlapping division. As shown in Figures 18 and 19, according to existing video coding methods, when an encoder divides a coding tree unit for a small area that differs from other area content, for example, area a differs from other area content, the encoder does not allow overlapping coding units. Therefore, it is necessary to divide the coding tree unit finely according to the method in Figure 18 or Figure 19, thereby achieving a good video coding effect. Figure 20 is a schematic diagram 1 with overlapping division, and Figure 21 is a schematic diagram 2 with overlapping division. As shown in Figures 20 and 21, for the same area a, when the encoder divides the coding tree unit, it does not allow overlapping coding units. Specifically, the coding tree unit can be divided into a refresh coding unit to cover the background coding unit and switch, or the refresh coding unit can be used to cover a portion of the background coding unit's area and switch, thus avoiding overly fine block divisions and effectively reducing the number of header information.

[0131] Furthermore, in the embodiment of the present invention, the pixel domain data is converted to the frequency domain via the Discrete Cosine Transform (DCT) and Discrete Sine Transform (DST), and then transmitted after quantization coding is performed. For example, in a frame of the current image, flat image regions with little pixel information mainly consist of low-frequency components, so the converted energy of these flat image regions is all concentrated in the upper left corner, meaning that when image coding transmission is performed, the numerical values ​​in other regions are basically all 0, except for a few values ​​in the upper left corner. In this way, when transmitting, only these few values ​​can be transmitted, that is, the pixel data of all regions can be shown. Correspondingly, if n data points are required to code and transmit the flat image region, then if the flat image region is divided into four sub-regions and coding transmission is performed, it may be necessary to require 4n non-zero data points to represent the region, which, from an information perspective, is a repetition of the same information.

[0132] Furthermore, in the embodiments of the present application, both MTT partitioning and QTBT partitioning involve first performing a QT partitioning, and then performing the other type of partitioning at each leaf node of the QT.

[0133] Furthermore, in embodiments of the present invention, the encoder allows a background coding unit to be refreshed by multiple refresh coding units in the background coding units and refresh coding units obtained by dividing the coding tree unit, and also allows a refresh coding unit to be refreshed by the refresh coding units of the next layer as a background coding unit. That is, in embodiments of the present invention, a preset refresh coding mode can allow multi-region refreshing and multi-layer refreshing.

[0134] It should be noted that in the embodiments of the present invention, the method by which the encoder divides the coding tree units and obtains background coding units and refresh coding units corresponding to the coding tree units may specifically include the following steps.

[0135] In step 302a, the coding tree unit is split to obtain the j-th background coding unit and the j-th refresh coding unit corresponding to the j-th layer, where j is an integer greater than 0.

[0136] In the embodiment of the present invention, the encoder can divide the current coding image to obtain coding tree units corresponding to the current coding image, and then divide the coding tree units according to MTT, thereby obtaining the j-th background coding unit and the j-th refresh coding unit corresponding to the j-th layer, where j is an integer greater than 0.

[0137] In the embodiment of the present invention, it should be noted that the preset refresh coding mode allows for multi-layer refresh, so that the encoder can obtain at least one coding unit after splitting the coding tree units.

[0138] In step 302b, the j-th refresh coding unit is split to obtain the j+1th background coding unit and the j+1th refresh coding unit corresponding to the j+1th layer.

[0139] In the embodiment of the present invention, the encoder can, in accordance with the MTT, divide the coding tree unit to obtain the jth background coding unit and the jth refresh coding unit corresponding to the jth layer, and then, in accordance with the MTT, continue to divide the jth refresh coding unit to obtain the j+1th background coding unit and the j+1th refresh coding unit corresponding to the j+1th layer.

[0140] In the embodiments of the present invention, if the coding tree unit has multiple layers of coding units, it should be noted that the j-th refresh coding unit of the j-th layer can continue to split the j+1th background coding unit and the j+1th refresh coding unit corresponding to the j+1th layer. That is, in the background coding units and refresh coding units obtained by splitting the coding tree unit, the encoder allows one background coding unit to be refreshed by multiple refresh coding units, and also allows a refresh coding unit to be refreshed as a background coding unit by a refresh coding unit of the next layer.

[0141] In step 303, the coding tree unit is coded according to the background coding unit and the refresh coding unit to generate bitstream data corresponding to the current coding image.

[0142] In the embodiment of the present invention, the encoder can divide the coding tree unit to obtain a background coding unit and a refresh coding unit corresponding to the coding tree unit, and then code the current coding image according to the background coding unit and the refresh coding unit to generate bitstream data corresponding to the current coding image.

[0143] Furthermore, in the embodiments of the present invention, when the encoder codes a coding tree unit according to a background coding unit and a refresh coding unit, it may first code the background coding unit and then code the refresh coding unit. That is, the encoder codes the background coding unit to generate background bitstream data, and then codes the refresh coding unit to generate refresh bitstream data.

[0144] Note that in the embodiments of this application, the bitstream data includes background bitstream data and refresh bitstream data.

[0145] Furthermore, in the embodiments of the present invention, the encoder can encode the current coded image according to the background coding unit and the refresh coding unit to generate bitstream data corresponding to the current coded image, and then transmit the bitstream data. Specifically, in the embodiments of the present invention, when the encoder transmits bitstream data, it can first transmit background bitstream data and then transmit refresh bitstream data. That is, when the encoder transmits bitstream data, it transmits background bitstream data and then transmits refresh bitstream data.

[0146] As can be seen from the following, in the embodiment of the present invention, when the encoder codes a coding tree unit according to a preset refresh coding mode, it can first code and transmit the background coding unit, and then code and transmit the refresh coding unit. Correspondingly, when decoding, it first decodes the background coding unit, and then decodes the refresh coding unit.

[0147] Furthermore, the coding method according to this application can be understood as a method that can realize irregular shape division, and in the process of coding using coding units as units, coding units do not overlap, and the encoder divides the coding tree unit into a background coding unit and a refresh coding unit, where a portion of the area of ​​the background coding unit is covered by the refresh coding unit, the uncovered area is an irregular shape, and this portion is the area that needs to be displayed by the background coding unit, and the covered area belongs to virtual extended data. Here, since QTBT can be considered a special case of MTT, the implementation of the proposed method is similar after introducing MTT to VVC.

[0148] Furthermore, in the embodiments of the present application, the encoder and decoder allow region overlap of coding units during prediction and / or conversion, and accordingly, one coding tree unit may have a corresponding background prediction unit and a refresh prediction unit, and a corresponding background conversion unit and a refresh conversion unit.

[0149] Furthermore, in the embodiment of the present invention, the encoder can realize an irregular region division method via block subtraction.

[0150] In the image coding method according to this embodiment, in the process of executing a codec on an image in a video, the encoder, when performing coding unit division on the current coding image, can obtain background coding units and refresh coding units that partially overlap via a preset refresh coding mode, and then perform coding. Correspondingly, when the decoder decodes the current decoding image according to a preset refresh decoding mode, the refresh coding unit can be allowed to refresh a partial area of ​​the background coding unit, thereby avoiding excessive division of the video image, reducing unnecessary header information, and further improving coding efficiency.

[0151] Based on the above embodiments, in yet another embodiment of the present application, Figure 23 is an exemplary structural diagram 1 of the configuration of a decoder according to the embodiment of the present application, and as shown in Figure 23, the decoder 100 according to the embodiment of the present application may include a receiving unit 101, an analysis unit 102, a detection unit 103, an acquisition unit 104, a generation unit 105, a signal ring unit 106, and a start unit 107.

[0152] The receiving unit 101 is configured to receive bitstream data.

[0153] The analysis unit 102 is configured to analyze the bitstream data and obtain coding tree units corresponding to the bitstream data.

[0154] The analysis unit 102 is further configured to analyze the i-th node of the i-th layer corresponding to the coding tree unit and obtain the i-th state parameter and the i-th mark parameter corresponding to the i-th node, where i is an integer greater than 0, the i-th state parameter is used to determine whether the i-th node supports refreshing, and the i-th mark parameter is used to determine whether the i-th node enables refreshing.

[0155] The detection unit 103 is configured to perform a detection process on the i-node according to the i-state parameter and the i-mark parameter, and to obtain the i-th detection result.

[0156] The acquisition unit 104 is configured to acquire the i+1 node of the i+1 layer corresponding to the coding tree unit according to the i detection result.

[0157] The detection unit 103 is further configured to continue executing the detection process on the i+1 node and traverse all nodes corresponding to the coding tree unit until all coding unit data corresponding to the coding tree unit is acquired.

[0158] The generation unit 105 is configured to generate a decoded image corresponding to the bitstream data according to all the nodes and all the coding unit data.

[0159] Furthermore, in the embodiment of the present application, the acquisition unit 104 specifically determines a leaf parameter corresponding to the i node, where the leaf parameter is used to determine whether or not to continue dividing the i node, and is configured to acquire the i detection result according to the leaf parameter, the i state parameter, and the i mark parameter.

[0160] Furthermore, in the embodiment of the present application, the acquisition unit 104 is configured to, more specifically, acquire the i-th coding unit data of the i-th layer and perform a splitting process on the i-th node to acquire the i+1-th node of the i+1-th layer corresponding to the coding tree unit if the i-th detection result is that there is data and it is to be split, and to perform a splitting process on the i-th node to acquire the i+1-th node of the i+1-th layer corresponding to the coding tree unit if the i-th detection result is that there is data and it is not to be split, acquire the i-th coding unit data of the i-th layer and terminate the analysis process of the i-th node, and terminate the analysis process of the i-th node if the i-th detection result is that there is no data and it is not to be split.

[0161] Furthermore, in the embodiment of the present invention, the generation unit 105 is specifically configured to perform a decoding process on all the coding unit data based on all the nodes to obtain all the pixel data corresponding to the coding tree unit, and to generate the decoded image corresponding to the bitstream data according to all the pixel data.

[0162] Furthermore, in the embodiment of the present application, the transmission unit 106 is configured to transmit the (i+1)th state parameter according to the leaf parameter, the i-th state parameter, and the i-th mark parameter before continuing to perform the detection process for the i+1 node.

[0163] Furthermore, in the embodiment of the present application, the transmission unit 106 is configured to determine whether or not to perform a state refresh according to the leaf parameter, the i-state parameter, and the i-mark parameter, and if it is determined to perform a default state refresh, it performs a refresh process on the i-state parameter to obtain the i+1 state parameter, and if it is determined not to perform a state refresh, it determines the i-state parameter to the i+1 state parameter.

[0164] Furthermore, in the embodiment of the present application, the acquisition unit 104 is specifically configured to acquire the i-th division mode corresponding to the i-th node, and to perform a division process on the i-th node according to the i-th division mode to acquire the i+1 node.

[0165] Furthermore, in the embodiment of the present application, the acquisition unit 104 is configured to traverse all nodes until all pixel data is acquired, if there is data at the i-th node and it is not divided, it decodes the i-th coding unit data to acquire the i-th pixel data, if there is data at the i-th node and it is divided, it decodes the i-th coding unit data to acquire the i-th background pixel data, decodes the i+1 coding unit data to acquire the i-th refresh pixel data to acquire the i-th pixel data.

[0166] Furthermore, in the embodiment of the present application, the acquisition unit 104 is configured to traverse all the nodes until it performs a refresh process on the i-background pixel data according to the i-refresh pixel data to acquire the i-th pixel data and acquire the decoded image.

[0167] Furthermore, in the embodiment of the present application, the acquisition unit 104 is configured to traverse all the nodes until all the pixel data is acquired, if there is data at the i-th node and it is divided, acquire the i+1 coding unit data, decode the i+1 coding unit data to acquire the i-th refresh pixel data corresponding to the i-th node, decode the i-th coding unit data to acquire the i-th background pixel data, set the i-th background pixel data as the background of the i-th refresh pixel data to acquire the i-th pixel data.

[0168] Furthermore, in the embodiment of the present application, the acquisition unit 104 is more specifically configured to set the i-th background pixel data to idle if there is no data at the i-th node.

[0169] Furthermore, in the embodiment of the present application, the generation unit 105 is configured to continue performing the detection process on the i+1 node, traverse all nodes corresponding to the coding tree unit until all coding unit data corresponding to the coding tree unit is obtained, and then perform a refresh process on the i-th coding unit data according to the i+1 coding unit data.

[0170] Furthermore, in the embodiment of the present application, the start unit 107 is configured to receive bitstream data, analyze the bitstream data to obtain coding tree units corresponding to the bitstream data, and then start a preset refresh mode, which is used to perform duplicate decoding between coding units.

[0171] Figure 24 is an exemplary structural diagram 2 of the decoder configuration according to an embodiment of the present invention, and as shown in Figure 24, the decoder 100 according to an embodiment of the present invention further comprises a processor 108, a memory 109 for storing processor 108 executable instructions, a communication interface 110, and a bus 111 configured to connect the processor 108, the memory 109, and the communication interface 110.

[0172] Furthermore, in the embodiment of the present invention, the processor 108 is configured to receive bitstream data, analyze the bitstream data to obtain a coding tree unit corresponding to the bitstream data, analyze the i-th node of the i-th layer corresponding to the coding tree unit to obtain the i-th state parameter and the i-th mark parameter corresponding to the i-th node, where i is an integer greater than 0, the i-th state parameter is used to determine whether the i-th node supports refreshing, and the i-th mark parameter is used to determine whether the i-th node enables refreshing; to perform a detection process on the i-th node according to the i-th state parameter and the i-th mark parameter to obtain the i-th detection result; to obtain the i+1-th node of the i+1-th layer corresponding to the coding tree unit according to the i-th detection result; to continue performing the detection process on the i+1-th node; to traverse all nodes corresponding to the coding tree unit until all coding unit data corresponding to the coding tree unit is obtained; and to generate a decoded image corresponding to the bitstream data according to all nodes and all coding unit data.

[0173] In embodiments of the present invention, the processor 108 may be at least one of the following: an Application Specific Integrated Circuit (ASIC), a Digital Signal Processor (DSP), a Digital Signal Processing Device (DSPD), a Programmable Logic Device (PLD), a Field Programmable Gate Array (FPGA), a Central Processing Unit (CPU), a controller, a microcontroller, or a microprocessor. Other electronic devices may be used to implement the functions of the processor for different devices, and the embodiments of the present invention are not specifically limited. A memory 109 may be connected to the processor 108, where the memory 109 is configured to store executable program code, which includes computer operation instructions. The memory 109 may include high-speed RAM memory and may also include non-volatile memory, such as at least two disk memories.

[0174] In the embodiment of the present invention, the buzzer 111 is configured to connect the communication interface 110, the processor 108, the memory 109, and communication between these components.

[0175] In the embodiment of the present invention, the memory 109 is configured to store instructions and data.

[0176] In actual applications, the memory 109 may be volatile memory such as random-access memory (RAM), or non-volatile memory such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid-state drive (SSD), or a combination of the above types of memory, and may provide instructions and data to the processor.

[0177] Furthermore, each functional module in this embodiment may be integrated into a single processing unit, each unit may exist physically separately, and two or more units may be integrated into a single unit. The integrated unit may be implemented using hardware, or it may be implemented using software functional modules.

[0178] If the integrated units are implemented in the form of software function modules and are not sold or used as independent products, they can be stored in a single computer-readable storage medium. Based on this understanding, the technical solutions of this embodiment, in essence or in part, contribute to the prior art, or all or part of the technical solutions, can be embodied in the form of a software product, which is stored in a single storage medium and contains several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the method of this embodiment. The storage medium includes various media capable of storing program code, such as U disks, mobile hard disks, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0179] This embodiment provides a decoder that receives bitstream data, analyzes the bitstream data to obtain a coding tree unit corresponding to the bitstream data, analyzes the i-th node of the i-th layer corresponding to the coding tree unit to obtain the i-th state parameter and i-th mark parameter corresponding to the i-th node, where i is an integer greater than 0, the i-th state parameter is used to determine whether the i-th node supports refreshing, and the i-th mark parameter is used to determine whether the i-th node enables refreshing. A detection process is performed on the i-th node according to the i-th state parameter and i-th mark parameter to obtain the i-th detection result, the i+1-th node of the (i+1)-th layer corresponding to the coding tree unit is obtained according to the i-th detection result, the detection process is continued on the (i+1)-th node, and the decoder traverses all nodes corresponding to the coding tree unit until all coding unit data corresponding to the coding tree unit is obtained, and generates a decoded image corresponding to the bitstream data according to all nodes and all coding unit data. As can be seen from the following, in the embodiment of the present invention, the process of decoding images in a video involves receiving bitstream data, analyzing it to obtain coding tree units, then performing analysis on the nodes of each layer corresponding to the coding tree units to obtain state parameters and mark parameters for the said layer nodes, then performing detection processing on the nodes according to the state parameters and mark parameters, and then performing decoding processing on the nodes with data to obtain all coding units corresponding to the coding tree units and obtain the corresponding decoded images.Here, when coding, in order to support the overlapping division of coding units, if there are at least two coding units whose regions overlap in all coding units obtained by decoding a node containing data, the decoder can perform a refresh process on the image information corresponding to the background coding unit according to the image information corresponding to the refresh coding unit. This avoids excessive division of the video image, reduces unnecessary header information, avoids the distribution and repeated display of data with similar characteristics within the same region, and further improves coding efficiency.

[0180] Embodiments of the present invention provide a computer-readable storage medium in which a program is stored, and the program, when executed by a processor, implements the method described in the above embodiment.

[0181] Specifically, the program instructions corresponding to the image decoding method in this embodiment may be stored in a storage medium such as an optical disc, hard disk, or U disk, and when one of the program instructions corresponding to the image decoding method in the storage medium is read or executed by an electronic device, The process involves receiving bitstream data, analyzing the bitstream data, and obtaining a coding tree unit corresponding to the bitstream data. The process involves analyzing the i-th node of the i-th layer corresponding to a coding tree unit, and obtaining the i-th state parameter and i-th mark parameter corresponding to the i-th node, where i is an integer greater than 0, the i-th state parameter is used to determine whether the i-th node supports refresh, and the i-th mark parameter is used to determine whether the i-th node enables refresh. The process involves performing a detection process on the i-th node according to the i-th state parameter and the i-th mark parameter, and obtaining the i-th detection result. In accordance with the i-th detection result, the i+1 node of the i+1th layer corresponding to the coding tree unit is obtained, The detection process is continued for the i+1 node, and all nodes corresponding to the coding tree unit are traversed until all coding unit data corresponding to the coding tree unit is obtained. The process includes generating a decoded image corresponding to the bitstream data according to all the nodes and all the coding unit data.

[0182] Those skilled in the art will understand that embodiments of the present application can be provided as methods, systems, or computer program products. Accordingly, the present application may take the form of hardware embodiments, software embodiments, or embodiments of a combination of software and hardware. Furthermore, the present application may take the form of a computer program product implemented on one or more computer-available storage media (including, but not limited to, disk memory and optical memory) containing computer-available program code.

[0183] This application will be described with reference to exemplary implementation flowcharts and / or block diagrams of methods, apparatus (systems), and computer program products relating to embodiments of this application. You will understand that computer program instructions can implement each process and / or block in the exemplary implementation flowcharts and / or block diagrams, and combinations of processes and / or blocks in the exemplary implementation flowcharts and / or block diagrams. To generate a machine, these computer program instructions are provided to the processor of a general-purpose computer, a dedicated computer, an embedded processor, or other programmable data processing device, causing the instructions executed by the processor of the computer or other programmable data processing device to generate an apparatus for performing the functions specified in one or more processes in the exemplary implementation flowchart and / or one or more blocks in the block diagram.

[0184] These computer program instructions may also be stored in computer-readable memory that can be operated in a particular manner by a computer or other programmable data processing device, causing the instructions stored in the computer-readable memory to generate a product comprising an instruction unit, the instruction unit embodying one or more processes in an exemplary implementation flowchart and / or one or more blocks in a block diagram.

[0185] These computer program instructions can also be loaded into a computer or other programmable data processing device, causing the computer or other programmable device to execute a series of operational steps to generate the processing to be implemented by the computer, thereby providing steps for implementing one or more processes in an exemplary implementation flowchart and / or one or more blocks in a block diagram.

[0186] The above is merely a preferred embodiment of the present application and is not intended to limit the scope of protection of the present application. [Industrial applicability]

[0187] This embodiment provides an image decoding method, a decoder, and a storage medium. The decoder receives bitstream data, analyzes the bitstream data to obtain a coding tree unit corresponding to the bitstream data, analyzes the i-th node of the i-th layer corresponding to the coding tree unit to obtain the i-th state parameter and i-th mark parameter corresponding to the i-th node, where i is an integer greater than 0, the i-th state parameter is used to determine whether the i-th node supports refreshing, and the i-th mark parameter is used to determine whether the i-th node enables refreshing. A detection process is performed on the i-th node according to the i-th state parameter and i-th mark parameter to obtain the i-th detection result. The i+1-th node of the (i+1)-th layer corresponding to the coding tree unit is obtained according to the i-th detection result, and the detection process is continued on the (i+1)-th node. The decoder traverses all nodes corresponding to the coding tree unit until all coding unit data corresponding to the coding tree unit is obtained, and generates a decoded image corresponding to the bitstream data according to all nodes and all coding unit data. As can be seen from the following, in the embodiment of the present invention, the process of decoding images in a video involves receiving bitstream data, analyzing it to obtain coding tree units, then performing analysis on the nodes of each layer corresponding to the coding tree units to obtain state parameters and mark parameters for the said layer nodes, then performing detection processing on the nodes according to the state parameters and mark parameters, and then performing decoding processing on the nodes with data to obtain all coding units corresponding to the coding tree units and obtain the corresponding decoded images.Here, when coding, in order to support the overlapping division of coding units, if there are at least two coding units whose regions overlap in all coding units obtained by decoding a node containing data, the decoder can perform a refresh process on the image information corresponding to the background coding unit according to the image information corresponding to the refresh coding unit. This avoids excessive division of the video image, reduces unnecessary header information, avoids the distribution and repeated display of data with similar characteristics within the same region, and further improves coding efficiency.

Claims

1. An image decoding method, The process involves receiving bitstream data, analyzing the bitstream data, and obtaining a coding tree unit corresponding to the bitstream data. This involves initiating a preset refresh mode, which is used to perform refresh decoding between coding units. Analyzing a node in a layer corresponding to a coding tree unit to determine a state parameter and a mark parameter corresponding to the node, wherein the state parameter is used to determine whether the node supports refresh, the mark parameter is used to determine whether the node enables refresh, and enabling refresh means allowing refresh decoding to be performed on the pixel region corresponding to the node based on the state parameter and the mark parameter. The process includes determining the leaf parameters corresponding to the node, wherein the leaf parameters are used to determine whether or not to divide the node. Image decoding methods.

2. After determining the leaf parameters corresponding to the node, the image decoding method further: Based on the leaf parameters, a detection process is performed on the node to obtain the node of the next layer corresponding to the coding tree unit. The detection process is continued for the nodes of the next layer, and all coding unit data corresponding to the coding tree unit is obtained. The process includes generating a decoded image corresponding to the bitstream data based on the node and all the coding unit data, The image decoding method according to claim 1.

3. Based on the node and all the coding unit data, generating a decoded image corresponding to the bitstream data is: Based on the nodes, a decoding process is performed on all the coding unit data to obtain all the pixel data corresponding to the coding tree units. The process includes generating the decoded image corresponding to the bitstream data according to all the aforementioned pixel data, The image decoding method according to claim 2.

4. Before continuing to perform the detection process on the nodes of the next layer, the image decoding method: The further includes transmitting the state parameters of the next layer according to the leaf parameters, state parameters, and mark parameters. The image decoding method according to claim 2.

5. Transmitting the state parameters of the next layer according to the leaf parameters, state parameters, and mark parameters is: The process involves determining whether or not to perform a state refresh according to the leaf parameter, the state parameter, and the mark parameter, When it is determined that a default state refresh should be performed, a refresh process is performed on the state parameters to obtain the state parameters of the next layer, If it is determined that a state refresh should not be performed, the state parameter is determined to be the state parameter of the next layer, The image decoding method according to claim 4.

6. A decoder comprising a receiving unit, an analysis unit, a start unit, a detection unit, an acquisition unit, and a generation unit, The receiving unit is configured to receive bitstream data, The analysis unit is configured to analyze the bitstream data and obtain coding tree units corresponding to the bitstream data. The start unit is configured to initiate a preset refresh mode, which is used to perform refresh decoding between coding units. The analysis unit is further configured to analyze a node in a layer corresponding to a coding tree unit to determine a state parameter and a mark parameter corresponding to the node, wherein the state parameter is used to determine whether the node supports refresh, and the mark parameter is used to determine whether the node enables refresh, and enabling refresh means allowing refresh decoding to be performed on the pixel region corresponding to the node based on the state parameter and the mark parameter. The acquisition unit is configured to determine the leaf parameters corresponding to the node, and the leaf parameters are used to determine whether or not to divide the node. decoder.

7. The acquisition unit is configured to determine the leaf parameters corresponding to the node, then perform a detection process on the node based on the leaf parameters, and acquire the node of the next layer corresponding to the coding tree unit. The detection unit is configured to continue executing the detection process on the nodes of the next layer and to acquire all coding unit data corresponding to the coding tree unit. The generation unit is configured to generate a decoded image corresponding to the bitstream data based on the node and all the coding unit data. The decoder according to claim 6.

8. The generation unit is configured to perform a decoding process on all the coding unit data based on all the nodes to obtain all the pixel data corresponding to the coding tree unit, and to generate the decoded image corresponding to the bitstream data according to all the pixel data. The decoder according to claim 7.

9. The decoder further comprises a transmission unit, The transmission unit is configured to transmit the state parameters of the next layer according to the leaf parameters, state parameters, and mark parameters before continuing to perform the detection process for the nodes of the next layer. The decoder according to claim 7.

10. The transmission unit determines whether or not to perform a state refresh according to the leaf parameter, the state parameter, and the mark parameter, When it is determined that a default state refresh should be performed, a refresh process is performed on the state parameters to obtain the state parameters of the next layer, If it is determined that a state refresh should not be performed, the system is configured to determine the state parameter to be the state parameter of the next layer, The decoder according to claim 9.

11. A decoder comprising a processor, a memory for storing executable instructions of the processor, a communication interface, and a bus connecting the processor, the memory, and the communication interface, The decoder, which, when the instruction is executed by the processor, implements the image decoding method according to any one of claims 1 to 5.

12. A computer-readable storage medium for storing a program and a bitstream, wherein the program causes a processor to execute the image decoding method described in any one of claims 1 to 5 to decode the bitstream and generate a decoded image.