Method for intra prediction and apparatus thereof

KR103013166B1Active Publication Date: 2026-09-02ELECTRONICS & TELECOMM RES INST
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
KR1020240120644
Authority / Receiving Office
KR · KR
Patent Type
Patents
Current Assignee / Owner
Priority Date
2011-03-10
Filing Date
2024-09-05
Publication Date
2026-09-02
Estimated Expiration
2043-05-18

Smart Images

  • Figure 112024097610069-PAT00006_ABST
    Figure 112024097610069-PAT00006_ABST
Patent Text Reader

Abstract

A multi-sample prediction method according to the present invention comprises the steps of: determining a sample group composed of a plurality of samples within a block to be decoded; determining a representative position corresponding to the sample group within the block to be decoded; determining a representative prediction value for the sample group based on the determined representative position; and determining the determined representative prediction value as a final prediction value for each of the plurality of samples constituting the sample group. According to the present invention, image encoding / decoding efficiency can be improved and complexity reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] The present invention relates to image processing, and more specifically, to an intra prediction method and apparatus. Background Technology

[0002] Recently, as broadcasting services with HD (High Definition) resolution have expanded not only domestically but also globally, many users are becoming accustomed to high-resolution, high-quality video, and accordingly, many organizations are accelerating the development of next-generation video devices. In addition, as interest in UHD (Ultra High Definition), which has more than four times the resolution of HDTV, grows alongside HDTV, there is a demand for compression technology for higher resolution and higher-quality video.

[0003] For image compression, inter prediction techniques that predict sample values ​​included in the current picture from temporally earlier and / or later pictures, intra prediction techniques that predict sample values ​​included in the current picture using sample information within the current picture, and entropy coding techniques that assign short codes to symbols with high frequency and long codes to symbols with low frequency may be used. The problem to be solved

[0004] The technical problem of the present invention is to provide an image encoding method and an apparatus capable of improving image encoding / decoding efficiency and reducing complexity.

[0005] Another technical objective of the present invention is to provide an image decoding method and an apparatus capable of improving image encoding / decoding efficiency and reducing complexity.

[0006] Another technical objective of the present invention is to provide an intra-prediction method and apparatus capable of improving image encoding / decoding efficiency and reducing complexity.

[0007] Another technical objective of the present invention is to provide a multi-sample prediction method and apparatus capable of improving image encoding / decoding efficiency and reducing complexity. means of solving the problem

[0008] 1. One embodiment of the present invention is a multi-sample prediction method. The method includes the steps of: determining a sample group composed of a plurality of samples within a block to be decoded; determining a representative position corresponding to the sample group within the block to be decoded; determining a representative prediction value for the sample group based on the determined representative position; and determining the determined representative prediction value as a final prediction value for each of the plurality of samples constituting the sample group.

[0009] 2.1. In the above, the method may further include a step of determining whether to apply multi-sample prediction to the block to be decoded using the encoding parameters of the block to be decoded, and when it is determined that multi-sample prediction is applied to the block to be decoded, the steps below the sample group determination step are performed sequentially, wherein the encoding parameters may include at least one of the size of the block to be decoded and the intra-prediction mode of the block to be decoded.

[0010] 3.1 In the sample group determination step, the size and shape of the sample group may be determined according to the encoding parameters of the block to be decoded, and the encoding parameters may include at least one of the size of the block to be decoded and the intra prediction mode of the block to be decoded.

[0011] 4.1 In the representative position determination step, one position among the positions of each of the plurality of samples constituting the sample group can be selected as the representative position for the sample group.

[0012] 5.1 In the step of determining the representative position, an intermediate position between a plurality of samples constituting the sample group can be determined as the representative position for the sample group.

[0013] 6.1 In the representative position determination step, the position of a sample existing outside the sample group within the decoding target block can be determined as the representative position for the sample group.

[0014] 7.1 In the above, the step of determining the representative prediction value may further include the step of determining a reference position corresponding to the representative position based on the intra prediction mode of the block to be decoded, and the step of determining a representative prediction value for the sample group based on the reference position.

[0015] 8. In 7, if the determined reference position is the same as the position of one reference sample for the decoding target block, the representative prediction value determination step may determine the sample value of the reference sample having the same position as the reference position as the representative prediction value.

[0016] 9.7. In the case where the determined reference position is a position among a plurality of reference samples for the block to be decoded, in the step of determining the representative prediction value, the sample value of the reference sample located closest to the prediction direction of the block to be decoded among the plurality of reference samples can be determined as the representative prediction value.

[0017] 10. In the case where the determined reference position is a position among a plurality of reference samples for the block to be decoded, the representative prediction value determination step may determine the representative prediction value by performing interpolation on the sample values ​​of the plurality of reference samples.

[0018] 11. In 7, if the determined reference position is a position among a plurality of reference samples for the block to be decoded, the sample average value of the plurality of reference samples may be determined as the representative prediction value in the representative prediction value determination step.

[0019] 12. Another embodiment of the present invention is an image decoding method. The method comprises the steps of: determining a sample group composed of a plurality of samples within a block to be decoded; determining a representative location within the block to be decoded that corresponds to the sample group; determining a representative prediction value for the sample group based on the determined representative location; determining the determined representative prediction value as a final prediction value for each of the plurality of samples constituting the sample group; and generating a restored image using the final prediction value.

[0020] 13. In the sample group determination step of 12, the size and shape of the sample group may be determined according to the encoding parameters of the block to be decoded, and the encoding parameters may include at least one of the size of the block to be decoded and the intra prediction mode of the block to be decoded.

[0021] 14. In the above representative position determination step, one position among the positions of each of the plurality of samples constituting the sample group can be selected as the representative position for the sample group.

[0023] *15. In the above representative position determination step, an intermediate position between a plurality of samples constituting the sample group can be determined as a representative position for the sample group.

[0024] 16. In the above representative position determination step, the position of a sample existing outside the sample group within the decoding target block can be determined as the representative position for the sample group.

[0025] 17. In 12, the step of determining the representative predicted value may further include the step of determining a reference position corresponding to the representative position based on the intra-prediction mode of the block to be decoded, and the step of determining a representative predicted value for the sample group based on the reference position. Effects of the invention

[0026] According to the image encoding method of the present invention, image encoding / decoding efficiency can be improved and complexity reduced.

[0027] According to the image decoding method of the present invention, image encoding / decoding efficiency can be improved and complexity can be reduced.

[0028] According to the intra prediction method of the present invention, image encoding / decoding efficiency can be improved and complexity reduced.

[0029] According to the multi-sample prediction method of the present invention, image encoding / decoding efficiency can be improved and complexity reduced. Brief explanation of the drawing

[0030] FIG. 1 is a block diagram showing the configuration according to one embodiment of an image encoding device to which the present invention is applied. FIG. 2 is a block diagram showing the configuration according to one embodiment of an image decoding device to which the present invention is applied. FIG. 3 is a flowchart schematically illustrating one embodiment of an intra-prediction method according to the present invention. FIGS. 4a and FIGS. 4b are conceptual diagrams for explaining a reference sample determination method according to the present invention. FIG. 5 is a conceptual diagram schematically illustrating an example of a method for determining whether to apply multi-sample prediction and a sample group according to the present invention. FIG. 6 is a conceptual diagram schematically illustrating an example of a method for determining the representative location of each sample group according to the present invention. FIG. 7 is a conceptual diagram schematically illustrating another embodiment of a method for determining the representative location of each sample group according to the present invention. FIG. 8 is a conceptual diagram schematically illustrating another embodiment of a method for determining the representative location of each sample group according to the present invention. FIG. 9 is a conceptual diagram schematically illustrating an example of a method for determining representative predicted values ​​for each sample group. FIG. 10 is a conceptual diagram schematically illustrating an example of a method for deriving predicted values ​​for multiple samples within a sample group. FIG. 11 is a conceptual diagram schematically illustrating another embodiment of a method for deriving predicted values ​​for multiple samples within a sample group. FIG. 12 is a conceptual diagram schematically illustrating another embodiment of a method for deriving predicted values ​​for multiple samples within a sample group. Specific details for implementing the invention

[0031] Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In describing the embodiments of this specification, detailed descriptions of related known configurations or functions are omitted if it is determined that such detailed descriptions may obscure the gist of this specification.

[0032] When it is stated that one component is “connected” or “connected” to another component, it should be understood that while it may be directly connected or connected to that other component, there may also be other components present in between. Furthermore, the description in the present invention that a specific configuration “includes” does not exclude configurations other than that specific configuration, but rather implies that additional configurations may be included within the scope of the practice or technical concept of the present invention.

[0033] Terms such as "first," "second," etc., may be used to describe various components, but said components should not be limited by said terms. These terms are used solely for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be named the second component, and similarly, the second component may be named the first component.

[0034] Furthermore, the components shown in the embodiments of the present invention are depicted independently to represent different characteristic functions and do not imply that each component consists of separate hardware or a single software unit. That is, each component is listed and included as a separate component for convenience of explanation; however, at least two of the components may be combined to form a single component, or a single component may be divided into multiple components to perform a function, and such integrated and separated embodiments of each component are included within the scope of the present invention as long as they do not deviate from the essence of the invention.

[0035] Furthermore, some components may not be essential components performing an essential function in the present invention, but merely optional components for enhancing performance. The present invention may be implemented by including only the components essential for realizing the essence of the present invention, excluding components used solely for performance enhancement, and a structure including only the essential components, excluding optional components used solely for performance enhancement, is also included within the scope of the rights of the present invention.

[0037] FIG. 1 is a block diagram showing the configuration according to one embodiment of an image encoding device to which the present invention is applied.

[0038] Referring to FIG. 1, the image encoding device (100) includes a motion prediction unit (111), a motion compensation unit (112), an intra prediction unit (120), a switch (115), a subtractor (125), a converter (130), a quantization unit (140), an entropy encoding unit (150), an inverse quantization unit (160), an inverse converter (170), an adder (175), a filter unit (180), and a reference picture buffer (190).

[0039] The video encoding device (100) can perform encoding on an input video in an intra mode or an inter mode and output a bitstream. Intra prediction refers to prediction within a frame, and inter prediction refers to prediction between frames. In the case of intra mode, the switch (115) can be switched to intra, and in the case of inter mode, the switch (115) can be switched to inter. The video encoding device (100) can generate a prediction block for an input block of the input video, and then encode the residual of the input block and the prediction block.

[0040] In the case of intra mode, the intra prediction unit (120) can generate a prediction block by performing spatial prediction using sample values ​​of already encoded blocks around the current block.

[0041] In the case of inter mode, the motion prediction unit (111) can find the region that best matches the input block in the reference image stored in the reference picture buffer (190) during the motion prediction process and obtain a motion vector. The motion compensation unit (112) can generate a prediction block by performing motion compensation using the motion vector.

[0042] The subtractor (125) can generate a residual block by the difference between the input block and the generated prediction block. The transform unit (130) can perform a transform on the residual block to output a transform coefficient. The quantization unit (140) can quantize the input transform coefficient according to a quantization parameter to output a quantized coefficient.

[0043] The entropy encoding unit (150) can output a bit stream by performing entropy encoding based on values ​​calculated in the quantization unit (140) or encoding parameter values ​​calculated during the encoding process.

[0044] When entropy coding is applied, a small number of bits are allocated to symbols with a high probability of occurrence and a large number of bits are allocated to symbols with a low probability of occurrence, thereby reducing the size of the bit sequence for the symbols to be encoded. Therefore, the compression performance of video encoding can be improved through entropy coding. The entropy encoding unit (150) may use encoding methods such as exponential golomb, CAVLC (Context-Adaptive Variable Length Coding), and CABAC (Context-Adaptive Binary Arithmetic Coding) for entropy coding.

[0045] Since the image encoding device according to the embodiment of FIG. 1 performs inter-predictive encoding, that is, inter-frame predictive encoding, the currently encoded image needs to be decoded and stored to be used as a reference image. Accordingly, the quantized coefficients are inversely quantized in the inverse quantization unit (160) and inversely transformed in the inverse transformation unit (170). The inversely quantized and inversely transformed coefficients are added to the prediction block through the adder (175) and a restoration block is generated.

[0046] The restored block passes through a filter unit (180), and the filter unit (180) can apply at least one of a deblocking filter, a Sample Adaptive Offset (SAO), and an Adaptive Loop Filter (ALF) to the restored block or the restored picture. The filter unit (180) may also be called an adaptive in-loop filter. The deblocking filter can remove block distortion that occurs at the boundaries between blocks. The SAO can add an appropriate offset value to the sample value to compensate for coding errors. The ALF can perform filtering based on a value obtained by comparing the restored image with the original image, and may be performed only when high efficiency is applied. The restored block that has passed through the filter unit (180) can be stored in a reference picture buffer (190).

[0048] FIG. 2 is a block diagram showing the configuration according to one embodiment of an image decoding device to which the present invention is applied.

[0049] Referring to FIG. 2, the image decoding device (200) includes an entropy decoding unit (210), an inverse quantization unit (220), an inverse transformation unit (230), an intra prediction unit (240), a motion compensation unit (250), an adder (255), a filter unit (260), and a reference picture buffer (270).

[0050] The image decoding device (200) receives a bitstream output from an encoder, performs decoding in intra mode or inter mode, and outputs a reconstructed image, i.e., a restored image. In the case of intra mode, the switch may be switched to intra, and in the case of inter mode, the switch may be switched to inter. The image decoding device (200) may obtain a residual block from the received bitstream, generate a prediction block, and then add the residual block and the prediction block to generate a reconstructed block, i.e., a restored block.

[0051] The entropy decoding unit (210) can generate symbols including symbols in the form of quantized coefficients by entropy decoding the input bitstream according to a probability distribution. The entropy decoding method is similar to the entropy encoding method described above.

[0052] When the entropy decoding method is applied, symbols are represented by allocating a small number of bits to symbols with a high probability of occurrence and a large number of bits to symbols with a low probability of occurrence, thereby reducing the size of the bit sequence for each symbol. Therefore, the compression performance of image decoding can be improved through the entropy decoding method.

[0053] The quantized coefficients are inversely quantized in the inverse quantization unit (220) and inversely transformed in the inverse transformation unit (230), and as a result of the quantized coefficients being inversely quantized / inversely transformed, a residual block may be generated.

[0054] In the case of intra mode, the intra prediction unit (240) can generate a prediction block by performing spatial prediction using sample values ​​of already encoded blocks around the current block. In the case of inter mode, the motion compensation unit (250) can generate a prediction block by performing motion compensation using motion vectors and reference images stored in the reference picture buffer (270).

[0055] The residual block and the prediction block are added through an adder (255), and the added block may pass through a filter unit (260). The filter unit (260) may apply at least one of a deblocking filter, SAO, and ALF to the restoration block or the restoration picture. The filter unit (260) may output a reconstructed image, i.e., a restoration image. The restoration image may be stored in a reference picture buffer (270) and used for inter-prediction.

[0057] Hereinafter, "block" refers to a unit of video encoding and decoding. In video encoding and decoding, the encoding or decoding unit refers to the divided unit when the video is divided for encoding or decoding; therefore, it may be called a Coding Unit (CU), Prediction Unit (PU), Transform Unit (TU), etc. A single block may be further divided into smaller sub-blocks. Also, hereinafter, "encoding / decoding target block" may refer to the encoding unit or prediction unit currently being encoded / decoded. The size of the encoding / decoding target block may be, for example, 2x2, 4x4, 8x8, 16x16, 32x32, 64x64, 128x128, etc.

[0059] Meanwhile, intra prediction can be performed according to the intra prediction mode of the block to be encoded / decoded. The number of intra prediction modes that the block to be encoded / decoded may have may be a fixed value, and said fixed value may be, for example, 3, 4, 5, 9, 17, 18, 34, 35, etc. Each of said intra prediction modes may represent a single prediction direction.

[0060] The encoder and decoder can perform intra prediction by performing an interpolation process on the reconstructed samples corresponding to the samples to be encoded / decoded. Here, the reconstructed samples corresponding to the samples to be encoded / decoded can be determined according to the intra prediction mode (and / or prediction direction) of the encoding / decoding block to which the samples to be encoded / decoded belong. In this case, as the size of the encoding / decoding block increases, the number of samples to be encoded / decoded increases, and the number of times the interpolation process is performed may increase. Therefore, the intra prediction method described above may have the problem that the encoding efficiency is not high relative to the complexity in large blocks where the correlation between the samples to be encoded / decoded is high.

[0061] Accordingly, an intra-prediction method capable of reducing computational load can be provided by determining a representative prediction value for a sample group composed of multiple samples and predicting multiple samples within the sample group at once using the determined representative prediction value. That is, when an encoder and a decoder perform intra-prediction on samples within a block to be encoded / decoded, they determine a sample group and a representative prediction value within the block to be encoded / decoded, and predict multiple samples within the sample group using the determined representative prediction value. In this case, since the number of times the interpolation process is performed is reduced, the amount of computation required for intra-prediction can be reduced. Hereinafter, an intra-prediction method that predicts multiple samples within a sample group using a representative prediction value is referred to as multi-sample prediction.

[0062] The embodiments described below focus on the encoder. However, this is for the sake of convenience of explanation, and the embodiments described below may be applied equally to the decoder unless otherwise specified. In this case, the encoding target block described below may be interpreted as the decoding target block.

[0064] FIG. 3 is a flowchart schematically illustrating one embodiment of an intra-prediction method according to the present invention.

[0065] Referring to FIG. 3, the encoder can determine a reference sample used for intra-prediction of the block to be encoded (S310). At this time, the reference sample may be determined according to the intra-prediction mode and / or prediction direction of the block to be encoded.

[0066] The encoder can encode information regarding the intra prediction mode, include it in the bitstream, and transmit it to the decoder. At this time, the decoder can perform parsing on the received bitstream to derive information on the intra prediction mode (and / or prediction direction), and can perform intra prediction on the block to be decoded based on the derived information on the intra prediction mode (and / or prediction direction).

[0067] Referring again to FIG. 3, the encoder can determine whether to apply multi-sample prediction, the size of the sample group, and / or the shape of the sample group according to the encoding parameters of the block to be encoded (S320). Here, the sample group may correspond to the application unit of multi-sample prediction.

[0068] Encoding parameters may include not only information encoded by the encoder and transmitted to the decoder, such as syntax elements, but also information that can be inferred during the encoding or decoding process, and may refer to information required when encoding or decoding an image.

[0069] The above encoding parameters may include, for example, the size of the block to be encoded and / or the prediction mode of the block to be encoded. That is, the encoder may determine differently whether to apply multi-sample prediction, the size of the sample group and / or the shape of the sample group depending on the size of the block to be encoded and / or the prediction mode of the block to be encoded.

[0070] If it is determined that multi-sample prediction is applied, the encoder can determine a representative location for each sample group within the block to be encoded (S330). Here, the representative location may be determined, for example, based on the location of a plurality of samples constituting each sample group.

[0071] For example, the encoder may determine the location of one sample among a plurality of samples constituting a sample group as the representative location for said sample group. Additionally, the encoder may determine an intermediate location of a plurality of samples constituting a sample group as the representative location for said sample group. Furthermore, the encoder may determine a location existing outside the sample group within the block to be encoded as the representative location for said sample group.

[0072] Referring again to FIG. 3, the encoder can determine a representative predicted value for each sample group by using at least one of the reference samples for the block to be encoded, based on a representative position for each sample group (S340). Once the representative predicted value is determined, the encoder can determine a sample predicted value for each of the plurality of samples within the sample group corresponding to the representative predicted value by using the determined representative predicted value (S350). For example, the predicted value for each of the plurality of samples constituting one sample group can be determined to be the same value as the representative predicted value corresponding to the sample group. That is, the representative predicted value can be used as the predicted value for the plurality of samples within the corresponding sample group.

[0073] Specific embodiments for each of the above-described steps (S310, S320, S330, S340, S350) will be described later.

[0075] FIGS. 4a and FIGS. 4b are conceptual diagrams for explaining a reference sample determination method according to the present invention.

[0076] As described above, intra prediction can be performed according to the intra prediction mode (and / or prediction direction) of the block to be encoded / decoded. The number of intra prediction modes (and / or prediction directions) that the block to be encoded / decoded may have may be a fixed value, and said fixed value may be, for example, 3, 4, 5, 9, 17, 18, 34, 35, etc. Each of said intra prediction modes may represent one prediction direction.

[0077] FIG. 4a schematically illustrates an example of the prediction direction of an intra prediction mode and the mode value assigned to each prediction direction when 34 prediction modes are used. FIG. 4a illustrates a plurality of intra prediction modes, and each intra prediction mode may have a different prediction direction. In addition, the number assigned to each intra prediction mode is called the mode value.

[0078] Referring to FIG. 4a, when the mode value is 0, prediction can be performed in the vertical direction using the pixel value of an adjacent block, and when the mode value is 1, prediction can be performed in the horizontal direction. In addition, for the remaining modes, prediction can be performed using the pixel values ​​of adjacent blocks according to the corresponding angle.

[0079] FIG. 4b illustrates a block to be encoded (410) and a reference sample candidate (420) for the same. Each (x,y) depicted within the block to be encoded (410) may represent the coordinates of a sample to be encoded. In the embodiment of FIG. 4b, the size of the block to be encoded is assumed to be 8x8.

[0080] As described above, the reference sample used for intra prediction of the encoding target block may be determined differently depending on the intra prediction mode and / or prediction direction of the encoding target block. Here, the intra prediction mode of the encoding target block may be determined as shown in FIG. 4a, for example. The reference sample determined according to the intra prediction mode of the encoding target block may be represented by the following Table 1 as an example.

[0081] [Table 1]

[0082]

[0084] Referring to Table 1, when the mode value of the prediction mode of the block to be encoded is 0, samples UA to UH in FIG. 4b can be determined as reference samples for the block to be encoded. Also, when the mode value of the prediction mode of the block to be encoded is 1, samples LA to LH in FIG. 4b can be determined as reference samples for the block to be encoded. Additionally, for the remaining prediction modes, reference samples for the block to be encoded can be determined according to the corresponding angle.

[0085] The encoder may also perform filtering on the determined reference samples. In this case, whether to apply filtering and the scope of application may be determined based on the size of the block to be encoded and / or the prediction mode.

[0087] FIG. 5 is a conceptual diagram schematically illustrating an example of a method for determining whether to apply multi-sample prediction and a sample group according to the present invention.

[0088] The encoder determines a representative prediction value for a sample group composed of multiple samples, and can predict multiple samples within the sample group at once using the determined representative prediction value. As described above, such a prediction method can be called multi-sample prediction.

[0089] The encoder may determine whether to apply multi-sample prediction, the size of the sample group, and / or the shape of the sample group, depending on at least one of the size of the block to be encoded and the intra-prediction mode of the block to be encoded. In this case, whether to apply multi-sample prediction, the size of the sample group, and / or the shape of the sample group may be determined by a predetermined fixed value depending on the size of the block to be encoded and / or the intra-prediction mode of the block to be encoded.

[0090] The size of the block to be encoded, whether multi-sample prediction is applied according to the intra prediction mode, and the size of the sample group can be represented by the following Table 2 as an example.

[0091] [Table 2]

[0092]

[0094] In Table 2, the parts marked with - may indicate parts where multi-sample prediction is not applied. Additionally, the numbers assigned according to the size of the block to be encoded and the prediction mode may represent the size of the sample group, that is, the number of multiple samples constituting the sample group.

[0095] For example, if the size of the block to be encoded is 16x16 and the intra prediction mode of the block to be encoded is 15, multi-sample prediction may not be applied to the block to be encoded. Additionally, if the size of the block to be encoded is 32x32 and the intra prediction mode of the block to be encoded is 18, multi-sample prediction may be applied to the block to be encoded. In this case, the size of the sample group used for multi-sample prediction may be 4.

[0096] Additionally, in determining the sample group, the encoder may determine the shape of the sample group differently depending on the prediction mode (and / or prediction direction) of the block to be encoded. Here, the shape of the sample group may indicate the positions of multiple samples constituting the sample group.

[0097] FIG. 5 illustrates the shape of a sample group according to an intra prediction mode. 515, 525, and 535 in FIG. 5 each represent a block to be encoded. In FIG. 5, it is assumed that the size of the block to be encoded is 8x8 and the size of the sample group is 2. Additionally, in each of 510, 520, and 530 in FIG. 5, two pixels labeled a can form one sample group. Also, pixels labeled b, c, d, and e can represent their respective sample groups in the same way.

[0098] In the embodiments described below, each pixel within the encoding target block can be represented by the coordinates [x, y]. Here, the x value may increase as it moves to the right along the coordinate axis, and the y value may increase as it moves downward along the coordinate axis.

[0099] Additionally, in 540 of FIG. 5, the prediction mode group consisting of prediction modes (542) between the upper left direction prediction mode (mode value 3) and the vertical direction prediction mode (mode value 0), and prediction modes (544) between the upper right direction prediction mode (mode value 6) and the vertical direction prediction mode (mode value 0), is called the vertical direction prediction mode group (Group_vert). And, the prediction mode group consisting of prediction modes (546) between the upper left direction prediction mode (mode value 3) and the horizontal direction prediction mode (mode value 1), and prediction modes (548) between the lower left direction prediction mode (mode value 9) and the horizontal direction prediction mode (mode value 1), is called the horizontal direction prediction mode group (Group-hor).

[0100] For example, assume that the intra prediction mode of the block to be encoded is a prediction mode corresponding to the vertical prediction mode group. In this case, the encoder can determine the shape of the sample group as shown in 510 of FIG. 5. That is, the encoder can determine two vertically adjacent samples as one sample group. In this case, if the coordinates of one sample within the sample group are [x,y], the coordinates of the other sample can be [x, y+1].

[0101] As another example, assume that the intra prediction mode of the block to be encoded is a prediction mode corresponding to the horizontal prediction mode group. In this case, the encoder can determine the shape of the sample group as shown in 520 of FIG. 5. That is, the encoder can determine two samples adjacent to each other as one sample group. In this case, if the coordinates of one sample within the sample group are [x,y], the coordinates of the other sample can be [x+1, y].

[0102] As another example, the encoder can determine two diagonally adjacent samples as a single sample group, as shown in 530 of Fig. 5. In this case, if the coordinates of one sample within the sample group are [x,y], the coordinates of the other sample may be [x-1, y+1].

[0104] FIG. 6 is a conceptual diagram schematically illustrating an example of a method for determining the representative location of each sample group according to the present invention.

[0105] 615, 625, 635, and 645 in FIG. 6 each represent a block to be encoded, and it is assumed that the size of each block to be encoded is 8x8. In each of 610, 630, and 640 in FIG. 6, two pixels labeled a can form one sample group, and in 620 in FIG. 6, four pixels labeled a can form one sample group. Additionally, pixels labeled b, c, d, and e can also represent their respective sample groups in the same way.

[0106] As described above, when it is determined that multi-sample prediction is applied, the encoder can determine a representative location for each sample group within the block to be encoded. Here, the representative location may be determined, for example, based on the locations of multiple samples constituting each sample group.

[0107] In one embodiment, the encoder may determine the location of one sample among a plurality of samples constituting a sample group as a representative location for said sample group. In this case, for example, the sample corresponding to the representative location may be the sample closest to the reference sample among the plurality of samples constituting the sample group. In addition, as another example, the sample corresponding to the representative location may be a sample existing at a predetermined specific location among the plurality of samples constituting the sample group.

[0108] Referring to 610, 620, 630, and 640 in FIG. 6, the encoder can determine the location of the sample closest to the reference sample within the sample group labeled a as the representative location for the sample group a. Additionally, the encoder can determine the location of the sample closest to the reference sample within the sample group labeled b as the representative location for the sample group b. In FIG. 6, the representative location for the sample group a and the representative location for the sample group b are shown as black dots. Furthermore, the encoder can determine the representative locations for the sample groups corresponding to c, d, and e in the same way.

[0110] FIG. 7 is a conceptual diagram schematically illustrating another embodiment of a method for determining the representative location of each sample group according to the present invention.

[0111] 715, 725, 735, and 745 in FIG. 7 each represent a block to be encoded, and it is assumed that the size of each block to be encoded is 8x8. In each of 710, 730, and 740 in FIG. 7, two pixels labeled a can form one sample group, and in 720 in FIG. 7, four pixels labeled a can form one sample group. Additionally, pixels labeled b, c, d, and e can also represent their respective sample groups in the same way.

[0112] As described above, when it is determined that multi-sample prediction is applied, the encoder can determine a representative location for each sample group within the block to be encoded. Here, the representative location may be determined, for example, based on the locations of multiple samples constituting each sample group. In this case, the encoder may determine the intermediate location of the multiple samples constituting the sample group as the representative location for the sample group.

[0113] Referring to 710, 720, 730, and 740 in FIG. 7, the encoder can determine the intermediate position of a plurality of samples constituting a sample group labeled 'a' as the representative position for sample group 'a'. For example, in 710 of FIG. 7, if the coordinates of two samples within sample group 'a' are [x,y] and [x, y+1], respectively, the representative position can be determined as [x, y+1 / 2]. Additionally, the encoder can determine the intermediate position of a plurality of samples constituting a sample group labeled 'b' as the representative position for sample group 'b'. For example, in 710 of FIG. 7, if the coordinates of two samples within sample group 'b' are [x+1,y] and [x+1, y+1], respectively, the representative position can be determined as [x+1, y+1 / 2]. In FIG. 7, the representative position for sample group 'a' and the representative position for sample group 'b' are indicated by black dots. In addition, the encoder can determine representative positions for sample groups corresponding to c, d, and e in the same way.

[0115] FIG. 8 is a conceptual diagram schematically illustrating another embodiment of a method for determining the representative location of each sample group according to the present invention.

[0116] 815, 825, 835, and 845 in FIG. 8 each represent a block to be encoded, and it is assumed that the size of each block to be encoded is 8x8. In each of 810, 830, and 840 in FIG. 8, two pixels labeled 'a' can form a sample group, and in 820 in FIG. 8, four pixels labeled 'a' can form a sample group. Additionally, pixels labeled 'b' can also represent each sample group in the same way.

[0117] As described above, when it is determined that multi-sample prediction is applied, the encoder can determine a representative location for each sample group within the block to be encoded. Here, the representative location may be determined, for example, based on the locations of multiple samples constituting each sample group. In this case, the encoder may determine a location existing outside the sample group within the block to be encoded as the representative location for the sample group.

[0118] Referring to 810, 820, 830, and 840 in FIG. 8, the encoder can determine the location of a sample existing outside sample group a within the encoding target block as the representative location for sample group a. For example, in 810 of FIG. 8, if the coordinates of two samples within sample group a are [x,y] and [x, y+1], respectively, the representative location may be [x, y-2]. Additionally, the encoder can determine the location of a sample existing outside sample group b within the encoding target block as the representative location for sample group b. For example, in 820 of FIG. 8, if the coordinates of two samples within sample group b are [x+1,y] and [x+1, y+1], respectively, the representative location may be determined as [x+1, y-2]. In FIG. 8, the representative location for sample group a and the representative location for sample group b are indicated by black dots.

[0120] FIG. 9 is a conceptual diagram schematically illustrating an example of a method for determining representative predicted values ​​for each sample group.

[0121] 913 and 923 in FIG. 9 represent the encoding target block, respectively, and it is assumed that the size of the encoding target block is 8x8. [x,y] indicated inside the encoding target block in FIG. 9 may represent the coordinates of the sample within each encoding target block. Additionally, the black dots (916, 926) indicated at 910 and 920 in FIG. 9 may represent the representative positions, respectively.

[0122] As described above, the encoder can determine a representative predicted value for each sample group based on a representative position for each sample group.

[0123] At this time, the encoder may determine a reference sample used for calculating a representative prediction value based on the prediction mode and / or prediction direction of the block to be encoded. Here, each prediction mode and / or prediction direction may have a corresponding angle. Based on the angle, the encoder may determine a reference position corresponding to a representative position and determine whether the determined reference position corresponds to an integer position. Here, the reference position may correspond to the same position as a single reference sample or to a position between multiple reference samples. Additionally, the integer position may refer to a position that can be represented by coordinates [n, m] (where n and m are integers). That is, if the reference position corresponds to an integer position, the reference position may be the same as a single reference sample.

[0124] Referring to 910 in FIG. 9, the reference position corresponding to the representative position (916) may be an integer position. In this case, the encoder may determine the sample value of the reference sample existing at the integer position as the representative predicted value corresponding to the representative position (916).

[0125] For example, when the representative position (916) is [0,3], the reference sample value of the integer position corresponding to the representative position (916) may be E. In this case, the encoder may determine E as the representative predicted value for the representative position (916). This can be represented by the following mathematical formula 1.

[0126] [Mathematical Formula 1]

[0127] predRep[0,3] = E

[0129] Here, predRep[x,y] can represent the representative predicted value for the representative position of [x,y].

[0130] Referring to 920 in FIG. 9, the reference position corresponding to the representative position (926) may not be an integer position. For example, when the representative position (926) is [1,0], the reference position corresponding to the representative position (926) may be a position existing between the integer position reference sample A and the integer position reference sample B. That is, when the reference position corresponding to the representative position (926) [1,0] is not an integer position, a plurality of reference samples (A, B) may correspond to the representative position (926).

[0131] In this case, as in one embodiment, the encoder may determine the sample value of a reference sample located closer to the prediction direction of the representative position among a plurality of reference samples corresponding to the representative position as the representative prediction value corresponding to the representative position. For example, in the embodiment of 920 of FIG. 9, assuming that reference sample B is located closer to the prediction direction of the representative position (926) than reference sample A, the encoder may determine B as the representative prediction value corresponding to the representative position (926). This can be represented by the following Equation 2.

[0132] [Mathematical Formula 2]

[0133] predRep[1,0] = B

[0135] In another embodiment, when the reference position corresponding to the representative position is not an integer position, the encoder can determine a representative predicted value for the representative position by performing interpolation on the sample values ​​of a plurality of reference samples corresponding to the representative position. For example, as in 920 of FIG. 9, when the representative position (926) is [1,0] and the reference samples corresponding to the representative position (926) are A and B, the encoder can derive a representative predicted value by performing interpolation using the decimal distance between reference sample A and reference sample B. This can be represented by the following Equation 3.

[0136] [Mathematical Formula 3]

[0137] predRep[1,0] = ((32-iFact)*A + iFact*B + 16) >> 5

[0139] Here, iFact may represent the decimal distance between reference sample A and reference sample B. Additionally, A may represent the sample value of reference sample A, and B may represent the sample value of reference sample B. According to an embodiment of Equation 3, the encoder can perform interpolation between multiple reference samples with an accuracy of 1 / 32.

[0140] The above iFact can be derived using a predetermined angle and / or a predetermined initial angle. Here, the predetermined angle and the predetermined initial angle may correspond to values ​​in which a distance of 1 / 32 units is expressed in the form of an angle, and may be determined differently for each intra-prediction mode. The following Table 3 shows examples of angles and initial angles according to the intra-prediction mode.

[0141] [Table 3]

[0142]

[0144] Here, the prediction mode set may represent a group composed of intra prediction modes having the same angle and the same initial angle. If the reference position corresponding to the representative position is not an integer position, the iFact value may be derived using the sum of the angle value and the initial angle value according to the intra prediction mode of the block to be encoded.

[0145] In another embodiment, if the reference position corresponding to the representative position is not an integer position, the encoder may determine the average value of a plurality of reference samples corresponding to the representative position as the representative predicted value for the representative position. For example, as in 920 of FIG. 9, if the representative position (926) is [1,0] and the reference samples corresponding to the representative position (926) are A and B, the encoder may determine the sample average value of reference sample A and reference sample B as the representative predicted value corresponding to the representative position (926). This can be represented by the following Equation 4.

[0146] [Mathematical Formula 4]

[0147] predRep[1,0] = (A+B+1) >> 1

[0149] When a representative predicted value corresponding to a representative position is determined, the encoder can determine a sample predicted value for each of a plurality of samples within a sample group corresponding to the representative position using the determined representative predicted value. For example, the predicted value for each of a plurality of samples constituting a single sample group can be determined to be the same value as the representative predicted value corresponding to the sample group. That is, the representative predicted value can be used as the predicted value for a plurality of samples within the corresponding sample group. Below, embodiments of a method for deriving predicted values ​​for a plurality of samples within a sample group are described.

[0151] FIG. 10 is a conceptual diagram schematically illustrating an example of a method for deriving predicted values ​​for multiple samples within a sample group.

[0152] FIG. 10 illustrates an embodiment in which a representative location for a sample group is determined to be the location of one sample among a plurality of samples constituting the sample group. That is, the embodiment of FIG. 10 may correspond to the embodiment of FIG. 6. 1015 and 1025 in FIG. 10 each represent a block to be encoded, and it is assumed that the size of each block to be encoded is 8x8. [x,y] indicated inside the block to be encoded in FIG. 10 may represent the coordinates of a sample within each block to be encoded.

[0153] In 1010 of FIG. 10, {[0,0], [0,1]}, {[1,0], [1,1]}, {[2,0], [2,1]}, {[3,0], [3,1]}, {[4,0], [4,1]} can each represent one sample group, and in 1020 of FIG. 10, {[0,0], [1,0]}, {[0,1], [1,1]}, {[0,2], [1,2]}, {[0,3], [1,3]}, {[0,4], [1,4]} can each represent one sample group. In Figure 10, [0,0], marked with a black dot at 1010, represents a representative location for sample group {[0,0], [0,1]}, and [1,0], marked with a black dot, represents a representative location for sample group {[1,0], [1,1]}. Additionally, in Figure 10, [0,0], marked with a black dot at 1020, represents a representative location for sample group {[0,0], [1,0]}, and [0,1], marked with a black dot, represents a representative location for sample group {[0,1], [1,1]}.

[0154] At this time, the encoder can determine a representative predicted value corresponding to one sample group as a predicted value for multiple samples within the sample group. For example, in 1010 of FIG. 10, since the representative position for the sample group {[1,0], [1,1]} is [1,0], the encoder can determine a representative predicted value for the representative position [1,0] as a predicted value for the samples located at the coordinates [1,0] and [1,1]. This can be represented by the following mathematical formula 5.

[0155] [Mathematical Formula 5]

[0156] predSamples[1,0] = predSamples[1,1] = predRep[1,0]

[0158] Here, predSamples[x,y] can represent the predicted value of the sample located at the coordinates [x,y].

[0159] Generalizing the above, in 1010 of FIG. 10, the representative position for the sample group {[x,y], [x,y+1]} may be [x,y]. In this case, the encoder can determine the representative predicted value for the representative position [x,y] as the predicted value of the sample located at the coordinates [x,y] and [x,y+1]. This can be represented by the following mathematical equation 6.

[0160] [Mathematical Formula 6]

[0161] predSamples[x,y] = predSamples[x,y+1] = predRep[x,y]

[0163] In addition, in 1020 of FIG. 10, the representative position for the sample group {[x,y], [x+1,y]} may be [x,y]. In this case, the encoder may determine the representative predicted value for the representative position [x,y] as the predicted value of the sample located at the coordinates [x,y] and [x+1,y]. This can be represented by the following mathematical equation 7.

[0164] [Mathematical Formula 7]

[0165] predSamples[x,y] = predSamples[x+1,y] = predRep[x,y]

[0167] FIG. 11 is a conceptual diagram schematically illustrating another embodiment of a method for deriving predicted values ​​for multiple samples within a sample group.

[0168] FIG. 11 illustrates an example in which a representative position for a sample group is determined as an intermediate position of a plurality of samples constituting the sample group. That is, the example of FIG. 11 may correspond to the example of FIG. 7. 1115 and 1125 in FIG. 11 each represent a block to be encoded, and it is assumed that the size of each block to be encoded is 8x8. [x,y] indicated inside the block to be encoded in FIG. 11 may represent the coordinates of a sample within each block to be encoded.

[0169] In 1110 of FIG. 11, {[0,0], [0,1], [1,0], [1,1]}, {[2,0], [2,1], [3,0], [3,1]}, {[4,0], [4,1], [5,0], [5,1]}, {[6,0], [6,1], [7,0], [7,1]} can each represent one sample group, and in 1120 of FIG. 11, {[3,1], [4,0]}, {[4,1], [5,0]}, {[5,1], [6,0]}, {[6,1], [7,0]} can each represent one sample group. In Fig. 11, the black dot at the midpoint of coordinates [0,0], [0,1], [1,0], [1,1] represents a representative position for sample group {[0,0], [0,1], [1,0], [1,1]}, and the black dot at the midpoint of coordinates [2,0], [2,1], [3,0], [3,1] represents a representative position for sample group {[2,0], [2,1], [3,0], [3,1]}. Additionally, in Fig. 11, the black dot at the midpoint of coordinates [4,1], [5,0] represents a representative position for sample group {[4,1], [5,0]}, and the black dot at the midpoint of coordinates [5,1], [6,0] represents a representative position for sample group {[5,1], [6,0]}.

[0170] At this time, the encoder can determine a representative prediction value corresponding to one sample group as a prediction value for multiple samples within the sample group.

[0171] In 1110 of Fig. 11, the representative position for the sample group {[x,y], [x,y+1], [x+1,y], [x+1,y+1]} may be [x+0.5, y+0.5]. In this case, the encoder may determine the representative predicted value for the representative position [x+0.5, y+0.5] as the predicted value of the sample located at the coordinates [x,y], [x,y+1], [x+1,y], [x+1,y+1]. This can be represented by the following mathematical equation 8.

[0172] [Mathematical Formula 8]

[0173] predSamples[x,y] = predSamples[x,y+1] =

[0174] predSamples[x+1,y] = predSamples[x+1,y+1] = predRep[x+0.5,y+0.5]

[0176] In addition, at 1120 in Fig. 11, the representative position for the sample group {[x,y], [x-1,y+1]} may be [x-0.5, y+0.5]. In this case, the encoder may determine the representative predicted value for the representative position [x-0.5, y+0.5] as the predicted value of the sample located at the coordinates [x,y], [x-1,y+1]. This can be represented by the following mathematical equation 9.

[0177] [Mathematical Formula 9]

[0178] predSamples[x,y] = predSamples[x-1,y+1] = predRep[x-0.5,y+0.5]

[0180] FIG. 12 is a conceptual diagram schematically illustrating another embodiment of a method for deriving predicted values ​​for multiple samples within a sample group.

[0181] FIG. 12 illustrates an example in which a representative location for a sample group is determined to be a location existing outside the sample group within the encoding target block. That is, the example of FIG. 12 may correspond to the example of FIG. 8. 1215 and 1225 in FIG. 12 each represent an encoding target block, and it is assumed that the size of each encoding target block is 8x8. [x,y] indicated inside the encoding target block in FIG. 12 may represent the coordinates of a sample within each encoding target block.

[0182] In 1210 of FIG. 12, {[0,4], [0,5]} and {[1,4], [1,5]} can each represent a sample group, and in 1220 of FIG. 12, {[2,0], [3,0]} and {[2,1], [3,1]} can each represent a sample group. In 1210 of FIG. 12, the black dot marked at the position of coordinates [0,2] represents a representative position for sample group {[0,4], [0,5]}, and the black dot marked at the position of coordinates [1,2] represents a representative position for sample group {[1,4], [1,5]}. In addition, the black dot at the position [1,0] in 1220 of Fig. 12 may represent a representative position for sample group {[2,0], [3,0]}, and the black dot at the position [1,1] may represent a representative position for sample group {[2,1], [3,1]}.

[0183] At this time, the encoder can determine a representative prediction value corresponding to one sample group as a prediction value for multiple samples within the sample group.

[0184] In 1210 of FIG. 12, the representative position for the sample group {[x,2*y], [x,2*y+1]} may be [x,y]. In this case, the encoder may determine the representative predicted value for the representative position [x,y] as the predicted value of the sample located at the coordinates [x,2*y], [x,2*y+1]. This can be represented by the following mathematical equation 10.

[0185] [Mathematical Formula 10]

[0186] predSamples[x, 2*y] =

[0187] predSamples[x, 2*y+1] = predRep[x, y]

[0189] In addition, at 1220 in FIG. 12, the representative position for the sample group {[2*x,y], [2*x+1,y]} may be [x,y]. In this case, the encoder may determine the representative predicted value for the representative position [x,y] as the predicted value of the sample located at the coordinates [2*x,y], [2*x+1,y]. This can be represented by the following mathematical equation 11.

[0190] [Mathematical Formula 11]

[0191] predSamples[2*x, y] =

[0193] *predSamples[2*x+1, y] = predRep[x, y]

[0195] According to the present invention, multiple samples within a sample group corresponding to a representative predicted value can be predicted at once through a single interpolation process for deriving a representative predicted value. Accordingly, the number of times the interpolation process is performed can be reduced, and the amount of computation and complexity can be reduced together.

[0197] In the embodiments described above, methods are described based on flowcharts as a series of steps or blocks; however, the present invention is not limited to the order of the steps, and some steps may occur in a different order or simultaneously with other steps as described above. Furthermore, those skilled in the art will understand that the steps shown in the flowcharts are not exclusive, that other steps may be included, or that one or more steps of the flowcharts may be omitted without affecting the scope of the present invention.

[0198] The embodiments described above include examples of various aspects. While it is not possible to describe all possible combinations for representing various aspects, those skilled in the art will recognize that other combinations are possible. Accordingly, the present invention shall be deemed to include all other substitutions, modifications, and changes falling within the scope of the following claims.

Claims

Claim 1 A video decoding method performed by a video decoding device, comprising: a step of determining whether to apply multi-sample prediction to a current block based on an intra-frame prediction mode of a current block; a step of determining a representative prediction value when the multi-sample prediction is applied; a step of generating a prediction block of the current block by predicting a plurality of samples of the current block using the determined representative prediction value; and a step of restoring the current block based on the prediction block and residual block of the current block; wherein the multi-sample prediction is performed based on the width of the current block and the height of the current block, and the representative prediction value is determined as the average value of a plurality of reference samples, and the plurality of reference samples include reference samples adjacent to the left of the current block. Claim 2 A video encoding method performed by a video encoding device, comprising: a step of determining whether to apply multi-sample prediction to a current block based on an intra-frame prediction mode of a current block; a step of determining a representative prediction value when the multi-sample prediction is applied; a step of generating a prediction block of the current block by predicting a plurality of samples of the current block using the determined representative prediction value; and a step of encoding the current block based on the prediction block of the current block; wherein the multi-sample prediction is performed based on the width of the current block and the height of the current block, and the representative prediction value is determined as the average value of a plurality of reference samples, and the plurality of reference samples include reference samples adjacent to the left of the current block. Claim 3 A computer-readable recording medium storing a bitstream that is received and decoded by an image decoding device and used to restore an image, wherein the bitstream includes information regarding an intra-frame prediction mode of a current block and information regarding a residual block of the current block, wherein the intra-frame prediction mode is restored and used to determine whether to apply multi-sample prediction to the current block, wherein when the multi-sample prediction is applied, a plurality of samples of the current block are predicted using a representative prediction value determined for the current block to generate a prediction block of the current block, wherein the information regarding the residual block of the current block is used to generate the residual block of the current block, wherein the prediction block and residual block of the current block are used to restore the current block, wherein the multi-sample prediction is performed based on the width of the current block and the height of the current block, wherein the representative prediction value is determined as the average value of a plurality of reference samples, and wherein the plurality of reference samples include reference samples adjacent to the left of the current block.

Citation Information

Patent Citations

  • Image encoding / image decoding method and image encoding / image decoding apparatus

    KR1020080067363A

  • Method and apparatus for image encoding, and method and apparatus for image decoding

    KR1020110018188A

  • Method of processing a video signal

    US20100061454A1

  • Method for intra prediction and apparatus thereof

    KR102412934B1