Video coding method and apparatus using adaptive intra-predictive accuracy

The video coding method adaptively uses intra-prediction accuracy to enhance encoding efficiency by selecting precision modes based on surrounding block directions, addressing the inefficiencies in existing video compression technologies.

JP7888120B2Active Publication Date: 2026-07-13HYUNDAI MOTOR CO LTD +2
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2023561050
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2022-03-28
Filing Date
2022-03-29
Publication Date
2026-07-13
Estimated Expiration
2042-03-29

AI Technical Summary

Technical Problem

Existing video compression technologies, such as VVC, face reduced encoding efficiency due to the need to encode indices for a large number of intra-prediction directions, which is not adequately addressed by current methods.

Method used

A video coding method and apparatus that adaptively uses intra-prediction accuracy by selecting a precision mode based on the directional prediction mode of surrounding blocks and applying adaptive precision flags to improve encoding efficiency.

Benefits of technology

Improves coding efficiency by selectively using directional precision modes, enhancing the encoding process for video data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007888120000003
    Figure 0007888120000003
  • Figure 0007888120000004
    Figure 0007888120000004
  • Figure 0007888120000005
    Figure 0007888120000005
Patent Text Reader

Abstract

A video coding method and apparatus using adaptive intra prediction accuracy is provided. [Solution] In the video coding method and apparatus of the present invention, in intra prediction of a current block, a precision mode is selected for the directionality of the intra prediction mode of the current block according to the directional prediction mode of the reconstructed surrounding blocks, and the directional precision is adaptively used based on the selected precision mode.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a video coding method and apparatus using adaptive intra prediction accuracy.

Background Art

[0002] The content described below merely provides background information related to the present invention and does not constitute the prior art.

[0003] Video data has a larger amount of data compared to audio data, still image data, etc. Therefore, in order to store or transmit it itself without processing for compression, a lot of hardware resources including memory are required.

[0004] Therefore, usually, when storing or transmitting video data, a video data is compressed using an encoder for storage or transmission, and in a decoder, the compressed video data is received and decompressed for playback. Such video compression technologies include H.264 / AVC, HEVC (High Efficiency Video Coding), etc., and there is also VVC (Versatile Video Coding) which has improved coding efficiency by about 30% or more compared to HEVC.

[0005] However, the size, resolution, and frame rate of video are gradually increasing, and accordingly, the amount of data that needs to be encoded is also increasing. Therefore, a new compression technology with better coding efficiency and higher image quality improvement effect than the conventional compression technology is required.

[0006] In video compression techniques, intra-prediction predicts the pixel value of the current block using the reconstructed pixel values ​​of the surrounding pixels to remove spatial redundancy. Intra-prediction is divided into non-directional and directional prediction. In non-directional prediction, the pixel value of the current block is predicted using the average of the surrounding sample pixel values, or using weighted superposition or plane equations. In directional prediction, the pixel value of the current block is predicted using directions at various angles, such as vertical, horizontal, and diagonal.

[0007] With advancements in video compression technology, VVC (Video Video Computing) technology uses intra-prediction based on 65 directions, further subdividing angles beyond vertical, horizontal, and diagonal directions, and can also use 28 additional directions depending on the block shape. In other words, VVC technology improves prediction performance by using a large number of directions, totaling 93. However, this presents a problem of reduced encoding efficiency because the indices for the corresponding directions must be additionally encoded. Therefore, methods for adaptively representing diverse angular directions need to be considered in order to improve encoding efficiency. [Overview of the project] [Problems that the invention aims to solve]

[0008] The present invention has been made in view of the above-mentioned conventional problems, and the object of the present invention is to provide a video coding method and apparatus that adaptively uses intra-predictive accuracy. [Means for solving the problem]

[0009] An intra-prediction method performed by a video decoding device according to one aspect of the present invention, made to achieve the above objective, comprises the steps of: decoding the intra-prediction mode and adaptive precision flag of the current block from a bitstream; confirming the intra-prediction mode, wherein the adaptive precision flag indicates how to use adaptive precision with respect to the directionality of the intra-prediction mode; the intra-prediction modes are classified into horizontal and vertical prediction modes based on an upper-left intra-prediction mode; if the intra-prediction mode is a directional prediction mode, the method comprises the steps of: determining a precision mode with respect to the direction according to the directional prediction mode of the surrounding blocks of the current block; determining the precision with respect to the direction of the intra-prediction mode using the precision mode and the adaptive precision flag; and generating a prediction block of the current block using the precision and the intra-prediction mode.

[0010] To achieve the above objective, an image decoding device according to one aspect of the present invention comprises: an entropy decoding unit that decodes the intra-prediction mode and adaptive precision flag of the current block from a bitstream; and an intra-prediction unit that confirms the intra-prediction mode, wherein the adaptive precision flag indicates whether adaptive precision is used with respect to the directionality of the intra-prediction mode, the intra-prediction mode is classified into a horizontal prediction mode and a vertical prediction mode based on the upper-left intra-prediction mode, and when the intra-prediction mode is a directional prediction mode, the intra-prediction unit determines a precision mode with respect to the directionality according to the directional prediction mode of the surrounding blocks of the current block, determines the precision with respect to the directionality of the intra-prediction mode using the precision mode and the adaptive precision flag, and generates a predicted block of the current block using the precision and the intra-prediction mode.

[0011] An intra-prediction method performed by a video coding device according to another aspect of the present invention, made to achieve the above objective, comprises the steps of: obtaining the intra-prediction mode and adaptive precision flag of the current block from a higher step; and confirming the intra-prediction mode, wherein the adaptive precision flag indicates how to use adaptive precision with respect to the directionality of the intra-prediction mode; the intra-prediction modes are classified into horizontal and vertical prediction modes based on the upper-left intra-prediction mode; and, if the intra-prediction mode is a directional prediction mode, the method comprises the steps of: determining a precision mode with respect to the direction according to the directional prediction mode of the surrounding blocks of the current block; determining the precision with respect to the direction of the intra-prediction mode using the precision mode and the adaptive precision flag; and generating a predicted block of the current block using the precision and the intra-prediction mode. [Effects of the Invention]

[0012] According to the present invention, in intra-prediction of the current block, a video coding method and apparatus are provided that select a precision mode for the directionality of the intra-prediction mode of the current block according to the directional prediction mode of the recovered surrounding block, and adaptively use the directional precision based on the selected precision mode, thereby improving coding efficiency. [Brief explanation of the drawing]

[0013] [Figure 1] This is an illustrative block diagram relating to a video encoding device that embodies the technology of the present invention. [Figure 2] This diagram illustrates how to divide a block using the QTBTTT structure. [Figure 3a] This figure shows multiple intra-prediction modes, including a wide-angle intra-prediction mode. [Figure 3b] This figure shows multiple intra-prediction modes, including a wide-angle intra-prediction mode. [Figure 4] This is an illustrative diagram showing the surrounding blocks of the current block. [Figure 5] This is an exemplary block diagram of an image decoding device that embodies the technology of the present invention. [Figure 6] This is an illustrative diagram showing the directionality based on the intra-prediction mode. [Figure 7] This is an illustrative diagram showing the intra-prediction process when the intra-prediction mode is 63. [Figure 8a] This is an illustrative diagram showing the directionality represented with 1 / 16 sample accuracy for a predefined 45-degree interval. [Figure 8b] This is an illustrative diagram showing the directionality represented with a 1 / 32 sample accuracy for a predefined 45-degree interval. [Figure 8c] This is an illustrative diagram showing the directionality represented with a 1 / 64 sample accuracy for a predefined 45-degree interval. [Figure 9] This is an illustrative diagram showing the direction of intra-prediction used in the vertical accuracy mode according to one embodiment of the present invention. [Figure 10] This is an illustrative diagram showing the direction of intra-prediction used in the horizontal accuracy mode according to one embodiment of the present invention. [Figure 11a] This is an illustrative diagram showing an accuracy mode based on the prediction mode of the surrounding block according to one embodiment of the present invention. [Figure 11b] This is an illustrative diagram showing an accuracy mode based on the prediction mode of the surrounding block according to one embodiment of the present invention. [Figure 11c] This is an illustrative diagram showing an accuracy mode based on the prediction mode of the surrounding block according to one embodiment of the present invention. [Figure 12] This flowchart shows a video coding method using adaptive intra-predictive accuracy according to one embodiment of the present invention. [Figure 13] This flowchart shows a video decoding method using adaptive intra-predictive accuracy according to one embodiment of the present invention.

Best Mode for Carrying Out the Invention

[0014] Hereinafter, specific examples of embodiments for carrying out the present invention will be described in detail with reference to the drawings. Note that when adding reference numerals to the components of each drawing, for the same components, even if they are shown on other drawings, they are made to have the same reference numerals as much as possible. In addition, when explaining this embodiment, if it is determined that a specific explanation of a related known configuration or function obscures the gist of the present invention, the detailed explanation thereof will be omitted.

[0015] FIG. 1 is an exemplary block diagram related to a video encoding apparatus embodying the technology of the present invention. Hereinafter, the video encoding apparatus and the subordinate configurations of this apparatus will be described with reference to the figure shown in FIG. 1.

[0016] The video encoding apparatus is configured to include a picture division unit 110, a prediction unit 120, a subtractor 130, a conversion unit 140, a quantization unit 145, a rearrangement unit 150, an entropy encoding unit 155, an inverse quantization unit 160, an inverse conversion unit 165, an adder 170, a loop filter unit 180, and a memory 190.

[0017] Each component of the video encoding apparatus may be embodied by hardware or software, or a combination of hardware and software. Further, the functions of each component may be embodied by software, and a microprocessor may be configured to execute the functions of the software corresponding to each component.

[0018] A single video consists of one or more sequences containing multiple pictures. Each picture is divided into multiple regions, and encoding is performed for each region. For example, a single picture is divided into one or more tiles and / or slices. Here, one or more tiles are defined as a tile group. Each tile and / or slice is divided into one or more Coding Tree Units (CTUs). Each CTU is then divided into one or more Coding Units (CUs) by a tree structure. Information applicable to each CU is encoded as the CU syntax, and information applicable to all CUs contained in a single CTU is encoded as the CTU syntax. Furthermore, information applicable to all blocks within a slice is encoded as the slice header syntax, and information applicable to all blocks constituting one or more pictures is encoded in the Picture Parameter Set (PPS) or picture header. Furthermore, information commonly referenced by multiple pictures is encoded in the Sequence Parameter Set (SPS). Information that one or more SPSs commonly reference is encoded in a Video Parameter Set (VPS). Furthermore, information that applies commonly to a single tile or tile group is encoded as the syntax of the tile or tile group header. The syntax contained in SPSs, PPSs, slice headers, tiles, or tile group headers is referred to as high-level syntax.

[0019] The picture segmentation unit 110 determines the size of the Coding Tree Unit (CTU). Information regarding the size of the CTU (CTU size) is encoded as SPS or PPS syntax and transmitted to the video decoding device.

[0020] The picture division unit 110 divides each picture constituting the video into multiple Coding Tree Units (CTUs) of predetermined sizes, and then recursively divides the CTUs using a tree structure. In the tree structure, the leaf nodes become coding units (CUs), which are the basic units of encoding.

[0021] Tree structures include quad trees (QT), where a top node (or parent node) is divided into four lower nodes (or child nodes) of the same size; binary trees (BT), where a top node is divided into two lower nodes; or terminal trees (TT), where a top node is divided into three lower nodes in a 1:2:1 ratio; or structures that combine two or more of these QT, BT, and TT structures. For example, a QTBT (QuadTree plus BinaryTree) structure or a QTBTTT (QuadTree plus BinaryTree TernaryTree) structure is used. Here, BTTT is collectively referred to as MTT (Multiple-Type Tree).

[0022] Figure 2 is a diagram illustrating how to divide a block using the QTBTTT structure.

[0023] As shown in Figure 2, the CTU is initially split into a QT structure. Quad-tree splitting is repeated until the size of the splitting block reaches the minimum block size of a leaf node allowed in the QT, MinQTSize. A first flag, QT_split_flag, indicating whether each node in the QT structure is split into four lower-layer nodes, is encoded by the entropy encoding unit 155 and signaled to the video decoder. If a leaf node in the QT is not larger than the maximum block size of a root node allowed in the BT, it is further split into one or more BT or TT structures. In the BT and / or TT structures, there are multiple splitting directions. For example, there are two directions in which the block of the node in question is split: horizontally and vertically. As shown in Figure 2, when MTT splitting is initiated, a second flag, mtt_split_flag, indicating whether or not a node has been split, and additionally, if split, a flag indicating the splitting direction (vertical or horizontal) and / or the splitting type (binary or terrary), are encoded by the entropy encoding unit 155 and signaled to the video decoding device.

[0024] Alternatively, before encoding the first flag QT_split_flag, which indicates whether each node will be split into four lower-layer nodes, the CU split flag split_cu_flag, which indicates whether the node will be split, is encoded. If the value of the CU split flag split_cu_flag indicates that the node will not be split, the block of that node becomes a leaf node in the split tree structure and becomes a coding unit (CU), which is the basic unit of encoding. If the value of the CU split flag split_cu_flag indicates that the node will be split, the video encoding device starts encoding from the first flag using the method described above.

[0025] When QTBT is used as another example of a tree structure, there are two types: one in which the block of the node is divided horizontally into two blocks of the same size (i.e., symmetric horizontal splitting) and another in which it is divided vertically (i.e., symmetric vertical splitting). A splitting flag, split_flag, indicating whether each node in the BT structure is divided into a block of a lower layer, and splitting type information indicating the type of division, are encoded by the entropy encoding unit 155 and transmitted to the video decoding device. On the other hand, there is an additional type in which the block of the node is divided into two blocks in an asymmetrical manner. Asymmetrical forms include a form in which the block of the node is divided into two rectangular blocks with a size ratio of 1:3, or a form in which the block of the node is divided diagonally.

[0026] CUs can have various sizes depending on the QTBT or QTBTTT partitioning from the CTU. Hereafter, the block corresponding to the CU to be encoded or decoded (i.e., a leaf node in the QTBTTT) will be referred to as the "current block." Depending on the QTBTTT partitioning used, the shape of the current block may be a rectangle as well as a square.

[0027] The prediction unit 120 predicts the current block and generates a predicted block. The prediction unit 120 includes an intra-prediction unit 122 and an inter-prediction unit 124.

[0028] Generally, each current block in a picture is coded predictively. Generally, the prediction of the current block is performed using intra-prediction techniques (using data from the picture containing the current block) or inter-prediction techniques (using data from pictures coded before the picture containing the current block). Inter-prediction includes both one-way and two-way prediction.

[0029] The intra-prediction unit 122 predicts pixels within the current block using pixels (reference pixels) located around the current block within the current picture that contains the current block. Multiple intra-prediction modes exist depending on the prediction direction. For example, as seen in Figure 3a, the multiple intra-prediction modes include two non-directional modes, including the planar mode and DC mode, and 65 directional modes. The surrounding pixels used by each prediction mode are defined to have different calculation formulas.

[0030] For efficient directional prediction of rectangular current blocks, additional directional modes (67-80, -1-14 intra-prediction modes) are used, as shown by dashed arrows in Figure 3b. These are referred to as "wide-angle intra-prediction modes." In Figure 3b, the arrows point to the corresponding reference samples used for prediction, not to the prediction direction. The prediction direction is opposite to the direction indicated by the arrows. Wide-angle intra-prediction modes are modes that perform prediction in the opposite direction of a specific directional mode without transmitting additional bits when the current block is rectangular. In this case, some of the wide-angle intra-prediction modes available to the current block are determined by the ratio of the width to the height of the rectangular current block. For example, wide-angle intra-prediction modes with angles smaller than 45 degrees (intra-prediction modes 67-80) are available when the current block is in the form of a rectangle where the height is smaller than the width, and wide-angle intra-prediction modes with angles larger than -135 degrees (intra-prediction modes -1-14) are available when the current block is in the form of a rectangle where the width is larger than the height.

[0031] The intra-prediction unit 122 determines the intra-prediction mode to be used to encode the current block. In some examples, the intra-prediction unit 122 encodes the current block using various intra-prediction modes and selects the appropriate intra-prediction mode to be used from the tested modes. For example, the intra-prediction unit 122 calculates bitrate distortion values ​​using bitrate distortion analysis for various tested intra-prediction modes and selects the intra-prediction mode with the best bitrate distortion characteristics among the tested modes.

[0032] The intra-prediction unit 122 selects one intra-prediction mode from among several intra-prediction modes and predicts the current block using the surrounding pixels (reference pixels) and calculation formula determined by the selected intra-prediction mode. Information regarding the selected intra-prediction mode is encoded by the entropy coding unit 155 and transmitted to the video decoding device.

[0033] The interpretation unit 124 generates a predicted block for the current block using a motion compensation process. The interpretation unit 124 searches for the block most similar to the current block in the reference picture, which has been encoded and decoded before the current picture, and uses the found block to generate a predicted block for the current block. It then generates a motion vector (MV) corresponding to the displacement between the current block in the current picture and the predicted block in the reference picture. Generally, motion estimation is performed on the luma component, and the motion vector calculated based on the luma component is used for both the luma and chroma components. Motion information, including information about the reference picture used to predict the current block and information about the motion vector, is encoded by the entropy encoding unit 155 and transmitted to the video decoder.

[0034] The interpretation unit 124 performs interpolation on a reference picture or reference block to improve the accuracy of the prediction. That is, a subsample between two consecutive integer samples is interpolated by applying a filter coefficient to a series of consecutive integer samples that include those two integer samples. After performing the step of searching for the block most similar to the current block on the interpolated reference picture, the motion vector is expressed with precision not in integer samples but in decimal units. The precision or resolution of the motion vector is set differently for each unit of the target area to be encoded, such as slice, tile, CTU, CU, etc. When such Adaptive Motion Vector Resolution (AMVR) is applied, information about the motion vector resolution applied to each target area must be signaled for each target area. For example, if the target area is a CU, information about the motion vector resolution applied to each CU is signaled. The information about the motion vector resolution is information that indicates the precision of the differential motion vector, which will be described later.

[0035] On the other hand, the inter-prediction unit 124 performs inter-prediction using bi-prediction. In the case of bi-prediction, two reference pictures and two motion vectors representing the block position most similar to the current block within each reference picture are used. The inter-prediction unit 124 selects a first reference picture and a second reference picture from reference picture list 0 (RefPicList0) and reference picture list 1 (RefPicList1), respectively, and searches for a block similar to the current block within each reference picture to generate a first reference block and a second reference block. Then, it generates a predicted block for the current block by averaging or weighting the first reference block and the second reference block. Finally, it generates motion information including information about the two reference pictures used to predict the current block and information about the two motion vectors. encodingThis information is transmitted to the unit. Here, reference picture list 0 consists of pictures that precede the current picture in the display order of the previously restored pictures, and reference picture list 1 consists of pictures that follow the current picture in the display order of the previously restored pictures. However, it is not necessarily limited to this, and previously restored pictures that follow the current picture in the display order may be added to reference picture list 0, or conversely, previously restored pictures that precede the current picture may be added to reference picture list 1.

[0036] Various methods are used to minimize the number of bits required to encode motion information.

[0037] For example, if the reference picture and motion vector of the current block are the same as those of a surrounding block, the motion information of the current block is transmitted to the video decoder by encoding information that identifies the surrounding block. This method is called "merge mode".

[0038] In merge mode, the interpretation unit 124 selects a predetermined number of merge candidate blocks (hereinafter referred to as "merge candidates") from the surrounding blocks of the current block.

[0039] As shown in Figure 4, the surrounding blocks used to guide merge candidates are the left block A0, the lower left block A1, the upper block B0, the upper right block B1, and the upper left block adjacent to the current block within the current picture. B2All or part of the above are used. Furthermore, blocks located in a reference picture (which may or may not be the same as the reference picture used to predict the current block) rather than the current picture in which the current block is located are used as merge candidates. For example, a block in the reference picture that is in the same position as the current block (a co-located block) or a block adjacent to that block in the same position is additionally used as a merge candidate. If the number of merge candidates selected by the method described above is less than a predetermined number, a 0 vector is added to the merge candidates.

[0040] The interpretation unit 124 constructs a merge list containing a predetermined number of merge candidates using such surrounding blocks. From the merge candidates included in the merge list, it selects a merge candidate to be used as the movement information of the current block and generates merge index information to identify the selected candidate. The generated merge index information is: Encoding section It is encoded and transmitted to the video decoding device.

[0041] The merge skip mode is a special case of the merge mode in which, after quantization, if all transformation coefficients for entropy coding are close to zero, only the peripheral block selection information is transmitted without transmitting the residual signal. By using the merge skip mode, relatively high coding efficiency can be achieved for videos with little motion, still images, and screen content videos.

[0042] Hereafter, merge mode and merge skip mode will be collectively referred to as merge / skip mode.

[0043] Another method for encoding motion information is AMVP (Advanced Motion Vector Prediction) mode.

[0044] In AMVP mode, the interpretation unit 124 uses the surrounding blocks of the current block to induce predicted motion vector candidates for the motion vector of the current block. The surrounding blocks used to induce predicted motion vector candidates are the left block A0, the lower left block A1, the upper block B0, the upper right block B1, and the upper left block adjacent to the current block in the current picture shown in Figure 4. B2 All or part of these are used. Furthermore, blocks located in a reference picture (which may or may not be the same as the reference picture used to predict the current block) rather than the current picture in which the current block is located are used as surrounding blocks to guide the predicted motion vector candidates. For example, a block in the reference picture that is in the same position as the current block (collocated block), or a block adjacent to that block in the same position, is used. If the number of motion vector candidates obtained by the method described above is less than a predetermined number, a 0 vector is added to the motion vector candidates.

[0045] The interpretation unit 124 uses the motion vectors of the surrounding blocks to derive candidate predicted motion vectors, and uses these candidate predicted motion vectors to determine the predicted motion vector relative to the current block's motion vector. Then, it subtracts the predicted motion vector from the current block's motion vector to calculate the difference motion vector.

[0046] The predicted motion vector is obtained by applying a predefined function (e.g., median, mean calculation) to the predicted motion vector candidate. In this case, the video decoder also knows the predefined function. Furthermore, since the surrounding blocks used to guide the predicted motion vector candidate are already encoded and decoded blocks, the video decoder also already knows the motion vectors of those surrounding blocks. Therefore, the video encoder does not need to encode information to identify the predicted motion vector candidate. Consequently, in this case, information about the differential motion vector and information about the reference picture used to predict the current block are encoded.

[0047] On the other hand, the predicted motion vector is determined by selecting one of the candidate predicted motion vectors. In this case, information to identify the selected candidate predicted motion vector is additionally encoded, along with information about the differential motion vector and the reference picture used to predict the current block.

[0048] The subtractor 130 generates a residual block by subtracting the predicted block generated by the intra-prediction unit 122 or the inter-prediction unit 124 from the current block.

[0049] The conversion unit 140 converts the residual signals in a residual block having pixel values ​​in the spatial domain into conversion coefficients in the frequency domain. The conversion unit 140 converts the residual signals in the residual block using the overall size of the residual block as the conversion unit, or divides the residual block into multiple subblocks and converts using those subblocks as the conversion unit. Alternatively, it divides the residual block into two subblocks, a conversion region and a non-conversion region, and converts the residual signals using only the conversion region subblock as the conversion unit. Here, the conversion region subblock is one of two rectangular blocks having a 1:1 size ratio based on the horizontal axis (or vertical axis). In this case, a flag cu_sbt_flag indicating that only the subblock was converted, directional (vertical / horizontal) information cu_sbt_horizontal_flag, and / or position information cu_sbt_pos_flag are encoded by the entropy encoding unit 155 and signaled to the video decoding device. Furthermore, the size of the subblocks in the conversion region has a size ratio of 1:3 based on the horizontal axis (or vertical axis). In such cases, a flag cu_sbt_quad_flag that distinguishes the relevant division is additionally encoded by the entropy encoding unit 155 and signaled to the video decoding device.

[0050] Meanwhile, the transformation unit 140 performs transformations on the residual blocks individually in the horizontal and vertical directions. Various types of transformation functions or transformation matrices are used for the transformations. For example, a pair of transformation functions for horizontal and vertical transformations is defined as an MTS (Multiple Transform Set). The transformation unit 140 selects the one transformation function pair with the best transformation efficiency from the MTS and transforms the residual blocks in the horizontal and vertical directions, respectively. Information about the selected transformation function pair from the MTS, mts_idx, is encoded by the entropy coding unit 155 and signaled to the video decoding device.

[0051] The quantization unit 145 quantizes the conversion coefficients output from the conversion unit 140 using quantization parameters and outputs the quantized conversion coefficients to the entropy coding unit 155. For any block or frame, the quantization unit 145 immediately quantizes the residual blocks associated with no conversion. The quantization unit 145 applies different quantization coefficients (scaling values) depending on the position of the conversion coefficients within the conversion block. The quantization matrix applied to the two-dimensionally arranged quantized conversion coefficients is encoded and signaled to the video decoding device.

[0052] The sorting unit 150 performs sorting of coefficient values ​​for the quantized residual values.

[0053] The sorting unit 150 converts a two-dimensional coefficient array into a one-dimensional coefficient sequence using coefficient scanning. For example, the sorting unit 150 scans from the DC coefficients to the high-frequency region coefficients using a zig-zag scan or diagonal scan to output a one-dimensional coefficient sequence. Depending on the size of the conversion unit and the intra-prediction mode, a vertical scan that scans the two-dimensional coefficient array in the column direction and a horizontal scan that scans the two-dimensional block-shaped coefficients in the row direction may be used instead of a zig-zag scan. In other words, the scanning method used is determined from among zig-zag scan, diagonal scan, vertical scan, and horizontal scan depending on the size of the conversion unit and the intra-prediction mode.

[0054] The entropy coding unit 155 generates a bitstream by coding the sequence of one-dimensional quantized transformation coefficients output from the sorting unit 150 using various coding schemes such as CABAC (Context-based Adaptive Binary Arithmetic Code) and Exponential Golomb.

[0055] Furthermore, the entropy coding unit 155 encodes information related to block partitioning, such as the CTU size, CU partitioning flag, QT partitioning flag, MTT partitioning type, and MTT partitioning direction, so that the video decoder can partition blocks in the same way as the video encoder. The entropy coding unit 155 also encodes information about the prediction type, indicating whether the block was currently encoded by intra-prediction or inter-prediction, and encodes intra-prediction information (i.e., information about the intra-prediction mode) or inter-prediction information (information about the motion information encoding mode (merge mode or AMVP mode), the merge index in the case of merge mode, and the reference picture index and differential motion vector in the case of AMVP mode) depending on the prediction type. The entropy coding unit 155 also encodes information related to quantization, i.e., information about quantization parameters and information about the quantization matrix.

[0056] The inverse quantization unit 160 inverse quantizes the quantized conversion coefficients output from the quantization unit 145 to generate conversion coefficients. The inverse conversion unit 165 converts the conversion coefficients output from the inverse quantization unit 160 from the frequency domain to the spatial domain to restore the residual block.

[0057] The addition unit 170 adds the restored residual block and the predicted block generated by the prediction unit 120 to restore the current block. The pixels in the restored current block are used as reference pixels when intra-predicting the next block in order.

[0058] The loop filter section 180 performs filtering on the restored pixels to reduce blocking artifacts, ringing artifacts, blurring artifacts, etc., that occur due to block-based prediction and transformation / quantization. The filter section 180 includes all or part of a deblocking filter 182, a Sample Adaptive Offset (SAO) filter 184, and an Adaptive Loop Filter (ALF) 186 as in-loop filters.

[0059] The deblocking filter 182 filters the boundaries between restored blocks to remove blocking artifacts that occur during block-level encoding / decoding, and the SAO filter 184 and ALF 186 performs additional filtering on the deblocked filtered video. SAO filter 184 and ALF Filter 186 is used to compensate for the difference between the restored pixels and the original pixels that occurs due to lossy coding. The SAO filter 184 improves not only subjective image quality but also coding efficiency by applying an offset in units of CTU. In contrast, ALF 186 performs block-level filtering, compensating for distortion by applying different filters to the edges and degree of change of the relevant block. Information regarding the filter coefficients used for ALF is encoded and signaled to the video decoder.

[0060] The recovered blocks filtered through the deblocking filter 182, the SAO filter 184, and the ALF 186 are stored in memory 190. Once all blocks in a picture have been recovered, the recovered picture is used as a reference picture to interpret the blocks in the picture to be encoded later.

[0061] Figure 5 is an illustrative block diagram of an image decoding device embodying the technology of the present invention. The image decoding device and its sub-configurations will be described below with reference to Figure 5.

[0062] The video decoding device is configured to include an entropy decoding unit 510, a sorting unit 515, an inverse quantization unit 520, an inverse transform unit 530, a prediction unit 540, an adder 550, a loop filter unit 560, and a memory 570.

[0063] Similar to the video encoding device in Figure 1, each component of the video decoding device is embodied in hardware or software, or in a combination of hardware and software. Furthermore, the function of each component may be embodied in software, and a microprocessor may be configured to execute the software function corresponding to each component.

[0064] The entropy decoding unit 510 decodes the bitstream generated by the video encoding device and extracts information related to block division to determine the current block to be decoded, and extracts prediction information and residual signal information necessary to restore the current block.

[0065] The entropy decoding unit 510 extracts information about the CTU size from the SPS (Sequence Parameter Set) or PPS (Picture Parameter Set) to determine the size of the CTU and divides the picture into CTUs of the determined size. Then, it determines the CTU as the top layer of the tree structure, i.e., the root node, and divides the CTU using the tree structure by extracting division information related to the CTU.

[0066] For example, when splitting a CTU using a QTBTTT structure, first, the first flag QT_split_flag related to QT splitting is extracted, and each node is split into four lower layer nodes. Then, for nodes corresponding to QT leaf nodes, the second flag MTT_split_flag related to MTT splitting, along with splitting direction (vertical / horizontal) and / or splitting type (binary / ternary) information is extracted, and the corresponding leaf node is split into an MTT structure. This recursively splits each node below the QT leaf node into a BT or TT structure.

[0067] As another example, when splitting a CTU using a QTBTTT structure, first extract the CU splitting flag split_cu_flag indicating whether the CU can be split, and if the block is split, extract the first flag QT_split_flag. During the splitting process, each node undergoes zero or more QT splits followed by zero or more MTT splits. For example, a CTU may undergo an MTT split immediately, or conversely, only multiple QT splits.

[0068] As another example, when splitting a CTU using a QTBT structure, the first flag QT_split_flag related to the splitting of QT is extracted, and each node is split into four lower layer nodes. Then, for nodes corresponding to the leaf nodes of QT, the splitting flag split_flag indicating whether or not it will be further split by BT and splitting direction information are extracted.

[0069] Meanwhile, the entropy decoding unit 510, after determining the current block to be decoded using the tree structure division, extracts information about the prediction type indicating whether the current block is intra-predicted or inter-predicted. If the prediction type information indicates intra-prediction, the entropy decoding unit 510 extracts syntax elements related to the intra-prediction information (intra-prediction mode) of the current block. If the prediction type information indicates inter-prediction, the entropy decoding unit 510 extracts syntax elements related to inter-prediction information, i.e., information representing the motion vector and the reference picture that the motion vector refers to.

[0070] Furthermore, the entropy decoding unit 510 extracts information related to quantization and information related to the residual signal, specifically information regarding the quantized transformation coefficients of the current block.

[0071] The sorting unit 515 converts the sequence of one-dimensional quantized transformation coefficients, which have been entropically decoded by the entropy decoding unit 510, back into a two-dimensional coefficient array (i.e., blocks) in the reverse order of the coefficient scanning sequence performed by the video encoding device.

[0072] The inverse quantization unit 520 inversely quantizes the quantized transformation coefficients and inversely quantizes the quantized transformation coefficients using quantization parameters. The inverse quantization unit 520 applies different quantization coefficients (scaling values) to each of the quantized transformation coefficients arranged in two dimensions. The inverse quantization unit 520 performs inverse quantization by applying a matrix of quantization coefficients (scaling values) from the video encoding device to the two-dimensional array of quantized transformation coefficients.

[0073] The inverse transform unit 530 generates a residual block for the current block by inversely transforming the inversely quantized transformation coefficients from the frequency domain to the spatial domain and restoring the residual signal.

[0074] Furthermore, when the inverse transformer 530 inversely transforms only a portion of the transformation block (subblock), it extracts a flag cu_sbt_flag indicating that only the subblock of the transformation block has been transformed, a directional (vertical / horizontal) information cu_sbt_horizontal_ flag of the subblock, and / or position information cu_sbt_pos_flag of the subblock. It then reconstructs the residual signal by inversely transforming the transformation coefficients of the corresponding subblock from the frequency domain to the spatial domain, and generates the final residual block for the current block by satisfying the value of "0" in the residual signal for the region that has not been inversely transformed.

[0075] Furthermore, when MTS is applied, the inverse transformation unit 530 uses the MTS information mts_idx signaled from the video encoding device to determine the transformation function or transformation matrix to be applied in the horizontal and vertical directions, respectively, and performs an inverse transformation on the transformation coefficients within the transformation block in the horizontal and vertical directions using the determined transformation function.

[0076] The prediction unit 540 includes an intra-prediction unit 542 and an inter-prediction unit 544. The intra-prediction unit 542 is activated when the prediction type of the current block is intra-prediction, and the inter-prediction unit 544 is activated when the prediction type of the current block is inter-prediction.

[0077] The intra-prediction unit 542 determines the intra-prediction mode for the current block from the syntax elements for the intra-prediction modes extracted from the entropy decoding unit 510, and predicts the current block using the reference pixels surrounding the current block according to the intra-prediction mode.

[0078] The interprediction unit 544 uses the syntax elements for the interprediction mode extracted from the entropy decoding unit 510 to determine the motion vector of the current block and the reference picture that the motion vector refers to, and then predicts the current block using the motion vector and the reference picture.

[0079] The adder 550 restores the current block by adding the residual block output from the inverse transform unit and the predicted block output from the inter-prediction unit or intra-prediction unit. The pixels in the restored current block are used as reference pixels when intra-predicting the block to be decoded later.

[0080] The loop filter section 560 includes a deblocking filter 562, an SAO filter 564, and an ALF 566 as in-loop filters. The deblocking filter 562 deblocks the boundaries between restored blocks to remove blocking artifacts that occur due to block-level decoding. The SAO filter 564 and ALF 566 perform additional filtering on the restored blocks after deblocking to compensate for the difference between the restored pixels and the original pixels that occurs due to lossy coding. The filter coefficients of the ALF are determined using information about the filter coefficients decoded from the bitstream.

[0081] The recovered blocks filtered through the deblocking filter 562, the SAO filter 564, and the ALF 566 are stored in memory 570. Once all blocks in a picture have been recovered, the recovered picture is used as a reference picture to interpret the blocks in the picture to be encoded later.

[0082] This embodiment relates to the encoding and decoding of video as described above. More specifically, it provides a video coding method and apparatus that, in intra-prediction of the current block, selects a precision mode for the directionality of the intra-prediction mode of the current block according to the directional prediction mode of the recovered surrounding block, and adaptively uses the directional precision based on the selected precision mode.

[0083] The following embodiments are applied to the intra-prediction unit 122 in the video encoding device. They are also applied to the entropy decoding unit 510 and the intra-prediction unit 542 in the video decoding device.

[0084] In the following explanation, the term "target block" to be encoded / decoded is used interchangeably with the current block or coding unit (CU) as described above, or it refers to a portion of a coding unit.

[0085] In the following, a specific flag being true indicates that the value of that flag is 1, and a specific flag being false indicates that the value of that flag is 0.

[0086] Hereinafter, this embodiment will focus on intra-prediction by the video encoding device. Such intra-prediction is performed by the intra-prediction unit 122 within the video encoding device, as described above. On the other hand, the video decoding device will be mentioned where necessary for the sake of explanation. Nevertheless, most of the embodiments described below will be applied similarly to the intra-prediction unit 542 within the video decoding device, either the same or with slight modifications. Meanwhile, the video encoding device determines information related to intra-prediction (flags and indices, described below) in terms of bitrate distortion optimization. After that, the video encoding device encodes these to generate a bitstream and then signals to the video decoding device. The video encoding device also obtains information related to intra-prediction from higher steps and performs intra-prediction for the current block.

[0087] ≪I. Intra-prediction≫ In intra-prediction using VVC technology, the intra-prediction mode has non-directional modes (i.e., Planar and DC) as illustrated in Figure 3a, as well as subdivided directional modes (i.e., 2-66). Furthermore, as added to the example shown in Figure 3b, the intra-prediction mode also has directional modes (-14 to -1 and 67 to 80) corresponding to wide-angle intra-prediction. Hereafter, the directional modes and directional prediction modes are used interchangeably.

[0088] Furthermore, intra-prediction generates predictors based on predefined matrix operations using the surrounding pixels of the current block and the encoding information of the current block. This rule-based prediction method is called MIP (Matrix-weighted Intra Prediction).

[0089] Figure 6 is an illustrative diagram showing the directionality based on the intra-prediction mode.

[0090] The intra-prediction unit 122 within the video encoding device generates predicted blocks for the current block using various directions (directionality) corresponding to the directionality mode during intra-prediction.

[0091] As illustrated in Figure 6, the directionality of intra-prediction modes corresponding to 50-66 is shown. In the example shown in Figure 6, the intra-prediction mode is represented by predModeIntra, and the directionality is represented by angle or intraPredAngle, which represents the angle. Each directionality is expressed with a precision of 1 / 32. For example, if the intra-prediction mode of the current block is 63, the value of intraPredAngle is 23. Therefore, if the scale value is 1, the actual value of the angle is 23 / 32. The scale value represents the distance in pixels between the reference sample line to be referenced and the sample currently being predicted.

[0092] Figure 7 is an illustrative diagram showing the intra-prediction process when the intra-prediction mode is 63.

[0093] In the example shown in Figure 7, the predicted sample is 5 samples away from the reconstructed surrounding samples, so the scale value is 5. The intra-prediction unit 122 calculates the position of the reference sample from the reconstructed surrounding samples by multiplying the scale value by the intraPredAngle value. The intra-prediction unit 122 obtains the reference sample position refPos using Equation 1.

[0094]

number

[0095] The intraprediction unit 122 generates a predicted sample using the values ​​of the reconstructed peripheral samples e, f, g, and h at positions -1, 0, +1, and +2 relative to this refPos. An interpolation filter is used at this time. The interpolation filter has filter coefficients such as f0, f1, f2, and f3. The interpolation filter has different filter coefficients depending on the scale and the phase refPhase calculated using intraPredAngle. The phase refPhase is calculated as shown in Equation 2.

[0096]

number

[0097] Here, since the product of scale and intraPredAngle is the position of the reference sample represented by 1 / 32 of a pixel, the remainder when the product of scale and intraPredAngle is divided by 32 is the phase. refPhase has values ​​from 0 to 31. Therefore, the interpolation filter is embodied using one of 32 different groups of filter coefficients. The video encoding and decoding devices use the same interpolation filter according to a prior agreement. On the other hand, interpolation filters with different filter coefficients are used for the lumens signal and the chroma signal, respectively.

[0098] ≪II. Adaptive Intra Prediction Accuracy≫ Figures 8a to 8c are illustrative diagrams showing the directionality represented with sample accuracy of 1 / 16, 1 / 32, and 1 / 64 for a pre-defined 45-degree interval.

[0099] As illustrated in Figure 8b, a 45-degree angle within a predetermined interval is divided into 16 directions. Alternatively, the 16 directions from which the 45-degree angle is divided are further divided, resulting in 32 directions being used for a predefined interval, as illustrated in Figure 8c. When 32 directions are used, refPos and refPhase are expressed with a sample precision of 1 / 64. Alternatively, as illustrated in Figure 8a, the 45-degree angle can be divided into 8 directions, and refPos and refPhase are expressed with a sample precision of 1 / 16.

[0100] Hereafter, 1 / 64 sample accuracy will be referred to as high precision, 1 / 16 sample accuracy as low precision, and 1 / 32 sample accuracy as reference precision. Furthermore, information indicating whether or not the accuracy is being used adaptively with respect to the direction of the current block's intra-prediction mode will be called the adaptive precision flag, adaptiveIntraFlag.

[0101] The video encoder transmits the adaptiveIntraFlag to the video decoder after it has been encoded. Alternatively, the video encoder additionally encodes the adaptiveIntraFlag only if intra_luma_mpm_flag is 1. Here, intra_luma_mpm_flag is a flag indicating whether or not to use one of the surrounding intra-prediction modes as the intra-prediction mode for the current block. As another example, the video encoder additionally encodes the adaptiveIntraFlag for a pre-configured size and shape of the current block.

[0102] On the other hand, when adaptiveIntraFlag is 1, 1 / 16 or 1 / 64 sample precision is used, and when adaptiveIntraFlag is 0, 1 / 32 sample precision is used.

[0103] When adaptiveIntraFlag is 1, the video encoder determines the sample accuracy of the current block based on the directional prediction mode information of the surrounding blocks. As illustrated in Figure 3b, when the 93 prediction modes are classified into two groups, if the prediction mode classification of the current block is the same as the statistical prediction mode classification of the surrounding blocks, the video encoder determines a sample accuracy of 1 / 64. On the other hand, if the prediction mode classification of the current block is different from the statistical prediction mode classification of the surrounding blocks, a sample accuracy of 1 / 16 is determined.

[0104] Here, the 93 directional modes are classified into two groups as follows: Using the example shown in Figure 3b, which is a 135-degree directional prediction mode 34, prediction modes smaller than 34 are classified as horizontally directional prediction modes, and prediction modes larger than or equal to 34 are classified as vertically directional prediction modes. On the other hand, even when considering directional modes corresponding to wide-angle intra-prediction, the classification of horizontally directional and vertically directional prediction modes based on the left-upward prediction mode 34 applies similarly.

[0105] When using 1 / 16 sample precision, 16 different interpolation filters are used for intra-prediction, and when using 1 / 64 sample precision, 64 different interpolation filters are used for intra-prediction. The video encoding and decoding devices use the same interpolation filters according to a prior agreement. The coefficients of each interpolation filter are stored and managed in the form of a table indicated by refPhase.

[0106] On the other hand, when the intra-prediction unit 122 searches for an intra-prediction mode for the current block, it selects one of the vertical accuracy mode, horizontal accuracy mode, and general accuracy mode, and then uses the selected accuracy.

[0107] Figure 9 is an illustrative diagram showing the direction of intra-prediction used in the vertical accuracy mode according to one embodiment of the present invention.

[0108] The vertical precision mode is a precision mode that uses high precision (1 / 64 sample precision) directionality for intervals containing vertical prediction modes and low precision (1 / 16 sample precision) directionality for intervals containing horizontal prediction modes. If many surrounding blocks use vertical intra-prediction modes, coding efficiency is improved by using high precision directionality for vertical directions and low precision directionality for horizontal directions.

[0109] On the other hand, as illustrated in Figure 9, for the vertical direction, standard accuracy (1 / 32 sample accuracy) is used when the adaptive accuracy flag adaptiveIntraFlag is 0, and high accuracy is used when adaptiveIntraFlag is 1. Similarly, for the horizontal direction, standard accuracy is used when adaptiveIntraFlag is 0, and low accuracy is used when adaptiveIntraFlag is 1.

[0110] In another embodiment, adaptiveIntraFlag is used to apply high precision to the vertical direction, while a reference precision is always applied to the horizontal direction.

[0111] In another embodiment, the video encoding device uses two adaptive precision flags to demonstrate the use of high and low precision, respectively.

[0112] On the other hand, when low precision is applied to the horizontal direction in vertical precision mode, the horizontal direction representing the intra-prediction mode is not limited to 4 to 32 horizontal direction values ​​as exemplified in Figure 9. To represent the low-precision intra-prediction mode, the same number of horizontal direction values ​​as in the example shown in Figure 9 are set differently from those shown in Figure 9. In this case, such horizontal direction values ​​are shared in advance between the video encoding device and the video decoding device.

[0113] Figure 10 is an illustrative diagram showing the direction of intra-prediction used in the horizontal accuracy mode according to one embodiment of the present invention.

[0114] The horizontal precision mode is a precision mode that uses high precision (1 / 64 sample precision) directionality for intervals containing horizontal prediction modes and low precision (1 / 16 sample precision) directionality for intervals containing vertical prediction modes. If horizontal intra-prediction modes are used in many surrounding blocks, coding efficiency is improved by using high precision directionality for horizontal directions and low precision directionality for vertical directions.

[0115] Furthermore, as illustrated in Figure 10, for the horizontal direction, the baseline accuracy (1 / 32 sample accuracy) is used when the adaptive accuracy flag adaptiveIntraFlag is 0, and the high accuracy is used when adaptiveIntraFlag is 1. Similarly, for the vertical direction, the baseline accuracy is used when adaptiveIntraFlag is 0, and the low accuracy is used when adaptiveIntraFlag is 1.

[0116] In other embodiments, adaptiveIntraFlag is used to apply high precision to the horizontal direction, while reference precision is always applied to the vertical direction.

[0117] In another embodiment, as described above, the video encoding device uses two adaptive precision flags to indicate whether high precision and low precision are to be used, respectively.

[0118] On the other hand, when low precision is applied to the vertical direction in horizontal precision mode, the vertical direction representing the intra-prediction mode is not limited to 36 to 64 vertical directions as exemplified in Figure 10. To represent the low-precision intra-prediction mode, the same number of vertical directions as in the example shown in Figure 10 are set differently from those shown in Figure 10. In this case, such vertical directions are shared in advance between the video encoding device and the video decoding device.

[0119] In general accuracy mode, the directionality of the baseline accuracy (1 / 32 sample accuracy) is used for the prediction mode as illustrated in Figure 3b. Therefore, the adaptive accuracy flag is not used in general accuracy mode.

[0120] Figures 11a to 11c are illustrative diagrams showing accuracy modes based on the prediction mode of peripheral blocks according to one embodiment of the present invention.

[0121] In the example shown in Figure 11a, both the lower left and upper right blocks of the current block utilize the vertical prediction mode, so the vertical accuracy mode is determined for the direction prediction mode of the current block. In the example shown in Figure 11b, both the lower left and upper right blocks of the current block use the horizontal prediction mode, so the horizontal accuracy mode is determined for the direction prediction mode of the current block. On the other hand, in the example shown in Figure 11c, the surrounding blocks of the current block use both the vertical and horizontal prediction modes, so the general accuracy mode is determined for the direction prediction mode of the current block.

[0122] The following describes a video coding method and a video decoding method using adaptive intra-prediction accuracy, using the figures shown in Figures 12 and 13.

[0123] Figure 12 is a flowchart showing a video coding method using adaptive intra-predictive accuracy according to one embodiment of the present invention.

[0124] The video encoding device obtains the intra-prediction mode and adaptive accuracy flag for the current block from the higher step (S1200). Here, the adaptive accuracy flag adaptiveIntraFlag indicates whether adaptive accuracy is used for the direction of the intra-prediction mode. The intra-prediction modes are further classified into horizontal and vertical prediction modes based on the upper-left intra-prediction mode.

[0125] The video encoding device checks for intra-predictive mode (1202).

[0126] If the intra prediction mode is in direction prediction mode, the video encoding device performs the following steps.

[0127] The video encoding device determines the accuracy mode for directionality according to the directionality prediction mode of the surrounding blocks of the current block (S1204).

[0128] The video encoding device determines one of the following as the accuracy mode for the direction of the intra-prediction mode: the vertical accuracy mode, the horizontal accuracy mode, and the general accuracy mode.

[0129] First, the vertical accuracy mode uses either high-precision or reference-precision orientation for the vertical prediction mode based on the adaptive accuracy flag, as illustrated in Figure 9. Similarly, the horizontal prediction mode uses either low-precision or reference-precision orientation based on the adaptive accuracy flag. In this case, high-precision is 1 / 64 sample accuracy, low-precision is 1 / 16 sample accuracy, and reference-precision is 1 / 32 sample accuracy. Next, the horizontal accuracy mode uses either high-precision or reference-precision orientation for the horizontal prediction mode based on the adaptive accuracy flag, as illustrated in Figure 10. Furthermore, the vertical prediction mode uses either low-precision or reference-precision orientation based on the adaptive accuracy flag. Finally, the general accuracy mode uses reference-precision orientation for the intra-prediction mode.

[0130] The video encoding device determines the vertical precision mode as the precision mode when both the lower left and upper right blocks of the current block use the vertical prediction mode, as shown in the example in Figure 11a. Alternatively, the video encoding device determines the horizontal precision mode as the precision mode when both the lower left and upper right blocks of the current block use the horizontal prediction mode, as shown in the example in Figure 11b. Furthermore, the video encoding device determines the general precision mode as the precision mode when both the lower left and upper right blocks of the current block use both the horizontal and vertical prediction modes, as shown in the example in Figure 11c.

[0131] The video coding device determines the accuracy for the direction of the intra-prediction mode using the accuracy mode and the adaptive accuracy flag (S1206).

[0132] The video encoding device determines the accuracy according to the adaptive accuracy flag when the current accuracy mode of a block is vertical accuracy mode and the intra-prediction mode is vertical. That is, when the adaptive accuracy flag is 1, the accuracy is determined as high accuracy, and when the adaptive accuracy flag is 0, it is determined as reference accuracy.

[0133] Furthermore, the video encoding device determines the accuracy according to the adaptive accuracy flag when the current accuracy mode of a block is vertical accuracy mode and the intra-prediction mode is horizontal. Specifically, when the adaptive accuracy flag is 1, the accuracy is determined to be low accuracy, and when the adaptive accuracy flag is 0, it is determined to be reference accuracy.

[0134] On the other hand, the video encoding device determines the accuracy according to the adaptive accuracy flag when the current accuracy mode of a block is horizontal accuracy mode and the intra-prediction mode is horizontal. That is, when the adaptive accuracy flag is 1, the accuracy is determined to be high accuracy, and when the adaptive accuracy flag is 0, it is determined to be reference accuracy.

[0135] Furthermore, the video encoding device determines the accuracy according to the adaptive accuracy flag when the current accuracy mode of a block is horizontal accuracy mode and the intra-prediction mode is vertical. When the adaptive accuracy flag is 1, the accuracy is determined to be low accuracy, and when the adaptive accuracy flag is 0, it is determined to be reference accuracy.

[0136] In another embodiment, the video encoding device uses two adaptive precision flags to demonstrate the use of high and low precision, respectively.

[0137] The video encoding device generates a predicted block for the current block using accuracy and intra-prediction mode (S1208).

[0138] If the intra prediction mode is non-directional prediction mode, the video encoding device generates a predicted block for the current block using the intra prediction mode (S1210).

[0139] Figure 13 is a flowchart showing a video decoding method using adaptive intra-predictive accuracy according to one embodiment of the present invention.

[0140] The video decoder decodes the intra-prediction mode and adaptive accuracy flag for the current block from the bitstream (S1300). Here, the adaptive accuracy flag, adaptiveIntraFlag, indicates whether adaptive accuracy is used for the direction of the intra-prediction mode. The intra-prediction modes are further classified into horizontal and vertical prediction modes based on the upper-left intra-prediction mode.

[0141] The video decoding device checks the intra-prediction mode (1302).

[0142] If the intra prediction mode is in directional prediction mode, the video decoder performs the following steps.

[0143] The video decoding device determines the accuracy mode for the direction according to the direction prediction mode of the surrounding blocks of the current block (S1304). The video decoding device determines one of the following as the accuracy mode for the direction of the intra-prediction mode: the vertical accuracy mode, the vertical accuracy mode, and the general accuracy mode.

[0144] The video decoding device determines the accuracy with respect to the direction of the intra-prediction mode using the accuracy mode and the adaptive accuracy flag (S1306).

[0145] The video decoding device generates a predicted block for the current block using accuracy and intra-prediction mode (S1308).

[0146] If the intra prediction mode is non-directional prediction mode, the video decoder generates a predicted block for the current block using the intra prediction mode (S1310).

[0147] Although the flowcharts / timing diagrams in this specification describe each process as being executed sequentially, this is merely an illustrative example of the technical concept of the embodiments of the present invention. In other words, the flowcharts / timing diagrams are not limited to a chronological order, as they can be modified and adapted in various ways by changing the order described in the flowcharts / timing diagrams, or by executing one or more of the processes in parallel, without departing from the essential characteristics of the present invention.

[0148] It should be understood that the exemplary embodiments described above can be embodied in many different ways. Functions or methods described in one or more examples can be embodied in hardware, software, firmware, or any combination thereof. It should be understood that the functional components described herein are labeled as "...units" to particularly emphasize their independent implementation.

[0149] On the other hand, the various functions or methods described in this embodiment are embodied in instruction words stored on a non-temporary recording medium that are read and executed by one or more processors. The non-temporary recording medium includes, for example, any kind of recording device in which data is stored in a form that can be read by a computer system. For example, the non-temporary recording medium includes storage media such as EPROM (erasable programmable read-only memory), flash drives, optical drives, magnetic hard drives, and solid-state drives (SSDs).

[0150] The above description is merely illustrative of the technical concept of the present invention, and any person with ordinary skill in the art to which the present invention belongs will be able to make various modifications and variations without departing from the essential characteristics of the present invention. Therefore, this embodiment is for illustrative purposes only and not to limit the technical concept of the present invention, and the scope of the technical concept of the present invention is not limited by such embodiments. The scope of protection of the present invention should be interpreted by the claims, and all technical concepts within the equivalent scope should be interpreted as being included in the scope of rights of the present invention.

[0151] CROSS-REFERENCE TO RELATED APPLICATION This patent application claims priority over patent application No. 10-2021-0043657 filed in Korea on April 2, 2021, and patent application No. 10-2022-0038224 filed in Korea on March 28, 2022, and all contents of those applications are merged into this patent application as references. [Explanation of symbols]

[0152] 110 Picture division section 120, 540 prediction section 122, 542 Intra Prediction Unit 124, 544 Interpretation Unit 130 Subtractor 140 Conversion Unit 145 Quantization section 150, 515 Sorting section 155 Entropy coding unit 160, 520 Inverse quantization section 165, 530 Inverse Transform Section 170, 550 Adder 180, 560 Loop Filter Section 182, 562 deblocking filters 184, 564 SAO (Sample Adaptive Offset) filters 186, 566 ALF (Adaptive Loop Filter) 190,570 memory 510 Entropy Decoding Unit

Claims

1. An intra prediction method performed by a video decoding device, The steps include decoding the intra-prediction mode and adaptive accuracy flag of the current block from the bitstream, The step includes confirming the intra prediction mode, The adaptive accuracy flag indicates how adaptive accuracy is used with respect to the directionality of the intra prediction mode. If the intra prediction mode is a directional prediction mode, The steps include determining a precision mode for the direction of the current block's intra-prediction mode based on the direction, in accordance with the direction prediction mode of the surrounding blocks of the current block, A step of determining the accuracy of the intra-prediction mode with respect to the direction using the accuracy mode and the adaptive accuracy flag, An intra-prediction method characterized by comprising the step of generating a predicted block for the current block using the accuracy and the intra-prediction mode.

2. The intra-prediction method according to claim 1, characterized in that the step of determining the accuracy mode is to determine one of the vertical accuracy mode, horizontal accuracy mode, and general accuracy mode as the accuracy mode with respect to the direction of the intra-prediction mode.

3. The intra-prediction method according to claim 2, characterized in that the vertical accuracy mode uses high accuracy or reference accuracy directionality for the vertical prediction mode group and low accuracy or reference accuracy directionality for the horizontal prediction mode group.

4. The intra-prediction method according to claim 2, characterized in that the horizontal accuracy mode uses high accuracy or reference accuracy directionality for the horizontal prediction mode group and low accuracy or reference accuracy directionality for the vertical prediction mode group.

5. The intra-prediction method according to claim 2, characterized in that the general accuracy mode uses the directionality of the reference accuracy with respect to the intra-prediction mode.

6. The aforementioned high precision is 1 / 64 sample accuracy. The aforementioned low precision is 1 / 16 sample precision. The intra-prediction method according to claim 3, characterized in that the reference accuracy is 1 / 32 sample accuracy.

7. The intra-prediction method according to claim 3, characterized in that the step of determining the accuracy mode is to determine the vertical accuracy mode as the directional accuracy mode when both the lower left block and the upper right block of the current block use a vertical prediction mode group.

8. The step of determining accuracy for the aforementioned direction is: If the accuracy mode is the vertical accuracy mode and the intra-prediction mode is a group of vertical prediction modes, the accuracy is determined according to the adaptive accuracy flag. If the adaptive accuracy flag is 1, the accuracy is determined as described above. The intra-prediction method according to claim 3, characterized in that if the adaptive accuracy flag is 0, the reference accuracy is determined.

9. The step of determining accuracy for the aforementioned direction is: If the accuracy mode is the vertical accuracy mode and the intra-prediction mode is a group of horizontal prediction modes, the accuracy is determined according to the adaptive accuracy flag. If the adaptive accuracy flag is 1, the low accuracy is determined. The intra-prediction method according to claim 3, characterized in that if the adaptive accuracy flag is 0, the reference accuracy is determined.

10. The intra-prediction method according to claim 4, characterized in that the step of determining the accuracy mode is to determine the horizontal accuracy mode as the directional accuracy mode when both the lower left block and the upper right block of the current block use a horizontal prediction mode group.

11. The step of determining accuracy for the aforementioned direction is: If the accuracy mode is the horizontal accuracy mode and the intra-prediction mode is a group of horizontal prediction modes, the accuracy is determined according to the adaptive accuracy flag. If the adaptive accuracy flag is 1, the accuracy is determined as described above. The intra-prediction method according to claim 4, characterized in that if the adaptive accuracy flag is 0, the reference accuracy is determined.

12. The step of determining accuracy for the aforementioned direction is: If the accuracy mode is the horizontal accuracy mode and the intra-prediction mode is a group of vertical prediction modes, the accuracy is determined according to the adaptive accuracy flag. If the adaptive accuracy flag is 1, the low accuracy is determined. The intra-prediction method according to claim 4, characterized in that if the adaptive accuracy flag is 0, the reference accuracy is determined.

13. The intra-prediction method according to claim 2, characterized in that the step of determining the accuracy mode is to determine the general accuracy mode as the directional accuracy mode when the lower left block and upper right block of the current block use a horizontal prediction mode group and a vertical prediction mode group together.

14. An intra prediction method performed by a video encoding device, The steps include determining whether to use adaptive accuracy for the current block's intra-prediction mode and the direction of the intra-prediction mode, The step of encoding an adaptive accuracy flag indicating whether or not to use adaptive accuracy for the direction of the intra prediction mode, If the intra prediction mode is a directional prediction mode, The steps include determining a precision mode for the direction according to the direction prediction mode of the surrounding blocks of the current block, The steps include determining the accuracy for the direction of the intra-prediction mode based on the accuracy mode, and determining whether or not to use adaptive accuracy for the direction of the intra-prediction mode, An intra-prediction method characterized by comprising the step of generating a predicted block for the current block using the accuracy and the intra-prediction mode.

15. The intra-prediction method according to claim 14, characterized in that the step of determining the accuracy mode is to determine one of the vertical accuracy mode, horizontal accuracy mode, or general accuracy mode as the accuracy mode with respect to the direction of the intra-prediction mode.

16. A method for transmitting a bitstream containing encoded video data, The aforementioned method, The steps include generating the bitstream for the current block in the video, The step of transmitting the bitstream is included, The step of generating the bitstream for the video is: The steps include determining the intra-prediction mode of the current block and determining whether or not to use adaptive accuracy in the direction of the intra-prediction mode, The step of encoding an adaptive accuracy flag indicating whether or not to use adaptive accuracy for the direction of the intra prediction mode, If the intra prediction mode is a directional prediction mode, The steps include determining a precision mode for the direction according to the direction prediction mode of the surrounding blocks of the current block, The steps include determining the accuracy for the direction of the intra-prediction mode based on the accuracy mode, and determining whether or not to use adaptive accuracy for the direction of the intra-prediction mode, A method characterized by comprising the step of generating a predicted block for the current block using the accuracy and the intra prediction mode.

Citation Information

Patent Citations

  • Control point-based intra-directional representation for intra-coding

    JP2019519972A

  • METHOD, APPARATUS, AND PROGRAM FOR VIDEO DECODING - Patent application

    JP2022512087A

  • Method for encoding and decoding image using adaptive deblocking filtering, and apparatus therefor

    US20180176601A1

  • Method and device for encoding / decoding video signal

    US20180255304A1

  • Control-point based intra direction representation for intra coding

    US20190104303A1