CN117063466A - Video encoding method and apparatus using adaptive intra prediction precision - Google Patents

Video encoding method and apparatus using adaptive intra prediction precision Download PDF

Info

Publication number
CN117063466A
CN117063466A CN202280023513.7A CN202280023513A CN117063466A CN 117063466 A CN117063466 A CN 117063466A CN 202280023513 A CN202280023513 A CN 202280023513A CN 117063466 A CN117063466 A CN 117063466A
Authority
CN
China
Prior art keywords
precision
mode
prediction mode
intra prediction
intra
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280023513.7A
Other languages
Chinese (zh)
Inventor
安镕照
李钟石
朴胜煜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hyundai Motor Co
Kia Corp
DigitalInsights Inc
Original Assignee
Hyundai Motor Co
Kia Corp
DigitalInsights Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020220038224A external-priority patent/KR20220137549A/en
Application filed by Hyundai Motor Co, Kia Corp, DigitalInsights Inc filed Critical Hyundai Motor Co
Priority claimed from PCT/KR2022/004442 external-priority patent/WO2022211463A1/en
Publication of CN117063466A publication Critical patent/CN117063466A/en
Pending legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

A video encoding method and apparatus using adaptive intra prediction accuracy are disclosed. The present embodiment provides a video encoding method and apparatus in which, in intra prediction of a current block, a precision mode is selected with respect to the directionality of the intra prediction mode of the current block according to the recovered directionality prediction mode of the neighboring block, and directional precision is adaptively used based on the selected precision mode.

Description

Video encoding method and apparatus using adaptive intra prediction precision
Technical Field
The present disclosure relates to video coding methods and apparatus using adaptive intra prediction accuracy.
Background
The statements in this section merely provide background information related to the present disclosure and may not necessarily constitute prior art.
Since video data has a large amount of data compared to audio or still image data, the video data requires a large amount of hardware resources (including memory) to store or transmit the video data without processing for compression.
Thus, encoders are commonly used to compress and store or transmit video data. The decoder receives the compressed video data, decompresses the received compressed video data, and plays the decompressed video data. Video compression techniques include h.264/AVC, high Efficiency Video Coding (HEVC), and Versatile Video Coding (VVC), which have improved coding efficiency of about 30% or greater compared to HEVC.
However, since the image size, resolution, and frame rate gradually increase, the amount of data to be encoded also increases. Thus, new compression techniques that provide higher coding efficiency and improved image enhancement than existing compression techniques are needed.
In video compression techniques, intra-prediction predicts pixel values of a current block using restored pixel values surrounding the current block in order to remove spatial redundancy. Intra prediction can be separated into non-directional prediction and directional prediction. In the case of non-directional prediction, the pixel value of the current block may be predicted using an average value of neighboring sample values or using a weighted sum using weights or planes. In the case of directional prediction, the pixel value of the current block may be predicted using directions of various angles such as vertical, horizontal, and diagonal directions.
With the development of video compression techniques, VVC techniques use intra prediction based on 65 directions obtained by subdividing angles, except for vertical, horizontal, and diagonal directions. The VVC technique may also use 28 additional directions depending on the shape of the block. In other words, the VVC technique improves prediction performance by using a large number of directions up to 93 directions in total. However, since the index in the direction should be additionally encoded, there is a problem in that the encoding efficiency is lowered. Therefore, in order to improve coding efficiency, a method of adaptively expressing directions of various angles is required.
Disclosure of Invention
[ problem ]
The present disclosure seeks to provide a video encoding method and apparatus for selecting a precision mode of directionality (directionity) of an intra prediction mode of a current block according to a restored directionality (directional) prediction mode of a neighboring block. The video encoding method and apparatus adaptively use precision based on directionality of a selected precision mode in intra prediction of a current block.
[ technical solution ]
At least one aspect of the present disclosure provides an intra prediction method performed by a video decoding apparatus. The intra prediction method includes decoding an intra prediction mode and an adaptive precision flag of a current block from a bitstream, and checking the intra prediction mode. The adaptive accuracy flag indicates whether adaptive accuracy is used for directionality of the intra prediction mode. Referring to the upper left intra prediction mode, the intra prediction mode is classified into a horizontal directional prediction mode and a vertical directional prediction mode. When the intra prediction mode is a directional prediction mode, the intra prediction method further includes: determining a directional precision mode according to a directional prediction mode of a neighboring block of the current block; determining the accuracy of the directionality of the intra-prediction mode using the accuracy mode and the adaptive accuracy flag; and generates a prediction block of the current block using the precision and the intra prediction mode.
Another aspect of the present invention provides a video decoding apparatus. The video decoding apparatus includes an entropy decoder configured to decode an intra prediction mode and an adaptive precision flag of a current block from a bitstream. The adaptive accuracy flag indicates whether adaptive accuracy is used for directionality of the intra prediction mode. Referring to the upper left intra prediction mode, the intra prediction mode is classified into a horizontal directional prediction mode and a vertical directional prediction mode. The video decoding apparatus further includes an intra predictor configured to check an intra prediction mode. When the intra prediction mode is a directional prediction mode, the intra predictor is configured to: determining a directional precision mode according to a directional prediction mode of a neighboring block of the current block; determining the accuracy of the directionality of the intra prediction mode using the accuracy mode and the adaptive accuracy flag; and generates a prediction block of the current block using the precision and the intra prediction mode.
Yet another aspect of the present invention provides an intra prediction method performed by a video encoding apparatus. The intra prediction method includes: the intra prediction mode and the adaptive accuracy flag of the current block are acquired from a higher layer, and the intra prediction mode is checked. The adaptive accuracy flag indicates whether adaptive accuracy is used for directionality of the intra prediction mode. Referring to the upper left intra prediction mode, the intra prediction mode is classified into a horizontal directional prediction mode and a vertical directional prediction mode. When the intra prediction mode is a directional prediction mode, the intra prediction method further includes: determining a directional precision mode according to a directional prediction mode of a neighboring block of the current block; determining the accuracy of the directionality of the intra prediction mode using the accuracy mode and the adaptive accuracy flag; and generating a prediction block of the current block using the precision and the intra prediction mode.
[ beneficial effects ]
As described above, the present disclosure provides a video encoding method and apparatus for selecting a precision mode for directionality of an intra prediction mode of a current block according to a restored directionality prediction mode of a neighboring block. The video encoding method and apparatus adaptively use precision based on directionality of a selected precision mode in intra prediction of a current block to improve encoding efficiency.
Drawings
Fig. 1 is a block diagram of a video encoding device that may implement the techniques of this disclosure.
Fig. 2 is a diagram illustrating a method for separating blocks using a quadtree plus binary tree trigeminal tree (QTBTTT) structure.
Fig. 3a and 3b are diagrams illustrating a plurality of intra prediction modes including a wide-angle intra prediction mode.
Fig. 4 is a view showing neighboring blocks of the current block.
Fig. 5 is a block diagram illustrating a video decoding device in which the techniques of this disclosure may be implemented.
Fig. 6 is an explanatory diagram showing directionality according to an intra prediction mode.
Fig. 7 is a schematic diagram showing intra prediction processing when the intra prediction mode is 63.
Fig. 8a to 8c are schematic diagrams showing directivity expressed with 1/16, 1/32 and 1/64 sampling precision for a preset 45 degree section.
Fig. 9 is an explanatory diagram showing directionality of intra prediction used in a vertical precision mode according to an embodiment of the present disclosure.
Fig. 10 is an explanatory diagram showing directionality of intra prediction used in a horizontal precision mode according to an embodiment of the present disclosure.
Fig. 11a to 11c are explanatory diagrams illustrating precision modes of prediction modes based on neighboring blocks according to an embodiment of the present disclosure.
Fig. 12 is a flowchart illustrating a video encoding method using adaptive intra prediction accuracy according to an embodiment of the present disclosure.
Fig. 13 is a flowchart illustrating a video decoding method using adaptive intra prediction accuracy according to an embodiment of the present disclosure.
Detailed Description
Hereinafter, some embodiments of the present disclosure are described in detail with reference to the accompanying drawings. In the following description, like reference numerals denote like elements, although the elements are shown in different drawings. Furthermore, in the following description of some embodiments, a detailed description of related known components and functions when considered as obscuring the subject matter of the present disclosure has been omitted for the sake of clarity and conciseness.
Fig. 1 is a block diagram of a video encoding device in which the techniques of this disclosure may be implemented. Hereinafter, a video encoding apparatus and components of the apparatus are described with reference to the diagram of fig. 1.
The encoding apparatus may include a picture separator 110, a predictor 120, a subtractor 130, a converter 140, a quantizer 145, a rearrangement unit 150, an entropy encoder 155, an inverse quantizer 160, an inverse converter 165, an adder 170, a loop filter unit 180, and a memory 190.
Each component of the encoding apparatus may be implemented as hardware or software or as a combination of hardware and software. Further, the function of each component may be implemented as software, and a microprocessor may also be implemented to execute the function of the software corresponding to each component.
A video is made up of one or more sequences of pictures. Each picture is separated into a plurality of regions, and encoding is performed on each region. For example, a picture is separated into one or more tiles or/and slices. Herein, one or more tiles may be defined as a tile set. Each tile or/and slice is separated into one or more Coding Tree Units (CTUs). In addition, each CTU is separated into one or more Coding Units (CUs) by a tree structure. Information applied to each CU is encoded as syntax (syntax) of the CU, and information commonly applied to CUs included in one CTU is encoded as syntax of the CTU. Further, information commonly applied to all blocks in one slice is encoded as a syntax of a slice header, and information applied to all blocks constituting one or more pictures is encoded as a Picture Parameter Set (PPS) or a picture header. Furthermore, information commonly referred to by a plurality of pictures is encoded into a Sequence Parameter Set (SPS). In addition, information commonly referenced by one or more SPS is encoded to a Video Parameter Set (VPS). Further, information commonly applied to one tile or group of tiles may also be encoded as the syntax of the tile or group of tiles header. The syntax included in the SPS, PPS, slice header, tile, or tile set header may be referred to as a high level syntax (high level syntax).
The picture separator 110 determines the size of a Coding Tree Unit (CTU). Information about the size of the CTU (CTU size) is encoded as a syntax of the SPS or PPS and delivered to the video decoding device.
The picture separator 110 separates each picture constituting a video into a plurality of Coded Tree Units (CTUs) having a predetermined size, and then recursively separates the CTUs by using a tree structure. Leaf nodes in the tree structure become Coding Units (CUs), which are the basic units of coding.
The tree structure may be a Quadtree (QT) in which a higher node (or parent node) is divided into four lower nodes (or child nodes) of the same size. The tree structure may also be a Binary Tree (BT) in which the higher node is split into two lower nodes. The tree structure may also be a Trigeminal Tree (TT), wherein the higher nodes are represented by 1:2: the ratio of 1 is split into three lower nodes. The tree structure may also be a structure in which two or more of a QT structure, a BT structure, and a TT structure are mixed. For example, a quadtree plus binary tree (QTBT) structure may be used or a quadtree plus binary tree trigeminal tree (QTBTTT) structure may be used. Here, BTTT is added to the tree structure, called multi-type tree (MTT).
Fig. 2 is a diagram for describing a method of separating blocks by using the QTBTTT structure.
As shown in fig. 2, CTUs may be first divided into QT structures. Quadtree splitting may be recursive until the size of the splitting block reaches the minimum block size (MinQTSize) of leaf nodes allowed in QT. A first flag (qt_split_flag) indicating whether each node of the QT structure is divided into four nodes of a lower layer is encoded by the entropy encoder 155 and transmitted to a video decoding apparatus. When the leaf node of QT is not greater than the maximum block size (MaxBTSize) of the root node allowed in BT, the leaf node may be further separated into at least one of a BT structure and a TT structure. There may be multiple directions of separation in the BT structure and/or the TT structure. For example, there may be two directions, i.e., a direction in which the blocks of the corresponding nodes are horizontally separated and a direction in which the blocks of the corresponding nodes are vertically separated. As shown in fig. 2, when the MTT separation starts, a second flag (MTT _split_flag) indicating whether the node is separated and a flag additionally indicating a separation direction (vertical or horizontal) and/or a flag indicating a separation type (binary or ternary) if the node is separated are encoded by the entropy encoder 155 and signaled to the video decoding apparatus.
Alternatively, a CU split flag (split_cu_flag) indicating whether a node is split may be encoded before encoding a first flag (qt_split_flag) indicating whether each node is split into four kinds of nodes of a lower layer. When the value of the CU split flag (split_cu_flag) indicates that each node is not split, the block of the corresponding node becomes a leaf node in the split tree structure and becomes a CU as a basic unit of encoding. When the value of the CU split flag (split_cu_flag) indicates that each node has been split, the video encoding apparatus first starts encoding the first flag through the above scheme.
When QTBT is used as another example of the tree structure, there may be two types, i.e., a block of a corresponding node is horizontally split into two blocks having the same size and type (i.e., symmetrical horizontal split) and a block of a corresponding node is vertically split into two blocks having the same size and type (i.e., symmetrical vertical split). A split flag (split_flag) indicating whether each node of the BT structure is split into lower-layer blocks and split type information indicating a split type are encoded by the entropy encoder 155 and delivered to the video decoding apparatus. Meanwhile, there may be a type in which a block of a corresponding node is separated into two blocks in an asymmetric form with each other. The asymmetric form may include where the blocks of the corresponding nodes are separated to have 1:3, or may also include a form in which blocks of corresponding nodes are separated in a diagonal direction.
A CU may have different sizes according to QTBT or QTBTTT separation from CTUs. Hereinafter, a block corresponding to a CU to be encoded or decoded (i.e., a leaf node of QTBTTT) is referred to as a "current block". Since QTBTTT split is adopted, the shape of the current block may be rectangular in shape in addition to square shape.
The predictor 120 predicts a current block to generate a predicted block. Predictor 120 includes an intra predictor 122 and an inter predictor 124.
In general, each current block in a picture may be predictively coded. In general, prediction of a current block may be performed by using an intra prediction technique (using data from a picture including the current block) or an inter prediction technique (using data from a picture compiled before the picture including the current block). Inter prediction includes both unidirectional prediction and bi-directional prediction.
The intra predictor 122 predicts pixels in the current block by using pixels (reference pixels) located at neighboring positions of the current block in the current picture including the current block. Depending on the prediction direction, there are multiple intra prediction modes. For example, as shown in fig. 3a, the plurality of intra prediction modes may include 2 non-directional modes including a planar mode and a DC mode, and may include 65 directional modes. The adjacent pixels and the arithmetic equation to be used are differently defined according to each prediction mode.
In order to perform efficient directional prediction on the current block having a rectangular shape, directional modes (# 67 to # 80), intra prediction modes # -1 to # -14) as indicated by dotted arrows in fig. 3b may be additionally used. The orientation mode may be referred to as a "wide-angle intra prediction mode". In fig. 3b, the arrows indicate the corresponding reference samples for prediction and do not represent the prediction direction. The predicted direction is opposite to the direction indicated by the arrow. When the current block has a rectangular shape, the wide-angle intra prediction mode is a mode in which prediction is performed in a direction opposite to a specific directivity mode without additional bit transmission. In this case, in the wide-angle intra prediction mode, some wide-angle intra prediction modes available for the current block may be determined by a ratio of the width and the height of the current block having a rectangular shape. For example, when the current block has a rectangular shape having a height smaller than a width, wide-angle intra prediction modes (intra prediction modes #67 to # 80) having angles smaller than 45 degrees are available. When the current block has a rectangular shape having a width greater than a height, a wide-angle intra prediction mode having an angle greater than-135 degrees may be used.
The intra predictor 122 may determine intra prediction to be used for encoding the current block. In some examples, intra predictor 122 may encode the current block by using a plurality of intra prediction modes, and may also select an appropriate intra prediction mode to be used from among the test modes. For example, the intra predictor 122 may calculate a rate-distortion value by using a rate-distortion analysis of intra prediction modes for a plurality of tests, and may also select an intra prediction mode having the best rate-distortion characteristic among the tested modes.
The intra predictor 122 selects one intra prediction mode among a plurality of intra prediction modes, and predicts the current block by using neighboring pixels (reference pixels) and an arithmetic equation determined according to the selected intra prediction mode. Information of the selected intra prediction mode is encoded by the entropy encoder 155 and delivered to a video decoding device.
The inter predictor 124 generates a prediction block for the current block by using a motion compensation process. The inter predictor 124 searches for a block most similar to the current block in a reference picture encoded and decoded earlier than the current picture, and generates a prediction block for the current block by using the searched block. In addition, a Motion Vector (MV) is generated, which corresponds to a displacement between a current block in the current picture and a predicted block in the reference picture. In general, motion estimation is performed on a luminance component, and a motion vector calculated based on the luminance component is used for both the luminance component and the chrominance component. Motion information including information on a reference picture and information on a motion vector for predicting a current block is encoded by the entropy encoder 155 and delivered to a video decoding device.
The inter predictor 124 may also perform interpolation on reference pictures or reference blocks in order to increase the accuracy of the prediction. In other words, sub-samples between two consecutive integer samples are interpolated by applying the filter coefficients to a plurality of consecutive integer samples comprising the two integer samples. When the process of searching for a block most similar to the current block is performed with respect to the interpolated reference picture, it is possible to represent not an integer-sampling-unit precision but a decimal-unit precision with respect to the motion vector. The precision or resolution of the motion vector may be set differently for each target region to be encoded (e.g., units such as slices, tiles, CTUs, CUs, etc.). When this Adaptive Motion Vector Resolution (AMVR) is applied, information on the motion vector resolution to be applied to each target region should be signaled for each target region. For example, when the target area is a CU, information about the resolution of a motion vector applied to each CU is signaled. The information on the resolution of the motion vector may be information representing the accuracy of a motion vector difference, which will be described below.
Meanwhile, the inter predictor 124 may perform inter prediction by using bi-directional prediction. In the case of bi-prediction, two reference pictures and two motion vectors representing the block positions in each reference picture that are most similar to the current block are used. The inter predictor 124 selects a first reference picture and a second reference picture from the reference picture list0 (RefPicList 0) and the reference picture list1 (RefPicList 1), respectively. The inter predictor 124 also searches for a block most similar to the current block in the corresponding reference picture to generate a first reference block and a second reference block. In addition, a prediction block of the current block is generated by averaging or weighted-averaging the first reference block and the second reference block. In addition, motion information including information on two reference pictures for predicting the current block and information on two motion vectors is delivered to the entropy encoder 155. Here, the reference picture list0 may be composed of pictures preceding the current picture in display order among the pre-restored pictures, and the reference picture list1 may be composed of pictures following the current picture in display order among the pre-restored pictures. However, although not particularly limited thereto, a pre-restored picture following the current picture in display order may be additionally included in the reference picture list 0. Conversely, a pre-restored picture preceding the current picture may be additionally included in the reference picture list 1.
In order to minimize the number of bits consumed for encoding motion information, various methods may be used.
For example, when the reference picture and the motion vector of the current block are identical to those of the neighboring block, the encoding can identify information of the neighboring block to deliver the motion information of the current block to the video decoding apparatus. This approach is called merge mode.
In the merge mode, the inter predictor 124 selects a predetermined number of merge candidate blocks (hereinafter, referred to as "merge candidates") from neighboring blocks of the current block.
As shown in fig. 4, all or some of a left block A0, a lower left block A1, an upper block B0, an upper right block B1, and an upper left block B2 adjacent to the current block in the current picture may be used as adjacent blocks for deriving a merge candidate. Further, blocks within a reference picture (which may be the same as or different from a reference picture used to predict the current block) other than the current picture in which the current block is located may also be used as merging candidates. For example, a block co-located with the current block or a block adjacent to the co-located block within the reference picture may be additionally used as a merge candidate. If the number of merging candidates selected by the method described above is less than the preset number, a zero vector is added to the merging candidates.
The inter predictor 124 configures a merge list including a predetermined number of merge candidates by using neighboring blocks. A merge candidate to be used as motion information of the current block is selected from among the merge candidates included in the merge list, and merge index information for identifying the selected candidate is generated. The generated merging index information is encoded by the entropy encoder 155 and delivered to a video decoding device.
The merge skip mode is a special case of the merge mode. After quantization, when all transform coefficients used for entropy encoding are close to zero, only neighboring block selection information is transmitted and no residual signal is transmitted. By using the merge skip mode, relatively high encoding efficiency can be achieved for images with slight motion, still images, screen content images, and the like.
Hereinafter, a merge mode (merge mode) and a merge (merge skip mode) skip mode are collectively referred to as a merge/skip mode.
Another method for encoding motion information is the Advanced Motion Vector Prediction (AMVP) mode.
In the AMVP mode, the inter predictor 124 derives a motion vector predictor candidate for a motion vector of a current block by using neighboring blocks of the current block. As the neighboring blocks used to derive the motion vector predictor candidates, all or some of the left block A0, the lower left block A1, the upper block B0, the upper right block B1, and the upper left block B2, which are neighboring to the current block in the current picture shown in fig. 4, may be used. Furthermore, blocks located within a reference picture (which may be the same as or different from a reference picture used to predict the current block) other than the current picture where the current block is located may also be used as neighboring blocks used to derive motion vector predictor candidates. For example, a co-located block with the current block or a block adjacent to the co-located block within the reference picture may be used. If the number of motion vector candidates selected by the above method is less than a preset number, a zero vector is added to the motion vector candidates.
The inter predictor 124 derives a motion vector predictor candidate by using the motion vectors of the neighboring blocks and determines a motion vector predictor for the motion vector of the current block by using the motion vector predictor candidate. In addition, a motion vector difference is calculated by subtracting a motion vector predictor from a motion vector of the current block.
The motion vector predictor (motion vector predictor) may be obtained by applying a predefined function (e.g., a center value and average value calculation, etc.) to the motion vector predictor candidates. In this case, the video decoding device is also aware of the predefined function. In addition, since the neighboring block used to derive the motion vector predictor candidate is a block for which encoding and decoding have been completed, the video decoding apparatus may also already know the motion vector of the neighboring block. Therefore, the video encoding apparatus does not need to encode information for identifying the motion vector predictor candidates. Thus, in this case, information on a motion vector difference and information on a reference picture for predicting the current block are encoded.
Meanwhile, the motion vector predictor may also be determined by selecting a scheme of any one of the motion vector predictor candidates. In this case, information for identifying the selected motion vector predictor candidate is additionally encoded in combination with information about the motion vector difference and information about the reference picture used for predicting the current block.
The subtractor 130 generates a residual block (residual block) by subtracting the prediction block generated by the intra predictor 122 or the inter predictor 124 from the current block.
The converter 140 converts a residual signal in a residual block having pixel values of a spatial domain into transform coefficients of a frequency domain. The converter 140 may transform the residual signal in the residual block by using the total size of the residual block as a transform unit, or may also separate the residual block into a plurality of sub-blocks and may perform the transform by using the sub-blocks as transform units. Alternatively, the residual block is separated into two sub-blocks, a transform region and a non-transform region, respectively, to transform the residual signal using only the transform region sub-block as a transform unit. Here, the transform region sub-block may be based on a horizontal axis (or vertical axis) having 1:1, one of two rectangular blocks of size ratio. In this case, a flag (cu_sbt_flag) indicates that only the sub-block is transformed, and directional (vertical/horizontal) information (cu_sbt_horizontal_flag) and/or position information (cu_sbt_pos_flag) is encoded by the entropy encoder 155 and signaled to the video decoding device. Furthermore, the transform region sub-block may have a size of 1 based on the horizontal axis (or vertical axis): 3. In this case, the partition corresponding separate flag (cu_sbt_quad_flag) is additionally encoded by the entropy encoder 155 and signaled to the video decoding device.
Meanwhile, the converter 140 may perform transformation on the residual block separately in the horizontal direction and the vertical direction. For the transformation, different types of transformation functions or transformation matrices may be used. For example, a pair of transform functions for horizontal transforms and vertical transforms may be defined as a Multiple Transform Set (MTS). The converter 140 may select one transform function pair having the highest transform efficiency in the MTS and may transform the residual block in each of the horizontal and vertical directions. The information (mts_idx) of the transform function pairs in the MTS is encoded by the entropy encoder 155 and signaled to the video decoding device.
The quantizer 145 quantizes the transform coefficient output from the converter 140 using quantization parameters and outputs the quantized transform coefficient to the entropy encoder 155. The quantizer 145 may also immediately quantize the relevant residual block without a transform for any block or frame. The quantizer 145 may also apply different quantization coefficients (scaling values) according to the positions of the transform coefficients in the transform block. A quantization matrix applied to transform coefficients quantized in a two-dimensional manner may be encoded and transmitted to a video decoding apparatus.
The rearrangement unit 150 may perform realignment of coefficient values for quantized residual values.
The rearrangement unit 150 may change the 2D coefficient array to a 1D coefficient sequence by using coefficient scanning. For example, the rearrangement unit 150 may output an ID coefficient sequence by scanning the DC coefficient into a high frequency domain coefficient using a zig-zag scan or a diagonal scan. Instead of zig-zag scanning, vertical scanning that scans the 2D coefficient array in the column direction and horizontal scanning that scans the 2D block type coefficients in the row direction may also be used, depending on the size of the transform unit and the intra prediction mode. In other words, according to the size of the transform unit and the intra prediction mode, a scan method to be used may be determined in zig-zag scan, diagonal scan, vertical scan, and horizontal scan.
The entropy encoder 155 generates a bitstream by encoding a sequence of ID quantized transform coefficients output from the rearrangement unit 150 using various encoding schemes including context-based adaptive binary arithmetic coding (CABAC), exponential golomb (Exponential Golomb), and the like.
Further, the entropy encoder 155 encodes information related to block separation (such as CTU size, CTU separation flag, QT separation flag, MTT separation type, MTT separation direction, etc.) to allow the video decoding apparatus to equally separate blocks to the video encoding apparatus. Further, the entropy encoder 155 encodes information on a prediction type indicating whether the current block is encoded by intra prediction or inter prediction. The entropy encoder 155 encodes intra prediction information (i.e., information about an intra prediction mode) or inter prediction information (information about a reference picture index and a motion vector difference in the case of a merge mode, a merge index, and in the case of an AMVP mode) according to a prediction type. Further, the entropy encoder 155 encodes information related to quantization (i.e., information about quantization parameters and information about quantization matrices).
The inverse quantizer 160 inversely quantizes the quantized transform coefficient output from the quantizer 145 to generate a transform coefficient. The inverse transformer 165 transforms the transform coefficients output from the inverse quantizer 160 from the frequency domain to the spatial domain to restore a residual block.
The adder 170 adds the restored residual block to the prediction block generated by the predictor 120 to restore the current block. When intra prediction is performed on the next-order block, pixels in the restored current block may be used as reference pixels.
The loop filter unit 180 performs filtering on the restored pixels in order to reduce block artifacts, ringing artifacts, blurring artifacts, etc., which occur due to block-based prediction and transform/quantization. The loop filter unit 180 as a loop filter may include all or some of a deblocking filter 182, a Sampling Adaptive Offset (SAO) filter 184, and an Adaptive Loop Filter (ALF) 186.
The deblocking filter 182 filters boundaries between restored blocks in order to remove blocking artifacts occurring due to block unit encoding/decoding, and the SAO filter 184 and ALF 186 perform additional filtering of the filtered video for deblocking. The SAO filter 184 and ALF 186 are filters for compensating for differences between restored pixels and original pixels that occur due to lossy encoding. The SAO filter 184 applies an offset as a CTU unit to enhance subjective image quality and coding efficiency. On the other hand, the ALF 186 performs block unit filtering, and applies different filters to compensate for distortion by separating boundaries of respective blocks and the degree of variation. Information about filter coefficients to be used for ALF may be encoded and signaled to a video decoding apparatus.
The restored blocks filtered by the deblocking filter 182, the SAO filter 184, and the ALF 186 are stored in the memory 190. When all blocks in one picture are restored, the restored picture can be used as a reference picture for inter-predicting blocks within a picture to be encoded later.
Fig. 5 is a functional block diagram of a video decoding device in which the techniques of this disclosure may be implemented. Hereinafter, with reference to fig. 5, a video decoding apparatus and components of the apparatus are described.
The video decoding apparatus may include an entropy decoder 510, a rearrangement unit 515, an inverse quantizer 520, an inverse transformer 530, a predictor 540, an adder 550, a loop filter unit 560, and a memory 570.
Similar to the video encoding device of fig. 1, each component of the video decoding device may be implemented as hardware or software or as a combination of hardware and software. Further, the function of each component may be implemented as software, and a microprocessor may also be implemented to execute the function of the software corresponding to each component.
The entropy decoder 510 extracts information related to block separation by decoding a bitstream generated by a video encoding apparatus to determine a current block to be decoded, and extracts prediction information and information about a residual signal required to restore the current block.
The entropy decoder 510 determines the size of CTUs by extracting information about the size of CTUs from a Sequence Parameter Set (SPS) or a Picture Parameter Set (PPS), and separates pictures into CTUs having the determined size. In addition, CTUs are determined to be the highest level of the tree structure, i.e., the root node, and separation information of CTUs may be extracted to separate CTUs using the tree structure.
For example, when the CTU is split using the QTBTTT structure, first a first flag (qt_split_flag) related to the split of QT is extracted to split each node into four kinds of nodes of the lower layer. Further, for a node corresponding to a leaf node of QT, a second flag (MTT _split_flag), a split direction (vertical/horizontal), and/or a split type (binary/ternary) related to the split of MTT are extracted to split the corresponding leaf node into an MTT structure. As a result, each node below the leaf node of QT is recursively split into BT or TT structures.
As another example, when CTUs are separated by using the QTBTTT structure, a CU separation flag (split_cu_flag) indicating whether a CU is separated is extracted. The first flag (qt_split_flag) may also be extracted when the corresponding block is split. During the splitting process, 0 or more recursive MTT splits may occur after 0 or more recursive QT splits for each node. For example, MTT separation may occur immediately relative to CTU, or conversely, QT separation may occur only multiple times.
For another example, when the CTU is split using the QTBT structure, a first flag (qt_split_flag) related to the split of QT is extracted to split each node into four kinds of nodes of the lower layer. Further, a split flag (split_flag) indicating whether a node corresponding to a leaf node of QT is further split into BT and split direction information are extracted.
Meanwhile, when the entropy decoder 510 determines the current block to be decoded by using the separation of the tree structure, the entropy decoder 510 extracts information on a prediction type indicating whether the current block is intra-predicted or inter-predicted. When the prediction type information indicates intra prediction, the entropy decoder 510 extracts syntax elements for intra prediction information (intra prediction mode) of the current block. When the prediction type information indicates inter prediction, the entropy decoder 510 extracts information representing syntax elements (i.e., motion vectors and reference pictures to which the motion vectors refer) for the inter prediction information.
Further, the entropy decoder 510 extracts quantization related information and extracts information on quantized transform coefficients of the current block as information on a residual signal.
The rearrangement unit 515 may rearrange the sequence of the 1D quantized transform coefficients entropy-decoded by the entropy decoder 510 into a 2D coefficient array (i.e., block) in an order reverse to the coefficient scan order performed by the video encoding apparatus.
The inverse quantizer 520 inversely quantizes the quantized transform coefficient and inversely quantizes the quantized transform coefficient by using a quantization parameter. The inverse quantizer 520 may also apply different quantized coefficients (scaling values) to the quantized transform coefficients arranged in 2D. The inverse quantizer 520 may perform inverse quantization by applying a matrix (scaling value) of quantized coefficients from the video encoding device to a 2D array of quantized transform coefficients.
The inverse transformer 530 generates a residual block for the current block by restoring a residual signal through inverse transforming the inverse quantized transform coefficients from the frequency domain to the spatial domain.
Further, when the inverse transformer 530 inversely transforms a partial region (sub-block) of the transform block, the inverse transformer 530 extracts a flag (cu_sbt_flag) where only the sub-block of the transform block is transformed, direction (vertical/horizontal) information (cu_sbt_horizontal_flag) of the sub-block, and/or position information (cu_sbt_pos_flag) of the sub-block. The inverse transformer 530 also inversely transforms transform coefficients of the corresponding sub-block from the frequency domain to the spatial domain to restore a residual signal, and fills an area that is not inversely transformed with a value of "0" as the residual signal to generate a final residual block for the current block.
In addition, when applying MTS, the inverse transformer 530 determines a transformation index or transformation matrix applied in each of the horizontal direction and the vertical direction by using MTS information (mts_idx) signaled from the video encoding apparatus. The inverse converter 530 also performs inverse transformation on the transform coefficients in the transform block in the horizontal direction and the vertical direction by using the determined transform function.
The predictor 540 may include an intra predictor 542 and an inter predictor 544. The intra predictor 542 is activated when the prediction type of the current block is intra prediction, and the inter predictor 544 is activated when the prediction type of the current block is inter prediction.
The intra predictor 542 determines an intra prediction mode of the current block among a plurality of intra prediction modes according to a syntax element of the intra prediction mode extracted from the entropy decoder 510. The intra predictor 542 also predicts the current block by using neighboring reference pixels of the current block according to an intra prediction mode.
The inter predictor 544 determines a motion vector of the current block and a reference picture to which the motion vector refers by using syntax elements for the inter prediction mode extracted from the entropy decoder 510.
The adder 550 restores the current block by adding the residual block output from the inverse transformer 530 to the prediction block output from the inter predictor 544 or the intra predictor 542. In intra prediction of a block to be decoded later, pixels within the restored current block are used as reference pixels.
The loop filter unit 560, which is a loop filter, may include a deblocking filter 562, an SAO filter 564, and an ALF 566. The deblocking filter 562 performs deblocking filtering on boundaries between restored blocks to remove blocking artifacts occurring due to block unit decoding. The SAO filter 564 and ALF 566 perform additional filtering on the restored block after deblocking filtering to compensate for differences between restored pixels and original pixels that occur due to lossy encoding. The filter coefficients of the ALF are determined by using information on the filter coefficients decoded from the bitstream.
The restored blocks filtered by the deblocking filter 562, the SAO filter 564, and the ALF 566 are stored in the memory 570. When all blocks in one picture are restored, the restored picture can be used as a reference picture for inter-predicting blocks within a picture to be encoded later.
In some embodiments, the present invention relates to encoding and decoding video images as described above. More particularly, the present disclosure provides a video encoding method and apparatus for selecting a precision mode for directionality of an intra prediction mode of a current block according to a restored directionality prediction mode of a neighboring block. The video encoding method and apparatus adaptively use the accuracy of directionality in intra prediction of a current block based on a selected accuracy mode.
The following embodiments may be applied to the intra predictor 122 in the video encoding apparatus. Further, the embodiment may be applied to the entropy decoder 510 and the intra predictor 542 in the video decoding apparatus.
In the following description, the term "target block" to be encoded/decoded may be used in the same meaning as the current block or Coding Unit (CU) as described above, or the term "target block" may refer to a partial region of the coding unit.
Hereinafter, a correct (true) specific flag indicates that the value of the corresponding flag is 1, and an incorrect (false) specific flag indicates that the value of the corresponding flag is 0.
Hereinafter, embodiments are described focusing on intra prediction in a video encoding apparatus. Such intra prediction may be performed by intra predictor 122 in the video encoding device, as described above. On the other hand, when necessary for convenience of description, reference is made to a video decoding apparatus. Nevertheless, most of the embodiments described below are similarly applicable to intra predictors 542 in video decoding devices with the same or slight modifications. Meanwhile, the video encoding apparatus determines information (flags and indexes to be described below) related to intra prediction in terms of the rate-distortion optimization. Thereafter, the video encoding device may encode the information to generate a bitstream, and then may transmit the bitstream to the video decoding device. In addition, the video encoding apparatus may acquire information related to intra prediction from a higher layer and perform intra prediction of a current block.
I. Intra prediction
In intra prediction of a Versatile Video Coding (VVC) technique, the intra prediction mode includes a finely divided directional mode (i.e., 2 to 66) in addition to a non-directional mode (i.e., plane and DC), as shown in fig. 3 a. In addition, the intra prediction modes include directional modes (-14 to-1 and 67 to 80) according to wide-angle intra prediction, as added by the example of fig. 3 b. Hereinafter, the directivity mode and the directivity prediction mode may be used interchangeably.
Furthermore, intra prediction may generate a predictor based on a predefined matrix operation using neighboring pixels of the current block and encoding information of the current block. This rule-based prediction method is called MIP (matrix weighted intra prediction).
Fig. 6 is an explanatory diagram showing directionality according to an intra prediction mode.
The intra predictor 122 in the video encoding apparatus may generate a prediction block of the current block by using various directivities according to the directional mode at the time of intra prediction.
As shown in fig. 6, directionality of intra prediction modes corresponding to 50 to 66 may be expressed. Hereinafter, in the example of fig. 6, the intra prediction mode may be represented by predModeIntra, and the directionality may be represented by an angle or an intraPredAngle representing an angle. Each directivity was expressed with an accuracy of 1/32. For example, when the intra prediction mode of the current block is 63, the value of the inprepagle is 23. Therefore, when the scale value (scale value) is 1, the actual value of the angle becomes 23/32. The scale value represents the distance between the reference sample line and the current sample to be predicted in pixels.
Fig. 7 is a schematic diagram showing intra prediction processing when the intra prediction mode is 63.
In the example of fig. 7, the scale value is 5 because the predicted sample is 5 samples away from the recovered neighboring sample. The intra predictor 122 may calculate the position of the reference sample in the restored neighboring samples by multiplying the scale value by the intraPredAngle value. The intra predictor 122 may obtain the reference sample position refPos according to equation 1.
[ son 1]
respos= (scale. Intrapresangle) > >5
The intra predictor 122 may generate predicted samples using values of e, f, g, and h samples, where the values of e, f, g, and h samples are neighboring samples recovered at positions-1, 0, +1, and +2 with respect to refPos. In this case, an interpolation filter may be used. The interpolation filter may have filter coefficients such as f0, f1, f2, and f3. The interpolation filter may have different filter coefficients according to the phase refPhase calculated using the scale and the interpendangle. The phase refPhase can be calculated as in equation 2.
[ son 2]
resphase= (scale. Intrapresangle)% (1 < < 5)
Here, since the product of the scale and the interpendangle is the position of the reference sample represented by 1/32 pixel, the remainder obtained by dividing the product of the scale and the interpendangle by 32 may be the phase. refPhase may have a value of 0 to 31. Thus, the interpolation filter may be implemented using one of 32 different groups of filter coefficients. The video encoding apparatus and the video decoding apparatus may use the same interpolation filter according to the previous protocol. Meanwhile, interpolation filters having different filter coefficients for each of the luminance signal and the chrominance signal may be used.
Adaptive intra prediction accuracy
Fig. 8a to 8c are schematic diagrams showing directivity expressed with 1/16, 1/32 and 1/64 sampling precision for a preset 45 degree section.
As shown in fig. 8b, the 45 degree angle in the preset section may be divided into 16 directivities. Alternatively, as shown in fig. 8c, the angles obtained by separating the 45 degree angle into 16 directivities are further separated, 32 directivities may be used for the predefined section. When 32 directivities are used, refPos and refPhase can be expressed with a 1/64 sampling precision. Alternatively, as shown in fig. 8a, 45 degrees may be separated into 8 directions and used, and refPos and refPhase may be represented with 1/16 sampling precision.
Hereinafter, 1/64 sampling accuracy is referred to as high accuracy, 1/16 sampling accuracy is referred to as low accuracy, and 1/32 sampling accuracy is referred to as reference accuracy. Further, information indicating whether the precision is adaptively used for the directionality of the intra prediction mode of the current block is referred to as an adaptive precision flag adaptive intra flag.
The video encoding device may encode the adaptive intra flag and then may transmit the resulting adaptive intra flag to the video decoding device. Alternatively, the video encoding apparatus may additionally encode the adaptive intra flag only when intra_luma_mpm_flag is 1. Here, the intra_luma_mpm_flag is a flag indicating whether one of neighboring intra prediction modes is used as an intra prediction mode of the current block. As another example, the video encoding apparatus may additionally encode an adaptive intra flag for a preset size and shape of the current block.
Meanwhile, when the adaptive intra flag is 1, 1/16 or 1/64 sampling precision may be used, and when the adaptive intra flag is 0, 1/32 sampling precision may be used.
When the adaptive intra flag is 1, the video encoding apparatus may determine the sampling precision of the current block based on the directional prediction mode information of the neighboring block. When 93 prediction modes as shown in fig. 3b are classified into two groups and the prediction mode classification of the current block is identical to the statistical prediction mode classification of the neighboring block, the video encoding apparatus may determine 1/64 sampling precision. On the other hand, when the prediction mode classification of the current block is different from the statistical prediction mode classification of the neighboring block, 1/16 sampling precision may be determined.
Here, 93 directivity patterns may be divided into two groups as follows. In the example of fig. 3b, referring to 34 as a prediction mode in a direction of 135 degrees representing an upper left (top-left) direction, a prediction mode smaller than 34 is classified as a prediction mode having horizontal directivity. Prediction modes greater than or equal to 34 are classified as prediction modes having vertical directivity. Meanwhile, even when the directivity mode according to the wide-angle intra prediction is considered, classification of the horizontal directivity prediction mode and the vertical directivity prediction mode based on the upper left prediction mode 34 may be equally applied.
When 1/16 sampling precision is used, 16 different interpolation filters may be used for intra prediction, and when 1/64 sampling precision is used, 64 different interpolation filters may be used for intra prediction. The video encoding apparatus and the video decoding apparatus may use the same interpolation filter according to the previous protocol. The coefficients of the respective interpolation filters may be stored and managed in the form of a table indicated by refPhase.
Meanwhile, when the intra predictor 122 searches for the intra prediction mode of the current block, the intra predictor 122 may select one of a vertical precision mode, a horizontal precision mode, and a normal precision mode, and then the selected precision may be used.
Fig. 9 is an explanatory diagram showing directionality of intra prediction used in a vertical precision mode according to an embodiment of the present disclosure.
The vertical precision mode is a precision mode in which a high precision (1/64 sampling precision) directivity is used for a section including the vertical directivity prediction mode and a low precision (1/16 sampling precision) directivity is used for a section including the horizontal directivity prediction mode. When a plurality of neighboring blocks use a vertical directivity intra prediction mode, the vertical directivity uses high precision directivity and the horizontal directivity uses low precision directivity, so that the encoding efficiency can be improved.
On the other hand, as shown in fig. 9, for vertical directivity, when the adaptive accuracy flag adaptive intra flag is 0, reference accuracy (1/32 sampling accuracy) may be used, and when the adaptive accuracy flag is 1, high accuracy may be used. Further, for the horizontal directivity, when the adaptive intra flag is 0, the reference precision may be used, and when the adaptive intra flag is 1, the low precision may be used.
As another embodiment, adaptive intra flag is used to apply high accuracy to vertical directivity, and reference accuracy may always be applied to horizontal directivity.
As another example, a video encoding device may use two adaptive precision flags to indicate whether high precision is used and whether low precision is used.
Meanwhile, when low precision is applied to horizontal directivity in the vertical precision mode, the horizontal directivity representing the intra prediction mode is not limited to the horizontal directivity of 4 to 32 as shown in fig. 9. In order to represent the intra prediction mode with low accuracy, the same number of horizontal directivities as in the example of fig. 9 may be set differently from the example of fig. 9. In this case, these horizontal directivities may be shared in advance between the video encoding apparatus and the video decoding apparatus.
Fig. 10 is an explanatory diagram showing directionality of intra prediction used in a horizontal precision mode according to an embodiment of the present disclosure.
The horizontal precision mode is a precision mode using a high precision (1/64 sampling precision) directivity for a section including the horizontal directivity prediction mode and a low precision (1/16 sampling precision) directivity for a section including the vertical directivity prediction mode. When a plurality of neighboring blocks adopts an intra prediction mode of horizontal directivity, the horizontal directivity adopts high-precision directivity and the vertical directivity adopts low-precision directivity, so that the encoding efficiency can be improved.
Further, as shown in fig. 10, for the horizontal directivity, when the adaptive accuracy flag adaptive intra flag is 0, the reference accuracy (1/32 sampling accuracy) may be used, and when the adaptive accuracy flag is 1, the high accuracy may be used. Further, for vertical directivity, when the adaptive intra flag is 0, reference accuracy may be used, and when the adaptive intra flag is 1, low accuracy may be used.
As another embodiment, adaptive intra flag may be used to apply high accuracy to horizontal directivity, and reference accuracy may always be applied to vertical directivity.
As another example, a video encoding device may use two adaptive precision flags to indicate whether to use high precision and whether to use low precision, as described above.
Meanwhile, when low precision is applied to the vertical directivity in the horizontal precision mode, the vertical directivity representing the intra prediction mode is not limited to the vertical directivity of 36 to 64 as shown in fig. 10. In order to represent the intra prediction mode with low accuracy, the same amount of vertical directivity as in the example of fig. 10 may be set differently from the example of fig. 10. In this case, these vertical directivities may be shared in advance between the video encoding apparatus and the video decoding apparatus.
In the normal accuracy mode, directionality with reference accuracy (1/32 sampling accuracy) can be used for the prediction mode, as shown in fig. 3 b. Therefore, the adaptive accuracy flag is not used in the normal accuracy mode.
Fig. 11a to 11c are explanatory diagrams illustrating precision modes of prediction modes based on neighboring blocks according to an embodiment of the present disclosure.
In the example of fig. 11a, since both the lower left block and the upper right block of the current block use the vertical directional prediction mode, the vertical precision mode may be determined for the directional prediction mode of the current block. In the example of fig. 11b, since both the lower left block and the upper right block of the current block use the horizontal directional prediction mode, the horizontal precision mode may be determined for the directional prediction mode of the current block. Meanwhile, in the example of fig. 11c, since the neighboring block of the current block uses both the vertical directional prediction mode and the horizontal directional prediction mode, the normal precision mode may be determined for the directional prediction mode of the current block.
Hereinafter, a video encoding method and a video decoding method using adaptive intra prediction accuracy are described using the descriptions of fig. 12 and 13.
Fig. 12 is a flowchart illustrating a video encoding method using adaptive intra prediction accuracy according to an embodiment of the present disclosure.
The video encoding apparatus acquires an intra prediction mode and an adaptive precision flag of a current block from a higher layer (S1200). Here, the adaptive precision flag adaptive intra flag indicates whether or not adaptive precision is used for directionality of the intra prediction mode. Further, referring to the upper left intra prediction mode, the intra prediction mode may be classified into a horizontal directional prediction mode and a vertical directional prediction mode.
The video encoding device examines intra prediction modes (1202).
When the intra prediction mode is the directional prediction mode (yes in S1202), the video encoding apparatus performs the following steps.
The video encoding apparatus determines a precision mode of directionality according to a directionality prediction mode of a neighboring block of the current block (S1204).
The video encoding apparatus may determine one of a vertical precision mode, a horizontal precision mode, and a normal precision mode as a precision mode of directionality of the intra prediction mode.
First, in the vertical precision mode, directivity of high precision or reference precision may be used for the vertical directivity prediction mode based on the adaptive precision flag, as shown in fig. 9. Further, based on the adaptive accuracy flag, the directivity of the low accuracy or the reference accuracy may be used for the horizontal directivity prediction mode. At this time, the high precision may be 1/64 sampling precision, the low precision may be 1/16 sampling precision, and the reference precision may be 1/32 sampling precision. Next, in the horizontal precision mode, the directivity of the high precision or the reference precision may be used for the horizontal directivity prediction mode based on the adaptive precision flag, as shown in fig. 10. Further, based on the adaptive accuracy flag, the directionality of the low accuracy or the reference accuracy may be used for the vertical directionality prediction mode. Finally, in the normal precision mode, directionality of the reference precision is used for the intra prediction mode.
When both the lower left block and the upper right block of the current block use the vertical directional prediction mode, the video encoding apparatus determines the vertical precision mode as the precision mode as in the example of fig. 11 a. Alternatively, when both the lower left block and the upper right block of the current block use the horizontal direction prediction mode, the video encoding apparatus may determine the horizontal precision mode as the precision mode, as shown in the example of fig. 11 b. Further, when the lower left block and the upper right block of the current block use both the horizontal directional prediction mode and the vertical directional prediction mode, the video encoding apparatus may determine the normal precision mode as the precision mode, as in the example of fig. 11 c.
The video encoding apparatus determines the accuracy of the directionality of the intra prediction mode using the accuracy mode and the adaptive accuracy flag (S1206).
When the precision mode of the current block is the vertical precision mode and the intra prediction mode is the vertical directivity mode, the video encoding apparatus determines the precision according to the adaptive precision flag. In other words, when the adaptive accuracy flag is 1, the accuracy may be determined as high accuracy, and when the adaptive accuracy flag is 0, the accuracy may be determined as reference accuracy.
Further, when the precision mode of the current block is a vertical precision mode and the intra prediction mode is a horizontal directivity mode, the video encoding apparatus determines the precision according to the adaptive precision flag. In other words, when the adaptive accuracy flag is 1, the accuracy may be determined as low accuracy, and when the adaptive accuracy flag is 0, the accuracy may be determined as reference accuracy.
Meanwhile, when the precision mode of the current block is a horizontal precision mode and the intra prediction mode is a horizontal directivity mode, the video encoding apparatus determines precision according to the adaptive precision flag. In other words, when the adaptive accuracy flag is 1, the accuracy may be determined to be high accuracy, and when the adaptive accuracy flag is 0, the accuracy may be determined to be reference accuracy.
Further, when the precision mode of the current block is a horizontal precision mode and the intra prediction mode is a vertical directivity mode, the video encoding apparatus determines the precision according to the adaptive precision flag. When the adaptive accuracy flag is 1, the accuracy may be determined as low accuracy, and when the adaptive accuracy flag is 0, the accuracy may be determined as reference accuracy.
As another example, a video encoding device may use two adaptive precision flags to indicate whether high precision is used and whether low precision is used.
The video encoding apparatus generates a prediction block of the current block using the precision and the intra prediction mode (S1208).
When the intra prediction mode is a non-directional prediction mode (no in S1202), the video encoding apparatus generates a prediction block of the current block using the intra prediction mode (S1210).
Fig. 13 is a flowchart illustrating a video decoding method using adaptive intra prediction accuracy according to an embodiment of the present disclosure.
The video decoding apparatus decodes an intra prediction mode and an adaptive precision flag of a current block from a bitstream (S1300). Here, the adaptive precision flag adaptive intra flag indicates whether or not adaptive precision is used for directionality of the intra prediction mode. Further, referring to the upper left intra prediction mode, the intra prediction mode may be classified into a horizontal directional prediction mode and a vertical directional prediction mode.
The video decoding apparatus checks an intra prediction mode (1302).
When the intra prediction mode is the directional prediction mode (yes in S1302), the video decoding apparatus performs the following steps.
The video decoding apparatus determines a precision mode for directionality according to a directionality prediction mode of a neighboring block of the current block (S1304). The video decoding apparatus may determine one of a vertical precision mode, a horizontal precision mode, and a normal precision mode as a precision mode of a direction of the intra prediction mode.
The video decoding apparatus determines the accuracy of the directionality of the intra prediction mode using the accuracy mode and the adaptive accuracy flag (S1306).
The video decoding apparatus generates a prediction block of the current block using the precision and the intra prediction mode (S1308).
When the intra prediction mode is a non-directional prediction mode (no in S1302), the video decoding apparatus generates a prediction block of the current block using the intra prediction mode (S1310).
Although the steps in the various flowcharts are described as being performed sequentially, these steps merely illustrate the technical concepts of some embodiments of the present disclosure. Accordingly, one of ordinary skill in the art to which the present disclosure pertains may perform the steps by changing the order depicted in the various figures or by performing more than two steps in parallel. Therefore, the steps in the respective flowcharts are not limited to the time series order shown.
It should be understood that the above description presents illustrative embodiments that may be implemented in various other ways. The functionality described in some embodiments may be implemented in hardware, software, firmware, and/or combinations thereof. It should also be understood that the functional components described in this specification are "… units" to strongly emphasize their independent implementation possibilities.
Meanwhile, various methods or functions described in some embodiments may be implemented as instructions stored in a non-transitory recording medium that can be read and executed by one or more processors. For example, the non-transitory recording medium may include various types of recording apparatuses in which data is stored in a form readable by a computer system. For example, the non-transitory recording medium may include a storage medium such as an erasable programmable read-only memory (EPROM), a flash memory drive, an optical disk drive, a magnetic hard disk drive, a Solid State Drive (SSD), and the like.
Although embodiments of the present disclosure have been described for illustrative purposes, those skilled in the art to which the present disclosure pertains will appreciate that various modifications, additions and substitutions are possible, without departing from the scope and spirit of the present disclosure. Accordingly, embodiments of the present disclosure have been described for brevity and clarity. The scope of the technical idea of the embodiments of the present disclosure is not limited by the drawings. Accordingly, it will be understood by those of ordinary skill in the art to which this disclosure pertains that the scope of this disclosure is not limited to the embodiments explicitly described above, but is limited by the claims and their equivalents.
(reference numerals)
122: intra-frame predictor
510: entropy decoder
542: intra-frame predictor
Cross Reference of Related Applications
The present application claims priority from korean patent application No. 10-2021-0043657 filed on day 2021, month 4 and day 28 and korean patent application No. 10-2022-0038224 filed on day 2022, month 3, the disclosures of which are incorporated herein by reference in their entireties.

Claims (17)

1. An intra prediction method performed by a video decoding apparatus, the intra prediction method comprising:
decoding an intra prediction mode and an adaptive precision flag of a current block from a bitstream; wherein the adaptive accuracy flag indicates whether adaptive accuracy is used for directionality of the intra-prediction mode, and wherein the intra-prediction mode is classified into a horizontal directionality prediction mode and a vertical directionality prediction mode with reference to an upper left intra-prediction mode;
Checking the intra prediction mode;
when the intra prediction mode is a directional prediction mode:
determining a precision mode of the directivity according to a directivity prediction mode of a neighboring block of the current block;
determining a precision of the directionality of the intra prediction mode using the precision mode and the adaptive precision flag; and is also provided with
A prediction block of the current block is generated using the precision and the intra prediction mode.
2. The intra-prediction method of claim 1, wherein determining the precision mode comprises:
one of a vertical precision mode, a horizontal precision mode, and a normal precision mode is determined as the precision mode of the directionality of the intra prediction mode.
3. The intra prediction method according to claim 2, wherein the vertical precision mode uses directionality of high precision or reference precision for the vertical directionality prediction mode, and the vertical precision mode uses directionality of low precision or reference precision for the horizontal directionality prediction mode.
4. The intra prediction method according to claim 2, wherein the horizontal precision mode uses a high precision or reference precision directivity for the horizontal directivity prediction mode, and wherein the horizontal precision mode uses a low precision or reference precision directivity for the vertical directivity prediction mode.
5. The intra prediction method according to claim 2, wherein the normal precision mode uses directionality of reference precision for the intra prediction mode.
6. An intra prediction method according to claim 3, wherein the high precision is 1/64 sampling precision, the low precision is 1/16 sampling precision, and the reference precision is 1/32 sampling precision.
7. The intra-prediction method of claim 3, wherein determining the precision mode comprises:
when both the lower left block and the upper right block of the current block use the vertical directional prediction mode, the vertical precision mode is determined as the precision mode of the directionality.
8. The intra prediction method according to claim 3, wherein determining the precision of the directionality comprises:
when the precision mode is the vertical precision mode and the intra prediction mode is the vertical directivity prediction mode, determining the precision according to the adaptive precision flag, and
wherein the precision is determined to be high when the adaptive precision flag is 1, and the precision is determined to be reference precision when the adaptive precision flag is 0.
9. The intra prediction method according to claim 3, wherein determining the precision of the directionality comprises:
when the precision mode is the vertical precision mode and the intra prediction mode is the horizontal directivity prediction mode, determining the precision according to the adaptive precision flag, and
wherein the precision is determined to be low when the adaptive precision flag is 1, and the precision is determined to be reference precision when the adaptive precision flag is 0.
10. The intra prediction method of claim 4, wherein determining the precision mode comprises:
when both the lower left block and the upper right block of the current block use the horizontal directional prediction mode, the horizontal precision mode is determined as the precision mode of the directionality.
11. The intra prediction method according to claim 4, wherein determining the precision of the directionality comprises:
when the precision mode is the horizontal precision mode and the intra prediction mode is the horizontal directional prediction mode, determining the precision according to the adaptive precision flag, and
wherein the precision is determined to be high when the adaptive precision flag is 1, and the precision is determined to be reference precision when the adaptive precision flag is 0.
12. The intra prediction method according to claim 4, wherein determining the precision of the directionality comprises:
when the precision mode is the horizontal precision mode and the intra prediction mode is the vertical directivity prediction mode, determining the precision according to the adaptive precision flag, and
wherein the precision is determined to be low when the adaptive precision flag is 1, and the precision is determined to be reference precision when the adaptive precision flag is 0.
13. The intra-prediction method of claim 2, wherein determining the precision mode comprises:
when both the lower left block and the upper right block of the current block use both the horizontal directivity prediction mode and the vertical directivity prediction mode, the normal precision mode is determined as the precision mode of the directivity.
14. A video decoding apparatus comprising:
an entropy decoder configured to decode an intra prediction mode and an adaptive precision flag of a current block from a bitstream, wherein the adaptive precision flag indicates whether adaptive precision is used for directionality of the intra prediction mode, and wherein the intra prediction mode is classified into a horizontal directionality prediction mode and a vertical directionality prediction mode with reference to an upper left intra prediction mode; and
An intra predictor configured to examine the intra prediction mode,
wherein when the intra prediction mode is a directional prediction mode, the intra predictor is configured to determine a precision mode of the directionality according to a directional prediction mode of a neighboring block of the current block, determine a precision of the directionality of the intra prediction mode using the precision mode and the adaptive precision flag, and generate a prediction block of the current block using the precision and the intra prediction mode.
15. The intra-prediction method of claim 14, wherein the intra-predictor is configured to determine one of a vertical precision mode, a horizontal precision mode, or a normal precision mode as the precision mode of the directionality of the intra-prediction mode.
16. An intra prediction method performed by a video encoding device, the intra prediction method comprising:
obtaining an intra prediction mode and an adaptive accuracy flag of a current block from a higher layer, wherein the adaptive accuracy flag indicates whether to use adaptive accuracy for directionality of the intra prediction mode, and wherein the intra prediction mode is classified into a horizontal directionality prediction mode and a vertical directionality prediction mode with reference to an upper left intra prediction mode;
Checking the intra prediction mode; and is also provided with
When the intra prediction mode is a directional prediction mode:
determining a precision mode of the directivity according to a directivity prediction mode of a neighboring block of the current block;
determining a precision of the directionality of the intra prediction mode using the precision mode and the adaptive precision flag; and is also provided with
A prediction block of the current block is generated using the precision and the intra prediction mode.
17. The intra-prediction method of claim 16, wherein determining the precision mode comprises:
one of a vertical precision mode, a horizontal precision mode, and a normal precision mode is determined as the precision mode of the directionality of the intra prediction mode.
CN202280023513.7A 2021-04-02 2022-03-29 Video encoding method and apparatus using adaptive intra prediction precision Pending CN117063466A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2021-0043657 2021-04-02
KR1020220038224A KR20220137549A (en) 2021-04-02 2022-03-28 Video Coding Method and Apparatus Using Adaptive Intra Prediction Precision
KR10-2022-0038224 2022-03-28
PCT/KR2022/004442 WO2022211463A1 (en) 2021-04-02 2022-03-29 Video coding method and device using adaptive intra-prediction precision

Publications (1)

Publication Number Publication Date
CN117063466A true CN117063466A (en) 2023-11-14

Family

ID=88661314

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280023513.7A Pending CN117063466A (en) 2021-04-02 2022-03-29 Video encoding method and apparatus using adaptive intra prediction precision

Country Status (1)

Country Link
CN (1) CN117063466A (en)

Similar Documents

Publication Publication Date Title
US20230412799A1 (en) Method and apparatus for video coding using derivation of intra prediction mode
CN116530082A (en) Method and apparatus for video coding using intra prediction
CN113812147B (en) Image encoding and decoding using intra-block copy
KR20220071939A (en) Method and Apparatus For Video Encoding and Decoding
CN117063466A (en) Video encoding method and apparatus using adaptive intra prediction precision
US20240031564A1 (en) Method and apparatus for video coding using adaptive intra prediction precision
US20230283768A1 (en) Method for predicting quantization parameter used in a video encoding/decoding apparatus
US20230300325A1 (en) Video coding method and apparatus using intra prediction
US20240031558A1 (en) Method and apparatus for video coding using block vector with adaptive spatial resolution
US20230412811A1 (en) Method and apparatus for video coding using spiral scan order
US20240114131A1 (en) Video encoding/decoding method and apparatus
US11997255B2 (en) Video encoding and decoding using intra block copy
US20230291928A1 (en) Video encoding and decoding method and apparatus using selective subblock split information signaling
US20240114148A1 (en) Video encoding and decoding method for adaptively determining chroma intra directional prediction mode
CN116982310A (en) Video encoding method and apparatus using motion vector with adaptive spatial resolution for each component
CN117044197A (en) Method and apparatus for video encoding and decoding using derived intra prediction modes
KR20220137549A (en) Video Coding Method and Apparatus Using Adaptive Intra Prediction Precision
CN116711312A (en) Image encoding and decoding method for adaptively determining intra-chroma direction prediction mode
KR20230160171A (en) Method And Apparatus for Video Coding Using Fusion Cross-component Prediction
KR20230059135A (en) Video Coding Method And Apparatus Using Various Block Partitioning Structure
CN117795956A (en) Video encoding/decoding method and apparatus
KR20220137553A (en) Video Coding Method and Apparatus Using Decoder-side Motion Compensation
KR20230038097A (en) Method and apparatus for video encoding and decoding
CN116472710A (en) Method and apparatus for generating residual signal using reference between components
CN117044200A (en) Method and apparatus for video encoding and decoding using spiral scan order

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination