WO2014171713A1 - 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치 - Google Patents

인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치 Download PDF

Info

Publication number
WO2014171713A1
WO2014171713A1 PCT/KR2014/003261 KR2014003261W WO2014171713A1 WO 2014171713 A1 WO2014171713 A1 WO 2014171713A1 KR 2014003261 W KR2014003261 W KR 2014003261W WO 2014171713 A1 WO2014171713 A1 WO 2014171713A1
Authority
WO
WIPO (PCT)
Prior art keywords
prediction
mode
intra
curved
base
Prior art date
Application number
PCT/KR2014/003261
Other languages
English (en)
French (fr)
Inventor
문주희
최광현
한종기
Original Assignee
인텔렉추얼 디스커버리 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020130041303A external-priority patent/KR20140124447A/ko
Priority claimed from KR1020130041304A external-priority patent/KR20140124448A/ko
Application filed by 인텔렉추얼 디스커버리 주식회사 filed Critical 인텔렉추얼 디스커버리 주식회사
Priority to US14/784,467 priority Critical patent/US20160073107A1/en
Publication of WO2014171713A1 publication Critical patent/WO2014171713A1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Definitions

  • the present invention relates to a video codec, and more particularly, to a method and apparatus for providing a video codec using a curved prediction technique.
  • the Intra Prediction process of HEVC performs Intra prediction in 34 linear directions.
  • This method has a limitation of coding efficiency in areas with curved edges or areas where the brightness changes gradually (such as the background sky in the Kimono sequence), in which case a contour (contour-shaped) error occurs.
  • An embodiment of the present invention provides a method and apparatus for overcoming a limitation of coding efficiency and a contour error in intra prediction in a video codec.
  • the video codec providing method performs a curved prediction during intra prediction, and according to the curve prediction form and mode information, prediction filter, filtering method, pixel An interpolation method, an MPM determination method, a Transform method, and a scanning method are determined.
  • An encoding method includes a video encoding method, comprising: determining an encoding mode for an image block; Determining whether to perform a curved prediction mode when the encoding mode is intra prediction; And performing intra encoding according to whether the curved prediction is performed and the base intra prediction mode.
  • the curved prediction in the intra prediction by performing the curved prediction in the intra prediction, it is possible to improve the coding efficiency in a portion having a curved edge or a region where the brightness gradually changes (such as a background sky in a Kimono sequence).
  • the HEVC will compress video signals with a much higher resolution than the 4K video coding targets, and in this environment, the effect of the patented technology will be very efficient.
  • FIG. 1 is a block diagram illustrating an example of a configuration of a video encoding apparatus.
  • FIG. 2 is a block diagram illustrating an example of a structure of a video decoding apparatus.
  • 3 is a diagram illustrating an example of intra prediction modes.
  • FIG. 4 is a diagram for explaining a difference between performing a curved intra prediction and a linear intra prediction.
  • FIG. 5 illustrates an example in which a vertical prediction mode is determined through an intra prediction method used in HEVC.
  • FIG 6 shows the prediction mode of the first line in the prediction block.
  • FIG. 11 shows a prediction angle when the HEVC base_intra_prediction_mode is in mode 18.
  • FIG. 12 illustrates a position of a pixel of a current PU according to an embodiment of the present invention.
  • 20 to 25 illustrate shapes of indices to be encoded when encoding a prediction mode.
  • 26 is a flowchart illustrating a method for performing curved intra prediction according to an embodiment of the present invention in a step-by-step manner.
  • FIG. 27 illustrates a first reference pixel and a second reference pixel for calculating difference_intra_prediction_mode.
  • 29 is a view illustrating prediction angles of a third row and a fourth row in a prediction block according to another embodiment of the present invention.
  • 34 illustrates a prediction pixel position to which difference_intra_prediction_mode is applied when base_intra_mode ⁇ 7.
  • 39 shows a prediction chart in a curved picture.
  • 40 to 45 illustrate syntax information of a curved intra prediction mode to be encoded when the intra intra curved prediction mode is encoded according to an embodiment of the present invention.
  • MPEG Moving Picture Experts Group
  • VCEG Video Coding Experts Group
  • Encoding may be performed by using high efficiency video coding (HEVC).
  • HEVC high efficiency video coding
  • curve prediction is performed during intra prediction.
  • the video codec technology proposes prediction filters for each curve shape and mode.
  • a video codec technique proposes a filtering method of neighboring pixels (similar to Intra Smoothing of current HEVC) according to a curve prediction form and mode.
  • a video codec technique proposes a method of interpolating neighboring pixels in order to apply a curved prediction filter.
  • the video codec technology proposes a method of encoding curve shape and mode information.
  • the MPM determination method is proposed according to the curve prediction form and mode.
  • the video codec technology according to an embodiment of the present invention uses different transforms according to curve shape and mode information.
  • Video codec technology uses a different transform coefficient scanning method according to the curve shape and mode information.
  • FIG. 1 is a block diagram illustrating an example of a configuration of a video encoding apparatus.
  • the encoding apparatus illustrated in FIG. 1 includes an encoding mode determiner 110, an intra predictor 120, a motion compensator 130, and a motion estimator 131. ), Transform encoding / quantization unit 140, entropy encoding unit 150, inverse quantization / conversion decoding unit 160, deblocking filtering unit 170, picture storage unit 180, subtraction unit 190, and addition
  • the unit 200 is included.
  • the encoding mode determiner 110 analyzes an input video signal, divides a picture into coding blocks having a predetermined size, and determines an encoding mode for the divided coding blocks having a predetermined size.
  • the encoding mode includes intra prediction encoding and inter prediction encoding.
  • the picture is composed of a plurality of slices, and the slice is composed of a plurality of largest coding units (LCUs).
  • the LCU may be divided into a plurality of coding units (CUs), and the encoder may add information (flag) indicating whether to divide the bitstream.
  • the decoder can recognize the location of the LCU using the address LcuAddr.
  • the coding unit (CU) in the case where splitting is not allowed is regarded as a prediction unit (PU), and the decoder may recognize the location of the PU using a PU index.
  • the prediction unit PU may be divided into a plurality of partitions.
  • the prediction unit PU may include a plurality of transform units (TUs).
  • the encoding mode determiner 110 transmits the image data to the subtractor 190 in a block unit (for example, PU unit or TU unit) of a predetermined size according to the determined encoding mode.
  • a block unit for example, PU unit or TU unit
  • the transform encoding / quantization unit 140 converts the residual block calculated by the subtraction unit 190 from the spatial domain to the frequency domain.
  • DCT discrete cosine transform
  • DST discrete sine transform
  • the transform encoding / quantization unit 140 determines a quantization step size for quantizing the transform coefficient, and quantizes the transform coefficient using the determined quantization step size.
  • the quantization matrix may be determined according to the determined quantization step size and the encoding mode.
  • the quantized two-dimensional transform coefficients are transformed into one-dimensional quantized transform coefficients by one of a predetermined scanning method.
  • the transformed sequence of one-dimensional quantized transform coefficients is supplied to the entropy encoder 150.
  • the inverse quantization / transform decoding unit 160 inverse quantizes the quantization coefficients quantized by the transform encoding / quantization unit 140. Also,
  • the inverse quantization coefficient obtained by inverse quantization is inversely transformed. Accordingly, the residual block transformed into the frequency domain may be restored to the residual block in the spatial domain.
  • the deblocking filtering unit 170 receives inverse quantized and inversely transformed image data from the inverse quantization / conversion encoder 160 and performs filtering to remove a blocking effect.
  • the picture storage unit 180 receives the filtered image data from the deblocking filtering unit 170 and restores and stores the image in picture units.
  • the picture may be an image in a frame unit or an image in a field unit.
  • the picture storage unit 180 includes a buffer (not shown) that can store a plurality of pictures. A number of pictures stored in the buffer are provided for intra prediction and motion estimation. The pictures provided for intra prediction or motion estimation are called reference pictures.
  • the motion estimation unit 131 receives at least one reference picture stored in the picture storage unit 180 and performs motion estimation to output motion data including a motion vector, an index indicating a reference picture, and a block mode. do.
  • the motion vector is determined with fractional pixel precision, for example 1/2 or 1/4 pixel precision. Since the motion vector may have fractional pixel precision, the motion compensation unit 130 applies an interpolation filter for calculating the pixel value of the fractional pixel position to the reference picture, whereby the pixel value of the fractional pixel position from the pixel value of the integer pixel position. To calculate.
  • the motion compensator 130 corresponds to a block to be encoded from a reference picture used for motion estimation among a plurality of reference pictures stored in the picture storage unit 180 according to the motion data input from the motion estimator 131.
  • the prediction block is extracted and output.
  • the motion compensator 130 determines the filter characteristics of the adaptive interpolation filter required for the motion compensation with decimal precision.
  • the filter characteristics are, for example, information indicating the filter type of the adaptive interpolation filter, information indicating the size of the adaptive interpolation filter, and the like.
  • the size of the filter is, for example, the number of taps that is the number of filter coefficients of the adaptive interpolation filter.
  • the motion compensator 130 may determine one of a split type and a non split type adaptive filter as the adaptive interpolation filter. The determined number of taps of the adaptive interpolation filter, and the value of each filter coefficient are then determined. The value of the filter coefficient may be determined differently for each position of the decimal pixel relative to the integer pixel.
  • the motion compensation unit 130 may use a plurality of non-adaptive interpolation filters having a fixed filter coefficient.
  • the motion compensator 130 may set the characteristics of the interpolation filter in a predetermined processing unit. For example, it can be set in a decimal pixel unit, a coding basic unit (encoding unit), a slice unit, a picture unit, or a sequence unit. In addition, one characteristic may be set for one video data. Therefore, since the same filter characteristic is used in the predetermined processing unit, the motion compensator 130 includes a memory for temporarily holding the filter characteristic. This memory retains filter characteristics, filter coefficients, and the like as necessary. For example, the motion compensator 130 may determine filter characteristics for each I picture and determine filter coefficients in units of slices.
  • the motion compensator 130 receives the reference picture from the picture storage unit 180 and applies a filter process using the determined adaptive interpolation filter to generate a predictive reference image with a small precision.
  • the prediction block is generated by performing motion compensation with decimal pixel precision based on the generated reference image and the motion vector determined by the motion estimation unit 131.
  • the subtractor 190 receives a block in a reference picture corresponding to the input block from the motion compensator 130 and performs a difference operation with the input macroblock when the input block to be encoded is predictively encoded between the pictures. Output the (residue signal).
  • the intra predictor 120 performs intra prediction encoding by using the reconstructed pixel value inside the picture on which the prediction is performed.
  • the intra prediction unit receives the current block to be predictively encoded and selects one of a plurality of preset intra prediction modes according to the size of the current block to perform intra prediction.
  • the intra predictor 120 determines an intra prediction mode of the current block by using previously encoded pixels adjacent to the current block, and generates a prediction block corresponding to the determined mode.
  • the previously encoded region of the region included in the current picture is decoded again for use by the intra prediction unit 120 and stored in the picture storage unit 180.
  • the intra predictor 120 generates a prediction block of the current block by using pixels adjacent to the current block or non-adjacent but applicable pixels in a previously encoded region of the current picture stored in the picture storage unit 180.
  • the intra predictor 120 may adaptively filter adjacent pixels to predict an intra block.
  • the encoder may transmit information indicating whether to filter.
  • filtering may be determined based on the intra prediction mode of the current block and the size information of the current block.
  • the prediction type used by the image encoding apparatus depends on whether the input block is encoded in the intra mode or the inter mode by the encoding mode determiner.
  • the switching between the intra mode and the inter mode is controlled by the intra / inter switch.
  • the entropy encoder 150 entropy encodes the quantized coefficient quantized by the transform encoder / quantizer 140 and the motion information generated by the motion estimator 131.
  • intra prediction mode, control data eg, quantization step size, etc.
  • the filter coefficients determined by the motion compensator 130 are also encoded and output as a bit stream.
  • FIG. 2 is a block diagram illustrating an example of a configuration of a video decoding apparatus, and the decoding apparatus illustrated in FIG. 2 includes an intropy decoding unit 210, an inverse quantization / inverse transform unit 220, an adder 270, and a deblocking filter unit ( 250, a picture storage unit 260, an intra predictor 230, a motion compensation predictor 240, and an intra / inter switch 280.
  • the intropy decoder 210 decodes an encoded bitstream transmitted from a video encoding apparatus and divides the encoded bitstream into an intra prediction mode index, motion information, a quantization coefficient sequence, and the like.
  • the intropy decoder 210 supplies the decoded motion information to the motion compensation predictor 240.
  • the intropy decoder 210 supplies the intra prediction mode index to the intra predictor 230 and the inverse quantizer / inverse transformer 220.
  • the intropy decoder 210 supplies the inverse quantization coefficient sequence to the inverse quantization / inverse transform unit 220.
  • the inverse quantization / inverse transform unit 220 converts the quantization coefficient sequence into inverse quantization coefficients of a two-dimensional array.
  • One of the plurality of scanning patterns is selected for the conversion.
  • One of a plurality of scanning patterns is selected based on the prediction mode of the current block (ie, one of intra prediction and inter prediction), the intra prediction mode, and the size of the transform block.
  • the intra prediction mode is received from an intra predictor or an intropy decoder 210.
  • the inverse quantization / inverse transform unit 220 restores the quantization coefficients by using a quantization matrix selected from a plurality of quantization matrices for the inverse quantization coefficients of the two-dimensional array.
  • the quantization matrix may be determined using the information received from the encoder.
  • Different quantization matrices are applied according to the size of the current block (transform block) to be reconstructed, and a quantization matrix can be selected based on at least one of the prediction mode and the intra prediction mode of the current block for the same size block.
  • the residual block is reconstructed by inversely transforming the reconstructed quantization coefficients.
  • the adder 270 reconstructs the image block by adding the residual block reconstructed by the inverse quantization / inverse transform unit 220 and the prediction block generated by the intra predictor 230 or the motion compensation predictor 240.
  • the deblocking filter 250 performs a deblocking filter process on the reconstructed image generated by the adder 270. Accordingly, it is possible to reduce the deblocking artifacts caused by the image loss due to the quantization process.
  • the picture storage unit 260 is a frame memory that holds a local decoded image on which the deblocking filter process is performed by the deblocking filter unit 250.
  • the intra predictor 230 reconstructs the intra prediction mode of the current block based on the intra prediction mode index received from the intropy decoder 210.
  • the prediction block is generated according to the reconstructed intra prediction mode.
  • the motion compensation predictor 240 generates a prediction block for the current block from the picture stored in the picture storage unit 260 based on the motion vector information.
  • the prediction block is generated by applying the selected interpolation filter.
  • the intra / inter switch 280 provides the adder 270 with a prediction block generated by either the intra predictor 230 or the motion compensation predictor 260 based on the encoding mode.
  • standardized video codec technologies encode pixel values within a picture in units of blocks. If pixel values of a block to be currently encoded are similar to neighboring blocks in the same image, intra coding may be performed using the similarity.
  • the prediction block is encoded by predicting the current block with reference to pixel values of blocks that are already encoded in the vicinity.
  • spatial prediction encoding is performed using 35 prediction modes.
  • FIG. 3 illustrates an example of intra prediction modes and illustrates prediction modes and prediction directions of intra prediction considered in HEVC.
  • the number of intra prediction modes may vary according to the size of a block. For example, if the size of the current block is 8x8, 16x16, 32x32, there may be 34 intra prediction modes. If the size of the current block is 4x4, there may be 17 intra prediction modes.
  • the 34 or 17 intra prediction modes may include at least one non-directional mode and a plurality of directional modes.
  • One or more non-directional modes may be DC mode and / or planar mode.
  • the DC mode and the planner mode are included in the non-directional mode, there may be 35 intra prediction modes regardless of the size of the current block. At this time, it may include two non-directional modes (DC mode and planner mode) and 33 directional modes.
  • the planner mode generates a prediction block of the current block by using at least one pixel value (or a prediction value of the pixel value, hereinafter referred to as a first reference value) and reference pixels positioned at the bottom-right side of the current block. .
  • FIG. 4 is a diagram for explaining a difference between performing a curved intra prediction and considering a linear intra prediction as in the conventional method.
  • intra coding is performed considering only various linear prediction directions. As the size of an image increases, intra prediction is performed by considering the prediction block size of various sizes and intra-screen prediction in various directions, but still considering only the linear direction. Is not used.
  • edges of an image exist in a curved shape in a diagonal direction.
  • blocks are divided so that each division block is encoded by linear intra prediction in a different mode. If the image shown in Fig. 4 is encoded by the conventional method, the prediction accuracy is lowered, and the header bits are generated because the block is divided and encoded.
  • the block may be encoded in one intra prediction mode without being divided, and the prediction accuracy may be improved.
  • a linear intra prediction not only a linear intra prediction but also a curved intra prediction may be performed using various prediction modes according to characteristics of image information to be encoded.
  • curved prediction may be explicitly performed during intra prediction.
  • the process of (1) determining base_intra_prediction_mode and (2) determining line_intra_prediction_mode for each prediction line may be performed.
  • a line may be a set of pixels existing in the same line in the horizontal direction or may be a set of pixels existing in the same column in the vertical direction. Or it may be a set of pixels having the same angle in the diagonal direction.
  • base_intra_prediction_mode a base prediction direction for intra prediction of the current prediction block is determined, and then, in a next step, a prediction direction mode (line_intra_prediction_mode) adjusted for each line is determined.
  • This step may include determining a basic prediction direction used when curved intra prediction of the current prediction block.
  • the base prediction direction mode base_intra_prediction_mode is determined using an intra prediction mode determination method performed in the existing HEVC. That is, when intra prediction of the current coding block using the neighboring pixel values of the current coding block, the existing HEVC intra prediction method that considers a total of 35 prediction modes is used. As described above, after base_intra_prediction_mode is determined using the intra prediction method of the existing HEVC, a curved intra prediction similar to this direction is performed in the next step.
  • FIG. 5 illustrates an example in which a vertical prediction mode is determined through an intra prediction method used in HEVC.
  • a vertical prediction mode is selected as an example.
  • the vertical mode determined in this example may be referred to as base_intra_prediction_mode in the present invention.
  • base_intra_prediction_mode is in the vertical mode.
  • the line is a set of pixels horizontally in the same position.
  • each line is similar to the vertical mode but is predicted intra in a slightly different direction.
  • FIG 6 shows the prediction mode of the first line in the prediction block.
  • the first figure 6 in the prediction block may plot the prediction angle of the first line of the 4 ⁇ 4 PU.
  • Line_intra_prediction_mode (1) of the first line becomes the same mode as base_intra_prediction_mode.
  • the prediction angle line_intra_prediction_mode (2) of the second line may be illustrated.
  • line_intra_prediction_mode (2) base_intra_prediction_mode-1 may be used.
  • the angles lie down more and more.
  • the third row is predicted at an angle of base_intra_prediction_mode + 2
  • the fourth row is predicted at an angle of base_intra_prediction_mode + 3.
  • the difference in the prediction direction between a line and a line may be defined as difference_angle.
  • difference_angle is limited to -2, -1, 1, 2 based on base_intra_prediction_mode. That is, the difference_angle value may have one of -2, -1, 1, and 2.
  • the method of selecting the optimal difference_angle value from the total of four difference_angles selects the most advantageous value in terms of rate distortion. Specifically, in the current prediction block
  • the first line is base_intra_prediction_mode
  • the second line is base_intra_prediction_mode + difference_angle,
  • the third line is base_intra_prediction_mode + 2 * difference_angle
  • the fourth line is predicted by base_intra_prediction_mode + 3 * difference_angle.
  • the RD cost in this case is compared with the RD cost when all pixels of the current block are predicted in the mode determined by the intra prediction method of HEVC. Finally, the mode with the lower RD cost is selected.
  • FIG. 9 shows first and second line prediction angles when difference_angle is -1
  • FIG. 10 shows third and fourth line prediction angles when difference_angle is -1.
  • FIG. 11 shows a prediction angle when the HEVC base_intra_prediction_mode is in mode 18.
  • FIG. 11 is a diagram for a 135 degree angle at which base_intra_prediction_mode is 18.
  • FIG. This mode 18 is a result determined by applying a conventional HEVC intra prediction method to neighboring pixels of the current block.
  • difference_angle becomes -2, -1, 1, 2, and the intra-curved prediction is performed for each difference_angle.
  • the following example illustrates the case where difference_angle is -1.
  • the pixel locations within the PU are symbolically represented in Figure 12.
  • FIG. 12 illustrates a position of a pixel of a current PU according to an embodiment of the present invention.
  • the pixel P (0, 0) belonging to the first line is predicted by the prediction angle of base_intra_prediction_mode.
  • the pixels P (1,0), P (0,1), and P (1,1) belonging to the second line are predicted by base_intra_prediction_mode + difference_angle.
  • the pixels P (2,0), P (2,1), P (2,2), P (0,2), and P (1,2) belonging to the third line are predicted by base_intra_prediction_mode + 2 * difference_angle.
  • FIG. 15 illustrates a prediction pixel position to which difference_angle is applied when base_intra_mode ⁇ 7.
  • FIG. 15 shows the shape of lines that differentially use difference_angle when base_intra_prediction_mode is smaller than mode 7.
  • base_intra_prediction_mode is greater than or equal to 7 and less than 14, the shape of the line to which difference_angle is applied differentially can be explained.
  • the concept of line to which differential difference_angle is applied is explained.
  • RDcost of base_intra_prediction_mode which is an intra prediction prediction mode of existing HEVC, and a mode having the lowest cost among four RDcosts (according to four differences_angle values) based on base_intra_prediction_mode based on curved prediction. do.
  • base_intra_prediction_mode is DC or planar mode, curved intra prediction is not performed.
  • the determined mode information is encoded and transmitted as follows.
  • cuvature_angular_pred becomes 1 and the index of the optimal difference_angle is encoded and transmitted.
  • Table 1 is a codebook for encoding the index of the difference_angle. If curved intra prediction is not selected, curvature_angular_pred is transmitted with 0 encoded.
  • Curvature_angular_pred which informs the performance of the prediction in the curved picture
  • a difference_angle index which indicates the curvature of the prediction in the curved picture
  • base_intra_prediction_mode of the current block is equal to mpm and it is in DC or planar mode, it is encoded as shown in FIG. 20.
  • base_intra_prediction_mode of the current block is not equal to mpm and is encoded in DC or planar mode, the encoding is performed as shown in FIG. 21.
  • base_intra_prediction_mode of the current block is equal to mpm and is encoded by the curved intra prediction, it is encoded as shown in FIG. 22.
  • base_intra_prediction_mode of the current block is not equal to mpm and is encoded by the curved intra prediction, the encoding is performed as shown in FIG. 23.
  • base_intra_prediction_mode of the current block is equal to mpm and is not encoded by the curved intra prediction, it is encoded as shown in FIG. 24.
  • base_intra_prediction_mode of the current block is not equal to mpm and is not encoded by the curved intra prediction, it is encoded as shown in FIG. 25.
  • FIG. 26 is a flowchart illustrating a method for performing curved intra prediction according to an embodiment of the present invention as described above in step by step.
  • the process in order to perform curved intra prediction, is divided into (1) determining the base_intra_prediction_mode, (2) calculating the difference_intra_prediction_mode, and (3) determining the line_intra_prediction_mode for each prediction line. Can be.
  • the line may be a set of pixels existing in the same line in the horizontal direction, or may be a set of pixels existing in the same column in the vertical direction. Or it may be a set of pixels having the same angle in the diagonal direction.
  • base_intra_prediction_mode base_intra_prediction_mode-reference_intra_prediction_mode> is calculated.
  • the difference_intra_prediction_mode is used to determine the prediction direction mode (line_intra_prediction_mode) adjusted for each line.
  • This step is to determine the basic prediction direction used when curved intra prediction of the current prediction block.
  • This base prediction direction mode (base_intra_prediction_mode) is determined using an intra prediction mode determination method performed in the existing HEVC. That is, when intra prediction of the current coding block using the neighboring pixel values of the current coding block, the existing HEVC intra prediction method that considers a total of 35 prediction modes is used. As described above, after base_intra_prediction_mode is determined using the intra prediction method of the existing HEVC, a curved intra prediction similar to this direction is performed in the next step.
  • FIG. 5 illustrates an example in which the vertical prediction mode is determined through the intra prediction method used in HEVC.
  • 35 prediction modes used in HEVC are considered, and finally, a vertical prediction mode is selected as an example.
  • the vertical mode determined in this example is referred to as base_intra_prediction_mode in the present invention.
  • this step it is a process of determining how to correct the intra prediction direction in the current prediction block by using the pixel information of the blocks previously encoded and decoded.
  • FIG. 27 illustrates a first reference pixel and a second reference pixel for calculating difference_intra_prediction_mode.
  • neighboring pixels of the current coding block are represented as first reference pixels and second reference pixels.
  • the first reference pixels are the peripheral pixels closest to the current coding block, and the second reference pixels are the peripheral pixels located farther than the first reference pixels.
  • the existing HEVC intra prediction method is applied to the second reference pixel to predict the first reference pixels.
  • all 35 modes used in the HEVC intra mode are considered.
  • the direction mode having the smallest sum of absolute difference (SAD) value between the original values of the first reference pixels and the predicted first reference pixels is determined as reference_intra_prediction_mode.
  • the next step is performed to perform the prediction in the curved screen.
  • the absolute value of difference_intra_prediction_mode is greater than or equal to 3
  • the difference between the characteristics of the current prediction block and the neighboring blocks is considered to be large, without using the intra-curved prediction, and using base_intra_prediction_mode, the existing intra prediction technique of HEVC is used. use.
  • base_intra_prediction_mode is in vertical mode.
  • base_intra_prediction_mode is the vertical mode
  • the line is a set of pixels horizontally in the same position.
  • each line performs intra prediction encoding in a slightly adjusted direction based on base_intra_prediction_mode.
  • Line_intra_prediction_mode (1) of the first line becomes the same mode as base_intra_prediction_mode.
  • the mode that adds difference_intra_prediction_mode to vertical mode which is base_intra_prediction_mode is used as line_intra_prediction_mode (2) of the second line.
  • line_intra_prediction_mode (2) base_intra_prediction_mode + difference_intra_prediction_mode
  • the prediction modes of the third and fourth lines are as follows.
  • line_intra_prediction_mode (3) base_intra_prediction_mode + 2 * difference_intra_prediction_mode
  • line_intra_prediction_mode (4) base_intra_prediction_mode + 3 * difference_intra_prediction_mode
  • 29 is a view illustrating prediction angles of a third row and a fourth row in a prediction block according to another embodiment of the present invention.
  • difference_intra_prediction_mode 1
  • intra prediction modes in the third and fourth lines are described.
  • FIG. 30 illustrates first and second row prediction angles when difference_intra_prediction_mode is -1
  • FIG. 31 illustrates third and fourth row prediction angles when difference_intra_prediction_mode is -1.
  • the 135-degree angle at which the base_intra_prediction_mode is the 18th mode is similar to the above description. The changes are as follows.
  • the pixels P (1,0), P (0,1), and P (1,1) belonging to the second line are predicted by base_intra_prediction_mode + difference_intra_prediction_mode.
  • the pixels P (2,0), P (2,1), P (2,2), P (0,2), and P (1,2) belonging to the third line are predicted by base_intra_prediction_mode + 2 * difference_intra_prediction_mode.
  • P (3,0), P (3,1), P (3,2), P (3,3), P (0,3), P (1,3), P ( 2,3) predicts base_intra_prediction_mode + 3 * difference_intra_prediction_mode.
  • 32 shows the position of the pixel predicted by base_intra_prediction_mode and the position of the pixel predicted by difference_intra_prediction_mode
  • FIG. 33 shows the position of the pixel predicted by 2 * difference_intra_prediction_mode and the position of the pixel predicted by 3 * difference_intra_prediction_mode.
  • 34 illustrates a prediction pixel position to which difference_intra_prediction_mode is applied when base_intra_mode ⁇ 7.
  • 36 is a view for explaining the shape of a line that differentially uses difference_intra_prediction_mode when base_intra_prediction_mode is smaller than mode 7.
  • FIG. 37 illustrates the shape of a line to which difference_intra_prediction_mode is differentially applied when base_intra_prediction_mode is greater than or equal to 7 and less than 14 times.
  • the intra prediction coding is performed. If the absolute value of difference_intra_prediction_mode is equal to or greater than 3, intra-prediction is performed using base_intra_prediction_mode.
  • a differential intra prediction mode is used for each line in the prediction block.
  • the specific modes are as follows.
  • line_intra_prediction_mode (1) base_intra_prediction_mode
  • line_intra_prediction_mode base_intra_prediction_mode (3) + 2 * difference_intra_prediction_mode
  • line_intra_prediction_mode base_intra_prediction_mode (4) + 3 * difference_intra_prediction_mode
  • the RD cost of using the proposed curved intra prediction is compared with the RD cost of the existing intra prediction method used in HEVC (base_intra_prediction). Use modes and methods that have.
  • curvature_angular_pred becomes 1 when ⁇ 3 and the finally determined optimal mode becomes the prediction mode in the curved screen. Otherwise, curvature_angular_pred is transmitted with 0 when the finally determined optimal mode is the existing HEVC mode.
  • the case of encoding the prediction mode in the curved screen will be described in two ways.
  • the base_intra_prediction_mode of the MPM and the current block are the same.
  • MPM flag 1bit, MPM index 1 ⁇ 2bits, curvature_angular_pred 1bit are transmitted.
  • the base_intra_prediction_mode of the MPM and the current block are different.
  • 1 bit of MPM flag, 5 bits of base_intra_prediction_mode, and 1 bit of curvature_angular_pred are transmitted.
  • the base_intra_prediction_mode of the current block is equal to mpm and is also equal to 40 when encoded in DC or planar mode.
  • base_intra_prediction_mode of the current block is encoded in DC or planar mode without being equal to mpm, the same as in FIG.
  • base_intra_prediction_mode of the current block is equal to mpm and is encoded by the curved intra prediction, as shown in FIG. 42.
  • the first process of decoding decodes base_intra_prediction_mode for each block. Thereafter, the existing HEVC intra prediction mode is applied to the second reference pixel to predict the first reference pixels. In this case, 35 modes used in the HEVC intra mode are used. In this process, the direction mode having the smallest sum of absolute difference (SAD) value between the original values of the first reference pixels and the predicted first reference pixels is determined as reference_intra_prediction_mode. After that, if base_intra_prediction_mode or reference_intra_prediction_mode is DC or planar mode, decoding is performed by the existing HEVC method.
  • SAD sum of absolute difference
  • the difference between the reference_intra_prediction_mode and the base_intra_prediction_mode determined in the previous step is determined as follows.
  • difference_intra_prediction_mode base_intra_prediction_mode-reference_intra_prediction_mode
  • base_intra_prediction_mode or reference_intra_prediction_mode is not DC or planar mode and the absolute value of difference_intra_prediction_mode is less than 3, the curvature_angular_pred flag is decoded.
  • difference_intra_prediction_mode can be calculated by surrounding reference pixels in the encoder and decoder, encoding / decoding can be performed without any separate transmission.
  • the compression efficiency can be improved by performing the intra prediction of the straight line and the intra prediction of the curved line.
  • the method according to the present invention described above may be stored in a computer-readable recording medium that is produced as a program for execution on a computer, and examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape , Floppy disks, optical data storage, and the like, and also include those implemented in the form of carrier waves (eg, transmission over the Internet).
  • the computer readable recording medium can be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
  • functional programs, codes, and code segments for implementing the method can be easily inferred by programmers in the art to which the present invention belongs.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명의 실시 예에 따른 부호화 방법은 비디오 부호화 방법에 있어서, 영상 블록에 대한 부호화 모드를 판단하는 단계; 상기 부호화 모드가 인트라 예측인 경우, 곡선형 예측 모드의 수행 여부를 판단하는 단계; 및 상기 곡선형 예측 수행 여부 및 베이스 인트라 예측 모드에 따라 인트라 부호화를 수행하는 단계를 포함한다.

Description

인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
본 발명은 비디오 코덱에 관한 것으로, 더욱 상세하게는 곡선형 예측 기술을 이용하는 비디오 코덱 제공 방법 및 장치에 관한 것이다.
일반적인 HEVC의 Intra Prediction 과정에서는 직선형 형태의 34가지 방향으로 Intra 예측을 수행한다. 이 방법은 곡선형 edge가 있는 부분 또는 (Kimono sequence에서 배경 하늘 부분처럼) 점진적으로 밝기가 변하는 영역 등에서 부호화 효율의 한계가 존재하며, 이 경우 contour (등고선 형태의) error가 발생하는 문제점이 있었다.
본 발명의 실시 예는 비디오 코덱에서 인트라 예측 시, 부호화 효율의 한계와, Contour error를 극복하는 방법 및 장치를 제공한다.
다만, 본 발명의 실시 예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상기한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1측면에 따른 비디오 코덱 제공 방법은 인트라 예측 시 곡선형 예측을 수행하고, 곡선 예측 형태 및 mode정보에 따라 예측 필터, 필터링 방법, 화소 보간 방법, MPM 결정방법, 변환(Transform)방법, 및 스캐닝(Scanning)방법을 결정한다.
본 발명의 실시 예에 따른 부호화 방법은 비디오 부호화 방법에 있어서, 영상 블록에 대한 부호화 모드를 판단하는 단계; 상기 부호화 모드가 인트라 예측인 경우, 곡선형 예측 모드의 수행 여부를 판단하는 단계; 및 상기 곡선형 예측 수행 여부 및 베이스 인트라 예측 모드에 따라 인트라 부호화를 수행하는 단계를 포함한다.
본 발명의 실시예에 따르면, Intra Prediction에서 곡선형 예측을 수행함으로써 곡선형 edge가 있는 부분 또는 (Kimono sequence에서 배경 하늘 부분처럼) 점진적으로 밝기가 변하는 영역 등에서 부호화 효율을 향상 시킬 수 있다.
미래에는 현재 HEVC가 부호화 목표로 삼는 4K 영상보다 훨씬 큰 해상도의 영상 신호를 압축할 것이고, 이런 환경에서 본 특허 기술의 효과는 매우 효율적으로 나타날 것이다.
도 1은 비디오 부호화 장치의 구성에 대한 일예를 나타내는 블록도이다.
도 2는 비디오 복호화 장치 구조에 대한 일예를 나타내는 블록도이다.
도 3은 인트라 예측 모드들에 대한 일예를 나타내는 도면이다.
도 4는 곡선형 화면 내 예측을 수행하였을 때와 직선형 화면 내 예측을 고려했을 경우의 차이를 설명하기 위한 도면이다.
도 5는 HEVC에서 사용되고 있는 intra prediction 방법을 통해서 수직방향 예측 모드가 결정된 예를 설명하고 있다.
도 6은 예측 블록 내에서 첫 번째 line의 예측 mode를 나타낸다.
도 7은 예측 블록 내에서 두 번째 line의 예측 mode를 나타낸다.
도 8은 예측 블록 내에서 세 번째 행과 네 번째 행의 예측 각도를 나타낸다.
도 9는 difference_angle이 -1일 때 첫 번째, 두 번째 line 예측 각도를 나타낸다.
도 10은 difference_angle이 -1일 때 세 번째, 네 번째 line 예측 각도를 나타낸다.
도 11은 HEVC base_intra_prediction_mode가 18번 모드일 때 예측 각도를 나타낸다.
도 12는 본 발명의 실시 예에 따른 현재 PU의 픽셀의 위치를 나타낸다.
도 13과 도 14는 difference_angle=-1 인 경우의 예측되는 픽셀의 위치들을 설명하기 위한 도면들이다.
도 15는 base_intra_mode < 7일 때 difference_angle 적용되는 예측 픽셀 위치를 나타낸다.
도 16은 7 <= base_intra_mode < 14일 때 difference_angle 적용되는 예측 픽셀 위치를 나타낸다.
도 17은 14 <= base_intra_mode < 23일 때 difference_angle 적용되는 예측 픽셀 위치를 나타낸다.
도 18은 23 <= base_intra_mode < 30일 때 difference_angle 적용되는 예측 픽셀 위치를 나타낸다.
도 19는 30 <= base_intra_mode < 35일 때 difference_angle 적용되는 예측 픽셀 위치를 나타낸다.
도 20 내지 도 25는 예측 모드를 부호화할 때 부호화해야할 인덱스들의 형태를 나타낸다.
도 26은 본 발명의 실시 예에 따른 곡선형 인트라 예측 수행 방법을 단계별로 흐름도로 나타낸 것이다.
도 27은 difference_intra_prediction_mode를 계산하기 위한 제 1 참조 픽셀과 제 2 참조 픽셀을 나타낸다.
도 28은 예측 블록 내에서 두 번째 line의 예측 mode를 나타낸다.
도 29는 본 발명의 다른 일 실시 예에 따른 예측 블록 내에서 세 번째 행과 네 번째 행의 예측 각도를 나타낸다.
도 30과 도 31에서는 difference_intra_prediction_mode=-1 인 경우를 설명하고 있다.
도 32와 도 33에서는 difference_intra_prediction_mode=-1 인 경우를 설명하고 있다.
도 34는 base_intra_mode < 7일 때 difference_intra_prediction_mode 적용되는 예측 픽셀 위치를 나타낸다.
도 35는 7 <= base_intra_mode < 14일 때 difference_intra_prediction_mode 적용되는 예측 픽셀 위치를 나타낸다.
도 36은 14 <= base_intra_mode < 23일 때 difference_angle 적용되는 예측 픽셀 위치를 나타낸다.
도 37은 23 <= base_intra_mode < 30일 때 difference_intra_prediction_mode 적용되는 예측 픽셀 위치를 나타낸다.
도 38은 30 <= base_intra_mode < 35일 때 difference_intra_prediction_mode 적용되는 예측 픽셀 위치를 나타낸다.
도 39는 곡선형 화면 내 예측 순서도를 나타낸다.
도 40 내지 도 45는 본 발명의 실시예에 따른 곡선형 화면 내 예측 모드를 부호화하는 경우 부호화할 곡선형 화면 내 예측 모드에 대한 신택스 정보를 나타낸다.
도 46은 곡선형 화면 내 예측 복호화 순서도를 나타낸다.
아래에서는 첨부한 도면을 참조하여 본원이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본원의 실시 예를 상세히 설명한다. 그러나 본원은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본원을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본원 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다.
본원 명세서 전체에서, 어떤 부재가 다른 부재 상에 위치하고 있다고 할 때, 이는 어떤 부재가 다른 부재에 접해 있는 경우뿐 아니라 두 부재 사이에 또 다른 부재가 존재하는 경우도 포함한다.
본원 명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. 본원 명세서 전체에서 사용되는 정도의 용어 "약", "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본원의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. 본원 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다.
본원 명세서 전체에서, 마쿠시 형식의 표현에 포함된 이들의 조합의 용어는 마쿠시 형식의 표현에 기재된 구성 요소들로 이루어진 군에서 선택되는 하나 이상의 혼합 또는 조합을 의미하는 것으로서, 상기 구성 요소들로 이루어진 군에서 선택되는 하나 이상을 포함하는 것을 의미한다.
실제 영상과 그것의 깊이 정보 맵을 부호화하는 방법의 일예로, 현재까지 개발된 비디오 부호화 표준 중에서 최고의 부호화 효율을 가지는 MPEG(Moving Picture Experts Group)과 VCEG(Video Coding Experts Group)에서 공동으로 표준화를 진행 중인 HEVC(High Efficiency Video Coding)를 이용하여 부호화를 수행할 수 있다.
본 발명의 일실시 예에 있어서, Intra Prediction시 곡선형 예측을 수행한다.
본 발명의 일실시 예에 따른 비디오 코덱 기술은 곡선 형태 및 mode 별로 예측 필터들을 제안한다.
본 발명의 일실시예에 따른 비디오 코덱 기술은 곡선 예측 형태 및 mode에 따라 (현재 HEVC의 Intra Smoothing 과 유사한) 주변 화소들의 필터링 방법을 제안한다.
본 발명의 일실시예에 따른 비디오 코덱 기술은 곡선형 예측 필터를 적용하기 위해서, 주변 화소들을 보간하는 방법을 제안한다.
본 발명의 일실시예에 따른 비디오 코덱 기술은 곡선 형태 및 mode 정보를 부호화하는 방법을 제안한다. 이때, 곡선 예측 형태 및 mode에 따라서 MPM 결정 방법을 제안한다.
본 발명의 일실시예에 따른 비디오 코덱 기술은 곡선 형태 및 mode 정보에 따라서 서로 다른 Transform을 사용한다.
본 발명의 일실시예에 따른 비디오 코덱 기술은 곡선 형태 및 mode 정보에 따라서 서로 다른 변환 계수 scanning 방법을 사용한다.
도 1은 비디오 부호화 장치의 구성에 대한 일예를 블록도로 도시한 것으로, 도시된 부호화 장치는 부호화 모드 결정부(110), 인트라 예측부(120), 움직임 보상부(130), 움직임 추정부(131), 변환부호화/양자화부(140), 엔트로피 부호화부(150), 역양자화/변환복호화부(160), 디블록킹 필터링부(170), 픽쳐 저장부(180), 감산부(190) 및 가산부(200)를 포함한다.
도 1을 참조하면, 부호화 모드 결정부(110)는 입력되는 비디오 신호를 분석하여 픽쳐를 소정 크기의 부호화 블록으로 분할하고, 분할된 소정 크기의 부호화 블록에 대한 부호화 모드를 결정한다. 상기 부호화 모드는 인트라 예측 부호화 및 인터 예측 부호화를 포함한다.
픽쳐는 복수의 슬라이스로 구성되고, 슬라이스는 복수개의 최대 부호화 단위(Largest coding unit: LCU)로 구성된다. 상기 LCU는 복수개의 부호화 단위(CU)로 분할될 수 있고, 부호기는 분할여부를 나타내는 정보(flag)를 비트스트림에 추가할 수 있다. 복호기는 LCU의 위치를 어드레스(LcuAddr)를 이용하여 인식할 수 있다. 분할이 허용되지 않는 경우의 부호화 단위(CU)는 예측 단위(Prediction unit: PU)로 간주되고, 복호기는 PU의 위치를 PU 인덱스를 이용하여 인식할 수 있다.
예측 단위(PU)는 복수개의 파티션으로 나뉠 수 있다. 또한 예측 단위(PU)는 복수개의 변환 단위(Transform unit: TU)로 구성될 수 있다.
부호화 모드 결정부(110)는 결정된 부호화 모드에 따른 소정 크기의 블록 단위(예를 들면, PU 단위 또는 TU 단위)로 영상 데이터를 감산부(190)로 보낸다.
변환부호화/양자화부(140)는 감산부(190)에 의해 산출된 잔차 블록을 공간 영역으로부터 주파수 영역으로 변환한다.
예를 들면, 잔차 블록에 대해서 2차원의 이산 코사인 변환(DCT) 또는 이산 사인 변환(DST) 기반의 변환을 실행한다. 또한, 변환부호화/양자화부(140)는 변환 계수를 양자화하기 위한 양자화 스텝 사이즈를 결정하고, 결정된 양자화 스텝 사이즈를 이용하여 변환 계수를 양자화한다. 결정된 양자화 스텝 사이즈 및 부호화 모드에 따라 양자화 매트릭스가 결정될 수 있다.
양자화된 2차원의 변환 계수는 미리 정해진 스캐닝 방법 중 하나에 의해 1차원의 양자화 변환 계수로 변환된다.
상기 변환된 1차원의 양자화 변환 계수의 시퀀스는 엔트로피 부호화부(150)로 공급된다.
역양자화/변환복호화부(160)는 변환부호화/양자화부(140)에 의해 양자화된 양자화 계수를 역양자화한다. 또한,
역양자화에 의해 얻어지는 역양자화 계수를 역변환한다. 이에 따라, 주파수 영역으로 변환된 잔차 블록을 공간 영역의 잔차 블록으로 복원할 수 있다.
디블록킹 필터링부(170)는 역양자화/변환부호화부(160)로부터 역양자화 및 역변환된 영상 데이터를 입력 받아 블록킹(blocking) 효과를 제거하기 위한 필터링을 수행한다.
픽쳐 저장부(180)는 필터링된 영상 데이터를 디블록킹 필터링부(170)로부터 입력 받아 픽쳐(picture) 단위로 영상을 복원하여 저장한다. 픽쳐는 프레임 단위의 영상이거나 필드 단위의 영상일 수 있다.
픽쳐 저장부(180)는 다수의 픽쳐를 저장할 수 있는 버퍼(도시되지 않음)를 구비한다. 버퍼에 저장된 다수의 픽쳐는 인트라 예측 및 움직임 추정을 위해 제공된다. 인트라 예측 또는 움직임 추정을 위해 제공되는 상기 픽쳐들은 참조 픽쳐로 불리운다.
움직임 추정부(131)는 상기 픽쳐 저장부(180)에 저장된 적어도 하나의 참조 픽쳐를 제공받아 움직임 추정을 수행하여 움직임 벡터, 참조 픽쳐를 나타내는 인덱스 및 블록 모드를 포함한 모션 데이터(Motion Data)를 출력한다.
예측 정밀도를 최적화하기 위해서, 소수 화소 정밀도, 예를 들면, 1/2 또는 1/4 화소 정밀도로 움직임 벡터를 결정한다. 움직임 벡터가 소수 화소 정밀도를 가질 수 있으므로, 움직임 보상부(130)는 소수 화소 위치의 화소 값을 산출하기 위한 보간 필터를 참조 픽쳐에 적용함으로써, 정수 화소 위치의 화소값으로부터 소수 화소 위치의 화소값을 산출한다.
움직임 보상부(130)는 움직임 추정부(131)로부터 입력된 모션 데이터에 따라, 픽쳐 저장부(180)에 저장된 다수의 참조 픽쳐들 중 움직임 추정에 이용된 참조 픽쳐로부터, 부호화하고자 하는 블록에 대응하는 예측 블록을 추출하여 출력한다.
움직임 보상부(130)는 소수 정밀도의 움직임 보상에 필요한 적응적 보간 필터의 필터 특성을 결정한다. 필터 특성은, 예를 들면, 적응적 보간 필터의 필터 타입을 나타내는 정보, 및, 적응적 보간 필터의 사이즈를 나타내는 정보 등이다. 필터의 사이즈는, 예를 들면, 적응적 보간 필터의 필터 계수의 수인 탭 수 등이다.
구체적으로, 움직임 보상부(130)는 적응적 보간 필터로서, 분리형 및 비분리형 적응적 필터 중 어느 하나를 결정할 수 있다. 그리고 나서, 결정된 적응적 보간 필터의 탭 수, 및, 각 필터 계수의 값을 결정한다. 필터 계수의 값은, 정수 화소와의 상대적인 소수 화소의 위치마다 다르게 결정될 수 있다. 또한, 움직임 보상부(130)는, 필터 계수가 고정인 복수개의 비적응적 보간 필터를 이용할 수도 있다.
움직임 보상부(130)는, 보간 필터의 특성을 소정의 처리 단위로 설정할 수 있다. 예를 들면, 소수 화소 단위, 부호화 기본 단위(부호화 유닛), 슬라이스 단위, 픽쳐 단위, 또는, 시퀀스 단위로 설정할 수 있다. 또한, 1개의 영상 데이터에 대해서, 1개의 특성을 설정해도 된다. 따라서, 소정의 처리 단위 내에서는, 동일한 필터 특성을 이용하므로, 움직임 보상부(130)는 필터 특성을 일시적으로 유지하는 메모리를 구비한다. 이 메모리는 필요에 따라, 필터 특성 및 필터 계수 등을 유지한다. 예를 들면, 움직임 보상부(130)는, I픽쳐마다 필터 특성을 결정하고, 슬라이스 단위로 필터 계수를 결정할 수 있다.
움직임 보상부(130)는, 픽쳐 저장부(180)로부터 참조 픽쳐를 수신하고, 결정된 적응적 보간 필터를 이용하여 필터 처리를 적용함으로써, 소수 정밀도의 예측 참조 화상을 생성한다.
그리고, 생성된 참조 화상과, 움직임 추정부(131)에 의해 결정된 움직임 벡터에 의거하여 소수 화소 정밀도의 움직임 보상을 행함으로써, 예측 블록을 생성한다.
감산부(190)는 부호화하고자 하는 입력 블록을 픽쳐 간 예측 부호화하는 경우, 움직임 보상부(130)로부터 입력 블록에 대응하는 참조 픽쳐 내의 블록을 입력받아 입력 매크로 블록과의 차분 연산을 수행하여 잔차 신호(residue signal)를 출력한다.
인트라 예측부(120)는 예측이 수행되는 픽처 내부의 재구성된 화소값을 이용하여 인트라 예측 부호화를 수행한다. 인트라 예측부는 예측 부호화할 현재 블록을 입력 받아 현재 블록의 크기에 따라 미리 설정된 복수개의 인트라 예측 모드 중에 하나를 선택하여 인트라 예측을 수행한다. 인트라 예측부(120)는 현재 블록에 인접한 이전에 부호화된 화소들을 이용해 현재 블록의 인트라 예측 모드를 결정하고, 상기 결정된 모드에 대응하는 예측 블록을 생성한다.
현재 픽처에 포함된 영역 중에서 이전에 부호화된 영역은 인트라 예측부(120)가 이용할 수 있도록 다시 복호화되어 픽쳐 저장부(180) 에 저장되어 있다. 인트라 예측부(120)는 픽쳐 저장부(180)에 저장되어 있는 현재 픽처의 이전에 부호화된 영역에서 현재 블록에 인접한 화소 또는 인접하지 않지만 적용 가능한 화소들을 이용하여 현재 블록의 예측 블록을 생성한다.
인트라 예측부(120)는 인트라 블록을 예측하기 위하여 인접 화소를 적응적으로 필터링할 수 있다. 복호기에서의 동일한 동작을 위해 부호기에서 필터링 여부를 알려주는 정보를 전송할 수 있다. 또는 현재 블록의 인트라 예측 모드 및 현재 블록의 크기 정보에 기초하여 필터링 여부를 결정할 수 있다.
영상 부호화 장치에 의해 사용되는 예측 타입은 상기 부호화 모드 결정부에 의해 입력 블록이 인트라 모드 또는 인터 모드로 부호화되는지 여부에 의존한다.
인트라 모드와 인터 모드의 전환은, 인트라/인터 전환 스위치에 의해 제어된다.
엔트로피 부호화부(150)는 변환부호화/양자화부(140)에 의해 양자화된 양자화 계수와 움직임 추정부(131)에 의해 생성된 움직임 정보를 엔트로피 부호화한다. 또한, 인트라 예측 모드, 제어 데이터(예를 들면, 양자화 스텝 사이즈 등) 등도 부호화될 수 있다. 또한, 움직임 보상부(130)에 의해 결정된 필터 계수도 부호화되어 비트 스트림으로서 출력한다.
도 2는 비디오 복호화 장치의 구성에 대한 일예를 블록도로 도시한 것으로, 도시된 복호화 장치는 인트로피 복호화부(210), 역양자화/역변환부(220), 가산기(270), 디블록킹 필터부(250), 픽쳐 저장부(260), 인트라 예측부(230), 움직임 보상 예측부(240) 및 인트라/인터전환 스위치(280)를 구비한다.
도 2를 참조하면, 인트로피 복호화부(210)는, 동영상 부호화 장치로부터 전송되는 부호화 비트스트림을 복호하여, 인트라 예측 모드 인덱스, 움직임 정보, 양자화 계수 시퀀스 등으로 분리한다. 인트로피 복호화부(210)는 복호된 움직임 정보를 움직임 보상 예측부(240)에 공급한다. 인트로피 복호화부(210)는 상기 인트라 예측 모드 인덱스를 상기 인트라 예측부(230), 역양자화/역변환부(220)로 공급한다. 또한, 상기 인트로피 복호화부(210)는 상기 역양자화 계수 시퀀스를 역양자화/역변환부(220)로 공급한다.
역양자화/역변환부(220)는 상기 양자화 계수 시퀀스를 2차원 배열의 역양자화 계수로 변환한다. 상기 변환을 위해 복수개의 스캐닝 패턴 중에 하나를 선택한다. 현재 블록의 예측모드(즉, 인트라 예측 및 인터 예측 중의 어느 하나)와 인트라 예측 모드 및 변환 블록의 크기에 기초하여 복수개의 스캐닝 패턴 중 하나를 선택한다.
상기 인트라 예측 모드는 인트라 예측부 또는 인트로피 복호화부(210)로부터 수신한다.
역양자화/역변환부(220)는 상기 2차원 배열의 역양자화 계수에 복수개의 양자화 매트릭스 중 선택된 양자화 매트릭스를 이용하여 양자화 계수를 복원한다. 상기 양자화 매트릭스는 부호기로부터 수신된 정보를 이용하여 결정될 수도 있다.
복원하고자 하는 현재 블록(변환 블록)의 크기에 따라 서로 다른 양자화 매트릭스가 적용되며, 동일 크기의 블록에 대해서도 상기 현재 블록의 예측 모드 및 인트라 예측 모드 중 적어도 하나에 기초하여 양자화 매트릭스를 선택할 수 있다. 그리고, 상기 복원된 양자화 계수를 역변환하여 잔차 블록을 복원한다.
가산기(270)는 역양자화/역변환부(220)에 의해 복원된 잔차 블록과 인트라 예측부(230) 또는 움직임 보상 예측부(240)에 의해 생성되는 예측 블록을 가산함으로써, 영상 블록을 복원한다.
디블록킹 필터부(250)는 가산기(270)에 의해 생성된 복원 영상에 디블록킹 필터 처리를 실행한다. 이에 따라, 양자화 과정에 따른 영상 손실에 기인하는 디블록킹 아티펙트를 줄일 수 있다.
픽쳐 저장부(260)는 디블록킹 필터부(250)에 의해 디블록킹 필터 처리가 실행된 로컬 복호 영상을 유지하는 프레임 메모리이다.
인트라 예측부(230)는 인트로피 복호화부(210)로부터 수신된 인트라 예측 모드 인덱스에 기초하여 현재 블록의 인트라 예측 모드를 복원한다. 그리고, 복원된 인트라 예측 모드에 따라 예측 블록을 생성한다.
움직임 보상 예측부(240)는 움직임 벡터 정보에 기초하여 픽쳐 저장부(260)에 저장된 픽쳐로부터 현재 블록에 대한 예측 블록을 생성한다. 소수 정밀도의 움직임 보상이 적용될 경우에는 선택된 보간 필터를 적용하여 예측 블록을 생성한다.
인트라/인터 전환 스위치(280)는 부호화 모드에 기초하여 인트라 예측부(230)와 움직임 보상 예측부(260)의 어느 하나에서 생성된 예측 블록을 가산기(270)에 제공한다.
현재까지 표준화된 비디오 코덱 기술들에서, 한 픽쳐 내부의 화소값들을 블록 단위로 부호화하고 있다. 현재 부호화하려는 블록의 화소값들이 같은 영상 내부의 주변 블록들과 유사하다면, 그 유사성을 이용하여 인트라(intra) 부호화를 수행할 수 있다.
한편, 현재 코딩 블록이 intra coded block 일 때, 주변에 이미 부호화된 블록들의 화소값들을 참조하여 현재 블록을 예측한 후, 예측 잔차 신호를 부호화한다. HEVC에서는 35가지 예측 모드를 사용하여 공간적 예측 부호화를 수행한다.
도 3은 인트라 예측 모드들에 대한 일예를 도시한 것으로, HEVC에서 고려하는 intra prediction의 예측 모드들 및 예측 방향을 나타낸다.
도 3을 참조하면, 인트라 예측 모드의 수는 블록의 크기에 따라 달라질 수 있다. 예를 들어, 현재 블록의 크기가 8x8, 16x16, 32x32인 경우에는 34개의 인트라 예측 모드가 존재할 수 있고, 현재 블록의 크기가 4x4인 경우에는 17개의 인트라 예측 모드가 존재할 수 있다. 상기 34개 또는 17개의 인트라 예측 모드는 적어도 하나 이상의 비방향성 모드(non-directional mode)와 복수개의 방향성 모드들(directional modes)로 구성될 수 있다.
하나 이상의 비방향성 모드는 DC 모드 및/또는 플래너(planar) 모드일수 있다. DC 모드 및 플래너모드가 비방향성 모드로 포함되는 경우에는, 현재 블록의 크기에 관계없이 35개의 인트라 예측 모드가 존재할 수도 있다. 이때에는 2개의 비방향성 모드(DC 모드 및 플래너 모드)와 33개의 방향성 모드를 포함할 수 있다.
플래너 모드는 현재 블록의 우하측(bottom-right)에 위치하는 적어도 하나의 화소값(또는 상기 화소값의 예측값, 이하 제1 참조값이라 함)과 참조화소들을 이용하여 현재 블록의 예측 블록을 생성한다.
도 3에 도시된 바와 같은 직선형의 인트라 예측 모드는 곡선형 edge가 있는 부분 또는 (Kimono sequence에서 배경 하늘 부분처럼) 점진적으로 밝기가 변하는 영역 등에서 부호화 효율의 한계가 존재한다. 이런 경우 contour (등고선 형태의) error가 발생할 수 있다.
도 4는 곡선형 화면 내 예측을 수행하였을 때와 기존의 방법처럼 직선형 화면 내 예측을 고려했을 경우의 차이를 설명하기 위한 도면이다.
통상적인 압축 표준에서는 다양한 직선 예측방향만을 고려하여 화면 내 부호화를 수행한다. 영상의 사이즈가 커지면서 여러 가지 크기의 예측 블록사이즈와 여러 가지 방향의 화면 내 예측을 수행하기는 하지만, 여전히 직선 방향만 고려 하여 예측을 수행하기 때문에, 영상이 가지는 곡선의 형태 데이터를 고려한 인트라 예측 기법은 사용되지 않고 있다.
도 4를 참조하면, 그림 4에서 영상의 엣지가 대각선 방향으로 곡선 형태로 존재한다. 기존의 통상적인 화면 내 예측 부호화 한다면 블록이 분활 되어 각 분활 블록들이 각각 다른 모드의 직선형 화면 내 예측으로 부호화 된다. 그림 4와 같은 영상을 기존의 방법으로 부호화 한다면 예측 정확도도 낮아지고 블록이 분할되어 부호화되기 때문에 헤더 비트가 많이 발생하게 된다.
따라서, 본 발명의 실시 예에 따라 곡선형 인트라 예측 방법으로 화면 내 예측을 수행한다면 블록이 분활 되지 않으면서 하나의 화면 내 예측모드로 부호화 할 수 있으며 예측 정확도 또한 높일 수 있다.
본 발명에서는 부호화 하고자 하는 영상 정보의 특성에 따라 다양한 예측 모드를 사용하여 직선형 화면 내 예측뿐만 아니라 곡선형 화면 내 예측을 수행할 수 있다.
Explicit Curved Intra Prediction
본 발명의 일실시예 따르면, Intra Prediction시 곡선형 예측이 explicit 하게 수행될 수 있다.
본 발명의 일 실시 예에서는 curved intra prediction을 수행하기 위해서, (1) base_intra_prediction_mode를 결정하는 과정, (2) 각 예측 라인별 line_intra_prediction_mode를 결정하는 과정이 실행될 수 있다.
본 명세서에서, 라인은 수평방향으로 같은 라인에 존재하는 화소들의 집합일 수 도 있고, 수직 방향으로 같은 컬럼에 존재하는 화소들의 집합일 수도 있다. 또는 대각선 방향으로 같은 각도를 갖는 화소들의 집합일 수도 있다.
가장 먼저 현재 예측 블록을 intra 예측할 기본 예측 방향(base_intra_prediction_mode)을 결정한 후, 그 다음 단계에서 각 라인 별로 조정된 예측 방향 모드(line_intra_prediction_mode)을 결정한다.
(1) base_intra_prediction_mode 결정
이 단계는 현재 예측 블록을 curved intra prediction할 때 사용되는 기본 예측 방향을 결정하는 단계를 포함할 수 있다. 기본 예측 방향 모드(base_intra_prediction_mode)는 기존 HEVC에서 수행하는 intra prediction mode 결정 방법을 사용하여 결정된다. 즉, 현재 부호화 블록의 주변 화소값들을 이용해서 현재 부호화블록을 인트라 예측할 때, 총 35가지 예측 모드를 고려하는 기존 HEVC 인트라 예측 방법을 이용한다. 이와 같이 기존 HEVC의 intra prediction 방법으로 base_intra_prediction_mode가 결정된 후, 다음 단계에서 이 방향과 유사한 곡선형 화면 내 예측을 수행하게 된다.
도 5는 HEVC에서 사용되고 있는 intra prediction 방법을 통해서 수직방향 예측 모드가 결정된 예를 설명하고 있다. 이 예제에서는 현재 예측 블록을 부호화하기 위해서, HEVC에서 사용하는 35가지 예측모드를 고려하였고, 최종적으로 수직방향 예측모드가 선정되었음을 예시로 설명하고 있다. 이 예제에서 결정된 vertical mode를 본 발명에서는 base_intra_prediction_mode라고 부를 수 있다.
(2) line_intra_prediction_mode 결정
base_intra_prediction_mode가 vertical 모드일 때로 예를 들어 설명한다. 이 경우 base_intra_prediction_mode가 vertical mode 이기 때문에, line은 수평으로 같은 위치에 있는 화소들의 집합이 된다. 이 경우, 각 line들은 vertical mode와 유사하지만 약간씩 다른 방향으로 인트라 예측된다.
도 6은 예측 블록 내에서 첫 번째 line의 예측 mode를 나타낸다.
도 6과 같이, 예측 블록 내에서 첫 번그림 6는 4x4 PU의 첫 번째 행(line)의 예측 각도를 도식화할 수 있다. 첫 번째 행의 line_intra_prediction_mode(1)는 base_intra_prediction_mode와 동일 한 mode가 된다.
두 번째 라인부터는 base_intra_prediction_mode인 vertical 모드보다 왼쪽(-1)이나 오른쪽(+1)으로 빗겨나간 각도로 예측할 수 있다.
도 7은 예측 블록 내에서 두 번째 line의 예측 mode를 나타낸다.
도 7과 같이, 두 번째 라인의 예측 각도 line_intra_prediction_mode(2)를 도식화할 수 있다. 이 도면에서는 오른쪽으로 빗겨나간 line_intra_prediction_mode(2) = base_intra_prediction_mode + 1 인 경우를 보이고 있다. 경우에 따라서 왼쪽으로 빗겨나간 line_intra_prediction_mode(2) = base_intra_prediction_mode - 1를 사용할 수도 있다. 행이 점점 내려 갈수록 각도는 점점 더 눕게 된다.
도 8은 예측 블록 내에서 세 번째 행과 네 번째 행의 예측 각도를 나타낸다.
도 8과 같이, 세 번째 행은 base_intra_prediction_mode+2의 각도로 예측이 되며 네 번째 행은 base_intra_prediction_mode+3의 각도로 예측된다.
본 발명의 실시 예에서, 라인과 라인 사이의 예측방향 차이를 difference_angle이라고 정의할 수 있다. difference_angle은 base_intra_prediction_mode를 기준으로 -2, -1, 1, 2로 제한한다. 즉, difference_angle값은 -2, -1, 1, 2 중에 하나의 값을 가질 수 있다.
총 4개의 difference_angle 중에서 최적의 difference_angle값을 선택하는 방법은 Rate Distortion 관점에서 가장 유리한 값을 선택한다. 구체적으로는 현재 예측 블록에서
첫번째 line은 base_intra_prediction_mode 으로,
두번째 line은 base_intra_prediction_mode+difference_angle 으로,
세번째 line은 base_intra_prediction_mode+2*difference_angle 으로,
네번째 line은 base_intra_prediction_mode+3*difference_angle 으로 예측한다.
앞의 도 5 내지 도 8에서 설명한 내용은 difference_angle=1 인 경우의 예제일 수 있다.
본 발명의 실시 예에서, 매 부호화 블록마다 인트라 예측하는 과정에서, difference_angle={ -2, -1, 1, 2 }으로 곡선형 예측을 수행한 후, 이 부호화 결과들 중에 가장 작은 Rate Distortion cost를 발생하는 difference_angle을 결정한다.
위와 같이 부호화 블록마다 최적의 difference_angle값을 이용한 curved intra prediction을 수행한 후, 이 경우의 RD cost와 HEVC의 intra prediction 방법에서 결정된 모드로 현재 블록의 모든 화소들을 예측한 경우의 RD cost를 비교한 후, 더 적은 RD cost를 갖는 mode를 최종적으로 선택한다.
도 9는 difference_angle이 -1일 때 첫 번째, 두 번째 line 예측 각도를 나타내며, 도 10은 difference_angle이 -1일 때 세 번째, 네 번째 line 예측 각도를 나타낸다.
도 9 및 도 10과 같이, base_intra_prediction_mode 가 Vertical 모드 일 때 행이 내려 갈수록 difference_angle에 따라 행 별로 다른 예측 각도로 예측하게 된다. 위에서 예를 든 difference_angle이 +1, -1뿐만 아니라 +2, -2일 때도 비슷한 방법으로 예측하게 된다.
도 11은 HEVC base_intra_prediction_mode가 18번 모드일 때 예측 각도를 나타낸다.
도 11은 base_intra_prediction_mode 가 18번 모드인 135도 각도에 대해 도식화한 그림이다. 이 18번 모드는 기존의 HEVC intra prediction 방법을 현재 블록의 주변 화소들에 적용하여 결정된 결과이다.
도 11과 같은 경우에도 difference_angle은 -2, -1, 1, 2이 되고 각각의 difference_angle에 대해 곡선형 화면 내 예측을 수행하게 된다. 다음 예에서는 difference_angle이 -1인 경우에 대해서 설명한다. 설명을 용이하게 하기 위해 그림 12에서 PU 내부의 픽셀 위치를 기호로 표시하였다.
도 12는 본 발명의 실시 예에 따른 현재 PU의 픽셀의 위치를 나타낸다.
도 11과 같이 base_intra_prediction_mode가 18번인 경우는 vertical mode일 때와는 다른 형태로 line이 정의된다. base_intra_prediction_mode가 vertical인 경우 가로방향으로 위치하는 행 단위로 line을 구성했었다. 그에 비해, base_intra_prediction_mode가 18번 모드 경우는 도 13와 도 14과 같이 line을 정의한다. 제일 먼저 P(0, 0)이 첫번째 line이 된다. 그리고 픽셀 P(1,0), P(0,1), P(1,1)이 두번째 line이 된다. 이런 식으로 base_intra_prediction_mode에 따라서 line의 정의가 달라지게 된다.
도 12에서는 첫번째 line에 소속된 화소 P(0, 0)는 base_intra_prediction_mode의 예측 각도로 예측한다.
두번째 line에 소속된 화소 P(1,0), P(0,1), P(1,1)는 base_intra_prediction_mode+difference_angle으로 예측한다.
세번째 line에 소속된 화소 P(2,0), P(2,1), P(2,2), P(0,2), P(1,2)는 base_intra_prediction_mode+2*difference_angle으로 예측한다.
네번째 line에 소속된 화소 P(3,0), P(3,1), P(3,2), P(3,3), P(0,3), P(1,3), P(2,3)은 base_intra_prediction_mode+3*difference_angle으로 예측한다.
한편, 도 13과 도 14는 difference_angle=-1 인 경우의 예측되는 픽셀의 위치들을 설명하기 위한 도면들이다.
도 13은 base_intra_prediction_mode 로 예측되는 픽셀의 위치와 base_intra_prediction_mode+difference_angle 로 예측되는 픽셀의 위치를 나타낸다.
도 14는 base_intra_prediction_mode+2*difference_angle로 예측되는 픽셀의 위치와 base_intra_prediction_mode+3*difference_angle 로 예측되는 픽셀의 위치를 나타낸다.
도 15에서는 base_intra_mode < 7일 때 difference_angle 적용되는 예측 픽셀 위치를 나타낸다. 도 15는 base_intra_prediction_mode이 7번 모드보다 작을 때 difference_angle을 차등적으로 사용하는 line들의 모양을 나타내고 있다.
도 16은 7 <= base_intra_mode < 14일 때 difference_angle 적용되는 예측 픽셀 위치를 나타낸다. base_intra_prediction_mode가 7보다 크거나 같고 14번보다 작을 때 difference_angle이 차등적으로 적용되는 line의 모양을 설명할 수 있다.
도 17은 14 <= base_intra_mode < 23일 때 difference_angle 적용되는 예측 픽셀 위치를 나타낸다. base_intra_prediction_mode가 14 <= base_intra_prediction_mode < 23일 경우, 차등적인 difference_angle이 적용되는 line의 개념을 설명하고 있다.
도 18은 23 <= base_intra_mode < 30일 때 difference_angle 적용되는 예측 픽셀 위치를 나타낸다. 23 <= base_intra_prediction_mode < 30일 때, difference_angle이 차등적으로 적용되는 예측 픽셀들의 위치(line 모양)를 도식화하고 있다.
도 19는 30 <= base_intra_mode < 35일 때 difference_angle 적용되는 예측 픽셀 위치를 나타낸다. 30 <= base_intra_prediction_mode < 35일 때, difference_angle이 차등적으로 적용되는 예측 픽셀들의 위치(line 모양)를 도식화하고 있다.
한편, 기존의 HEVC의 화면 내 예측 최적모드인 base_intra_prediction_mode의 RDcost와 base_intra_prediction_mode 기반 곡선형 화면 내 예측 부호화의 (difference_angle 값 4가지에 따른) 총 4개의 RDcost 중 발생 비용이 가장 적은 모드를 최적 모드로 선택하게 된다.
만약 base_intra_prediction_mode가 DC 또는 planar 모드일 경우에는 곡선형 인트라 예측을 수행하지 않는다.
만약에 최적 모드가 곡선형 화면 내 예측이 되면, 결정된 모드 정보를 다음과 같이 부호화 하여 전송하게 된다. 최적의 모드가 곡선형 화면 내 예측이 되면 cuvature_angular_pred가 1이 되게 되고 최적의 difference_angle의 인덱스가 부호화 되어 전송된다. 표1은 difference_angle의 인덱스를 부호화 하기 위한 코드북이다. 만약에 곡선형 인트라 예측이 선택되지 않았다면 curvature_angular_pred가 0이 부호화 되어 전송 된다.
표 1
difference_angle difference_angle index Binarization
-2 0 00
-1 1 01
1 2 10
2 3 11
현재블록의 최적 모드를 부호화 할 때 기존의 최적 모드 부호화 방법에 곡선형 화면 내 예측 플래그와 곡선형 화면 내 예측 인덱스가 추가된다. 곡선형 화면 내 예측의 수행을 알리는 curvature_angular_pred와 곡선형 화면 내 예측의 곡률을 알려주는 difference_angle인덱스가 부호화되어 전송된다.
예측 모드를 부호화할 때, base_intra_prediction_mode가 MPM들 중 하나와 일치하는지와 일치하지 않는지를 구분할 필요가 있다. 그리고 나서, 직선형 인트라 예측을 사용했는지, 아니면 곡선형 인트라 예측을 사용했는지를 구분할 수 있다. 발생하는 경우에 부호화해야할 인덱스들의 형태를 다음 도 20 내지 도 25에서 설명할 수 있다.
현재 블록의 base_intra_prediction_mode가 mpm과 같고 그것이 DC나 planar모드일 경우 도 20과 같이 부호화한다.
현재 블록의 base_intra_prediction_mode가 mpm과 같지 않고 DC나 planar모드로 부호화 했을 경우 도 21과 같이 부호화한다.
현재 블록의 base_intra_prediction_mode가 mpm과 같고 곡선형 화면 내 예측으로 부호화 했을 경우 도 22와 같이 부호화한다.
현재 블록의 base_intra_prediction_mode가 mpm과 같지 않고 곡선형 화면 내 예측으로 부호화 했을 경우 도 23과 같이 부호화한다.
현재 블록의 base_intra_prediction_mode가 mpm과 같고 곡선형 화면 내 예측으로 부호화하지 않았을 경우 도 24와 같이 부호화한다.
현재 블록의 base_intra_prediction_mode가 mpm과 같지 않고 곡선형 화면 내 예측으로 부호화하지 않았을 경우 도 25와 같이 부호화한다.
도 26은 앞서 설명한 본 발명의 실시 예에 따른 곡선형 인트라 예측 수행 방법을 단계별로 흐름도로 나타낸 것이다.
Implicit Curved Intra Prediction
본 발명의 다른 일 실시예는, curved intra prediction을 수행하기 위해서, (1) base_intra_prediction_mode를 결정하는 과정, (2) difference_intra_prediction_mode를 계산하는 과정, (3) 각 예측 라인별 line_intra_prediction_mode를 결정하는 과정으로 나누어서 수행될 수 있다.
이때, 라인은 수평방향으로 같은 라인에 존재하는 화소들의 집합일 수 도 있고, 수직 방향으로 같은 컬럼에 존재하는 화소들의 집합일 수도 있다. 또는 대각선 방향으로 같은 각도를 갖는 화소들의 집합일 수도 있다.
가장 먼저 현재 예측 블록을 intra 예측할 기본 예측 방향(base_intra_prediction_mode)을 결정한 후, 주변 화소값들을 이용하여 주변화소들의 reference_intra_prediction_mode을 결정한다. 그리고 나서, <difference_intra_prediction_mode = base_intra_prediction_mode - reference_intra_prediction_mode>을 계산한다. 이 difference_intra_prediction_mode을 이용하여, 각 라인 별로 조정된 예측 방향 모드(line_intra_prediction_mode)를 결정한다.
(1) base_intra_prediction_mode 결정
이 단계는 현재 예측 블록을 curved intra prediction할 때 사용되는 기본 예측 방향을 결정하는 단계이다. 이 기본 예측 방향 모드(base_intra_prediction_mode)는 기존 HEVC에서 수행하는 intra prediction mode 결정 방법을 사용하여 결정된다. 즉, 현재 부호화 블록의 주변 화소값들을 이용해서 현재 부호화블록을 인트라 예측할 때, 총 35가지 예측 모드를 고려하는 기존 HEVC 인트라 예측 방법을 이용한다. 이와 같이 기존 HEVC의 intra prediction 방법으로 base_intra_prediction_mode가 결정된 후, 다음 단계에서 이 방향과 유사한 곡선형 화면 내 예측을 수행하게 된다.
앞서 설명한 바와 같이, 도 5는 HEVC에서 사용되고 있는 intra prediction 방법을 통해서 수직방향 예측 모드가 결정된 예를 설명하고 있다. 이 예제에서는 현재 예측 블록을 부호화하기 위해서, HEVC에서 사용하는 35가지 예측모드를 고려하였고, 최종적으로 수직방향 예측모드가 선정되었음을 예시로 설명하고 있다. 이 예제에서 결정된 vertical mode를 본 발명에서는 base_intra_prediction_mode라고 한다.
(2) difference_intra_prediction_mode 결정
이 단계에서는 주변에 먼저 부호화 및 복호화된 블록들의 화소정보를 이용하여 현재 예측 블록 내의 인트라 예측 방향을 어떻게 보정할 것인가를 결정하는 과정이다.
도 27은 difference_intra_prediction_mode를 계산하기 위한 제 1 참조 픽셀과 제 2 참조 픽셀을 나타낸다.
도 27에서는 현재 부호화 블록의 주변 화소들을 제 1 참조 픽셀과 제 2 참조 픽셀들로 표시하고 있다. 제 1 참조 픽셀들은 현재 부호화 블록과 가장 인접한 주변화소들이고, 제 2 참조 픽셀들은 제 1 참조 픽셀들보다 멀리 위치한 주변 화소들이다.
이 단계에서는 기존의 HEVC 화면내 예측 방식을 제 2 참조 픽셀에 적용하여 제 1 참조 픽셀들을 예측한다. 이때 HEVC 인트라 모드에서 사용되었던 35가지 모드를 모두 고려한다. 이 과정에서 제 1 참조 픽셀들의 원래값과 예측된 제 1 참조 픽셀들 사이의 SAD(Sum of Absolute Difference)값이 가장 작은 방향 모드를 reference_intra_prediction_mode로 결정한다.
이 reference_intra_prediction_mode와 앞 단계에서 결정한 base_intra_prediction_mode의 차이값을 <difference_intra_prediction_mode = base_intra_prediction_mode - reference_intra_prediction_mode>를 이용하여 결정할 수 있다.
이때 base_intra_prediction_mode 또는 reference_intra_prediction_mode가 planar 또는 DC 모드일경우에는 difference_intra_prediction_mode을 계산하지 않는다.
그리고, difference_intra_prediction_mode 의 절대값이 3보다 작게 되면 곡선형 화면 내 예측을 수행하기 위해서 다음 단계를 실행한다. 그렇지만 difference_intra_prediction_mode의 절대값이 3보다 크거나 같다면, 현재 예측 블록의 특성과 이웃 불록들의 특성 간에 차이가 크다고 보고, 곡선형 화면 내 예측을 사용하지 않고, base_intra_prediction_mode를 이용하여 기존 HEVC의 인트라 예측 기술을 사용한다.
(3) line_intra_prediction_mode를 결정
여기서는, base_intra_prediction_mode가 vertical 모드일 때로 예를 들어 설명한다. 이 경우 base_intra_prediction_mode가 vertical mode 이기 때문에, line은 수평으로 같은 위치에 있는 화소들의 집합이 된다. 이 경우, 각 line들은 base_intra_prediction_mode을 기준으로 약간씩 조정된 방향으로 인트라 예측 부호화를 수행한다.
앞서 설명한 도 6은 예측 블록 내에서 첫 번째 line의 예측 mode를 나타낸다.
도 6은 4x4 PU의 첫 번째 행(line)의 예측 각도를 도식화한 도이다. 첫 번째 행의 line_intra_prediction_mode(1)는 base_intra__prediction_mode와 동일 한 mode가 된다.
두 번째 라인부터는 base_intra_prediction_mode인 vertical 모드에 difference_intra_prediction_mode를 더한 모드를 두번째 line의 line_intra_prediction_mode(2)로 사용한다.
line_intra_prediction_mode(2) = base_intra_prediction_mode + difference_intra_prediction_mode
도 28은 예측 블록 내에서 두 번째 line의 예측 mode를 나타낸다. 도 28에서는 difference_intra_prediction_mode = 1인 경우를 도식적으로 설명하고 있다.
행이 점점 내려 갈수록 base_intra_prediction_mode와 line_intra_prediction_mode의 차이가 점점 더 커지게 된다. 다음 도은 3번째와 4번째 line에서의 예측 모드를 보여주고 있다. 그리고 3번째와 4번째 라인의 예측 모드는 각각 다음과 같다.
line_intra_prediction_mode(3) = base_intra_prediction_mode + 2*difference_intra_prediction_mode
line_intra_prediction_mode(4) = base_intra_prediction_mode + 3*difference_intra_prediction_mode
도 29는 본 발명의 다른 일 실시 예에 따른 예측 블록 내에서 세 번째 행과 네 번째 행의 예측 각도를 나타낸다. 도 29에서는 difference_intra_prediction_mode = 1인 경우, 3번째 라인과 4번째 라인에서의 인트라 예측 모드들을 설명하고 있다.
도 30과 도 31에서는 difference_intra_prediction_mode=-1 인 경우를 설명하고 있다.
도 30과 도 31은 base_intra_prediction_mode = vertical 이고difference_intra_prediction_mode = -1인 경우, 4개의 line 별 예측 모드를 설명하기 위한 도면들이다. 도 30은 difference_intra_prediction_mode 이 -1일 때 첫 번째, 두 번째 행 예측 각도이며, 도 31은 difference_intra_prediction_mode이 -1일 때 세 번째, 네 번째 행 예측 각도를 나타낸다.
base_intra_prediction_mode 가 18번 모드인 135도 각도에 대해서는 앞서 설명한 바와 유사하며 변경점은 다음과 같다.
두번째 line에 소속된 화소 P(1,0), P(0,1), P(1,1)는 base_intra_prediction_mode+ difference_intra_prediction_mode 으로 예측한다.
세번째 line에 소속된 화소 P(2,0), P(2,1), P(2,2), P(0,2), P(1,2)는 base_intra_prediction_mode+2* difference_intra_prediction_mode 으로 예측한다.
네번째 line에 소속된 화소 P(3,0), P(3,1), P(3,2), P(3,3), P(0,3), P(1,3), P(2,3)은 base_intra_prediction_mode+3* difference_intra_prediction_mode 으로 예측한다.
도 32와 도 33에서는 difference_intra_prediction_mode=-1 인 경우를 설명하고 있다. 도 32는 base_intra_prediction_mode로 예측되는 픽셀의 위치와 difference_intra_prediction_mode 로 예측되는 픽셀의 위치를 나타내며, 도 33은 2*difference_intra_prediction_mode 로 예측되는 픽셀의 위치와 3*difference_intra_prediction_mode 로 예측되는 픽셀의 위치를 나타낸다.
도 34는 base_intra_mode < 7일 때 difference_intra_prediction_mode 적용되는 예측 픽셀 위치를 나타낸다. 도 36은 base_intra_prediction_mode이 7번 모드보다 작을 때 difference_intra_prediction_mode 을 차등적으로 사용하는 line의 모양을 설명하는 도이다.
도 35는 7 <= base_intra_mode < 14일 때 difference_intra_prediction_mode 적용되는 예측 픽셀 위치를 나타낸다. 도 37은 base_intra_prediction_mode가 7보다 크거나 같고 14번보다 작을 때 difference_intra_prediction_mode 이 차등적으로 적용되는 line의 모양을 설명하는 도이다.
도 36은 14<=base_intra_mode < 23일 때 difference_angle 적용되는 예측 픽셀 위치를 나타낸다. 도 38은 base_intra_prediction_mode가 14 <= base_intra_prediction_mode < 23일 경우, 차등적인 difference_intra_prediction_mode 이 적용되는 line의 개념을 설명하고 있다.
도 37은 23 <= base_intra_mode < 30일 때 difference_intra_prediction_mode 적용되는 예측 픽셀 위치를 나타낸다. 도 39는 23 <= base_intra_prediction_mode < 30일 때, difference_intra_prediction_mode 이 차등적으로 적용되는 예측 픽셀들의 위치(line 모양)를 도식화한 도이다.
도 38은 30 <= base_intra_mode < 35일 때 difference_intra_prediction_mode 적용되는 예측 픽셀 위치를 나타낸다. 도 40은 30 <= base_intra_prediction_mode < 35일 때, difference_intra_prediction_mode 이 차등적으로 적용되는 예측 픽셀들의 위치(line 모양)를 도식화한 도이다.
<Intra Prediction 과정의 flow chart>
도 39는 곡선형 화면 내 예측 순서도를 나타낸다. 앞에서 설명한 base_intra_prediction_mode와 reference_intra_prediction_mode 간의 차이인 difference_intra_prediction_mode의 절대값이 3보다 작으면 곡선형 화면 내 예측 부호화를 수행한다. difference_intra_prediction_mode의 절대값이 3보다 같거나 크면 base_intra_prediction_mode를 이용하여 화면 내 예측을 수행한다.
곡선형 화면 내 예측을 수행할 경우, 예측 블록 내부의 line별로 차별적인 인트라 예측 모드를 사용한다. 그 구체적인 모드들은 다음과 같다.
첫번째 라인의 예측모드:
line_intra_prediction_mode(1) = base_intra_prediction_mode
두번째 라인의 예측모드:
line_intra_prediction_mode = base_intra_prediction_mode(2) + difference_intra_prediction_mode
세번째 라인의 예측모드:
line_intra_prediction_mode = base_intra_prediction_mode(3) + 2*difference_intra_prediction_mode
네번째 라인의 예측모드:
line_intra_prediction_mode = base_intra_prediction_mode(4) + 3*difference_intra_prediction_mode
인트라 예측 부호화의 마지막 단계에서, 제안된 곡선형 인트라 예측을 사용한 경우의 RD cost와 HEVC에서 사용되는 기존의 인트라 예측 방법(base_intra_prediction 이용하는 방법)을 사용한 경우의 RD cost를 비교한 후, 작은 RD cost 값을 갖는 모드 및 방법을 사용한다.
<전송 flag를 고려한 syntax 구조>
|difference_intra_prediction_mode| < 3이면서 최종적으로 결정된 최적 모드가 곡선형 화면 내 예측 모드가 되면 curvature_angular_pred가 1이 되게 된다. 그렇지 않고, 최종적으로 결정된 최적 모드가 기존의 HEVC의 모드 이면 curvature_angular_pred가 0이 전송 된다.
|difference_intra_mode| < 3을 만족하지 않으면 곡선형 화면 내 예측모드는 고려되지 않았으므로 curvature_angular_pred flag는 전송하지 않는다.
곡선형 화면 내 예측 모드를 부호화 하는 경우를 두가지로 나눠서 설명한다. 첫 번째 경우 MPM과 현재 블록의 base_intra_prediction_mode가 같은 경우 이다. 이 경우 MPM flag 1bit, MPM index 1~2bits, curvature_angular_pred 1bit이 전송된다. 두 번째 경우 MPM과 현재 블록의 base_intra_prediction_mode가 다른 경우이다. 이 경우에는 MPM flag 1bit, base_intra_prediction_mode 5bits, curvature_angular_pred 1bit이 전송된다. 설명한 내용의 이해를 돕기 위해 제안하는 발명의 신택스를 경우 별로 나누어서 도 40 내지 도 45를 이용하여 설명한다.
현재 블록의 base_intra_prediction_mode가 mpm과 같고 DC나 planar모드로 부호화 했을 경우도 40과 같다.
현재 블록의 base_intra_prediction_mode가 mpm과 같지 않고 DC나 planar모드로 부호화 했을 경우 도 41과 같다.
현재 블록의 base_intra_prediction_mode가 mpm과 같고 곡선형 화면 내 예측으로 부호화 했을 경우 도 42와 같다.
현재 블록의 base_intra_prediction_mode가 mpm과 같지 않고 곡선형 화면 내 예측으로 부호화 했을 경우 도 43과 같다.
현재 블록의 base_intra_prediction_mode가 mpm과 같고 곡선형 화면 내 예측으로 부호화하지 않았을 경우 도 44와 같다.
현재 블록의 base_intra_prediction_mode가 mpm과 같지 않고 곡선형 화면 내 예측으로 부호화하지 않았을 경우 도 45와 같다.
<복호화 과정의 flow chart>
도 46은 곡선형 화면 내 예측 복호화 순서도를 나타낸다.
복호화의 첫 번째 과정은 각 블록에 대해 base_intra_prediction_mode를 복호화 한다. 그 후, 기존의 HEVC 화면내 예측 방식을 제 2 참조 픽셀에 적용하여 제 1 참조 픽셀들을 예측한다. 이때 HEVC 인트라 모드에서 사용되었던 35가지 모드를 사용한다. 이 과정에서 제 1 참조 픽셀들의 원래값과 예측된 제 1 참조 픽셀들 사이의 SAD(Sum of Absolute Difference)값이 가장 작은 방향 모드를 reference_intra_prediction_mode로 결정한다. 그 후, base_intra_prediction_mode나 reference_intra_prediction_mode가 DC나 planar모드이면 기존의 HEVC의 방법으로 복호화 하게 된다.
이 reference_intra_prediction_mode와 앞 단계에서 결정한 base_intra_prediction_mode의 차이값을 다음 식과 같이 결정한다.
difference_intra_prediction_mode = base_intra_prediction_mode - reference_intra_prediction_mode
base_intra_prediction_mode나 reference_intra_prediction_mode가 DC나 planar모드가 아니고 difference_intra_prediction_mode의 절대값이 3보다 작은 경우 curvature_angular_pred flag를 복호화하여 curvature_angular_pred flag가 1이면 곡선형 화면내 복호화 방식으로 복호화 하고, 0이면 기존의 HEVC의 방법으로 복호화한다. 여기서 difference_intra_prediction_mode는 부호화기, 복호화기에서 주변의 참조 픽셀로 계산할 수 있기 때문에 따로 전송해 줄 필요 없이 부호화/복호화가 가능하다.
이와 같이, 본 발명 기술을 이용한다면 직선의 화면 내 예측은 물론 곡선형 화면 내 예측을 수행하여 압축효율을 향상 시킬 수 있다.
상술한 본 발명에 따른 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해 되어서는 안될 것이다.

Claims (15)

  1. 비디오 부호화 방법에 있어서,
    영상 블록에 대한 부호화 모드를 판단하는 단계;
    상기 부호화 모드가 인트라 예측인 경우, 곡선형 예측 모드의 수행 여부를 판단하는 단계; 및
    상기 곡선형 예측 수행 여부 및 베이스 인트라 예측 모드에 따라 인트라 부호화를 수행하는 단계를 포함하는
    비디오 부호화 방법.
  2. 제1항에 있어서,
    상기 수행 여부를 판단하는 단계는
    기본 예측 방향을 결정하고, 주변 화소들의 레퍼런스 인트라 모드를 결정하는 단계를 포함하는 부호화 방법.
  3. 제2항에 있어서,
    상기 레퍼런스 인트라 모드 및 상기 기본 예측 방향간의 차분값을 결정하는 단계를 더 포함하는 부호화 방법.
  4. 제3항에 있어서,
    상기 차분값에 기초하여 각 라인 별로 조정된 예측 방향 모드를 결정하는 단계를 더 포함하는 부호화 방법.
  5. 비디오 부호화 장치에 있어서,
    영상 블록에 대한 부호화 모드를 판단하는 모드 판단부;
    상기 부호화 모드가 인트라 예측인 경우, 곡선형 예측 모드의 수행 여부를 판단하는 곡선형 예측 모드 판단부; 및
    상기 곡선형 예측 수행 여부 및 베이스 인트라 예측 모드에 따라 인트라 부호화를 수행하는 부호화부를 포함하는
    비디오 부호화 장치.
  6. 제5항에 있어서,
    상기 곡선형 예측 모드 판단부는 기본 예측 방향을 결정하고, 주변 화소들의 레퍼런스 인트라 모드를 결정하는 비디오 부호화 장치.
  7. 제6항에 있어서,
    상기 곡선형 예측 모드 판단부는 상기 레퍼런스 인트라 모드 및 상기 기본 예측 방향간의 차분값을 결정하는 부호화 장치.
  8. 제7항에 있어서, 상기 곡선현 예측 모드 판단부는 상기 차분값에 기초하여 각 라인 별로 조정된 예측 방향 모드를 결정하는 부호화 장치.
  9. 제5항에 있어서,
    상기 곡선형 예측 모드 판단부는 주변 블록의 인트라 예측 모드 차분값 의 절대값이 소정 값보다 작으면 곡선형 화면 내 예측을 수행하는 것으로 판단하는 단계를 포함하는 비디오 부호화 장치.
  10. 비디오 부호화 방법에 있어서,
    영상 블록에 대한 부호화 모드를 판단하는 단계;
    상기 부호화 모드가 인트라 예측인 경우, 곡선형 예측 모드의 수행 여부를 판단하는 단계; 및
    상기 곡선형 예측을 수행하는 경우, 화면 내 곡선형 차분 각도에 따라 인트라 부호화를 수행하는 단계를 포함하는
    비디오 부호화 방법.
  11. 제10항에 있어서,
    상기 차분 각도는 베이스 인트라 예측 모드를 기준으로 하는 복수의 값들로 제한되는 비디오 부호화 방법.
  12. 제11항에 있어서, 상기 복수의 값들은 -2, -1, 1, 2 중 적어도 하나를 포함하는 비디오 부호화 방법.
  13. 비디오 부호화 장치에 있어서,
    영상 블록에 대한 부호화 모드를 판단하는 모드 판단부;
    상기 부호화 모드가 인트라 예측인 경우, 곡선형 예측 모드의 수행 여부를 판단하는 곡선형 예측 모드 판단부; 및
    상기 곡선형 예측을 수행하는 경우, 화면 내 곡선형 차분 각도에 따라 인트라 부호화를 수행하는 인트라 부호화부를 포함하는
    비디오 부호화 장치.
  14. 제13항에 있어서,
    상기 차분 각도는 베이스 인트라 예측 모드를 기준으로 하는 복수의 값들로 제한되는 비디오 부호화 장치.
  15. 제14항에 있어서, 상기 복수의 값들은 -2, -1, 1, 2 중 적어도 하나를 포함하는 비디오 부호화 장치.
PCT/KR2014/003261 2013-04-15 2014-04-15 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치 WO2014171713A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/784,467 US20160073107A1 (en) 2013-04-15 2014-04-15 Method and apparatus for video encoding/decoding using intra prediction

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2013-0041303 2013-04-15
KR1020130041303A KR20140124447A (ko) 2013-04-15 2013-04-15 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
KR1020130041304A KR20140124448A (ko) 2013-04-15 2013-04-15 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
KR10-2013-0041304 2013-04-15

Publications (1)

Publication Number Publication Date
WO2014171713A1 true WO2014171713A1 (ko) 2014-10-23

Family

ID=51731586

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2014/003261 WO2014171713A1 (ko) 2013-04-15 2014-04-15 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치

Country Status (2)

Country Link
US (1) US20160073107A1 (ko)
WO (1) WO2014171713A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017093604A1 (en) * 2015-11-30 2017-06-08 Nokia Technologies Oy A method, an apparatus and a computer program product for encoding and decoding video

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5597968B2 (ja) * 2009-07-01 2014-10-01 ソニー株式会社 画像処理装置および方法、プログラム、並びに記録媒体
EP3496399B1 (en) 2016-08-03 2024-06-19 KT Corporation Video signal processing method and device
US10715818B2 (en) 2016-08-04 2020-07-14 Intel Corporation Techniques for hardware video encoding
JP6669622B2 (ja) * 2016-09-21 2020-03-18 Kddi株式会社 動画像復号装置、動画像復号方法、動画像符号化装置、動画像符号化方法及びコンピュータ可読記録媒体
EP3301931A1 (en) 2016-09-30 2018-04-04 Thomson Licensing Method and apparatus for omnidirectional video coding with adaptive intra prediction
WO2018231087A1 (en) 2017-06-14 2018-12-20 Huawei Technologies Co., Ltd. Intra-prediction for video coding using perspective information
US10791327B2 (en) * 2017-06-30 2020-09-29 Telefonaktiebolaget Lm Ericsson (Publ) Encoding and decoding a picture block
GB2567860A (en) * 2017-10-27 2019-05-01 Sony Corp Image data encoding and decoding
GB2567859A (en) * 2017-10-27 2019-05-01 Sony Corp Image data encoding and decoding
KR102664681B1 (ko) 2018-06-19 2024-05-09 삼성전자 주식회사 영상 압축을 수행하는 전자 장치 및 전자 장치의 동작 방법
US11051029B2 (en) * 2018-11-05 2021-06-29 FG Innovation Company Limited Device and method for coding video data
US11025913B2 (en) 2019-03-01 2021-06-01 Intel Corporation Encoding video using palette prediction and intra-block copy
EP3709643A1 (en) * 2019-03-11 2020-09-16 InterDigital VC Holdings, Inc. Intra prediction mode partitioning
CN113678453B (zh) 2019-04-12 2024-05-14 北京字节跳动网络技术有限公司 基于矩阵的帧内预测的上下文确定
KR20210145757A (ko) 2019-04-16 2021-12-02 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 인트라 코딩 모드에서의 행렬 도출
WO2020221373A1 (en) 2019-05-01 2020-11-05 Beijing Bytedance Network Technology Co., Ltd. Matrix-based intra prediction using filtering
WO2020221372A1 (en) 2019-05-01 2020-11-05 Beijing Bytedance Network Technology Co., Ltd. Context coding for matrix-based intra prediction
WO2020233663A1 (en) 2019-05-22 2020-11-26 Beijing Bytedance Network Technology Co., Ltd. Matrix-based intra prediction using upsampling
JP2022535726A (ja) 2019-05-31 2022-08-10 北京字節跳動網絡技術有限公司 行列ベースイントラ予測における制約されたアップサンプリングプロセス
KR20220016833A (ko) 2019-06-05 2022-02-10 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 행렬 기반의 인트라 예측을 위한 컨텍스트 결정
US10855983B2 (en) * 2019-06-13 2020-12-01 Intel Corporation Encoding video using two-stage intra search
JP7404526B2 (ja) 2019-10-28 2023-12-25 北京字節跳動網絡技術有限公司 カラーコンポーネントに基づくシンタックスシグナリング及び構文解析
JP6865870B2 (ja) * 2020-02-26 2021-04-28 Kddi株式会社 動画像復号装置、動画像復号方法、動画像符号化装置、動画像符号化方法及びコンピュータ可読記録媒体
WO2023193516A1 (en) * 2022-04-08 2023-10-12 Mediatek Inc. Method and apparatus using curve based or spread-angle based intra prediction mode in video coding system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100113703A (ko) * 2009-04-14 2010-10-22 에스케이 텔레콤주식회사 예측 모드 선택 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR20110003414A (ko) * 2009-07-04 2011-01-12 에스케이 텔레콤주식회사 영상 부호화/복호화 방법 및 장치
WO2012096550A2 (ko) * 2011-01-15 2012-07-19 에스케이텔레콤 주식회사 양방향 인트라 예측을 이용한 영상 부호화/복호화 방법 및 장치
WO2013002556A2 (ko) * 2011-06-28 2013-01-03 삼성전자 주식회사 인트라 예측을 수반한 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
US20130028317A1 (en) * 2011-07-28 2013-01-31 Lsi Corporation Intra-mode search for video encoding

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8761253B2 (en) * 2008-05-28 2014-06-24 Nvidia Corporation Intra prediction mode search scheme
JP5826747B2 (ja) * 2009-06-26 2015-12-02 トムソン ライセンシングThomson Licensing 適応的な幾何学的な分割を使用した映像符号化及び復号化の方法及び装置
JP2011166327A (ja) * 2010-02-05 2011-08-25 Sony Corp 画像処理装置および方法
WO2013068562A1 (en) * 2011-11-11 2013-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Effective wedgelet partition coding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100113703A (ko) * 2009-04-14 2010-10-22 에스케이 텔레콤주식회사 예측 모드 선택 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR20110003414A (ko) * 2009-07-04 2011-01-12 에스케이 텔레콤주식회사 영상 부호화/복호화 방법 및 장치
WO2012096550A2 (ko) * 2011-01-15 2012-07-19 에스케이텔레콤 주식회사 양방향 인트라 예측을 이용한 영상 부호화/복호화 방법 및 장치
WO2013002556A2 (ko) * 2011-06-28 2013-01-03 삼성전자 주식회사 인트라 예측을 수반한 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
US20130028317A1 (en) * 2011-07-28 2013-01-31 Lsi Corporation Intra-mode search for video encoding

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017093604A1 (en) * 2015-11-30 2017-06-08 Nokia Technologies Oy A method, an apparatus and a computer program product for encoding and decoding video

Also Published As

Publication number Publication date
US20160073107A1 (en) 2016-03-10

Similar Documents

Publication Publication Date Title
WO2014171713A1 (ko) 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
WO2018070790A1 (ko) 영상의 부호화/복호화 방법 및 장치
WO2017209328A1 (ko) 영상 코딩 시스템에서 인트라 예측 방법 및 장치
WO2017179835A1 (ko) 인트라 예측 기반의 비디오 신호 처리 방법 및 장치
WO2018236031A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2017065357A1 (ko) 영상 코딩 시스템에서 예측 향상을 위한 필터링 방법 및 장치
WO2019117634A1 (ko) 2차 변환에 기반한 영상 코딩 방법 및 그 장치
WO2011096770A2 (ko) 영상 부호화/복호화 장치 및 방법
WO2016052977A1 (ko) 비디오 신호 처리 방법 및 장치
WO2019190211A1 (ko) 모션 보상을 이용하는 비디오 신호 처리 방법 및 장치
WO2016143991A1 (ko) 저 복잡도 변환에 기반한 영상 부호화 및 복호화 방법 및 이를 이용하는 장치
WO2018236028A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2017082443A1 (ko) 영상 코딩 시스템에서 임계값을 이용한 적응적 영상 예측 방법 및 장치
WO2020096425A1 (ko) 영상 신호 부호화/복호화 방법 및 이를 위한 장치
WO2016159610A1 (ko) 비디오 신호 처리 방법 및 장치
WO2013109123A1 (ko) 인트라 예측 처리 속도 향상을 위한 비디오의 부호화 방법 및 장치, 비디오의 복호화 방법 및 장치
WO2018044089A1 (ko) 비디오 신호 처리 방법 및 장치
WO2019194568A1 (ko) 어파인 모델 기반의 영상 부호화/복호화 방법 및 장치
WO2016048092A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018212569A1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
WO2016114583A1 (ko) 비디오 신호 처리 방법 및 장치
WO2016064123A1 (ko) 비디오 신호 처리 방법 및 장치
WO2018182184A1 (ko) 부호화 트리 유닛 및 부호화 유닛의 처리를 수행하는 영상 처리 방법, 그를 이용한 영상 복호화, 부호화 방법 및 그 장치
WO2016122253A1 (ko) 비디오 신호 처리 방법 및 장치
WO2021006617A1 (ko) 인터 예측을 이용하여 비디오를 부호화 및 복호화하는 방법 및 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14784832

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 14784467

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14784832

Country of ref document: EP

Kind code of ref document: A1