Image decoding method, method and apparatus for encoding image

By segmenting the coding unit into a composite tree structure and selecting adaptive quantization parameters, the problem of low coding efficiency of high-resolution images is solved, and the coding efficiency and motion compensation effect of high-definition video are improved.

CN114630133BActive Publication Date: 2026-03-27SAMSUNG ELECTRONICS CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2018-09-06
Publication Date
2026-03-27

AI Technical Summary

Technical Problem

Existing image coding methods suffer from low coding efficiency and unsuitable quantization parameters when processing high-resolution images, especially full HD and ultra-HD video, leading to performance degradation. They also involve large computational loads and are difficult to effectively handle complex coding characteristics.

Method used

The coding unit is segmented using a composite tree structure of quadtree, binary tree and ternary tree. Adaptive quantization parameters are selected based on the group quantization information of the object block, and the differential quantization parameters are transmitted in multiple size units to improve quantization efficiency and motion compensation efficiency.

Benefits of technology

It improves the coding efficiency of high-definition images, enhances the transmission efficiency of quantization parameters, and achieves precise rate-distortion optimization to adapt to the coding requirements of different block shapes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114630133B_ABST
    Figure CN114630133B_ABST
Patent Text Reader

Abstract

The present application relates to a video decoding method, a method and apparatus for encoding a picture. According to the video decoding method of the present application, the method comprises the following steps: obtaining a quantized coefficient sequence comprising coefficients of a current block from a bitstream; reconstructing a residual block of the current block by decoding the quantized coefficient sequence based on a scanning mode for scanning the coefficients of the current block; determining an intra prediction mode of the current block from among allowable intra prediction modes predefined in a decoding device; generating a prediction block of the current block based on the intra prediction mode of the current block; and reconstructing the current block using the residual block and the prediction block.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of patent application No. 201880057900.6, filed on September 6, 2018, entitled "Image encoding / decoding method and apparatus based on effective transmission differential quantization parameters". Technical Field

[0002] This invention relates to image encoding and decoding techniques in high-definition video compression methods and apparatus, and more specifically to a method and apparatus for effectively transmitting differential quantization parameters, calculating actual quantization parameters using the transmitted differential quantization parameters, and thereby performing inverse quantization. Background Technology

[0003] Image compression methods divide an image into multiple blocks of predetermined size for encoding. Furthermore, to improve compression efficiency, inter-prediction and intra-prediction techniques are used to remove redundancy between multiple images.

[0004] At this point, residual signals are generated using intra-frame prediction and inter-frame prediction. The reason for calculating residual signals is that when encoding with residual signals, the data compression rate is higher due to the small data volume. The better the prediction, the smaller the value of the residual signal.

[0005] Intra-frame prediction methods use the surrounding pixels of the current block to predict the data of the current block. The difference between the actual value and the predicted value is called the residual signal. In the case of HEVC, the intra-frame prediction method increases the number of prediction modes from 9 used in the existing H.264 / AVC to 35, thus providing more refined prediction.

[0006] In inter-frame prediction methods, the current block is compared with blocks within multiple surrounding pixels to search for the most similar block. The positional information (Vx, Vy) of the searched block is called the motion vector. The difference between the pixel values ​​within the current block and the predicted block using the motion vector is called the motion-compensated residual block.

[0007] Thus, although further refining intra-frame prediction and inter-frame prediction reduces the amount of residual signal data, the computational load for video processing increases significantly.

[0008] In particular, the process of determining the intra-image segmentation structure used for image encoding and decoding becomes more complex, which makes it difficult to implement pipelines, etc. Existing block segmentation methods and the size of the resulting blocks may not be suitable for encoding high-resolution images.

[0009] Furthermore, current block structure quantization processes may not be effective for processing ultra-high-definition images used to support virtual reality, such as 360VR images, and the various segmentation structures that accompany them. Summary of the Invention

[0010] Technical issues

[0011] The present invention addresses the above-mentioned problems and aims to provide encoding and decoding methods suitable for high-resolution images, image processing methods that handle more efficient quantization processes based on changes in complex encoding characteristics, and image decoding and encoding methods utilizing these methods.

[0012] In particular, for Full High Definition (FHD) and Ultra High Definition (UHD) omnidirectional video, due to their extremely high resolution, the size of the basic coding unit can be varied to improve coding efficiency. Consequently, quantization parameter information affecting coding efficiency can be transmitted at multiple levels. Since this information is supplementary, to improve coding efficiency, it is transmitted by efficiently encoding this information in large block units. However, performing quantization in large block units may degrade device performance from a rate control or subjective / objective image quality perspective; therefore, it is necessary to transmit quantization parameters in appropriate units.

[0013] Technical solution

[0014] To address the aforementioned problem, an image decoding method according to an embodiment of the present invention includes the following steps: obtaining a quantized coefficient sequence including coefficients of a current block from a bitstream; reconstructing a residual block of the current block by decoding the quantized coefficient sequence based on a scanning method for scanning the coefficients of the current block; determining an intra-prediction mode of the current block from predefined permissible intra-prediction modes in a decoding device; generating a prediction block of the current block based on the intra-prediction mode of the current block; and reconstructing the current block using the residual block and the prediction block.

[0015] A method for encoding an image according to another embodiment of the present invention includes the following steps: generating a prediction block of the current block based on an intra-prediction mode of the current block, the intra-prediction mode being one of the predefined permissible intra-prediction modes in the encoding apparatus; obtaining a residual block as the difference between the original block of the current block and the prediction block; obtaining a two-dimensional arrangement of quantization coefficients from the residual block; and generating a bitstream by encoding the two-dimensional arrangement of the quantization coefficients based on a scanning method for scanning the coefficients of the current block.

[0016] According to another embodiment of the invention, the apparatus includes a bitstream generated by encoding an image, wherein the bitstream includes a sequence of quantization coefficients, the sequence of quantization coefficients including coefficients of a current block, the sequence of quantization coefficients being decoded based on a scanning method for scanning the coefficients of the current block to reconstruct a residual block of the current block, the residual block representing the difference between an original block of the current block and a predicted block of the current block, the predicted block being generated based on one of the permissible intra-frame prediction modes of the current block.

[0017] Technical effect

[0018] According to embodiments of the present invention, by dividing the coding unit, which is the basic unit for performing inter-frame prediction or intra-frame prediction, into a composite tree structure including quadtrees, binary trees, and ternary trees, and by selecting and adaptively determining the quantization parameters of the quantization procedure for the object block based on the group quantization information of the object block, the quantization efficiency corresponding to diverse block shapes can be improved, and the coding efficiency of high-definition images can be improved.

[0019] Furthermore, according to embodiments of the present invention, by utilizing the detailed characteristic information of the image, an induction procedure for adaptively determining the quantization parameters and the quantization parameters thereby induced can be selected, thus improving the motion compensation efficiency and filtering effect corresponding to diverse block shapes, and improving the coding efficiency of high-definition images.

[0020] In particular, the present invention improves the transmission efficiency of quantization parameters by transmitting differential quantization parameters in unit units of various sizes, and enables precise rate control. Attached Figure Description

[0021] Figure 1 This is a block diagram illustrating the structure of an image encoding apparatus according to an embodiment of the present invention.

[0022] Figures 2 to 5 This is a diagram illustrating a first embodiment of a method for processing images by segmenting them into block units.

[0023] Figure 6 This is a block diagram illustrating an embodiment of a method for performing inter-frame prediction in an image coding apparatus.

[0024] Figure 7 This is a block diagram illustrating the structure of an image decoding apparatus according to an embodiment of the present invention.

[0025] Figure 8 This is a block diagram illustrating an embodiment of a method for performing inter-frame prediction in an image decoding apparatus.

[0026] Figure 9This is a diagram illustrating a second embodiment of a method for processing images by segmenting them into block units.

[0027] Figure 10 This diagram illustrates one embodiment of the syntax structure used for processing images by segmenting them into block units.

[0028] Figure 11 This is a diagram illustrating a third embodiment of a method for processing images by segmenting them into block units.

[0029] Figure 12 This is a diagram illustrating an embodiment of a method for dividing coding units into binary tree structures to form transformation units.

[0030] Figure 13 This is a diagram illustrating a fourth embodiment of a method for processing images by segmenting them into block units.

[0031] Figures 14 to 16 This is a diagram illustrating another embodiment of a method for processing images by segmenting them into block units.

[0032] Figure 17 and Figure 18 A diagram illustrating an embodiment of a method for determining the segmentation structure of a transform unit by performing rate distortion optimization.

[0033] Figure 19 This is a diagram illustrating a composite segmentation structure according to another embodiment of the present invention.

[0034] Figure 20 This is a flowchart illustrating the quantization processing method of an embodiment of the present invention.

[0035] Figure 21 This illustrates the segmentation structure of various encoding and differential quantization parameter transmission units in embodiments of the present invention.

[0036] Figure 22 This describes a differential quantization parameter prediction method according to an embodiment of the present invention.

[0037] Figure 23 This describes a differential quantization parameter prediction method according to an embodiment of the present invention. Detailed Implementation

[0038] The embodiments of the present invention will now be described in detail with reference to the accompanying drawings. When describing the embodiments of the present invention, detailed descriptions of relevant known structures or functions may be omitted if it is determined that such detailed descriptions would obscure the main points of this specification.

[0039] When a structural element is referred to as being "connected" or "linked" to another structural element, it should be understood that it can be directly connected or linked to other structural elements, but other structural elements may also exist in between. Furthermore, the description in this invention as "comprising" a specific structure does not exclude structures other than the corresponding structure, but may mean that additional structures may be included within the scope of the implementation of this invention or the technical concept of this invention.

[0040] The terms "first" and / or "second" can be used to describe various structural elements, but the structural elements are not limited to these terms. The terms are used for the purpose of distinguishing a structural element from other structural elements. For example, without departing from the scope of the invention, a first structural element may be referred to as a second structural element, and similarly, a second structural element may be referred to as a first structural element.

[0041] Furthermore, the constituent parts shown in the embodiments of the present invention are illustrated independently to represent different functional characteristics, which does not imply that each constituent part is composed of a separate hardware or software unit. In other words, for convenience, each constituent part includes each of the listed constituent parts, and thus at least two constituent parts of each constituent part can be combined to form a constituent part, or a constituent part can be divided into multiple constituent parts to perform functions. Embodiments combining each constituent part and embodiments separating one of the constituent parts are also included within the scope of the present invention without departing from its essence.

[0042] Furthermore, some structural elements may not be essential for performing the basic functions of the invention, but rather selective structural elements that merely improve its performance. In addition to structural elements used to improve performance, the invention can be implemented by including only the essential structural elements necessary to achieve the essence of the invention. Structures containing only essential structural elements, other than selective structural elements used only to improve performance, are also included within the scope of the invention.

[0043] Figure 1 This is a block diagram illustrating the structure of an image encoding apparatus according to an embodiment of the present invention. The image encoding apparatus 10 includes: an image segmentation unit 110, a transformation unit 120, a quantization unit 130, a scanning unit 131, an entropy encoding unit 140, an intra-frame prediction unit 150, an inter-frame prediction unit 160, an inverse quantization unit 135, an inverse transformation unit 125, a post-processing unit 170, an image storage unit 180, a subtraction unit 190, and an addition unit 195.

[0044] Reference Figure 1 The image segmentation unit 110 analyzes the input video signal, segments the image into coding units, determines the prediction mode, and determines the size of the prediction unit according to the different coding units.

[0045] Furthermore, the image segmentation unit 110 transmits the prediction unit to be encoded to the intra-frame prediction unit 150 or the inter-frame prediction unit 160 according to the prediction mode (or prediction method). Additionally, the image segmentation unit 110 transmits the prediction unit to be encoded to the subtraction unit 190.

[0046] The image is composed of multiple slices, which can be divided into multiple coding tree units (CTUs) to segment the image.

[0047] The coding tree unit can be divided into one or more coding units (CUs) that perform inter-prediction or intra-prediction.

[0048] A coding unit (CU) can be divided into one or more prediction units (PUs) that are the basic units that perform prediction.

[0049] At this time, the coding device 10 determines one of the inter-frame prediction and intra-frame prediction for the segmented coding units (CUs) using a prediction method. However, different prediction blocks can be generated for each prediction unit (PU).

[0050] On the one hand, a coding unit (CU) can be divided into one or more basic units (Transform Unit: TU) that transform the residual block.

[0051] At this time, the image segmentation unit 110 can transmit image data to the subtraction unit 190 in block units (e.g., prediction unit (PU) or transformation unit (TU)) as described above.

[0052] Reference Figure 2 The coding tree unit (CTU) with a maximum size of 256×256 pixels is divided into a quadtree structure, which can then be divided into 4 coding units (CUs) with a square shape.

[0053] The four coding units (CUs) with a square shape can be further divided into quadtree structures. As mentioned above, the depth of the coding unit (CU) divided into a quadtree structure can have an integer value from 0 to 3.

[0054] The coding unit (CU) can be divided into one or more prediction units (PU) according to the prediction mode.

[0055] When the coding unit (CU) size is 2N×2N in intra-prediction mode, the prediction unit (PU) size can be as follows: Figure 3 (a) shows 2N×2N or Figure 3 (b) shows the N×N.

[0056] On the one hand, when the size of the coding unit (CU) is 2N×2N in the inter-frame prediction mode, the size of the prediction unit (PU) can be as follows: Figure 4 (a) shows 2N×2N, Figure 4 (b) shows 2N×N, Figure 4 (c) shows N×2N, Figure 4 (d) shows N×N, Figure 4 (e) shows 2N×nU, Figure 4 (f) shows 2N×nD, Figure 4 (g) shows nL×2N and Figure 4 (h) represents one of the sizes of nR×2N.

[0057] Reference Figure 5 The coding unit (CU) is divided into a quad tree structure, which can then be divided into four transformation units (TU) with a square shape.

[0058] The four coding units (CUs) with the square shape can be further divided into quadtree structures. As mentioned above, the depth of the transformation unit (TU) divided into quadtree structures can have an integer value from 0 to 3.

[0059] When the coding unit (CU) is in inter-frame prediction mode, the prediction unit (PU) and transform unit (TU) segmented from the coding unit (CU) can have mutually independent segmentation structures.

[0060] When the coding unit (CU) is in intra-prediction mode, the transform unit (TU) segmented from the coding unit (CU) cannot be larger than the size of the prediction unit (PU).

[0061] Moreover, the transformation unit segmented as described above has a maximum size of 64×64 pixels.

[0062] The transformation unit 120 transforms the original block of the input prediction unit (PU) and the residual block of the residual signal between the prediction block generated by the intra-frame prediction unit 150 or the inter-frame prediction unit 160, and the transformation can be performed with the transformation unit (TU) as the basic unit.

[0063] During the transformation process, different transformation matrices can be determined according to the prediction mode (intra or inter). The residual signal of the intra-frame prediction has directionality according to the intra-frame prediction mode. Therefore, the transformation matrix can be adaptively determined according to the intra-frame prediction mode.

[0064] The transformation unit can be transformed by two (horizontal and vertical) one-dimensional transformation matrices. For example, in the case of inter-frame prediction, a predetermined transformation matrix can be determined.

[0065] On the one hand, in the case of intra-frame prediction, when the intra-frame prediction mode is horizontal, the probability of the residual block having vertical directionality increases. Therefore, an integer matrix based on DCT is suitable for the vertical direction, while an integer matrix based on DST or KLT is suitable for the horizontal direction. When the intra-frame prediction mode is vertical, an integer matrix based on DST or KLT is suitable for the vertical direction, while an integer matrix based on DCT is suitable for the horizontal direction.

[0066] Furthermore, in DC mode, integer matrices based on DCT can be applied in both directions.

[0067] Moreover, in the case of intra-frame prediction, the transformation matrix can be adaptively determined based on the size of the transform unit (TU).

[0068] The quantization unit 130 determines the quantization step size for quantizing the coefficients of the residual block transformed by the transformation matrix, and the quantization step size can be determined according to different quantization units of a preset size or larger.

[0069] The size of the quantization unit can be 8×8 or 16×16. The quantization unit 130 quantizes the coefficients of multiple transform blocks using a quantization matrix determined according to the quantization step size and prediction mode.

[0070] Furthermore, the quantization unit 130, as a predictor of the quantization step size of the current quantization unit, can utilize the quantization step size of the quantization unit adjacent to the current quantization unit.

[0071] The quantization unit 130 searches in the order of the left quantization unit, the top quantization unit, and the top left quantization unit of the current quantization unit, and can generate a quantization step size predictor for the current quantization unit using one or two valid quantization step sizes.

[0072] For example, the quantization unit 130 may determine the first valid quantization step size obtained from the sequential search as the quantization step size predictor, or determine the average of the two valid quantization steps obtained from the sequential search as the quantization step size predictor, or determine the quantization step size predictor when only one quantization step size is valid.

[0073] If the quantization step size predictor is determined, the quantization unit 130 transmits the difference between the quantization step size of the current quantization unit and the quantization step size predictor to the entropy coding unit 140.

[0074] On the one hand, the left-side coding unit, the top-side coding unit, and the top-left-side coding unit of the current coding unit may all be absent, or there may be previously existing coding units in the coding order within the largest coding unit.

[0075] Therefore, according to the encoding order, the quantization step size of the quantization unit adjacent to the current encoding unit and the quantization unit immediately preceding the largest encoding unit becomes a candidate.

[0076] At this point, the priority order can be set as follows: 1) the left quantization unit of the current coding unit, 2) the top quantization unit of the current coding unit, 3) the top-left quantization unit of the current coding unit, and 4) the quantization unit immediately preceding the current coding unit. This order can be changed, and the top-left quantization unit can be omitted.

[0077] On the one hand, the quantized transformation block described above is transmitted to the inverse quantization unit 135 and the scanning unit 131.

[0078] The scanning unit 131 scans the coefficients of the quantized transform block and transforms them into one-dimensional quantized coefficients. Since the coefficient distribution of the quantized transform block depends on the intra-frame prediction mode, the scanning method can be determined according to the intra-frame prediction mode.

[0079] Furthermore, the coefficient scanning method can be determined according to the size of the transformation unit, and the scanning method can vary according to the directional intra-frame prediction mode. In this case, the scanning order of the quantization coefficients can be reversed.

[0080] When the quantized coefficients are divided into multiple subsets, the same scanning method is applied to the quantized coefficients within each subset. The scanning method between subsets can be a zigzag scan or a diagonal scan.

[0081] On the one hand, preferably, the scanning method scans from the principal subset including DC to the remaining subset in the forward direction; however, a reverse scan is also possible.

[0082] In addition, the scanning method between subsets can be set in the same way as the scanning method of the coefficients quantized in the subset, and the scanning method between subsets can be determined according to the intra-frame prediction mode.

[0083] On the other hand, the encoding device 10 enables information indicating the position of the last non-zero quantization coefficient in the transform unit (PU) and the position of the last non-zero quantization coefficient in each subset to be included in the bit stream and transmitted to the decoding device 20.

[0084] The inverse quantization unit 135 performs inverse quantization on the quantization coefficients quantized as described above, and the inverse transformation unit 125 performs inverse transformation with a transformation unit (TU), which can reconstruct the inverse quantized transformation coefficients into residual blocks of the spatial region.

[0085] The adder 195 adds the residual block reconstructed by the inverse transform 125 and the prediction block received from the intra-frame prediction 150 or the inter-frame prediction 160 to generate a reconstructed block.

[0086] Furthermore, the post-processing unit 170 can perform a deblocking filtering process to eliminate the block artifacts generated in the reconstructed image; a sample adaptive offset (SAO) application process to compensate for the difference between the original image and the image at the pixel level; and adaptive loop filtering (ALF) to compensate for the difference between the original image and the image at the coding unit level.

[0087] The deblocking filtering process can be applied to the boundaries of prediction units (PUs) or transformation units (TUs) of a predetermined size or larger.

[0088] For example, the deblocking filtering process may include: determining the bounary to be filtered; determining the bounary filtering strength applicable to the bounary; determining whether a deblocking filter is applicable; and, if a deblocking filter is applicable, selecting a filter applicable to the bounary.

[0089] On the other hand, whether the deblocking filter is applicable may depend on i) whether the boundary filtering intensity is greater than 0; and ii) whether the pixel values ​​of the boundary portions of the two blocks (P block, Q block) adjacent to the boundary to be filtered are less than a first reference value determined by a quantization parameter representing the degree of change.

[0090] Preferably, there are at least two filters. If the absolute value of the difference between two pixels located at the block boundary is greater than or equal to the second reference value, then a filter that performs relatively weak filtering is selected.

[0091] The second reference value is determined by the quantization parameter and the boundary filter strength.

[0092] Furthermore, the Sample Adaptive Shift (SAO) application process is used to reduce the distortion between pixels in the image to which deblocking filtering is applied and the original pixels. It is possible to determine whether to apply Sample Adaptive Shift (SAO) on an image or slice unit.

[0093] An image or slice can be divided into multiple offset regions, and an offset type can be determined for each offset region. The offset types may include a predetermined number (e.g., 4) of edge offset types and 2 band offset types.

[0094] For example, when the offset type is an edge offset type, the edge type of each pixel is determined to apply the corresponding offset. The edge type can be determined based on the distribution of the values ​​of the two pixels adjacent to the current pixel.

[0095] The Adaptive Loop Filtering (ALF) process can filter based on comparing the values ​​of the reconstructed image and the original image after the deblocking filtering process or the adaptive offset application process.

[0096] The image storage unit 180 receives post-processed image data from the post-processing unit 170 and reconstructs the image in image units for storage. The image can be an image in frame units or an image in field units.

[0097] The inter-frame prediction unit 160 can perform motion estimation using at least one reference image stored in the image storage unit 180, and can determine the reference image index and motion vector representing the reference image.

[0098] At this time, based on the determined reference image index and motion vector, the prediction block corresponding to the prediction unit to be encoded can be extracted from the reference image used for motion estimation among the multiple reference images stored in the image storage unit 180.

[0099] The intra-prediction unit 150 can perform intra-prediction coding using reconstructed pixel values ​​from the image including the current prediction unit.

[0100] The intra-prediction unit 150 receives the current prediction unit to be predicted and selects one of a predetermined number of intra-prediction modes to perform intra-prediction based on the size of the current block.

[0101] The intra-prediction unit 150 can adaptively filter reference pixels to generate intra-prediction blocks, and when reference pixels cannot be used, it can use available reference pixels to generate reference pixels.

[0102] The entropy coding unit 140 can entropy code the quantization coefficients quantized by the quantization unit 130, the intra-prediction information received from the intra-prediction unit 150, and the motion information received from the inter-prediction unit 160.

[0103] Figure 6This is a block diagram illustrating an embodiment of the structure in which inter-frame prediction is performed in the encoding apparatus 10. The illustrated inter-frame prediction encoder may include a motion information determination unit 161, a motion information coding mode determination unit 162, a motion information coding unit 163, a prediction block generation unit 164, a residual block generation unit 165, a residual block coding unit 166, and a multiplexer 167.

[0104] Reference Figure 6 The motion information determination unit 161 determines the motion information of the current block. The motion information includes a reference image index and a motion vector. The reference image index can represent one of the encoded and reconstructed images.

[0105] It may include a reference image index representing a reference image belonging to list 0 (L0) when performing one-way inter-frame predictive coding on the current block, and a reference image index representing a reference image belonging to list 0 (L0) and a reference image index representing a reference image belonging to list 1 (L1) when performing two-way predictive coding on the current block.

[0106] Furthermore, it may also include the index of one or two reference images representing the composite list (L / C) generated by combining list 0 and list 1 when performing bidirectional predictive coding on the current block.

[0107] The motion vector represents the position of the predicted block in the image indicated by each reference image index, and the motion vector can be in pixel units (integer units) or subpixel units.

[0108] For example, the motion vector may have a resolution of 1 / 2, 1 / 4, 1 / 8, or 1 / 16 pixels, and when the motion vector is not an integer unit, the prediction block may be generated from an integer number of pixels.

[0109] The motion information encoding mode determination unit 162 can determine the encoding mode of the motion information of the current block by one of the skip mode, merge mode and AMVP mode.

[0110] The skip mode is applicable when there is a skip candidate with the same motion information as the current block, and when the residual signal is 0. The skip mode can be applied when the size of the prediction unit (PU), i.e., the current block, is the same as that of the coding unit (CU).

[0111] The merging mode is applicable when there is a merging candidate with the same motion information as the current block, and when there is a residual signal when the size of the current block is different from or the same as the coding unit (CU). On one hand, the merging candidate can be the same as the skipping candidate.

[0112] The AMVP mode is applicable when the skip mode and merge mode are not used, and the AMVP candidate with the motion vector that is most similar to the motion vector of the current block can be selected as the AMVP predictor.

[0113] The motion information encoding unit 163 can encode motion information according to the method determined by the motion information encoding mode determination unit 162.

[0114] For example, the motion information encoding unit 163 performs a merged motion vector encoding process when the motion information encoding mode is skip mode or merge mode, and performs an AMVP encoding process when the AMVP mode is used.

[0115] The prediction block generation unit 164 generates a prediction block using the motion information of the current block. When the motion vector is an integer unit, it copies the block corresponding to the position represented by the motion vector in the image indicated by the reference image index and generates the prediction block of the current block.

[0116] On the one hand, when the motion vector is not an integer unit, the prediction block generation unit 164 can generate pixels for the prediction block from integer unit pixels in the image indicated by the reference image index.

[0117] At this point, an 8-tap interpolation filter can be used to generate predicted pixels for luminance pixels, and a 4-tap interpolation filter can be used to generate predicted pixels for chrominance pixels.

[0118] The residual block generation unit 165 generates a residual block using the current block and the predicted block of the current block. When the size of the current block is 2N×2N, the residual block can be generated using the current block and the predicted block of the current block with a size of 2N×2N.

[0119] On the one hand, when the size of the current block used for prediction is 2N×N or N×2N, after calculating the prediction block for each of the two 2N×N blocks that are constructed, the two 2N×N prediction blocks can be used to generate the final prediction block of size 2N×2N.

[0120] Furthermore, a residual block of size 2N×2N can be generated using a prediction block of size 2N×2N. To address the discontinuity at the boundary of the two prediction blocks of size 2N×N, overlapping smoothing can be applied to the pixels at the boundary.

[0121] The residual block coding unit 166 divides the residual block into one or more transform units (TUs) and can perform transform coding, quantization and entropy coding on each transform unit (TU).

[0122] The residual block coding unit 166 can use integer-based transform moments to transform the residual blocks generated by the inter-frame prediction method, and the transform moments can be integer-based DCT matrices.

[0123] On the one hand, the residual block encoding unit 166 uses a quantization matrix to quantize the coefficients of the residual block transformed by the transformation matrix, and the quantization matrix can be determined by quantization parameters.

[0124] The quantization parameter can be determined according to the number of coding units (CUs) of a predetermined size or larger. When the current coding unit (CU) is smaller than the predetermined size, the quantization parameter of the first coding unit (CU) is encoded in the coding order within the predetermined size, while the quantization parameter of the remaining coding units (CUs) is the same as the parameter, so no encoding is required.

[0125] Alternatively, the coefficients of the transform block can be quantized using a quantization matrix determined based on the quantization parameters and the prediction mode.

[0126] The quantization parameters of the coding unit (CU) adjacent to the current coding unit (CU) can be used to predictively encode the quantization parameters determined according to the coding unit (CU) of the predetermined size or larger.

[0127] The search is performed in the order of the left CU and the top CU of the current coding unit (CU) to generate the quantization parameter predictor of the current coding unit (CU) using one or two valid quantization parameters.

[0128] For example, the first valid quantization parameter searched in the aforementioned order can be identified as the quantization parameter predictor, and the search is performed in the order of the left coding unit (CU) and the coding unit (CU) immediately preceding the coding unit in the coding order to identify the first valid quantization parameter as the quantization parameter predictor.

[0129] The coefficients of the quantized transform block are scanned and transformed into one-dimensional quantized coefficients. Furthermore, the scanning method can be set according to different entropy coding modes.

[0130] For example, when encoding with CABAC, the quantization coefficients of inter-frame predictive coding can be scanned in a predetermined manner (zigzag or diagonal raster scanning). When encoding with CAVLC, the scanning can be performed in a different manner.

[0131] For example, zigzag scanning is used during inter-frame scanning, and the scanning method can be determined according to the intra-frame prediction mode during intra-frame scanning. Furthermore, the coefficient scanning method can be determined according to the size of the transform unit.

[0132] On the one hand, the scanning method can vary depending on the directional intra-frame prediction mode, and the scanning order of the quantization coefficients can be reversed.

[0133] The multiplexer 167 performs multiplexing of the motion information encoded by the motion information encoding unit 163 and the residual signal encoded by the residual block encoding unit 166.

[0134] The motion information may vary depending on the encoding mode. For example, in skip mode or merge mode, the motion information only includes an index indicating the predictor, while in AMVP mode, the motion information may include the reference image index of the current block, the differential motion vector, and the AMVP index.

[0135] The following will be explained in detail. Figure 1 An embodiment of the operation of the intra-frame prediction unit 150 shown.

[0136] First, the intra-prediction unit 150 receives prediction mode information and the size of the prediction unit (PU) from the image segmentation unit 110, and reads reference pixels from the image storage unit 180 to determine the intra-prediction mode of the prediction unit (PU).

[0137] The intra-prediction unit 150 determines whether to generate a reference pixel by checking whether there is an unusable reference pixel, and the reference pixel can be used to determine the intra-prediction mode of the current block.

[0138] When the current block is located at the upper boundary of the current image, the pixels adjacent to the upper side of the current block are not defined. When the current block is located at the left boundary of the current image, the pixels adjacent to the left side of the current block are not defined. It can be determined that the pixels are not available pixels.

[0139] Furthermore, if the current block is located at the slice boundary and the pixels adjacent to the top or left side of the slice are not pixels that have been reconstructed from previous encoding, it can also be determined that the pixel is not usable.

[0140] As mentioned above, when there are no pixels adjacent to the left or top of the current block, or when there are no pre-encoded and reconstructed pixels, the intra-prediction mode of the current block can be determined using only the available pixels.

[0141] On the one hand, the available reference pixels of the current block can be used to generate reference pixels for unavailable locations. For example, when the pixels in the upper block are unavailable, the upper pixels can be generated by using some or all of the pixels on the left, and vice versa.

[0142] That is, a reference pixel can be generated by copying the nearest available reference pixel in a predetermined direction from a reference pixel at an unavailable position, or by copying the nearest available reference pixel in the opposite direction when there is no available reference pixel in the predetermined direction.

[0143] On the one hand, if there are pixels above or to the left of the current block, they can also be determined as unusable pixels based on the encoding mode of the block to which the pixel belongs.

[0144] For example, if the reference pixel adjacent to the upper side of the current block belongs to a block that has been reconstructed by inter-frame coding, the pixel can be determined as an unusable pixel.

[0145] At this time, usable reference pixels can be generated by using the pixels of the block that belongs to the block that is reconstructed by intra-frame encoding adjacent to the current block. The encoding device 10 transmits the information of the usable reference pixels to the decoding device 20 according to the encoding mode.

[0146] The intra-prediction unit 150 uses the reference pixels to determine the intra-prediction mode of the current block. The number of intra-prediction modes that can be allowed in the current block can vary depending on the size of the block.

[0147] For example, when the current block size is 8×8, 16×16, or 32×32, there can be 34 intra-frame prediction modes; when the current block size is 4×4, there can be 17 intra-frame prediction modes.

[0148] The 34 or 17 intra-frame prediction modes may consist of at least one non-directional mode and multiple directional modes.

[0149] At least one non-directional mode can be a DC mode and / or a planar mode. When the DC mode and the planar mode are non-directional modes, there may be 35 intra-frame prediction modes regardless of the size of the current block.

[0150] In this case, it can include 2 non-directional modes (DC mode and planar mode) and 33 directional modes.

[0151] In planar mode, a predicted block for the current block is generated using at least one pixel value (or a predicted value of the pixel value, hereinafter referred to as the first reference value) located on the lower right side of the current block and a reference pixel.

[0152] The composition of an image decoding apparatus according to an embodiment of the present invention can be seen from reference to Figures 1 to 6 The composition of the image encoding device 10 described herein is derived, for example, by performing a reference in reverse. Figures 1 to 6 The process of the image encoding method described can decode the image.

[0153] Figure 7 This is a block diagram illustrating the structure of a video decoding apparatus according to an embodiment of the present invention. The decoding apparatus 20 includes an entropy decoding unit 210, an inverse quantization / inverse transform unit 220, an adder 270, a post-processing unit 250, an image storage unit 260, an intra-frame prediction unit 230, a motion compensation prediction unit 240, and an intra-frame / inter-frame switching switch 280.

[0154] The entropy decoding unit 210 receives the bit stream encoded on the image encoding device 10, decodes it, divides it into intra-frame prediction mode index, motion information, quantization coefficient sequence, etc., and transmits the decoded motion information to the motion compensation prediction unit 240.

[0155] The entropy decoding unit 210 transmits the intra-prediction mode index to the intra-prediction unit 230 and the inverse quantization / inverse transform unit 220, and transmits the inverse quantization coefficient sequence to the inverse quantization / inverse transform unit 220.

[0156] The inverse quantization / inverse transform unit 220 transforms the quantization coefficient sequence into a two-dimensional arrangement of inverse quantization coefficients. To perform the transformation, one of multiple scanning modes can be selected. For example, the scanning mode can be selected based on the prediction mode of the current block (i.e., intra-frame prediction or inter-frame prediction) and the intra-frame prediction mode.

[0157] The inverse quantization / inverse transform unit 220 applies a quantization matrix selected from multiple quantization matrices to reconstruct the quantization coefficients of the two-dimensional arrangement of inverse quantization coefficients.

[0158] On the one hand, different quantization matrices can be applied depending on the size of the current block to be reconstructed. On the other hand, for blocks of the same size, the quantization matrix can be selected based on at least one of the prediction mode and the intra-frame prediction mode of the current block.

[0159] The inverse quantization / inverse transform unit 220 performs an inverse transform on the reconstructed quantization coefficients to reconstruct the residual block. The inverse transform process can be performed using a transform unit (TU) as the basic unit.

[0160] Adder 270 adds the residual block reconstructed by inverse quantization / inverse transform unit 220 and the prediction block generated by intra-frame prediction unit 230 or motion compensation prediction unit 40 to reconstruct the image block.

[0161] The post-processing unit 250 performs deblocking filtering on the reconstructed image generated by the adder 270, which can reduce the cropping artifacts caused by image loss during quantization.

[0162] The image storage unit 260 is a frame memory used to store decoded images that have undergone truncated block filtering processing by the post-processing unit 250.

[0163] The intra-prediction unit 230 reconstructs the intra-prediction mode of the current block based on the intra-prediction mode index received from the entropy decoding unit 210, and generates a prediction block based on the reconstructed intra-prediction mode.

[0164] The motion compensation prediction unit 240 generates a prediction block for the current block from the image stored in the image storage unit 260 based on motion vector information. When applying fractional precision motion compensation, the selected interpolation filter is used to generate the prediction block.

[0165] The intra / inter-frame switching switch 280 can provide the adder 270 with a prediction block generated in either the intra-frame prediction unit 230 or the motion compensation prediction unit 240, based on the coding mode.

[0166] Figure 8 This is a block diagram illustrating an embodiment of the components that perform inter-frame prediction in the image decoding apparatus 20. The inter-frame prediction decoder includes: a multiplexer 241, a motion information coding mode determination unit 242, a merged mode motion information decoding unit 243, an AMVP mode motion information decoding unit 244, a selected mode motion information decoding unit 248, a prediction block generation unit 245, a residual block decoding unit 246, and a reconstruction block generation unit 247.

[0167] Reference Figure 8 The multiplexer 241 performs multiplexing from the received bit stream to the currently encoded motion information and the encoded residual signal, transmits the multiplexed motion information to the motion information encoding mode determination unit 242, and transmits the multiplexed residual signal to the residual block decoding unit 246.

[0168] The motion information encoding mode determination unit 242 determines the motion information encoding mode of the current block. When the skip_flag of the received bit stream is 1, it can be determined that the motion information encoding mode of the current block is encoded in the skip encoding mode.

[0169] The motion information encoding mode determination unit 242 can determine that the motion information encoding mode of the current block is encoded in the merge mode when the skip_flag of the received bit stream is 0 and the motion information received by the multiplexer 241 only has a merge index.

[0170] The motion information encoding mode determination unit 242 can determine that the motion information encoding mode of the current block is encoded in AMVP mode when the skip_flag of the received bit stream is 0 and the motion information received by the multiplexer 241 has a reference image index, a differential motion vector, and an AMVP index.

[0171] The merge mode motion information decoding unit 243 is activated when the motion information encoding mode determination unit 242 determines that the motion information encoding mode of the current block is either skip mode or merge mode. The AMVP mode motion information decoding unit 244 is activated when the motion information encoding mode determination unit 242 determines that the motion information encoding mode of the current block is AMVP mode.

[0172] The prediction block generation unit 245 generates a prediction block for the current block using the motion information reconstructed by the merged mode motion information decoding unit 243 or the AMVP mode motion information decoding unit 244.

[0173] When the motion vector is in integer units, the block corresponding to the position represented by the motion vector in the image indicated by the reference image index can be copied to generate the prediction block of the current block.

[0174] On the one hand, when the motion vector is not an integer unit, the pixels of the prediction block are generated from the integer unit pixels in the image indicated by the reference image index. When it is a luminance pixel, an 8-pole interpolation filter can be used to generate the prediction pixel. When it is a chrominance pixel, a 4-tap interpolation filter can be used to generate the prediction pixel.

[0175] The residual block decoding unit 246 performs entropy decoding on the residual signal and performs inverse scanning on the coefficients after entropy decoding to generate a two-dimensional quantization coefficient block. The inverse scanning method may vary depending on the entropy decoding method.

[0176] For example, the diagonal raster inverse scanning method is used when decoding based on CABAC, and the zigzag inverse scanning method is used when decoding based on CAVLC. Furthermore, the inverse scanning method can be determined differently depending on the size of the prediction block.

[0177] The residual block decoding unit 246 performs inverse quantization on the coefficient blocks generated as described above using an inverse quantization matrix. To derive the quantization matrix, the quantization parameters can be reconstructed. Here, the quantization step size can be reconstructed using coding units of a predetermined size or larger.

[0178] The residual block decoding unit 246 performs inverse transformation on the inverse quantization coefficient block to reconstruct the residual block.

[0179] The reconstruction block generation unit 247 adds the prediction block generated by the prediction block generation unit 245 and the residual block generated by the residual block decoding unit 246 to generate a reconstruction block.

[0180] Next, refer to Figure 7 This describes an embodiment of the process of reconstructing the current block through intra-frame prediction.

[0181] First, the intra-prediction mode of the current block is decoded from the received bit stream. To do this, the entropy decoding unit 210 reconstructs the first intra-prediction mode index of the current block by referring to one of a plurality of intra-prediction mode tables.

[0182] The multiple intra-prediction mode tables are shared by the encoding device 10 and the decoding device 20, and can be used to select any table for multiple blocks adjacent to the current block according to the distribution of intra-prediction modes.

[0183] For example, if the intra-prediction mode of the block to the left of the current block is the same as the intra-prediction mode of the block above the current block, the first intra-prediction mode index of the current block can be reconstructed using the first intra-prediction mode table. If they are different, the second intra-prediction mode table can be used to reconstruct the first intra-prediction mode index of the current block.

[0184] As another example, if the intra-prediction modes of the upper block and the left block of the current block are both directional intra-prediction modes, and the direction of the intra-prediction mode of the upper block is within a predetermined angle of the direction of the intra-prediction mode of the left block, the first intra-prediction mode index of the current block can be reconstructed using the first intra-prediction mode table. If the direction exceeds the predetermined angle, the first intra-prediction mode index of the current block can be reconstructed using the second intra-prediction mode table.

[0185] The entropy decoding unit 210 transmits the first intra-prediction mode index of the reconstructed current block to the intra-prediction unit 230.

[0186] The intra-prediction unit 230, which receives the first intra-prediction mode index, can determine the most likely mode of the current block as the intra-prediction mode of the current block when the index has a minimum value (i.e., 0).

[0187] On one hand, the intra-prediction unit 230 compares the index represented by the maximum possible mode of the current block with the first intra-prediction mode index when the index has a value other than 0. If the comparison result shows that the first intra-prediction mode index is greater than or equal to the index represented by the maximum possible mode of the current block, the intra-prediction mode corresponding to the second intra-prediction mode index which is the first intra-prediction mode index plus 1 is determined as the intra-prediction mode of the current block. If not, the intra-prediction mode corresponding to the first intra-prediction mode index can be determined as the intra-prediction mode of the current block.

[0188] The intra-prediction modes allowed for the current block can consist of at least one non-directional mode and multiple directional modes.

[0189] At least one non-directional mode may be a DC mode and / or a planar mode. Furthermore, one of the DC mode and the planar mode may be adaptively included in the set of permissible intra-prediction modes.

[0190] Therefore, the image header or slice header may include information about non-directional modes specifically included in the set of allowed intra-frame prediction modes.

[0191] Next, the intra-prediction unit 230 reads reference pixels from the image storage unit 260 in order to generate intra-prediction blocks and determines whether there are unusable reference pixels.

[0192] The determination can be performed based on the presence or absence of reference pixels used when generating intra-prediction blocks using the decoded intra-prediction mode applicable to the current block.

[0193] Next, when it is necessary to generate reference pixels, the intra-frame prediction unit 230 can generate reference pixels for unavailable locations using the pre-reconstructed available reference pixels.

[0194] The definition of unavailable reference pixels and the method for generating reference pixels can be compared with... Figure 1 The operation is the same as that of the intra-prediction unit 150, but the reference pixels used when generating the intra-prediction block can be selectively reconstructed according to the decoded intra-prediction mode of the current block.

[0195] Furthermore, the intra-prediction unit 230 determines whether a filter is applicable to the reference pixel in order to generate a prediction block, that is, based on the decoded intra-prediction mode and the size of the current prediction block, it determines whether a filter is applicable to the reference pixel for generating the intra-prediction block of the current block.

[0196] Furthermore, the larger the block size, the greater the problem of block artifacts. Therefore, a larger block size can increase the number of prediction patterns that filter the reference pixel. However, when the block size is larger than a predetermined size, it will be regarded as a flat region. Therefore, in order to reduce complexity, the reference pixel may not be filtered.

[0197] If it is determined that filtering of the reference pixel is necessary, the intra-frame prediction unit 230 uses a filter to filter the reference pixel.

[0198] Depending on the degree of difference between the reference pixels, at least two filters can be adaptively applied. The filtering coefficients of the filters are relatively optimal.

[0199] In addition, at least two filters can be applied adaptively according to the size of the current block, and when applying filters, narrowband filters are applied to blocks with small sizes, and wideband filters are applied to blocks with large sizes.

[0200] In DC mode, since the prediction block is generated from the average value of the reference pixel, no filter is required. In vertical modes where the image is correlated in different vertical directions, no filter is required for the reference pixel. Similarly, in horizontal modes where the image is correlated in the horizontal direction, no filter is required for the reference pixel.

[0201] Thus, whether filtering is applicable is also related to the intra-prediction mode of the current block. Therefore, reference pixels can be filtered adaptively based on the intra-prediction mode of the current block and the size of the prediction block.

[0202] Next, the intra-prediction unit 230 generates prediction blocks using reference pixels or filtered reference pixels according to the reconstructed intra-prediction mode. The generation of the prediction blocks can be the same as that in the coding device 10, so a detailed description of it will be omitted.

[0203] The intra-prediction unit 230 determines whether to filter the generated prediction block, and can determine whether to filter based on the information contained in the slice header or coding unit header or the intra-prediction mode of the current block.

[0204] If it is determined that the generated prediction block needs to be filtered, the intra-prediction unit 230 can generate new pixels by filtering the pixels at a specific position of the prediction block generated using available reference pixels adjacent to the current block.

[0205] For example, in DC mode, reference pixels that are in contact with the predicted pixels can be used to filter the predicted pixels that are in contact with the reference pixels.

[0206] Therefore, the predicted pixel can be filtered using one or two reference pixels based on its position, and the filtering of the predicted pixel in DC mode can be applied to prediction blocks of all sizes.

[0207] On the one hand, in vertical mode, the prediction pixels in the prediction block that are in contact with the left reference pixels can be changed by using reference pixels other than the top pixel used when generating the prediction block.

[0208] Similarly, in horizontal mode, the prediction pixels in the generated prediction block that are in contact with the upper reference pixels can be changed using reference pixels other than the left-side pixels used when generating the prediction block.

[0209] The current block can be reconstructed by using the predicted block of the current block reconstructed in this way and the residual block of the decoded current block.

[0210] Figure 9 This is a diagram illustrating a second embodiment of a method for processing images by dividing them into block units.

[0211] Reference Figure 9 The coding tree unit (CTU) with a maximum size of 256×256 pixels is first divided into a quadtree structure, which can then be divided into 4 coding units (CUs) with a square shape.

[0212] Here, at least one of the coding units that is divided into the quadtree structure is divided into a binary tree structure, and then can be further divided into two coding units (CUs) with a rectangular shape.

[0213] On the one hand, at least one of the coding units that is divided into the quadtree structure is divided into a quadtree structure, and then it can be further divided into 4 coding units (CUs) with a square shape.

[0214] On the one hand, at least one of the coding units that is further divided into the binary tree structure is further divided into a binary tree structure, and then it can be divided into two coding units (CUs) with a square or rectangular shape.

[0215] On the one hand, one of the coding units that is further divided into the quadtree structure is further divided into a quadtree structure or a binary tree structure, and then it can be divided into coding units (CUs) with square or rectangular shapes.

[0216] As mentioned above, the coded blocks (CBs) constructed by segmenting into a binary tree structure can be used for prediction and transformation without further segmentation. That is, belonging to... Figure 9 The size of the prediction unit (PU) and transform unit (TU) of the coded block (CB) shown can be the same as the size of the corresponding coded block (CB).

[0217] As mentioned above, references can be used Figure 3 and Figure 4 The method described divides the coding unit, which is divided into a quadtree structure, into more than one prediction unit (PU).

[0218] Furthermore, the coding units segmented into quadtree structures as described above can utilize references Figure 5 The method described is to divide the data into more than one transformation unit (TU), and the divided transformation unit (TU) can have a maximum pixel size of 64×64.

[0219] Figure 10 An example of a syntax structure used when processing images in block units is shown.

[0220] Reference Figure 10 The `split_cu_flag` flag is used to indicate whether to split the reference. Figure 9The coding unit (CU) is described, and binary_depth is used to represent the depth of the coding unit (CU) using binary tree partitioning.

[0221] Furthermore, the binary_split_flag can be used to indicate whether the coding unit (CU) is split into a binary tree structure.

[0222] For reference Figure 9 and Figure 10 The method described applies to the segmentation of blocks (e.g., coding units (CU), prediction units (PU), and transform units (TU)) as described above. Figures 1 to 8 The method described is used to encode and decode images.

[0223] Below, refer to Figures 11 to 16 Other embodiments of a method for dividing a coding unit (CU) into one or more transform units (TU) are described.

[0224] According to an embodiment of the present invention, the coding unit (CU) is divided into a binary tree structure and can be further divided into transformation units (TU), which are the basic units that transform the residual blocks.

[0225] Reference Figure 11 The structure is divided into a binary tree structure, and at least one of the rectangular coding blocks (CB0, CB1) of size N×2N or 2N×N is further divided into a binary tree structure, thereby dividing it into square transformation units (TU0, TU1) of size N×N.

[0226] As mentioned above, the block-based image coding method can perform prediction, transformation, quantization, and entropy coding steps.

[0227] In the prediction step, a prediction signal is generated by referring to the block currently being encoded and existing encoded images or surrounding images. This prediction signal can be used to calculate the difference signal with the current block.

[0228] Furthermore, in the transformation step, the differential signal is input and various transformation functions are used to perform the transformation. The transformed signal is divided into DC coefficients and AC coefficients, and energy compression is performed, which can improve coding efficiency.

[0229] Furthermore, in the quantization step, quantization is performed by inputting transform coefficients, and then entropy encoding is performed on the quantized signal, thereby enabling the encoding of the image.

[0230] On the one hand, the image decoding method is executed in the reverse order of the encoding process, and on the other hand, image quality distortion occurs during the quantization step.

[0231] To improve coding efficiency while reducing image quality distortion, the size or shape of the transform unit (TU) and the type of transform function can be set in various ways, depending on the distribution of the differential signal input in the transform step and the characteristics of the image.

[0232] For example, in the prediction step, when searching for blocks similar to the current block through a block-based motion estimation process, the distribution of the differential signal can have diverse forms depending on the characteristics of the image, using cost determination methods such as SAD (sum of absolute differences) or MSE (mean squared error).

[0233] Therefore, by selectively determining the size or shape of the transform unit (CU) based on the distribution of various differential signals, encoding can be performed efficiently.

[0234] Reference Figure 12 When a differential signal occurs in a certain coded block CBx as shown in 12(a), as Figure 12 As shown in (b), the coded block CBx is divided into a binary tree structure and then into two transformation units (TUs), thus enabling efficient transformation.

[0235] For example, we can say that the DC value usually represents the average value of the input signal. Therefore, when receiving an input signal during the transformation process, such as... Figure 12 When the difference signal is shown in (a), the coded block CBx is divided into two transformation units (TU), so that the DC value can be effectively represented.

[0236] Reference Figure 13 The square coding unit (CU0) of size 2N×2N is divided into a binary tree structure, which can be further divided into rectangular transformation units (TU0, TU1) of size N×2N or 2N×N.

[0237] According to another embodiment of the present invention, as described above, the step of dividing the coding unit (CU) into a binary tree structure can be repeated more than twice, thereby dividing it into multiple transformation units (TU).

[0238] Reference Figure 14 The rectangular coding block (CB1) of size N×2N is divided into a binary tree structure, and the divided N×N block is further divided into a binary tree structure to construct a rectangular block of size N / 2×N or N×N / 2. Then, the N / 2×N or N×N / 2 block is further divided into a binary tree structure, thereby dividing into square transformation units (TU1, TU2, TU4, TU5) of size N / 2×N / 2.

[0239] Reference Figure 15The square coding block (CB0) of size 2N×2N is divided into a binary tree structure, and the divided block of size N×2N is further divided into a binary tree structure to construct a square block of size N×N. Then, the block of size N×N is further divided into a binary tree structure, thereby dividing it into rectangular transformation units (TU1, TU2) of size N / 2×N.

[0240] Reference Figure 16 The rectangular coding block (CB0) of size 2N×N is divided into a binary tree structure, and the divided block of size N×N is further divided into a quadtree structure. Thus, the block of size N / 2×N / 2 can be divided into square transformation units (TU1, TU2, TU3, TU4).

[0241] By referring to Figures 11 to 16 The method described applies to the segmentation of blocks (e.g., coding units (CU), prediction units (PU), and transform units (TU)) and is applicable to reference. Figures 1 to 8 The same method applies to non-zero values, thus enabling the encoding and decoding of images.

[0242] The following describes an embodiment of the method for determining the block segmentation structure according to the encoding device 10 of the present invention.

[0243] The image segmentation unit 110 provided in the image coding apparatus 10 performs rate distortion optimization (RDO) in a predetermined order, and can determine the segmentation structure of the coding unit (CU), prediction unit (PU) and transform unit (TU) that can be segmented as described above.

[0244] For example, in order to determine the block segmentation structure, the image segmentation unit 110 can determine the optimal block segmentation structure in terms of bitstream and distortion while performing rate distortion optimization (RDO).

[0245] Reference Figure 17 When the coding unit (CU) has a pixel size of 2N×2N, Figure 17 (a) shows a 2N×2N pixel size. Figure 17 (b) shows the N×N pixel size, Figure 17 (c) shows the N×2N pixel size, Figure 17 (d) shows a 2N×N pixel size transform unit (PU) segmentation structure that sequentially performs rate distortion optimization to determine the optimal segmentation structure of the transform unit (PU).

[0246] Reference Figure 18When the coding unit (CU) has a shape with an N×2N or 2N×N pixel size, it is... Figure 18 (a) shows the pixel size of N×2N (or 2N×N). Figure 18 (b) shows the N×N pixel size, Figure 18 (c) shows the pixel dimensions of N / 2×N (or N×N / 2) and N×N. Figure 18 (d) shows the pixel dimensions of N / 2×N / 2, N / 2×N, and N×N. Figure 18 (e) shows the N / 2×N pixel-sized transform unit (PU) segmentation structure, which sequentially performs rate distortion optimization to determine the optimal segmentation structure of the transform unit (PU).

[0247] Although the block segmentation method of the present invention has been illustrated above by taking the case of determining the block segmentation structure by performing rate distortion optimization (RDO), the image segmentation unit 110 determines the block segmentation structure by using the sum of absolute differences (SAD) and the mean square error (MSE), thereby reducing complexity and maintaining appropriate efficiency.

[0248] According to one embodiment of the present invention, the applicability of adaptive loop filtering (ALF) can be determined based on the coding unit (CU), prediction unit (PU), or transform unit (TU) segmented as described above.

[0249] For example, it is possible to determine whether an adaptive loop filter (ALF) is applicable on a coding unit (CU) basis, and the size or coefficients of the applicable loop filter may vary depending on the coding unit (CU).

[0250] At this point, information indicating whether an adaptive loop filter (ALF) is applicable for each coding unit (CU) can be included in the header of each slice.

[0251] In the case of chroma signals, it is possible to determine whether an adaptive loop filter (ALF) is applicable in image units. Unlike luminance, the loop filter can also have a rectangular shape.

[0252] Furthermore, the applicability of the Adaptive Loop Filter (ALF) can be determined on a slice-by-slice basis. Therefore, information indicating whether the ALF is applicable to the current slice can be included in the slice header or the image header.

[0253] If it indicates that adaptive loop filtering has been applied to the current slice, the slice header or image header may additionally include information indicating the horizontal and / or vertical filter lengths of the luminance components used in the adaptive loop filtering process.

[0254] Slice headers or image headers may include information indicating the number of filter banks. When there are two or more filter banks, the filter coefficients can be encoded using prediction methods.

[0255] Therefore, slice headers or image headers can include information indicating whether filter coefficients are encoded using a prediction method, which can include predicted filter coefficients when a prediction method is used.

[0256] On the one hand, in addition to luminance, chrominance components can also be filtered adaptively. In this case, the information indicating whether each chrominance component is filtered can be included in the slice header or image header. In order to reduce the number of bits, it can be jointly encoded together with the information indicating whether Cr and Cb are filtered (i.e., multiple encoding).

[0257] At this point, in the case of chrominance components, in order to reduce complexity, it is frequently possible that neither Cr nor Cb will be filtered. Therefore, when neither Cr nor Cb is filtered, the smallest index can be assigned to perform entropy coding.

[0258] Furthermore, when filtering is applied to both Cr and Cb, the largest index can be allocated to perform entropy coding.

[0259] Figure 19 This is a diagram illustrating a composite segmentation structure according to another embodiment of the present invention.

[0260] Reference Figure 19 The coding unit (CU) is partitioned into a binary tree structure, which can result in partitions such as... Figure 19 (A) shows a rectangle with a lateral length W longer than its longitudinal length H, and... Figure 19 (B) shows the shape of a rectangular coding unit (CU) with a vertical length H longer than its horizontal length W. In this way, for coding units with a longer length in a particular direction, the coding information in the left and right or top and bottom boundary areas of the edges is more likely to be concentrated than in the middle area.

[0261] Therefore, in order to achieve more precise and efficient encoding and decoding, the encoding device 10 of one embodiment of the present invention can divide the encoding unit according to the ternary tree or triple tree structure, which can easily divide the edge region of the encoding unit that is divided in a specific direction with a long length, based on the division of quadtree and binary tree.

[0262] For example, Figure 19(A) When the encoding unit of the segmented object is a horizontally segmented encoding unit, it can be ternarily segmented into the first region with a horizontal length of W / 8 and a vertical length of H / 4, the second region with a horizontal length of W / 8*6 and a vertical length of H / 4 as the middle region, and the third region with a horizontal length of W / 8 and a vertical length of H / 4 as the right edge.

[0263] and, Figure 19 (B) When the encoding unit of the segmented object is a vertically segmented encoding unit, it can be divided into the first region with a horizontal length of W / 4 and a vertical length of H / 8, the second region with a horizontal length of W / 4 and a vertical length of H / 8*6 as the middle region, and the third region with a horizontal length of W / 4 and a vertical length of H / 8.

[0264] Furthermore, the encoding apparatus 10 of the embodiments of the present invention can process the segmentation of the ternary tree structure as described above by the image segmentation unit 110. To this end, the image segmentation unit 110 can not only determine the segmentation to the quadtree and binary tree structures according to the encoding efficiency, but also determine the segmentation method that takes into account the ternary tree structure together for refinement.

[0265] The segmentation of the ternary tree structure is not particularly restricted and can handle all coding units. However, as mentioned earlier, considering encoding and decoding efficiency, it is preferable to allow the ternary tree structure only for coding units under specific conditions.

[0266] Furthermore, the ternary tree structure may require multiple ternary partitioning methods for the coding tree units, but considering the complexity of encoding and decoding as well as signal transmission bandwidth, it is preferable to allow only the optimized and specified form.

[0267] Therefore, when determining the segmentation of the current coding unit, the image segmentation unit 110 can only determine and decide whether to segment it into a specific ternary tree structure if the current coding unit violates a preset condition. Furthermore, based on the allowance of the ternary tree, the segmentation ratio of the binary tree can be expanded and changed to 3:1, 1:3, etc., instead of just 1:1. Therefore, the segmentation structure of the coding unit in embodiments of the present invention can include the ability to be segmented into a quadtree, binary tree, or ternary tree according to a specified ratio.

[0268] For example, the image segmentation unit 110 can determine the composite segmentation structure of the segmentation object coding unit based on the segmentation table.

[0269] According to an embodiment of the present invention, the image segmentation unit 110 processes quadtree segmentation corresponding to the maximum size of the block (e.g., based on pixels 128x128, 256x256, etc.), and can perform composite segmentation processing on at least one of the double tree and triple tree structure segmentation corresponding to the terminal node of the segmented quadtree.

[0270] In particular, the image segmentation unit 110 of the embodiment of the present invention can determine any one of the following segmentation structures corresponding to the characteristics and size of the current block: a first binary segmentation (BINARY 1), a second binary segmentation (BINARY 2), a first ternary segmentation (TRI 1), or a second ternary segmentation (TRI 2) as a binary tree segmentation, based on the segmentation table.

[0271] The first binary segment can correspond to a vertical or horizontal segment with a ratio of N:N, and the second binary segment can correspond to a vertical or horizontal segment with a ratio of 3N:N or N:3N. The root CU of each binary segment can be divided into CU0 and CU1 of each size explicitly shown in the segmentation table.

[0272] On the other hand, the first ternary division can correspond to a vertical or horizontal division with a ratio of N:2N:N, and the second ternary division can correspond to a vertical or horizontal division with a ratio of N:6N:N. The root CU of each ternary division can be divided into CU0, CU1 and CU2 of each size explicitly shown in the division table.

[0273] Therefore, corresponding to the size of the encoding unit of the segmented object, a segmentation table representing the segmentation structure that can be processed and the size of the encoding unit during segmentation can be determined.

[0274] However, the image segmentation unit 110 of the embodiments of the present invention can be used for the maximum and minimum coding unit sizes of the first binary segmentation, the second binary segmentation, the first ternary segmentation, or the second ternary segmentation, respectively.

[0275] This is because performing encoding and decoding processes corresponding to blocks with a minimum size, such as having fewer than 2 horizontal or vertical pixels, may be inefficient in terms of complexity. Therefore, the segmentation table of the embodiments of the present invention can predefine the segmentation structure that allows for different sizes of each encoding unit.

[0276] Therefore, the image segmentation unit 110 can prevent segmentation into cases where the horizontal pixel size is less than 4 or the vertical pixel size is 2. To this end, it determines in advance whether the segmentation of the target block is permissible or not, corresponding to the first binary segmentation, the second binary segmentation, the first ternary segmentation or the second ternary segmentation, and performs RDO performance calculation corresponding to the permissible segmentation structure by comparing the segmentation target block size. The optimal segmentation structure can then be determined.

[0277] For example, when the largest root coding unit CU0 is binary-divided, the binary-divided structure can be divided into CU0 and CU1, which constitute any one of the 1:1, 3:1, or 1:3 vertical divisions. The ternary-divided structure can be divided into CU0, CU1, and CU2, which constitute any one of the 1:2:1 or 1:6:1 vertical divisions.

[0278] In particular, the permissible vertical segmentation structure can be determined restrictively based on the size of the coding unit of the segmented object. For example, the vertical segmentation structures of 64x64 coding units and 32x32 coding units can both allow first binary segmentation, second binary segmentation, first ternary segmentation, and second ternary segmentation, but the second ternary segmentation in the vertical segmentation structure of a 16x16 coding unit can be restricted to being impossible. Furthermore, the vertical segmentation structure of an 8x8 coding unit can be restricted to allowing only the first binary segmentation. This prevents segmentation into sizes smaller than the minimum size that would lead to complexity.

[0279] Similarly, when the largest root coding unit CU0 is binary-divided, the binary-divided structure can be divided into CU0 and CU1, which constitute any one of the horizontal divisions of 1:1, 3:1, or 1:3. The ternary-divided structure can be divided into CU0, CU1, and CU2, which constitute any one of the horizontal divisions of 1:2:1 or 1:6:1.

[0280] Similarly, the permissible horizontal partitioning structure can be determined restrictively based on the size of the coding unit of the partitioned object. For example, the horizontal partitioning structures of 64x64 and 32x32 coding units can both allow first binary partitioning, second binary partitioning, first ternary partitioning, and second ternary partitioning, but the second ternary partitioning in the horizontal partitioning structure of a 16x16 coding unit can be restricted to being impossible. Furthermore, the horizontal partitioning structure of an 8x8 coding unit can be restricted to allowing only first binary partitioning. This prevents partitioning into sizes smaller than the minimum size that would lead to complexity.

[0281] On the other hand, the segmentation pattern can also be illustrated when the horizontal segmentation corresponding to the restricted vertical segmentation coding unit is processed.

[0282] In this case, the image segmentation unit 110 can, according to the segmentation table, horizontally segment the vertically segmented coding unit into a first binary segment or a second binary segment, or horizontally segment it into a first ternary segment or a second ternary segment.

[0283] For example, corresponding to the coding unit that is vertically divided by 32x64, the image segmentation unit 110 can divide the image into 32x32 CU0 and CU1 according to the first binary segmentation, or into 32x48 and 32x16 CU0 and CU1 according to the second binary segmentation, or into 32x32, 32x16 and 32x16 CU0, CU1 and CU2 according to the first ternary segmentation, or into 32x8, 64x48 and 32x8 CU0, CU1 and CU2 according to the second ternary segmentation.

[0284] Furthermore, the image segmentation unit 110 vertically segments the horizontally segmented coding units into a first binary segment or a second binary segment, or vertically segments them into a first ternary segment or a second ternary segment.

[0285] For example, corresponding to the coding unit divided into 32x16 horizontal segments, the image segmentation unit 110 can divide the image into 16x16 CU0 and CU1 according to the first binary segmentation, or into 24x16 and 8x16 CU0 and CU1 according to the second binary segmentation, or into 8x16, 16x16 and 8x16 CU0, CU1 and CU2 according to the first ternary segmentation, or into 4x16, 24x16 and 4x16 CU0, CU1 and CU2 according to the second ternary segmentation.

[0286] This segmentation allows the structure to be determined differently based on the size of the CTU, the CTU group unit and the slice unit, and the vertical and horizontal directions. The segmentation ratio and size information of each CU in the case of processing by the first binary segmentation, the second binary segmentation, the first ternary segmentation and the second ternary segmentation can be defined according to the segmentation table or can be preset with condition information.

[0287] Based on the above segmentation process, the segmentation refined using binary and ternary trees is allowed to be a conditional part, thereby enabling the coding unit to achieve a segmentation ratio suitable for the characteristics, which can improve coding efficiency.

[0288] Figure 20 This is a flowchart illustrating the operation of the quantization unit 130 or the inverse quantization unit 220 according to an embodiment of the present invention.

[0289] As described above, the quantization unit 130, acting as a quantization step size predictor, can utilize the quantization step size of quantization units adjacent to the current quantization unit. For example, the quantization unit 130 searches in the order of the left quantization unit, the top quantization unit, and the top-left quantization unit of the current quantization unit, and can generate a quantization step size predictor for the current quantization unit using one or two valid quantization step sizes. For example, if the quantization unit 130 determines a quantization step size predictor, it transmits the difference between the quantization step size of the current quantization unit and the quantization step size predictor to the entropy coding unit 140. The inverse quantization unit 220 can process in reverse order.

[0290] However, as Figure 21 As shown, the segmentation structure within each block can exist not only in the aforementioned binary tree and ternary tree structures, but also in many other forms. Furthermore, the shape of the segmentation can also be represented as a square, rectangle, triangle, or any other shape.

[0291] In order to grasp this segmentation pattern, the image segmentation unit 110 can extract basic segmentation unit information, segmentation depth information, and whether or not to further segment.

[0292] Basic segmentation unit information can represent information on how many blocks a block is divided into. According to embodiments, basic segmentation unit information may include segmentation unit information that divides a block into four blocks by applying two intersecting straight lines in one segment, or divides a block into two blocks by applying one straight line.

[0293] Furthermore, the segmentation depth information can represent the number of times the smallest segment of a block is segmented within a frame block.

[0294] Furthermore, the information on whether a block is further divided indicates that the divided block is not divided into all the required number of divisions, but rather that the division was interrupted in the middle.

[0295] For example, a large block of size 64x64 is segmented, with a basic segmentation unit of 1 and a segmentation depth of 3. All blocks are then segmented according to this depth, and the large block may be divided into a total of 8 rectangles. In this case, the size of the horizontal and vertical pixels of the rectangles can vary depending on the segmentation direction information.

[0296] Therefore, as Figure 20 As shown, in the embodiment of the present invention, if the segmentation depth information and segmentation direction information of the block to be encoded or decoded are parsed (S1001), the segmentation structure information of the unit to be encoded or decoded in the block corresponding to the parsed segmentation depth information and segmentation direction information can be obtained by the quantization unit 130 or the inverse quantization unit 220 (S1003).

[0297] Furthermore, based on the segmentation structure information, the quantization unit 130 or the inverse quantization unit 220 obtains one or more predictive quantization parameters from at least one surrounding unit corresponding to the unit to be encoded or decoded (S1005), and obtains differential quantization parameters of the unit to be encoded or decoded (S1007). From the differential quantization parameters and the one or more predictive quantization parameters, a quantization parameter is obtained (S1009). Using the obtained quantization parameter, the corresponding decoding can be performed on the unit to be encoded or decoded (S1011).

[0298] More specifically, when the quantization unit 130 or the inverse quantization unit 220 obtains the structural information, it can obtain the segmentation unit information and segmentation number information of the block to be decoded based on the segmentation depth information and segmentation direction information of the parsed block. Based on at least one of the segmentation depth information, segmentation direction information, segmentation unit information and segmentation number information of the parsed block, it can determine the surrounding units used to predict the quantization parameters corresponding to the unit to be decoded.

[0299] Furthermore, the quantization unit 130 or the inverse quantization unit 220 can also obtain differential quantization parameter depth information corresponding to the differential quantization parameters of the unit to be decoded transmitted with additional signals.

[0300] In this case, the quantization unit 130 or the inverse quantization unit 220 can compare the segmentation depth information of the block to be decoded with the differential quantization parameter depth information.

[0301] Furthermore, if the differential quantization parameter depth information is less than the segmentation depth information of the block to be decoded based on the comparison result, the quantization unit 130 or the inverse quantization unit 220 may determine the differential quantization parameter depth information as the segmentation depth information of the unit to be decoded.

[0302] Therefore, the quantization unit 130 or the inverse quantization unit 220 divides the block into the units to be decoded based on the determined segmentation depth information, and performs inverse quantization of the segmented units using the differential quantization parameters.

[0303] On the other hand, when the differential quantization parameter depth information is greater than the segmentation depth information of the block to be decoded based on the comparison result, the quantization unit 130 or the inverse quantization unit 220 can obtain the additional segmentation direction and additional segmentation unit information for the differential quantization parameters.

[0304] In this case, the quantization unit 130 or the inverse quantization unit 220 can use the additional segmentation direction and additional segmentation unit information to segment the block into the unit to be decoded, and perform inverse quantization using the differential quantization parameters on the segmented unit.

[0305] pass Figures 22 to 23 To explain the procedure above in more detail.

[0306] Figure 22 This describes a method for determining predictive quantization parameters when the sizes of the units divided within a block are different, according to an embodiment of the present invention.

[0307] like Figure 22 As shown, since the quantization unit 130 performs quantization in segmented unit units, when the units within a block are segmented by different sizes, it is possible for the left and upper blocks to be absent or for multiple blocks to exist.

[0308] For example, in Figure 22 In this configuration, cell F has cell A at the top, cell B at the top left, and cell C at the bottom left. In this case, the quantization unit 130 can predict the quantization parameters of cell F by utilizing the block characteristic values ​​of A, B, and C.

[0309] And, for example, in Figure 22 In the above example, for cell E, there is cell D on the left, cell C on the upper left, and cell F on the upper right. Therefore, the quantization unit 130 can predict the quantization parameters of cell E by using the block characteristic values ​​of D, C, and F.

[0310] Figure 22 Many more embodiments can be implemented as one example for understanding the invention.

[0311] That is, according to an embodiment of the present invention, the quantization unit 130 can predict quantization parameters by using the block characteristic values ​​of all cells adjacent to the left and upper boundaries of the currently decoded cell.

[0312] Furthermore, as a method for calculating the predicted value in the quantization unit 130, there are various methods such as using the average value of the block characteristic values, using the minimum value among the block characteristic values, and using the maximum value among the block characteristic values. This can be performed according to a predefined program between the encoding device 100 and the decoding device 200, so no additional signal transmission is required, which can improve transmission efficiency.

[0313] Figure 23 This is a diagram illustrating a method for determining predictive quantization parameters using differential quantization parameter depth information transmitted according to an embodiment of the present invention.

[0314] exist Figure 23 In the embodiment shown, the basic segmentation unit information of the encoding unit before segmentation may include segmentation information that divides a straight line into two blocks, the segmentation depth information of the unit may be 3, and the differential quantization parameter depth information may be 2.

[0315] In this case, the quantization parameters of the segmented unit A and unit B may not be transmitted. The quantization unit 130 can process each unit to give it the same differential quantization parameter value as the differential quantization parameter of the pre-segmentation encoding unit, which is a step-level segmentation unit (block), and calculate the quantization parameter.

[0316] Conversely, when the segmentation depth information of a unit is 2 and the depth information of the differential quantization parameter is 3, units C and D (blocks) should have two differential quantization parameters. Therefore, the encoding device 100 transmits the depth information, segmentation direction, and segmentation unit information to the decoding device 200, and transmits characteristic values ​​equivalent to each quantization unit, thereby enabling processing in a way that determines the quantization parameters.

[0317] The encoding device 100 has a transmission unit for transmitting signal transmission information, which is used to additionally transmit depth information for differential quantization parameters.

[0318] In particular, when the depth information corresponding to the differential quantization parameter is the same as the block segmentation depth information, the encoding device 100 transmits the differential quantization parameter to each unit through the transmission unit, and can transmit each parameter to the decoding device 200, thereby improving the bit ratio.

[0319] Furthermore, for the decoding device 200, when the segmentation depth information is greater than the differential quantization parameter depth information, the depth information corresponding to the differential quantization parameter can be processed to have the same value as the differential quantization parameter of the same level.

[0320] Furthermore, for the decoding device 200, when the segmentation depth information is less than the differential quantization parameter depth information, it is equivalent to a differential quantization depth segmentation unit. The quantization parameter corresponding to the unit can be received from the encoding device 100, and the inverse quantization unit 220 can use it to process inverse quantization.

[0321] The segmentation depth information described above can be processed according to the transmission of differential quantization parameters. As differential quantization parameters are transmitted in unit units, conditional inverse quantization processing of the inverse quantization unit 220 can be implemented in the decoding device 200 to improve the transmission efficiency of quantization parameters and control the precision.

[0322] The method of the present invention as described above is made into a computer-executable program, which is stored on a computer-readable recording medium. Examples of recording media include read-only memory (ROM), random access memory (RAM), CD-ROM, magnetic tape, floppy disk, optical data storage device, etc., and also include those embodied in the form of a carrier wave (e.g., propagated via the Internet).

[0323] Computer-readable recording media are distributed across network-connected computer systems, thus computer-readable code is stored and executed in a distributed manner. The functional programs, codes, and coded segments used to implement the method can be readily deduced by programmers in the art to which this invention pertains.

[0324] The preferred embodiments of the present invention have been shown and described above, but the present invention is not limited to the specific embodiments described. Those skilled in the art can make various modifications to the present invention without departing from the spirit of the invention as required by the claims. Such modifications should not be understood separately from the technical concept or prospect of the present invention.

Claims

1. An image decoding method, comprising the following steps: Based on the tree structure information for the current coding block, the predicted quantization parameters are obtained from the quantization parameters of the adjacent coding blocks that include the quantization unit of the current coding block. When the first depth information for the current coded block is the same as the second depth information for the differential quantization parameters, information about the differential quantization parameters for the current coded block is obtained from the bit stream; The quantization parameters are obtained based on the differential quantization parameters and the predicted quantization parameters; Decoding of the current encoded block is performed using the acquired quantization parameters; The tree structure information includes first composite tree structure information and second composite tree structure information. The first composite tree structure information and the second composite tree structure information have different segmentation conditions. The segmentation conditions include at least one of horizontal binary segmentation, vertical binary segmentation, horizontal ternary segmentation, and vertical ternary segmentation. Wherein, the horizontal binary segmentation corresponds to dividing the block horizontally at a ratio of N:N. The vertical binary partitioning corresponds to dividing the block vertically at a ratio of N:N. The horizontal ternary partitioning corresponds to dividing the block horizontally at a ratio of N:2N:N. The vertical ternary segmentation corresponds to dividing the block along the vertical direction at a ratio of N:2N:N.

2. A method for encoding an image, comprising the following steps: Based on the tree structure information for the current coding block, the predicted quantization parameters are obtained from the quantization parameters of the adjacent coding blocks that include the quantization unit of the current coding block. Determine the quantization parameters for the current coded block; The differential quantization parameters are determined based on the quantization parameters and the predicted quantization parameters; Encoding for the current coded block is performed using the quantization parameters; as well as When the first depth information for the current coded block is the same as the second depth information for the differential quantization parameters, a bitstream including information about the differential quantization parameters for the current coded block is generated. The tree structure information includes first composite tree structure information and second composite tree structure information. The first composite tree structure information and the second composite tree structure information have different segmentation conditions. The segmentation conditions include at least one of horizontal binary segmentation, vertical binary segmentation, horizontal ternary segmentation, and vertical ternary segmentation. Wherein, the horizontal binary segmentation corresponds to dividing the block horizontally at a ratio of N:N. The vertical binary partitioning corresponds to dividing the block vertically at a ratio of N:N. The horizontal ternary partitioning corresponds to dividing the block horizontally at a ratio of N:2N:N. The vertical ternary segmentation corresponds to dividing the block along the vertical direction at a ratio of N:2N:N.

3. A method for transmitting a bit stream, comprising the following steps: Based on the tree structure information for the current coding block, the predicted quantization parameters are obtained from the quantization parameters of the adjacent coding blocks that include the quantization unit of the current coding block. Determine the quantization parameters for the current coded block; The differential quantization parameters are determined based on the quantization parameters and the predicted quantization parameters; Encoding for the current coded block is performed using the quantization parameters; When the first depth information for the current coded block is the same as the second depth information for the differential quantization parameters, a bit stream including information about the differential quantization parameters for the current coded block is generated. as well as The bit stream is transmitted to the decoding device. The tree structure information includes first composite tree structure information and second composite tree structure information. The first composite tree structure information and the second composite tree structure information have different segmentation conditions. The segmentation conditions include at least one of horizontal binary segmentation, vertical binary segmentation, horizontal ternary segmentation, and vertical ternary segmentation. Wherein, the horizontal binary segmentation corresponds to dividing the block horizontally at a ratio of N:N. The vertical binary partitioning corresponds to dividing the block vertically at a ratio of N:N. The horizontal ternary partitioning corresponds to dividing the block horizontally at a ratio of N:2N:N. The vertical ternary segmentation corresponds to dividing the block along the vertical direction at a ratio of N:2N:N.

Citation Information

Patent Citations

  • Method for decoding image in intra prediction mode

    CN103460700A

  • Picture coding device, picture coding method, and picture coding program, and picture decoding device, picture decoding method, and picture decoding program

    US20140376621A1

  • Multi-type-tree framework for video coding

    US20170208336A1