Method and Apparatus for Intra Prediction Based on Deriving Prediction Mode

KR103012354B1Active Publication Date: 2026-09-01HYUNDAI MOTOR CO LTD +2
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
KR1020200034277
Authority / Receiving Office
KR · KR
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-03-20
Filing Date
2020-03-20
Publication Date
2026-09-01
Estimated Expiration
2040-03-20

Smart Images

  • Figure 112020029490921-PAT00006_ABST
    Figure 112020029490921-PAT00006_ABST
Patent Text Reader

Abstract

An intra-prediction method used in a video encoding and decoding device is disclosed. The present embodiment provides an intra prediction device and method that derive an intra prediction mode of a current block by referring to an intra prediction mode of a previously restored surrounding block, and generate a prediction sample for the current block by performing intra prediction using the derived prediction mode.
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] The present invention relates to an intra prediction method used in an image encoding and decoding device. More specifically, it relates to an intra prediction method for estimating the intra prediction mode of a current block by referring to the intra prediction mode of a previously restored surrounding block. Background Technology

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

[0003] Since video data contains a large amount of data compared to audio or still image data, storing or transmitting it as is without compression processing requires significant hardware resources, including memory.

[0004] Therefore, typically, when storing or transmitting video data, an encoder is used to compress the video data for storage or transmission, and a decoder receives the compressed video data, decompresses it, and plays it. Such video compression technologies include H.264 / AVC, as well as HEVC (High Efficiency Video Coding), which improves coding efficiency by about 40% compared to H.264 / AVC.

[0005] However, as video size, resolution, and frame rates are gradually increasing, and the amount of data that needs to be encoded is also growing accordingly, a new compression technology is required that offers better encoding efficiency and higher image quality improvement effects than existing compression technologies. The problem to be solved

[0006] The present disclosure derives an intra prediction mode of a current block by referring to an intra prediction mode of a previously restored surrounding block, and generates a prediction sample for the current block by performing intra prediction using the derived prediction mode. The main purpose is to provide an intra-prediction device and method. means of solving the problem

[0007] According to an embodiment of the present invention, an intra prediction method used by an intra prediction device comprises: a step of decoding mode information from a bitstream that indicates the use of a prediction estimation mode for a prediction mode block; a step of estimating an intra prediction mode of each pixel group from the intra prediction modes of reference pixels at multiple previously restored locations around the prediction mode block, in units of pixel groups including one or more pixels within the prediction mode block; and a step of intra predicting pixels within each pixel group using the intra prediction modes of each pixel group.

[0008] According to another embodiment of the present invention, an intra prediction device is provided, comprising: an entropy decoding unit that decodes mode information from a bitstream indicating the use of a prediction estimation mode for a prediction mode block; a prediction mode estimation unit that estimates an intra prediction mode of each pixel group from the intra prediction modes of reference pixels at multiple previously restored locations around the prediction mode block, in units of pixel groups including one or more pixels within the prediction mode block; and a prediction sample generation unit that intra-predicts pixels within each pixel group using the intra prediction modes of each pixel group. Effects of the invention

[0009] As described above, according to the present embodiment, by providing an intra prediction device and method that derive an intra prediction mode of a current block by referring to an intra prediction mode of a previously restored surrounding block, and generate a prediction sample for the current block by performing intra prediction based on the derived prediction mode, it is possible to improve the compression performance of an image encoding and decoding device. Brief explanation of the drawing

[0010] FIG. 1 is an exemplary block diagram of an image encoding device capable of implementing the technologies of the present disclosure. Figure 2 is a diagram illustrating a method for dividing blocks using a QTBTTT structure. Figure 3 is a diagram showing a plurality of intra prediction modes including wide-angle intra prediction modes. FIG. 4 is an exemplary block diagram of an image decoding device capable of implementing the technologies of the present disclosure. FIG. 5 is a block diagram of an intra-prediction device according to one embodiment of the present invention. FIG. 6 is an example diagram of a reference position used for estimating a prediction mode according to one embodiment of the present invention. FIG. 7 is an exemplary diagram of a prediction mode estimation according to one embodiment of the present invention. FIG. 8 is an exemplary diagram of a prediction mode estimation according to another embodiment of the present invention. FIG. 9 is an example diagram of the location of a previously restored reference sample used to generate an intra-predicted sample according to an embodiment of the present invention. FIG. 10 is an example diagram of the location of a previously restored reference sample used to generate an intra-predicted sample according to another embodiment of the present invention. FIG. 11 is an exemplary diagram of intra-prediction of a chroma block according to one embodiment of the present invention. FIG. 12 is a flowchart of an intra prediction method according to one embodiment of the present invention. Specific details for implementing the invention

[0011] Hereinafter, embodiments of the present invention will be described in detail with reference to the exemplary drawings. It should be noted that in assigning reference numerals to the components of each drawing, the same components are given the same reference numeral whenever possible, even if they are shown in different drawings. Furthermore, in describing these embodiments, if it is determined that a detailed description of related known components or functions could obscure the essence of these embodiments, such detailed description is omitted.

[0012] FIG. 1 is an exemplary block diagram of an image encoding device capable of implementing the technologies of the present disclosure. Hereinafter, the image encoding device and its sub-components will be described with reference to FIG. 1.

[0013] The video encoding device may be configured to include a picture splitting unit (110), a prediction unit (120), a subtractor (130), a conversion unit (140), a quantization unit (145), a reordering unit (150), an entropy encoding unit (155), an inverse quantization unit (160), an inverse conversion unit (165), an adder (170), a filter unit (180), and a memory (190).

[0014] Each component of the video encoding device may be implemented in hardware or software, or as a combination of hardware and software. Additionally, the function of each component may be implemented in software, and a microprocessor may be implemented to execute the software function corresponding to each component.

[0015] A single image (video) consists of 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 or / and slices. Here, one or more tiles can be defined as a tile group. Each tile or / slice is divided into one or more Coding Tree Units (CTUs). And each CTU is 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 included in a single CTU is encoded as the CTU syntax. Additionally, information applicable to all blocks within a single slice is encoded as the slice header syntax, and information applicable to all blocks constituting a single picture is encoded in the Picture Parameter Set (PPS) or picture header. Furthermore, information commonly referenced by multiple pictures is encoded in a Sequence Parameter Set (SPS). Also, information commonly referenced by one or more SPSs is encoded in a Video Parameter Set (VPS). Additionally, information commonly applicable to a single tile or tile group may be encoded as the syntax of the tile or tile group header.

[0016] The picture division unit (110) determines the size of the Coding Tree Unit (CTU). Information regarding the size of the CTU (CTU size) is encoded as a syntax of SPS or PPS and transmitted to an image decoder.

[0017] The picture division unit (110) divides each picture constituting the image into multiple Coding Tree Units (CTUs) having a predetermined size, and then recursively divides the CTUs using a tree structure. The leaf nodes in the tree structure become the coding units (CUs) which are the basic units of coding.

[0018] The tree structure may be a QuadTree (QT) in which an upper node (or parent node) is divided into four lower nodes (or child nodes) of equal size, a BinaryTree (BT) in which an upper node is divided into two lower nodes, a TernaryTree (TT) in which an upper node is divided into three lower nodes in a 1:2:1 ratio, or a structure that combines two or more of these QT, BT, and TT structures. For example, a QTBT (QuadTree plus BinaryTree) structure may be used, or a QTBTTT (QuadTree plus BinaryTree TernaryTree) structure may be used. Here, BTTT combined may be referred to as an MTT (Multiple-Type Tree).

[0019] FIG. 2 shows a QTBTTT splitting tree structure. As seen in FIG. 2, the CTU can first be split into a QT structure. Quadtree splitting can be repeated until the size of the splitting block reaches the minimum block size of the leaf node allowed in QT (MinQTSize). A first flag (QT_split_flag) indicating whether each node of the QT structure is split into four nodes of the lower layer is encoded by the entropy encoder (155) and signaled to the image decoder. If the leaf node of the QT is not larger than the maximum block size of the root node allowed in BT (MaxBTSize), it can be further split into one or more of the BT structure or TT structure. In the BT structure and / or TT structure, multiple splitting directions may exist. For example, there may be two directions in which the block of the corresponding node is split horizontally and vertically. As shown in FIG. 2, when MTT splitting begins, a second flag (mtt_split_flag) indicating whether the nodes have been split, and if splitting has occurred, a flag indicating the splitting direction (vertical or horizontal) and / or the splitting type (binary or ternary) are encoded by the entropy encoding unit (155) and signaled to the image decoding device.

[0020] Alternatively, prior to encoding the first flag (QT_split_flag) indicating whether each node is split into four nodes of the lower layer, the CU split flag (split_cu_flag) indicating whether the node is split may be encoded. If the value of the CU split flag (split_cu_flag) indicates that it is not split, the block of the corresponding 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 it is split, the video encoding device starts encoding from the first flag in the manner described above.

[0021] When QTBT is used as another example of a tree structure, there may be two types: a type that divides the block of the corresponding node horizontally into two blocks of the same size (i.e., symmetric horizontal splitting) and a type that divides it vertically (i.e., symmetric vertical splitting). A splitting flag (split_flag) indicating whether each node of the BT structure is split into a block of a lower layer and splitting type information indicating the type of splitting are encoded by the entropy encoding unit (155) and transmitted to the image decoding device. Meanwhile, there may also be an additional type that divides the block of the corresponding node into two blocks of an asymmetric shape. The asymmetric shape may include a shape that divides the block of the corresponding node into two rectangular blocks with a size ratio of 1:3, or a shape that divides the block of the corresponding node diagonally.

[0022] A CU can have various sizes depending on the QTBT or QTBTTT partitioning from a CTU. Hereinafter, the block corresponding to the CU to be encoded or decoded (i.e., the leaf node of QTBTTT) is referred to as the 'current block'. Depending on the adoption of QTBTTT partitioning, the shape of the current block may be not only square but also rectangular.

[0023] The prediction unit (120) predicts the current block and generates a prediction block. The prediction unit (120) includes an intra prediction unit (122) and an inter prediction unit (124).

[0024] Generally, current blocks within a picture can each be predictively coded. Typically, the prediction of a current block can be performed using an intra-prediction technique (using data from the picture containing the current block) or an inter-prediction technique (using data from a picture coded prior to the picture containing the current block). Inter-prediction includes both unidirectional and bidirectional prediction.

[0025] The intra prediction unit (122) predicts pixels within the current block using pixels (reference pixels) located around the current block within the current picture containing the current block. Multiple intra prediction modes exist depending on the prediction direction. For example, as shown in FIG. 3a, multiple intra prediction modes may include two non-directional modes, including a planar mode and a DC mode, and 65 directional modes. The surrounding pixels to be used and the calculation formula are defined differently for each prediction mode.

[0026] For efficient directional prediction for a rectangular current block, directional modes (intra-prediction modes 67 through 80 and -1 through -14) illustrated by dashed arrows in FIG. 3b may be additionally used. These may be referred to as "wide angle intra-prediction modes." In FIG. 3b, the arrows indicate corresponding reference samples used for prediction and do not indicate 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 additional bit transmission when the current block is rectangular. Among the wide angle intra-prediction modes, some wide angle intra-prediction modes available for the current block may be determined by the ratio of the width to the height of the rectangular current block. For example, wide-angle intra-prediction modes with an angle less than 45 degrees (intra-prediction modes 67 to 80) are available when the current block is a rectangular shape with a height less than the width, and wide-angle intra-prediction modes with an angle greater than -135 degrees (intra-prediction modes -1 to -14) are available when the current block is a rectangular shape with a width greater than the height.

[0027] The intra prediction unit (122) can determine the intra prediction mode to use for encoding the current block. In some examples, the intra prediction unit (122) may encode the current block using several intra prediction modes and select an appropriate intra prediction mode to use from the tested modes. For example, the intra prediction unit (122) may calculate rate-distortion values ​​using rate-distortion analysis of several tested intra prediction modes and select an intra prediction mode that has the best rate-distortion features among the tested modes.

[0028] The intra prediction unit (122) selects one intra prediction mode among a plurality of intra prediction modes and predicts the current block using a calculation formula and surrounding pixels (reference pixels) determined according to the selected intra prediction mode. Information regarding the selected intra prediction mode is encoded by the entropy encoding unit (155) and transmitted to the image decoding device.

[0029] The inter prediction unit (124) generates a prediction block for the current block through a motion compensation process. The inter prediction unit (124) searches for the block most similar to the current block within a reference picture that is encoded and decoded before the current picture, and generates a prediction block for the current block using the searched block. Then, it generates a motion vector corresponding to the displacement between the current block in the current picture and the prediction block in the reference picture. Generally, motion estimation is performed on the luminance component, and the motion vector calculated based on the luminance component is used for both the luminance component and the chroma component. Motion information, including information on the reference picture used to predict the current block and information on the motion vector, is encoded by the entropy encoding unit (155) and transmitted to the image decoding device.

[0030] The subtractor (130) generates a residual block by subtracting the prediction block generated by the intra prediction unit (122) or the inter prediction unit (124) from the current block.

[0031] The conversion unit (140) converts residual signals within a residual block having pixel values ​​in a spatial domain into conversion coefficients in the frequency domain. The conversion unit (140) may convert residual signals within the residual block using the entire size of the residual block as the conversion unit, or it may divide the residual block into multiple sub-blocks and use the sub-blocks as the conversion unit to perform the conversion. Alternatively, it may divide the residual block into two sub-blocks, a conversion area and a non-conversion area, and convert residual signals using only the conversion area sub-block as the conversion unit. Here, the conversion area sub-block may be one of two rectangular blocks having a size ratio of 1:1 with respect to the horizontal axis (or vertical axis). In this case, a flag (cu_sbt_flag) indicating that only the sub-block has been converted, direction (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 image decoding device. Additionally, the size of the converted area sub-block may have a size ratio of 1:3 with respect to the horizontal axis (or vertical axis), and in this case, a flag (cu_sbt_quad_flag) distinguishing the corresponding division is additionally encoded by the entropy encoding unit (155) and signaled to the image decoding device.

[0032] Meanwhile, the transformation unit (140) can perform transformations on the residual block individually in the horizontal and vertical directions. For the transformation, various types of transformation functions or transformation matrices may be used. For example, a pair of transformation functions for horizontal transformation and vertical transformation can be defined as a Multiple Transform Set (MTS). The transformation unit (140) can select one pair of transformation functions with the best transformation efficiency among the MTS and transform the residual block in the horizontal and vertical directions, respectively. Information (mts_idx) regarding the selected pair of transformation functions among the MTS is encoded by the entropy encoding unit (155) and signaled to an image decoder. The size of the transformation block to which the MTS is applied may be limited to within 32×32.

[0033] The quantization unit (145) quantizes the conversion coefficients output from the conversion unit (140) and outputs the quantized conversion coefficients to the entropy encoding unit (155).

[0034] The reordering unit (150) can perform reordering of coefficient values ​​for quantized residual values.

[0035] The reordering unit (150) can convert a two-dimensional coefficient array into a one-dimensional coefficient sequence through coefficient scanning. For example, the reordering unit (150) can output a one-dimensional coefficient sequence by scanning from DC coefficients to coefficients in the high-frequency range using a zig-zag scan or a diagonal scan. 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. That is, depending on the size of the conversion unit and the intra-prediction mode, the scanning method to be used among a zig-zag scan, a diagonal scan, a vertical scan, and a horizontal scan may be determined.

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

[0037] Additionally, the entropy encoding unit (155) encodes information related to block division, such as CTU size, CU division flag, QT division flag, MTT division type, and MTT division direction, so that the video decoder can divide the block in the same way as the video encoding unit. Additionally, the entropy encoding unit (155) encodes information regarding a prediction type indicating whether the current block is encoded by intra prediction or by inter prediction, and encodes intra prediction information (i.e., information about the intra prediction mode) or inter prediction information (information about the reference picture and motion vector) according to the prediction type.

[0038] The inverse quantization unit (160) inversely quantizes the quantized transformation coefficients output from the quantization unit (145) to generate transformation coefficients. The inverse transformation unit (165) converts the transformation coefficients output from the inverse quantization unit (160) from the frequency domain to the spatial domain to restore the residual block.

[0039] The adder (170) restores the current block by adding the restored residual block and the prediction block generated by the prediction unit (120). The pixels within the restored current block are used as reference pixels when intra-predicting the next block in sequence.

[0040] The filter unit (180) performs filtering on the restored pixels to reduce blocking artifacts, ringing artifacts, blurring artifacts, etc. caused by block-based prediction and transformation / quantization. The filter unit (180) may include a deblocking filter (182) and a SAO (Sample Adaptive Offset) filter (184).

[0041] The deblocking filter (180) filters the boundaries between restored blocks to remove blocking artifacts caused by block-unit encoding / decoding, and the SAO filter (184) performs additional filtering on the deblocking filtered image. The SAO filter (184) is a filter used to compensate for the difference between the restored pixel and the original pixel caused by lossy coding.

[0042] The restored blocks filtered through the deblocking filter (182) and the SAO filter (184) are stored in memory (190). When all blocks within a picture are restored, the restored picture can be used as a reference picture for inter-predicting blocks within a picture to be encoded later.

[0043] FIG. 4 is an exemplary functional block diagram of an image decoding device capable of implementing the technologies of the present disclosure. Hereinafter, the image decoding device and its sub-components will be described with reference to FIG. 4.

[0044] The image decoding device may be configured to include an entropy decoding unit (410), a reordering unit (415), an inverse quantization unit (420), an inverse transformation unit (430), a prediction unit (440), an adder (450), a filter unit (460), and a memory (470).

[0045] Similar to the image encoding device of FIG. 1, each component of the image decoding device may be implemented in hardware or software, or in combination of hardware and software. Additionally, the function of each component may be implemented in software, and a microprocessor may be implemented to execute the function of the software corresponding to each component.

[0046] The entropy decoding unit (410) determines the current block to be decoded by decoding the bitstream generated by the video encoding device and extracting information related to block division, and extracts prediction information and information about residual signals necessary to restore the current block.

[0047] The entropy decoding unit (410) 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, the CTU is determined 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 for the CTU.

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

[0049] As another example, when splitting a CTU using the QTBTTT structure, a CU splitting flag (split_cu_flag) indicating whether to split the CU is first extracted, and if the block is split, a first flag (QT_split_flag) is extracted. During the splitting process, each node may undergo zero or more iterative MTT splittings after zero or more iterative QT splittings. For example, the CTU may undergo MTT splitting immediately, or conversely, only multiple QT splittings may occur.

[0050] As another example, when splitting a CTU using a QTBT structure, a first flag (QT_split_flag) related to the splitting of QT is extracted to split each node into four nodes of the lower layer. Then, for the nodes corresponding to the leaf nodes of QT, a split flag (split_flag) indicating whether to further split into BTs and split direction information are extracted.

[0051] Meanwhile, when the entropy decoding unit (410) determines the current block to be decoded through the division of the tree structure, it extracts information regarding the prediction type indicating whether the current block is intra-predicted or inter-predicted. If the prediction type information indicates intra-predicted, the entropy decoding unit (410) extracts syntax elements for the intra-predicted information (intra-predicted mode) of the current block. If the prediction type information indicates inter-predicted, the entropy decoding unit (410) extracts syntax elements for the inter-predicted information, namely information indicating the motion vector and the reference picture that the motion vector refers to.

[0052] Meanwhile, the entropy decoder (410) extracts information about the quantized transformation coefficients of the current block as information about the residual signal.

[0053] The reordering unit (415) can change the sequence of one-dimensional quantized transformation coefficients entropy-decoded in the entropy decoding unit (410) back into a two-dimensional coefficient array (i.e., block) in the reverse order of the coefficient scanning order performed by the image encoding device.

[0054] The inverse quantization unit (420) inversely quantizes the quantized transformation coefficients, and the inverse transformation unit (430) inversely transforms the inversely quantized transformation coefficients from the frequency domain to the spatial domain to restore the residual signals, thereby generating a residual block for the current block.

[0055] Additionally, when the inverse transformation unit (430) inversely transforms only a part of the transformation block (sub-block), it extracts a flag (cu_sbt_flag) indicating that only the sub-block of the transformation block has been transformed, information on the directionality (vertical / horizontal) of the sub-block (cu_sbt_horizontal_flag) and / or information on the position of the sub-block (cu_sbt_pos_flag), restores residual signals by inversely transforming the transformation coefficients of the corresponding sub-block from the frequency domain to the spatial domain, and creates a final residual block for the current block by filling the area that has not been inversely transformed with a "0" value as the residual signal.

[0056] Additionally, when MTS is applied, the inverse transformation unit (430) determines a transformation function or transformation matrix to be applied in the horizontal and vertical directions, respectively, using MTS information (mts_idx) signaled from the video encoding device, and performs an inverse transformation on the transformation coefficients within the transformation block in the horizontal and vertical directions using the determined transformation function.

[0057] The prediction unit (440) may include an intra prediction unit (442) and an inter prediction unit (444). The intra prediction unit (442) is activated when the prediction type of the current block is an intra prediction, and the inter prediction unit (444) is activated when the prediction type of the current block is an inter prediction.

[0058] The intra prediction unit (442) determines the intra prediction mode of the current block among a plurality of intra prediction modes from the syntax elements for the intra prediction mode extracted from the entropy decoding unit (410), and predicts the current block using reference pixels around the current block according to the intra prediction mode.

[0059] The inter prediction unit (444) determines the motion vector of the current block and the reference picture that the motion vector refers to using the syntax elements for the inter prediction mode extracted from the entropy decoding unit (410), and predicts the current block using the motion vector and the reference picture.

[0060] The adder (450) restores the current block by adding the residual block output from the inverse transformation unit and the prediction block output from the inter prediction unit or the intra prediction unit. The pixels within the restored current block are used as reference pixels when intra-predicting the block to be decoded later.

[0061] The filter unit (460) may include a deblocking filter (462) and an SAO filter (464). The deblocking filter (462) deblocks the boundaries between restored blocks to remove blocking artifacts caused by block-unit decoding. The SAO filter (464) performs additional filtering on the restored blocks after deblocking filtering to compensate for the difference between the restored pixels and the original pixels caused by lossy coding. The restored blocks filtered through the deblocking filter (462) and the SAO filter (464) are stored in memory (470). When all blocks within a picture are restored, the restored picture is used as a reference picture to inter-predict blocks within the picture to be encoded later.

[0062] The present embodiment discloses a new intra prediction technique that can be implemented by the image encoding and decoding device described above. More specifically, it provides an intra prediction device and method that derive an intra prediction mode of a current block by referring to an intra prediction mode of a previously restored surrounding block, and perform intra prediction using the derived prediction mode.

[0063] FIG. 5 is a block diagram of an intra-prediction device according to one embodiment of the present invention.

[0064] In an embodiment according to the present invention, the intra prediction device (500) estimates a prediction mode by referring to the intra prediction mode of a previously restored surrounding block without transmitting the prediction mode, and performs intra prediction for the current block using the estimated prediction mode. The intra prediction device (500) includes an entropy decoding unit (410) and an intra prediction unit (442) included in the decoding device.

[0065] Since the intra prediction unit (122) included in the encoding device operates similarly to the intra prediction unit (442) included in the decoding device, the following description will focus on the intra prediction unit (442) included in the decoding device.

[0066] The intra prediction device (100) according to the present embodiment uses a prediction estimation mode (hereinafter 'estimation mode') to improve the efficiency of intra prediction.

[0067] The entropy decoding unit (410) decodes information regarding whether the estimation mode is applied to the prediction mode block from the bitstream. Here, the prediction mode block refers to a block unit in which prediction information including the estimation mode is transmitted. For convenience of explanation, the current block below represents the prediction mode block.

[0068] To use the estimate mode, the encoding device transmits mode information regarding whether the estimate mode is used by indicating it in the bitstream, and the decoder can determine whether the estimate mode is applied using said information. The mode information may be in the form of a flag indicating whether the predictive estimate mode is used. Alternatively, it may be in the form of an index to indicate one of a plurality of intra-prediction modes that additionally include the estimate mode as a new intra-prediction mode.

[0069] The intra prediction unit (442) according to the present embodiment estimates an intra prediction mode for a prediction mode block and a subdivision structure below it by referring to the intra prediction mode of a previously restored surrounding block when an estimation mode is applied. The intra prediction unit (442) may include all or part of a reference position setting unit (502), a prediction mode estimation unit (504), and a prediction sample generation unit (506).

[0070] FIG. 6 is an example diagram of a reference position used for estimating a prediction mode according to one embodiment of the present invention.

[0071] As illustrated in FIG. 6, the reference position setting unit (502) can use pixels (pixel a to pixel j) of surrounding blocks (block B to block G) as reference positions to estimate the prediction mode for prediction mode block A (M×N, where M and N are natural numbers) and the subdivision structure below it.

[0072] The reference position setting unit (502) can adaptively set a reference position according to the division structure of the restored blocks around the prediction mode block. For example, if the top and left sides of the prediction mode block A are divided into blocks B to G as shown in FIG. 6, pixels at predefined locations within each of blocks B to G (e.g., pixels located at the bottom right of each block) can be set as reference positions. That is, as illustrated in FIG. 6, the reference position setting unit (502) can use predefined locations (e.g., pixels a, d, g, or additionally, pixel c at the center of the top row and pixel i or h at the center of the left column) as reference positions.

[0073] Additionally, the reference position setting unit (502) may use a predefined position in a group of reference positions (e.g., one of pixels a, b, j, one of pixels d, e, one of g, f, etc.) as a reference position. For example, in the case of a reference position group {a, b, j}, it determines whether the reference pixels are valid in the order of a, b, j, and sets the first valid position as the reference position. Here, a valid reference pixel may mean a pixel in which intra prediction is used and a pixel having a corresponding intra prediction mode. For reference position groups {d, e} or {g, f}, the reference positions may also be set in the order of d, e or g, f, respectively.

[0074] The reference position setting unit (502) can adaptively set reference positions according to the dimensions of the prediction mode block (number of horizontal pixels, number of vertical pixels, product of the number of horizontal and vertical pixels, etc.). For example, if 'number of horizontal pixels > number of vertical pixels', more reference positions may be set at the top, and if the opposite is true, more reference positions may be set on the left. A number of reference positions set from the previously defined positions as described above are determined, and a reference position may be added at the center of the longer side.

[0075] Additionally, the reference position setting unit (502) sets the number of reference positions according to the product of the number of horizontal and vertical pixels, and can use as many as the set number of previously defined positions as the reference positions.

[0076] The reference position setting unit (502) can set a reference position at a predetermined location according to an agreement between the encoding / decoding devices.

[0077] As described above, the reference position setting unit (502) can determine a reference position by using at least one of the dimensions of the prediction mode block, a position predetermined according to the agreement between the encoding / decoding device, and a block partitioning structure around the prediction mode block.

[0078] Alternatively, information regarding available reference positions may be transmitted from the encoding device to the decoding device. In this case, the reference position setting unit (502) determines the reference position using the received information.

[0079] When the estimation mode according to the present embodiment is applied, the intra prediction unit (442) may divide the prediction mode block into pixel group units containing one or more pixels. Pixel groups containing multiple pixels are collectively referred to as division blocks or sub-blocks, and intra prediction may be performed on each division block unit. Accordingly, the level of the prediction mode block in which the estimation mode is decoded and the level of the block in which intra prediction is performed may not be the same.

[0080] Depending on the division structure of the prediction mode block, the shape of the pixel group may be a block shape such as a square, rectangle, or triangle, or a line-unit block shape such as M×1 or 1×N. Meanwhile, the divided pixel groups may have the same size and shape.

[0081] In another embodiment of the present invention, a pixel group may consist of only one pixel. In yet another embodiment, a pixel group may be a prediction mode block. That is, it may consist of all the pixels of a prediction mode block.

[0082] In dividing pixel groups from a prediction mode block, the decoder may estimate information about the division structure from the prediction mode block and surrounding blocks, or receive it from the encoding device.

[0083] The decoding device can determine the partitioning structure based on the dimensions of the prediction mode block (number of horizontal pixels, number of vertical pixels, product of the number of horizontal and vertical pixels, etc.). For example, a horizontal partitioning structure can be used when 'number of horizontal pixels > number of vertical pixels', and a vertical partitioning structure can be used when the opposite is true. Additionally, the decoding device can set the number of pixel groups based on the product of the number of horizontal and vertical pixels.

[0084] The decoding device may use predetermined partitioning information according to an agreement between the encoding / decoding devices. For example, a prediction mode block may always be divided into multiple subblocks of the same size in the horizontal or vertical direction. The number of subblocks may be determined by the dimensions of the prediction mode block. Alternatively, it may always be divided into subblocks of a fixed size, such as 4x4.

[0085] The decoding device may utilize a block partitioning structure around the prediction mode block. For example, if there is a surrounding block of the same size as the prediction mode block, the partitioning structure of the surrounding block may be used as is or referenced. As another example, as illustrated in FIG. 7(a), if multiple blocks exist to the left of the prediction mode block, the prediction mode block may be partitioned horizontally by extending the horizontal boundary line between the blocks. Similarly, if multiple blocks exist above the prediction mode block, the prediction mode block may be partitioned vertically by extending the vertical boundary line between the multiple blocks.

[0086] The intra prediction unit (442) of the video decoding device can determine the division structure of the prediction mode block based on a combination of all or part of the dimensions of the prediction mode block as described above, a division structure predetermined according to the agreement between the encoding / decoding device, and a block division structure around the prediction mode block.

[0087] In another embodiment of the present invention, information regarding the partitioning structure of the prediction mode block may be transmitted from an encoding device.

[0088] In another embodiment of the present invention, a list of partition structures of a prediction mode block is generated, and a partition structure can be selected from the list.

[0089] FIG. 7 is an exemplary diagram of a prediction mode estimation according to one embodiment of the present invention.

[0090] The prediction mode estimation unit (504) estimates the prediction mode for the current block in pixel group units using the reference position of the surrounding block.

[0091] In the example of FIG. 7, the rectangle indicated by the thick solid line represents a prediction mode block, and the dotted line represents a unit in which the prediction mode block is divided to perform intra-prediction, i.e., a divided block (a block-shaped pixel group). FIG. 7 (a) illustrates a case where the prediction mode block is divided horizontally into two equal parts, and FIG. 7 (b) illustrates a case where the prediction mode block is divided vertically into four equal parts.

[0092] The prediction mode estimation unit (504) can estimate the prediction mode of a prediction mode block using the prediction modes represented by at least two reference locations. In the example of FIG. 7, the prediction mode estimation unit (504) uses the prediction modes of three surrounding reference locations to estimate the prediction mode of a prediction mode block.

[0093] In the example of Fig. 7, the dotted arrow represents the prediction mode of the surrounding block, and the solid arrow represents the prediction mode of each partitioned block estimated from the prediction mode of the surrounding block. The setting of the surrounding reference position and the estimation of the prediction mode can be performed in the same way in the encoding / decoding device.

[0094] The prediction mode estimation unit (504) estimates the intra prediction mode of each division block using at least one of the reference locations based on the position of each division block within the current block. The intra prediction mode of the division block is likely to be similar to the intra prediction mode of a nearby reference location. Therefore, the prediction mode of the division block is determined to be influenced by a reference location that is close to the division block. For example, a weight for each reference location can be determined based on the distance between each division block and the reference location. A larger weight may be assigned as the distance is closer. Here, the position of the division block may be the position of the center pixel of that division block.

[0095] The prediction mode estimation unit (504) can estimate the intra prediction direction for each division block by weighting the prediction directions of each reference position based on the weights for each reference position. Alternatively, among all intra prediction modes, the prediction mode closest to the weighted sum value may be estimated as the prediction mode of the corresponding division block.

[0096] In another embodiment of the present invention, when a pixel group consists of a single pixel, the intra prediction mode can be estimated on a pixel-by-pixel basis within the prediction mode block.

[0097] FIG. 8 is an exemplary diagram of a prediction mode estimation according to another embodiment of the present invention.

[0098] In the example of Fig. 8, the squares marked with thin lines represent one pixel of the current block performing intra prediction.

[0099] In the example of FIG. 8 (a), the dotted arrows represent the prediction modes of each surrounding pixel, and in the example of FIG. 8 (b), the surrounding pixel containing three dotted arrows is a reference position set for reference. By referring to the prediction modes of the three set reference positions, the prediction mode estimation unit (504) can determine the intra prediction mode for each pixel inside the current block as exemplified in FIG. 8 (b).

[0100] The prediction mode estimation unit (504) estimates the intra prediction mode of a pixel using at least one of the reference locations based on the position of each pixel within the current block. The prediction mode of the pixel is determined to be influenced by a reference location that is close to the partition block. For example, a weight for each reference location can be determined based on the distance between each pixel and the reference location.

[0101] The prediction mode estimation unit (504) can determine the intra prediction mode of the corresponding pixel by weighting the prediction directions of each reference position based on the weights for each reference position. Alternatively, the prediction mode closest to the weighted sum value among all intra prediction modes can be estimated as the prediction mode of the corresponding pixel.

[0102] Meanwhile, if the prediction mode of the set reference position is not useful, the prediction mode estimation unit (504) may replace it with a new position around the prediction mode block. Additionally, if the prediction mode of all reference positions is not useful, the prediction mode for the current block may be determined as one of the prediction modes previously set between the encoding / decoding devices.

[0103] According to the embodiments of the present invention described above, a plurality of division units for a prediction mode block, such as a single pixel, a single line, or a division block, may have different prediction modes. It is not required to individually signal information regarding the intra-prediction mode for each division unit.

[0104] Meanwhile, in another embodiment, the prediction mode estimation unit (504) can estimate one intra prediction mode for a prediction mode block from the intra prediction modes of a plurality of reference locations when the pixel group is the entire prediction mode block. For example, it may estimate an intra prediction mode for the entire current block by averaging the intra prediction modes (prediction directions) of a plurality of reference locations.

[0105] The prediction sample generation unit (506) according to the present embodiment generates prediction samples by predicting the prediction mode block (current block) in pixel group units according to the intra prediction mode estimated by the prediction mode estimation unit (504).

[0106] FIG. 9 is an example diagram of the location of a previously restored reference sample used to generate an intra-predicted sample according to an embodiment of the present invention.

[0107] In the example of FIG. 9, the parts indicated by circles represent reference samples included in the previously restored blocks referenced in the current block (A). The range of reference samples can be extended depending on the range of the intra prediction mode and the usefulness of the reference samples according to the decoding order. Additionally, the intra prediction unit (442) can determine the prediction ranges M_r and N_r, respectively, depending on the size M and N of the current block A and the range of the intra prediction mode.

[0108] The prediction sample generation unit (506) can generate a prediction sample from the sample values ​​of previously restored reference samples around a prediction mode block as exemplified in FIG. 9, using an intra prediction mode estimated in pixel group units.

[0109] In the case of an embodiment in which an intra prediction mode is estimated for each divided block separated from a prediction mode block, the prediction sample generation unit (506) determines reference samples for a target pixel to be predicted within the divided block according to the intra prediction mode estimated for the divided block. Then, the target pixel is predicted using the sample values ​​of the determined reference samples.

[0110] In another embodiment where an intra prediction mode is estimated on a pixel-by-pixel basis within a prediction mode block, the prediction sample generation unit (506) determines previously restored reference samples using the intra prediction mode estimated for the corresponding pixel, and predicts the corresponding pixel using the sample values ​​of the determined reference samples.

[0111] In another embodiment where one intra prediction mode is estimated at the entire prediction mode block unit, the prediction sample generation unit (506) determines previously restored reference samples for the target pixel to be predicted within the prediction mode block using the intra prediction mode of the prediction mode block. Then, the target pixel is predicted using the sample values ​​of the determined reference samples.

[0112] FIG. 10 is an example diagram of the location of a previously restored reference sample used to generate an intra-predicted sample according to another embodiment of the present invention.

[0113] In the case of an embodiment in which the prediction mode block is divided into K (K is a natural number) division blocks (dotted rectangles), the prediction sample generation unit (506) can perform intra prediction using the sample values ​​of reference samples as exemplified in FIG. 10.

[0114] In the example of Figure 10, the rectangles indicated by thick lines are the locations of reference samples based on the boundaries of the prediction mode block, and the rectangles indicated by thin lines are the locations of reference samples based on the boundaries of the partition block A.

[0115] When performing intra-prediction for partition block A within the prediction mode block, the prediction sample generation unit (506) may generate a prediction sample using the sample values ​​of reference samples at the boundary of the prediction mode block, or may use a partition block that has already been restored based on the boundary of partition block A as a reference sample. Whether to use which reference samples may be determined by an agreement between the encoding / decoding devices. Alternatively, information indicating whether to use which reference samples may be signaled in block units, such as each partition block, prediction mode block, etc.

[0116] In order for a previously restored partition block within a prediction mode block to be used as a reference sample, it is necessary for the partition blocks within the prediction mode block to be restored sequentially. That is, the first partition block within the prediction mode block is predicted according to a predefined order, such as a raster scan order, and then restored by adding the residual signals corresponding to that partition block. The samples within the restored partition block are used as reference samples to predict the next partition block adjacent to that restored partition block. For example, in the example of FIG. 10, the decoder predicts and restores the upper-left partition block using the prediction mode estimated accordingly (generating a final restored sample by combining it with the residuals), and then can use the restored samples within the upper-left partition block when restoring the upper-right partition block.

[0117] In another embodiment, a prediction sample within the first predicted partition block may be used as a reference sample for predicting the next partition block. That is, the prediction sample generation unit (506) predicts one of the partition blocks within the prediction mode block according to a predefined order, such as a raster scan order. Then, the pixels within the next partition block are predicted using the prediction samples within the predicted partition block (not the restored samples generated by adding the prediction samples and the residual signal).

[0118] The intra-prediction mode estimation technique described above is It can be used for both the luminance block and the chroma block. Alternatively, using an intra DM (direct mode), the intra prediction mode for the chroma block may be determined from the intra prediction mode of the luminance block.

[0119] FIG. 11 is an exemplary diagram of intra-prediction of a chroma block according to one embodiment of the present invention.

[0120] As illustrated in FIG. 11, the estimated intra prediction mode for each pixel group within the luminance block can be set as the intra prediction mode for the pixel group at the same location within the chroma block. The intra prediction unit (442) performs intra prediction for each pixel group within the chroma block using the intra prediction mode corresponding to that pixel group.

[0121] Meanwhile, if the resolution between the color components is different, the intra prediction unit (442) can use the intra prediction mode of the luminance block sampled according to a specific sampling method as the prediction mode of the chroma block.

[0122] FIG. 12 is a flowchart of an intra prediction method according to one embodiment of the present invention.

[0123] The intra prediction device (500) according to the present embodiment decodes mode information from a bitstream that instructs the use of a prediction estimation mode for a prediction mode block (S1200). Here, the prediction mode block refers to a block unit in which prediction information including a prediction estimation mode (hereinafter 'estimation mode') is transmitted. Hereinafter, for convenience of explanation, the current block represents the prediction mode block.

[0124] To use the estimate mode, the encoding device transmits mode information regarding whether the estimate mode is used by indicating it in the bitstream, and the decoder can determine whether the estimate mode is applied using said information. The mode information may be in the form of a flag indicating whether the predictive estimate mode is used. Alternatively, it may be in the form of an index to indicate one of a plurality of intra-prediction modes that additionally include the estimate mode as a new intra-prediction mode.

[0125] When the estimation mode according to the present embodiment is applied, the intra prediction device (500) may divide the prediction mode block into pixel group units containing one or more pixels. Pixel groups containing multiple pixels are collectively referred to as division blocks or sub-blocks, and intra prediction may be performed on each division block unit. Accordingly, the level of the prediction mode block in which the estimation mode is decoded and the level of the block in which intra prediction is performed may not be the same.

[0126] Depending on the division structure of the prediction mode block, the shape of the pixel group may be a block shape such as a square, rectangle, or triangle, or a line-unit block shape such as M×1 or 1×N. Meanwhile, the divided pixel groups may have the same size and shape.

[0127] In another embodiment of the present invention, a pixel group may consist of only one pixel. In yet another embodiment, a pixel group may be a prediction mode block. That is, it may consist of all the pixels of a prediction mode block.

[0128] The intra prediction device (500) sets a plurality of reference positions from previously restored blocks around the prediction mode block in units of pixel groups including one or more pixels within the prediction mode block (S1202).

[0129] The intra prediction device (500) can determine a reference location using at least one of the dimensions of the prediction mode block, a location predetermined according to the agreement between the encoding / decoding device, and a block partitioning structure around the prediction mode block.

[0130] Alternatively, information regarding available reference locations may be transmitted from the encoding device to the decoding device. In this case, the intra prediction device (500) determines the reference location using the received information.

[0131] The intra prediction device (500) estimates the intra prediction mode of each pixel group from the intra prediction modes of a plurality of reference locations (S1204).

[0132] The intra prediction device (500) estimates the intra prediction mode of each partition block using at least one of the reference locations based on the position of each partition block within the current block. That is, the prediction mode of the partition block is determined to be influenced by a reference location that is close to the partition block. For example, a weight for each reference location can be determined based on the distance between each partition block and the reference location. A larger weight may be assigned as the distance is closer.

[0133] The intra prediction device (500) can estimate the intra prediction direction for each partition block by weighting the prediction directions of each reference position based on the weights for each reference position. Alternatively, among all intra prediction modes, the prediction mode closest to the weighted sum value may be estimated as the prediction mode of the corresponding partition block.

[0134] Meanwhile, if the prediction mode of the reference location is not useful, the intra prediction device (500) can be replaced with a new location around the prediction mode block. Additionally, if the prediction mode of all reference locations is not useful, the prediction mode for the current block can be determined as one of the prediction modes pre-set between the encoding / decoding devices.

[0135] The setting of surrounding reference positions and the estimation of the prediction mode can be performed in the same way in the encoding / decoding device.

[0136] The intra prediction device (500) can estimate the intra prediction mode of the current block to be the same as that of the surrounding blocks. The intra prediction device (500) can first select a plurality of directions from the surrounding blocks and then select one of the modes as the intra prediction mode of the current block, or calculate the intra prediction mode of the current block from the prediction modes of the plurality of surrounding blocks.

[0137] The intra prediction device (500) performs intra prediction on pixels within each pixel group using the intra prediction modes of each pixel group (S1206).

[0138] The intra prediction device (500) can generate prediction samples from the sample values ​​of previously restored reference samples around the prediction mode block using an intra prediction mode estimated in pixel group units.

[0139] In the case of an embodiment in which an intra prediction mode is estimated for each divided block separated from a prediction mode block, the prediction sample generation unit (506) determines reference samples for a target pixel to be predicted within the divided block according to the intra prediction mode estimated for the divided block. Then, the target pixel is predicted using the sample values ​​of the determined reference samples.

[0140] In order for a previously restored partition block within a prediction mode block to be used as a reference sample, it is necessary for the partition blocks within the prediction mode block to be restored sequentially. That is, the first partition block within the prediction mode block is predicted according to a predefined order, such as a raster scan order, and then restored by adding the residual signals corresponding to that partition block. The samples within the restored partition block can be used as reference samples to predict the next partition block adjacent to the restored partition block.

[0141] As described above, according to the present embodiment, by providing an intra prediction device and method that derive an intra prediction mode of a current block by referring to an intra prediction mode of a previously restored surrounding block, and generate a prediction sample for the current block by performing intra prediction based on the derived prediction mode, it is possible to improve the compression performance of an image encoding and decoding device.

[0142] Generally, when natural images are divided into blocks for intra prediction, a single block and its surrounding blocks share similar image characteristics. Consequently, the intra prediction modes can also be similar. Taking these characteristics into account, there exists an intra prediction method that utilizes a Most Probable Mode (MPM) list generated based on the prediction modes of the adjacent blocks to the left and above the current block.

[0143] The encoding device first transmits an MPM flag indicating whether the prediction mode of the current block is generated from the MPM list. If the prediction mode of the current block is included in the MPM list, the encoding device transmits an MPM index to the decoder indicating the intra prediction mode of the current block among the intra prediction modes in the MPM list. Using the received index, the decoder can select a prediction mode from the MPM list and then perform intra prediction for the current block. On the other hand, if the prediction mode of the current block is not included in the MPM list, the encoding device can transmit residual mode information to the decoder indicating the prediction mode of the current block among the remaining prediction modes, excluding the prediction mode included in the MPM list.

[0144] In another embodiment of the present invention, a method for determining the intra prediction mode of a prediction mode block using the Most Probable Mode (MPM) is disclosed. The intra prediction unit (442) generates an MPM list based on the prediction mode block. That is, it generates an MPM list using the intra prediction modes of the surrounding blocks of the prediction mode block (e.g., left and upper adjacent blocks).

[0145] Meanwhile, the intra prediction unit (442) divides the prediction mode block into multiple sub-blocks. The method of division may be the same as described in the prediction estimation mode above. In addition, the MPM list generated based on the prediction mode block is shared among all multiple sub-blocks within the prediction mode block. That is, the same MPM list is used for multiple sub-blocks.

[0146] As an example, the intra prediction mode of each sub-block within the prediction mode block can be determined from an MPM list. In this case, an MPM index for each sub-block can be signaled from the encoding device to the decoding device. The intra prediction unit (442) of the decoding device can determine the intra prediction mode of the corresponding sub-block from the shared MPM list through the received MPM index. The intra prediction mode determined for the first predicted sub-block within the prediction mode block may not be used as the intra prediction mode for the next sub-block. To this end, the intra prediction mode for the first predicted sub-block may be removed from the MPM list. Through this method, the total amount of bits required to signal MPM indices for all sub-blocks within the prediction mode block can be reduced.

[0147] As another example, for each sub-block within a prediction mode block, information regarding the intra prediction mode (MPM flag and, depending on the MPM flag, MPM index or residual mode information) can be signaled from the encoding device to the decoding device. The intra prediction unit (442) of the decoding device determines the intra prediction mode of each sub-block using the received information. At this time, the intra prediction mode determined for the first predicted sub-block within the prediction mode block may not be used as the intra prediction mode of the next sub-block. To this end, the intra prediction mode determined for the first predicted sub-block may be deleted from the MPM list or deleted from the residual prediction mode list. Accordingly, the total amount of bits required to signal the MPM index and residual mode information for all sub-blocks within the prediction mode block can be reduced.

[0148] Although each flowchart according to the present embodiment describes the execution of each process sequentially, it is not necessarily limited thereto. In other words, since it may be applicable to modify the processes described in the flowchart or to execute one or more processes in parallel, the flowchart is not limited to a chronological order.

[0149] Meanwhile, the various functions or methods described in this disclosure may be implemented as instructions stored in a non-transient recording medium that can be read and executed by one or more processors. A non-transient recording medium includes, for example, any type of recording device in which data is stored in a form readable by a computer system. For example, a non-transient recording medium includes storage media such as an EPROM (erasable programmable read-only memory), a flash drive, an optical drive, a magnetic hard drive, and a solid-state drive (SSD).

[0150] The above description is merely an illustrative explanation of the technical concept of the present embodiment, and a person skilled in the art to which the present embodiment belongs would be able to make various modifications and variations within the scope of the essential characteristics of the present embodiment. Accordingly, the present embodiments are intended to explain, not limit, the technical concept of the present embodiment, and the scope of the technical concept of the present embodiment is not limited by these embodiments. The scope of protection of the present embodiment shall be interpreted by the claims below, and all technical concepts within an equivalent scope shall be interpreted as being included within the scope of rights of the present embodiment. Explanation of the symbols

[0151] 120, 440: Prediction unit 130: Subtractor 170, 450: Adder 180, 460: Filter section 442: Intra-prediction unit 500: Intra-prediction device 502: Reference position setting unit 504: Prediction mode estimation unit 506: Prediction Sample Generation Unit

Claims

Claim 1 An intra prediction method performed by an image decoding device, comprising: a step of decoding mode information from a bitstream that indicates the use of a prediction estimation mode for a prediction mode block, wherein the prediction estimation mode indicates that a prediction mode is estimated and used for said prediction mode block; a step of estimating an intra prediction mode for each pixel group from the intra prediction modes of reference pixels at multiple previously restored locations around said prediction mode block, in units of pixel groups including one or more pixels within said prediction mode block; and a step of intra-predicting pixels within said pixel group using said intra prediction modes for each pixel group. Claim 2 An intra-prediction method according to claim 1, further comprising the step of setting the positions of reference pixels for the pixel group from a previously restored block around the prediction mode block. Claim 3 An intra-prediction method according to paragraph 2, characterized in that the positions of the reference pixels are determined based on all or part of the following methods: a method of determining using the dimensions of the prediction mode block, a method of setting at a position determined according to a prior agreement, and a method of determining using the surrounding block partitioning structure of the prediction mode block. Claim 4 An intra prediction method according to claim 1, wherein the mode information is a flag indicating whether the prediction estimation mode is used, or an index indicating the prediction estimation mode among a plurality of intra prediction modes including the prediction estimation mode. Claim 5 An intra prediction method according to claim 1, wherein the intra prediction mode of each pixel group is estimated from one or more intra prediction modes among the reference pixels based on the position of each pixel group within the prediction mode block. Claim 6 An intra prediction method according to claim 5, characterized in that for each pixel group, weights are assigned to the intra prediction modes of the reference pixels according to the distance from the reference pixels, and the intra prediction modes of the reference pixels are weighted summed to estimate the intra prediction mode of each pixel group. Claim 7 An intra-prediction method according to claim 1, characterized in that each pixel group is composed of a single pixel. Claim 8 An intra prediction method according to claim 1, wherein each pixel group is a sub-block comprising a plurality of pixels that is divided from the prediction mode block in at least one direction, either horizontal or vertical. Claim 9 In claim 8, the intra prediction method is characterized in that the plurality of sub-blocks are divided into the same shape and size. Claim 10 An intra-prediction method according to claim 8, wherein the prediction mode block is divided into sub-blocks based on at least one of the dimension of the prediction mode block, a pre-defined method agreed upon in advance, and a block division shape around the prediction mode block. Claim 11 An intra prediction method according to claim 1, further comprising the step of decoding information regarding the partition structure of the prediction mode block from the bitstream and generating the pixel groups using the information regarding the partition structure. Claim 12 In claim 1, the intra prediction step is characterized by generating prediction samples for pixels of each pixel group using previously restored pixels adjacent to the prediction mode block. Claim 13 An intra prediction method according to claim 1, wherein the intra prediction step comprises the step of sequentially restoring the pixel groups included in the prediction mode block, wherein the previously restored pixels within the pixel group restored first within the prediction mode block are used to intra predict a pixel group adjacent to the first restored pixel group. Claim 14 An intra prediction method according to claim 1, wherein the intra prediction step sequentially intra-predicts the pixel groups included in the prediction mode block, and the predicted pixels within the first predicted pixel group within the prediction mode block are used to intra-predict a pixel group adjacent to the first restored pixel group. Claim 15 An intra prediction method performed by a video encoding device, comprising: a step of obtaining mode information that indicates the use of a prediction estimation mode for a prediction mode block, wherein the prediction estimation mode indicates that a prediction mode is estimated and used for said prediction mode block; a step of estimating an intra prediction mode for each pixel group from the intra prediction modes of reference pixels at multiple previously restored locations around said prediction mode block, in units of pixel groups including one or more pixels within said prediction mode block; a step of intra predicting pixels within said pixel group using said intra prediction modes for each pixel group; and a step of encoding said mode information. Claim 16 An intra-prediction method characterized by further including the step of setting the positions of reference pixels for the pixel group from a previously restored block around the prediction mode block in claim 15. Claim 17 In claim 15, the intra-prediction method is characterized in that the partitioning structure for dividing the prediction mode block into pixel groups is determined based on at least one of the dimension of the prediction mode block, a pre-defined method agreed upon in advance, and a block partitioning structure around the prediction mode block. Claim 18 A method for providing video data to a video decoder, comprising: a step of encoding the video data into a bitstream; and a step of transmitting the bitstream to the video decoder, wherein the step of encoding the video data comprises: a step of obtaining mode information that indicates the use of a prediction estimation mode for a prediction mode block, wherein the prediction estimation mode indicates that a prediction mode is estimated and used for the prediction mode block; a step of estimating an intra prediction mode of each pixel group from the intra prediction modes of reference pixels at multiple previously restored locations around the prediction mode block, in units of pixel groups including one or more pixels within the prediction mode block; a step of intra-predicting pixels within each pixel group using the intra prediction modes of each pixel group; and a step of encoding the mode information.

Citation Information

Patent Citations

  • Method and apparatus for encoding / decoding an image

    KR1020180041577A

  • A method for encoding and decoding video using a processing of an efficent transform

    KR1020180085526A

  • Method and apparatus for video coding using decoder side intra prediction derivation

    WO2018054269A1