WO2011068331A2 - 비디오 인코딩 장치 및 그 인코딩 방법, 비디오 디코딩 장치 및 그 디코딩 방법, 및 거기에 이용되는 방향적 인트라 예측방법 - Google Patents

비디오 인코딩 장치 및 그 인코딩 방법, 비디오 디코딩 장치 및 그 디코딩 방법, 및 거기에 이용되는 방향적 인트라 예측방법 Download PDF

Info

Publication number
WO2011068331A2
WO2011068331A2 PCT/KR2010/008387 KR2010008387W WO2011068331A2 WO 2011068331 A2 WO2011068331 A2 WO 2011068331A2 KR 2010008387 W KR2010008387 W KR 2010008387W WO 2011068331 A2 WO2011068331 A2 WO 2011068331A2
Authority
WO
WIPO (PCT)
Prior art keywords
mode
block
prediction
sub
pixel
Prior art date
Application number
PCT/KR2010/008387
Other languages
English (en)
French (fr)
Other versions
WO2011068331A3 (ko
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
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to US13/513,302 priority Critical patent/US9473777B2/en
Publication of WO2011068331A2 publication Critical patent/WO2011068331A2/ko
Publication of WO2011068331A3 publication Critical patent/WO2011068331A3/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
    • 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/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

  • Embodiments of the present invention relate to a video encoding apparatus and an encoding method thereof, a video decoding apparatus and a decoding method thereof, and a directional intra prediction method used therein.
  • nine prediction modes according to the H.264 standard are defined as the main mode, a mode in which the orientation indicated by the main mode is inclined by a predetermined offset in the clockwise and counterclockwise directions is defined as the sub mode, and the main mode and By determining the prediction block based on the sub mode, a video encoding apparatus and encoding thereof capable of increasing the accuracy and efficiency of intra prediction in video encoding without significantly increasing the overhead in generating the bitstream compared to the H.264 standard.
  • the basic principle of compressing data is to eliminate redundancy in the data. Spatial overlap, such as the same color or object repeating in an image, temporal overlap, such as when there is almost no change in adjacent frames in a movie frame, or the same note over and over in audio, or high frequency of human vision and perception Data can be compressed by removing the psychological duplication taking into account the insensitive to.
  • H.264 is a digital video codec standard with a very high data compression ratio, also called MPEG-4 Part 10 or Advanced Video Coding (AVC).
  • AVC Advanced Video Coding
  • This standard is based on the Video Coding Experts Group (VCEG) of the International Telecommunication Union Telecommunication Standardization Sector (ITU-T) and the International Standardization Organization / International Electrotechnical Commission (ISO / IEC). This is the result of MPEG jointly forming and standardizing a Joint Video Team.
  • VCEG Video Coding Experts Group
  • ITU-T International Telecommunication Union Telecommunication Standardization Sector
  • ISO / IEC International Electrotechnical Commission
  • the temporal prediction is performed by referring to a reference block 122 of another temporal frame 120 that is adjacent in time when predicting the current block 112 of the current frame 110. to be. That is, in inter-prediction of the current block 112 of the current frame 110, the adjacent reference frame 120 is searched for in time, and the reference block (the most similar to the current block 112 in the reference frame 120) 122).
  • the reference block 122 is a block that can best predict the current block 112, and the block having the smallest sum of absolute difference (SAD) with the current block 112 may be the reference block 122.
  • the reference block 122 becomes a prediction block of the current block 112, and generates a residual block by subtracting the reference block 122 from the current block 112.
  • the generated residual block is encoded and inserted into the bitstream.
  • the relative difference between the position of the current block 112 in the current frame 110 and the position of the reference block 122 in the reference frame 120 is called a motion vector 130, and the motion vector 130 is also a residual block.
  • Temporal prediction is also referred to as inter prediction or inter prediction.
  • Spatial prediction is to obtain the prediction pixel value of the target block by using the reconstructed pixel value of the reference block adjacent to the target block in one frame, and directional intra-prediction (hereinafter referred to simply as intra prediction) It is also called intra prediction.
  • intra prediction directional intra-prediction
  • H.264 specifies encoding / decoding using intra prediction.
  • Intra prediction is a method of predicting values of a current subblock by copying in a predetermined direction by using adjacent pixels in up and left directions for one sub-block, and encoding only the difference.
  • the prediction block for the current block is generated based on another block having the previous coding order.
  • a value obtained by subtracting the current block and the prediction block is coded.
  • the video encoder according to H.264 selects, for each block, a prediction mode in which the difference between the current block and the prediction block is minimal among the prediction modes.
  • Intra prediction according to the H.264 standard is illustrated in FIG. 2 in consideration of the position of adjacent pixels and the direction of the prediction used to generate predicted pixel values of 4 x 4 luma blocks and 8 x 8 luma blocks.
  • Nine prediction modes as defined. The nine prediction modes are vertical prediction mode (prediction mode 0), horizontal prediction mode (prediction mode 1), DC prediction mode (prediction mode 2), Diagonal_Down_Left prediction mode (prediction mode 3), Diagontal_Down_Right prediction mode (depending on the prediction direction).
  • Prediction mode 4 Vertical_Right prediction mode (prediction mode 5), Horizontal_Down prediction mode (prediction mode 6), Vertical_Left prediction mode (prediction mode 7), and Horizontal_Up prediction mode (prediction mode 8).
  • the DC prediction mode uses an average value of eight adjacent pixels.
  • prediction mode 3 is that.
  • the same four prediction modes are also used for intra prediction processing on 8 x 8 chroma blocks.
  • FIG. 3 shows an example of labeling for explaining the nine prediction modes of FIG. 2.
  • a prediction block (region including a to p) for the current block is generated using the samples A to M that are decoded in advance. If E, F, G, and H cannot be decoded in advance, E, F, G, and H can be virtually generated by copying D to their positions.
  • FIG. 4 is a diagram for describing nine prediction modes of FIG. 2 using FIG. 3.
  • the prediction block predicts the pixel value with the same pixel value for each vertical line. That is, the pixels of the prediction block predict the pixel value from the nearest pixels of the reference block located above the prediction block, and the reconstructed pixel values of the adjacent pixel A are converted into the first column pixels a, pixel e, pixel i and Set to the predicted pixel value for pixel m.
  • second column pixel b, pixel f, pixel j and pixel n are predicted from the reconstructed pixel values of adjacent pixel B
  • third column pixel c, pixel g, pixel k and pixel o are Predicted from the reconstructed pixel values
  • fourth column pixel d, pixel h, pixel l and pixel p predicts from the reconstructed pixel values of adjacent pixel D.
  • a prediction block is generated in which the prediction pixel values of each column are the pixel values of pixel A, pixel B, pixel C and pixel D.
  • the prediction block predicts the pixel value with the same pixel value for each horizontal line. That is, the pixels of the prediction block predict the pixel value from the nearest pixels of the reference block located to the left of the prediction block, and the reconstructed pixel value of the adjacent pixel I is determined by the first row of pixels a, pixel b, pixel c and Set to the predicted pixel value for pixel d.
  • the second row pixels e, pixel f, pixel g and pixel h are predicted from the reconstructed pixel values of adjacent pixel J
  • the third row pixel i, pixel j, pixel k and pixel l are Predicted from the reconstructed pixel values
  • the fourth row pixel m, pixel n, pixel o and pixel p predicts from the reconstructed pixel values of adjacent pixel D.
  • a prediction block is generated in which the prediction pixel values of each row are the pixel values of pixel I, pixel J, pixel K, and pixel L.
  • the pixels of the prediction block are equally replaced by the average of the pixel values of the upper pixels A, B, C and D and the left pixels I, J, K and L.
  • the pixels of the prediction block in the prediction mode 3 are interpolated in the lower left direction at a 45 ° angle between the lower-left and the upper-right, and the prediction in the prediction mode 4
  • the pixels of the block are extrapolated in the lower right direction at a 45 ° angle.
  • the pixels of the prediction block in the prediction mode 6 are extrapolated in the lower right direction at an angle of about 26.6 ° horizontally
  • the pixels of the prediction block in the prediction mode 7 are in the lower left direction at an angle of about 26.6 ° vertically.
  • Extrapolated the pixels of the predictive block in the case of the prediction mode 8 are interpolated in an upward direction of about 26.6 degrees from the horizontal.
  • the pixels of the prediction block may be generated from a weighted average of pixels A to M of the reference block to be decoded in advance.
  • the pixel d located at the top right of the prediction block may be estimated as in Equation 1.
  • round () is a function that rounds to integer places.
  • the 16 ⁇ 16 prediction model for the luminance component includes four modes of prediction mode 0, prediction mode 1, prediction mode 2, and prediction mode 3.
  • prediction mode 1 the pixels of the prediction block are extrapolated from the upper pixels, and in prediction mode 1, the pixels are extrapolated from the left pixels.
  • prediction mode 2 the pixels of the prediction block are calculated as an average of upper pixels and left pixels.
  • prediction mode 3 a linear "plane" function is used that fits the upper and left pixels. This mode is more suitable for areas where the luminance changes smoothly.
  • the pixel value of the prediction block is generated according to the direction corresponding to each mode based on the adjacent pixels of the prediction block to be currently encoded.
  • encoding efficiency may be lowered.
  • a certain image may have a pattern having a specific direction, but the direction may not exactly match the above eight directions.
  • increasing the number of directional modes itself is not preferable because the amount of information to be encoded can be increased considerably compared to the increase in coding efficiency.
  • the current directional mode may be sufficient.
  • the direction of each prediction mode is limited depending on the image, it may be difficult to accurately predict pixel values of the prediction block due to poor coding efficiency. have. In this case, the gain of entropy coding cannot be properly seen due to incorrect intra prediction, which causes a problem that the bit rate is unnecessarily increased.
  • One embodiment of the present invention is to solve the above-mentioned problem, a video encoding apparatus and encoding method, a video decoding apparatus and a video encoding apparatus capable of minimizing the increase in overhead while increasing the accuracy and efficiency of intra prediction in video encoding It is an object to provide a decoding method and a directional intra prediction method used therein.
  • the main mode search unit for searching the main mode for the current block of the directional intra prediction mode;
  • a sub mode search unit searching for a sub mode in which the orientation indicated by the main mode searched by the main mode search unit is tilted by a predetermined offset in both clockwise and counterclockwise directions;
  • a prediction block generation unit generating a prediction block for the current block from neighboring blocks of the current block based on the main mode searched by the main mode search unit and the sub mode searched by the sub mode search unit;
  • a difference calculator for calculating a difference between the current block and the prediction block;
  • an encoder which encodes the difference calculated by the difference.
  • the sub mode searching unit may search the sub mode by moving adjacent pixels of the referenced neighboring block horizontally or vertically in a pixel unit or a half pixel unit.
  • the sub mode search unit lacks a pixel to be referred to among adjacent pixels moved horizontally or vertically, it is preferable to search the sub mode by copying a pixel existing before the movement.
  • the decoding unit for extracting the main mode, sub-mode and texture data for the directional intra prediction from the input bitstream;
  • An inverse quantizer for inversely quantizing the texture data extracted by the decoder;
  • An inverse spatial transform unit reconstructing a residual image of the current block from coefficients generated as a result of inverse quantization by the inverse quantization unit;
  • an inverse intra prediction to generate a prediction block of the current block by using the main mode and the sub mode extracted by the decoder, and to reconstruct the current block by adding the generated prediction block and the residual image reconstructed by the inverse spatial transform unit. It is characterized by including a wealth.
  • the inverse intra prediction unit horizontally or vertically moves adjacent pixels of the neighboring block in a pixel unit or a half pixel unit based on the main mode according to the sub mode, and moves the prediction block based on the main mode from the moved neighboring pixels. It is desirable to produce.
  • the inverse intra predictor copies the pixels existing before the move, and generates a prediction block based on the main mode from the moved neighbor pixels and the copied pixels. desirable.
  • the directional intra prediction method searching for the main mode for the current block of the directional intra prediction mode; Searching for a sub mode in which the orientation indicated by the searched main mode is inclined by a predetermined offset in both clockwise and counterclockwise directions; And generating a prediction block for the current block from neighboring blocks of the current block based on the found main mode and the found sub mode.
  • the searching of the sub-mode may include horizontally or vertically moving adjacent pixels of the referenced neighboring block.
  • searching for the sub mode may include horizontally or vertically moving adjacent pixels of the referenced neighboring block; And copying a pixel that exists before the movement when the pixel to be referred to among the adjacent pixels moved by the horizontal or vertical movement step is missing.
  • a video encoding method comprises the steps of: searching for a main mode for a current block among directional intra prediction modes; Searching for a sub mode in which the orientation indicated by the searched main mode is inclined by a predetermined offset in both clockwise and counterclockwise directions; Generating a prediction block for the current block from neighboring blocks of the current block based on the found main mode and the found sub mode; Calculating a difference between the current block and the prediction block; And encoding the difference calculated by the difference calculating step.
  • a video decoding method comprises the steps of: extracting the main mode, sub-mode and texture data for the directional intra prediction from the input bitstream; Inverse quantization of the extracted texture data; Restoring a residual image of the current block from coefficients generated as a result of the inverse quantization by the inverse quantization step; Generating a prediction block of the current block by using the extracted main mode and sub mode; And reconstructing the current block by adding the generated prediction block and the reconstructed residual image.
  • the sub mode is formed by inclining the orientation indicated by the main mode by a predetermined offset in both the clockwise and counterclockwise directions.
  • generating the prediction block of the current block includes moving adjacent pixels of the neighboring block horizontally or vertically with respect to the main mode according to the sub mode.
  • a prediction block is generated based on the main mode from the moved adjacent pixels.
  • the video decoding method may further include copying a pixel existing before the movement when a pixel to be referred to among the adjacent pixels moved by the movement step is missing.
  • 1 is a diagram illustrating a general inter prediction.
  • FIG. 2 is a diagram illustrating directionality of the intra prediction mode.
  • FIG. 3 is a diagram illustrating an example of labeling for explaining an intra prediction mode of FIG. 2.
  • FIG. 4 is a diagram illustrating each of the intra prediction modes of FIG. 2.
  • FIG. 5A is a diagram illustrating the prediction mode 0 of the intra prediction modes of FIG. 2
  • FIG. 5B is a diagram illustrating the prediction mode 1 of the intra prediction modes of FIG. 2. to be.
  • FIG. 6 is a view illustrating a concept of an embodiment according to the present invention.
  • FIG. 7 is a diagram schematically illustrating a video encoder according to an embodiment of the present invention.
  • FIG. 8 is a diagram schematically illustrating an example of a configuration of an intra predictor of FIG. 7.
  • FIG. 9 is a flowchart illustrating a video encoding method by the video encoder of FIG. 7.
  • 10 to 17 are diagrams for explaining an intra prediction block generating method according to a first embodiment of the present invention.
  • 20 is a diagram illustrating an intra prediction block generation method according to a third embodiment of the present invention.
  • FIG. 21 is a diagram illustrating an example of a structure of a bitstream generated by the video encoder of FIG. 7.
  • 22 is a diagram schematically illustrating a video decoder according to another embodiment of the present invention.
  • FIG. 23 is a flowchart illustrating a video decoding method by the video decoder of FIG. 22.
  • an embodiment of the present invention provides a method for efficiently predicting and compressing an intra prediction mode applied to each block.
  • block is used as a concept encompassing macroblocks or sub-blocks of 8x8 or 4x4 size or the like.
  • FIG. 6 is a view illustrating a basic concept of an embodiment according to the present invention.
  • nine intra prediction modes according to the H.264 standard are defined as a 'main mode', and a mode in which the azimuth represented by the main mode is slightly skewed clockwise and a slight in counterclockwise is' Sub mode '.
  • the degree of inclination of the sub mode may be sufficiently varied according to the choice of those skilled in the art.
  • the clockwise direction is negative and the counterclockwise direction is positive.
  • the sub mode is selected based on whether the prediction efficiency can be further increased based on the selected main mode.
  • prediction mode 0 is selected as the main mode.
  • the sub mode may be divided into 0 indicating that the main mode is used as it is, ( ⁇ ) indicating a clockwise tilt, and (+) indicating a counterclockwise tilt. If this is expressed as a number, it can be expressed as 0, -1, 1, respectively. By the way, in most cases, since sufficient prediction is possible only in the main mode, 0 (zero) is often selected. In addition, since the sub mode itself can be efficient by displaying only the difference from the neighboring block sub mode, the value to be coded for the sub mode of the current block even when the sub mode of the neighboring block matches the sub mode of the current block. Is often zero.
  • the overhead due to the use of the sub mode is not very large.
  • the coding efficiency can be increased while reducing the overhead as compared with simply increasing the number of main modes.
  • the video encoder 700 includes a selector 710, an adder 715, an inverse intra predictor 720, a difference 725, an intra predictor 730, an entropy encoder 740, A spatial transform unit 750, a motion estimator 760, a motion compensator 770, a quantizer 780, an inverse quantizer 790, and an inverse spatial transform unit 795 may be included.
  • the selector 710 selects an advantageous prediction method from intra prediction and inter prediction.
  • the selection unit 710 preferably selects a prediction method in macroblock units, but is not limited thereto and may select a prediction method in frame units or slice units.
  • the selector 710 receives a reconstructed image after being encoded by the inter prediction from the adder 715, and receives a reconstructed image after being encoded by the intra prediction from the inverse intra predictor 720.
  • the selector 710 determines whether to perform inter prediction by the difference unit 725 or intra prediction by the intra prediction unit 730.
  • the selector 710 performs actual encoding on the two prediction methods to select a prediction method having a lower cost.
  • the cost C may be defined in various ways, and may be calculated as Equation 2 based on the rate-distortion.
  • E denotes the difference between the signal reconstructed by decoding the encoded bit and the original signal
  • B denotes the amount of bits required for each coding.
  • is a Lagrangian coefficient and means a coefficient which can adjust the reflection ratio of E and B.
  • the intra prediction unit 730 may include a main mode search unit 732, a sub mode search unit 734, and a prediction block generator as illustrated in FIG. 8. 736 may be provided.
  • the main mode search unit 732 searches for a main mode for a current block (eg, a 4x4 block) among the directional intra prediction modes. That is, the main mode search unit 732 determines the optimal prediction mode as the main mode among the nine directional intra prediction modes according to the H.264 standard.
  • the sub mode search unit 734 offsets a direction indicated by the main mode in both clockwise and counterclockwise directions based on the main mode searched by the main mode search unit 732, as shown in FIG. 6. Determine the tilted submode.
  • the main mode may have a total of nine modes (0 to 8), and the sub mode may have a total of three modes (0, 1, -1).
  • 0, 1, -1 indicating the sub mode is merely an example, and may be expressed as 0, 1, or 2 in order not to code a sign.
  • the main mode and the sub mode of the current block are likely to be similar to the main mode and the sub mode of the neighboring block, respectively. Therefore, it is preferable to code the difference with the predicted value from the neighboring block rather than coding the value of the main mode and the value of the sub mode directly. If zero is generated due to this difference, the efficiency of subsequent entropy coding becomes high.
  • the main mode can be implemented in the same way as in the general H.264 standard. However, in the case of the sub mode, a concrete implementation method should be presented, which will be described later.
  • the prediction block generation unit 736 generates the prediction block in the determined main mode and the sub mode, and obtains a residual block obtained by differentiating the current block from the prediction block.
  • the intra predictor 730 provides the determined main mode value and the sub mode value to the entropy encoder 740.
  • the determined value of the main mode may be a difference from the value of the main mode in the neighboring block
  • the value of the sub mode may also be a difference from the value of the sub mode in the neighboring block.
  • the intra predictor 730 provides the obtained residual block to the spatial transformer 750 to perform a spatial transform such as DCT.
  • the motion estimation unit 760 performs motion estimation of the current frame based on the reference frame among the input video frames, and obtains a motion vector.
  • a widely used algorithm for such motion estimation is a block matching algorithm. That is, the displacement when the error is the lowest while moving the given motion block by pixel unit within the specific search region of the reference frame to estimate the motion vector.
  • a fixed size motion block may be used for motion estimation
  • motion estimation may be performed using a motion block having a variable size by hierarchical variable size block matching (HVSBM).
  • HVSBM hierarchical variable size block matching
  • the motion estimator 760 provides the entropy encoder 740 with motion data such as a motion vector, a motion block size, a reference frame number, and the like, obtained from the motion estimation result.
  • the motion vector may be a difference from the motion vector in the neighboring block.
  • the motion compensator 770 reduces temporal redundancy of the input video frame.
  • the motion compensator 770 generates an inter prediction frame with respect to the current frame by performing motion compensation on the reference frame using the motion vector calculated by the motion estimator 760.
  • the difference 725 removes the temporal redundancy of the video by differentiating the current frame and the inter prediction frame.
  • the output at the difference 725 i.e., the residual block in inter prediction, is provided to the spatial transform unit 750.
  • the spatial transform unit 750 removes spatial redundancy with respect to the residual block provided from the intra predictor 730 or the difference unit 725 by using a spatial transform method.
  • the spatial transform method mainly uses a DCT (Discrete Cosine Transform), and sometimes a wavelet transform is used.
  • the coefficients obtained from the spatial transform are called transform coefficients, which are called DCT coefficients when the DCT is used as the spatial transform, and wavelet coefficients when the wavelet transform is used.
  • the quantization unit 780 quantizes the transform coefficients obtained by the spatial transform unit 750. Quantization refers to an operation of dividing the transform coefficients, expressed as arbitrary real values, into discrete values, and matching them by a predetermined index. In particular, in the case of using the wavelet transform as a spatial transform method, an embedded quantization method may be used as the quantization method.
  • the entropy encoder 740 losslessly encodes the transform coefficients quantized by the quantizer 780 and the direction difference provided from the motion data provided by the motion estimator 760 or the intra predictor 730 and bitstreams.
  • a lossless coding method arithmetic coding, variable length coding, Huffman coding, or the like may be used.
  • the video encoder 700 uses a closed-loop video encoding technique in order to reduce drift errors between the encoder stage and the decoder stage.
  • the video encoder 700 preferably further includes an inverse quantizer 790, an inverse spatial transform unit 795, an inverse intra predictor 720, and the like.
  • the inverse quantizer 790 inverse quantizes the coefficient quantized by the quantizer 780. This inverse quantization process corresponds to the inverse of the quantization process.
  • the inverse spatial transform unit 795 inverse spatial transforms the inverse quantization result by the inverse quantizer 790 and provides it to the adder 715 or inverse intra predictor 720. In this case, the residual image reconstructed as a result of the inverse spatial transformation is provided to the inverse intra predictor 720 if the frame is originally generated by intra prediction, and to the adder 715 if the image is generated by inter prediction.
  • the adder 715 restores the video frame by adding the residual image provided from the inverse spatial transform unit 795 and the previous frame provided from the motion compensator 770 and stored in a frame buffer (not shown).
  • the video frame is provided to the motion estimation unit 760 as a reference frame.
  • the inverse intra predictor 720 reconstructs the current block from a prediction block obtained from neighboring blocks generated by using the residual block constituting the residual image, the main mode value, and the sub mode value.
  • the current block can be reconstructed simply by the sum of the residual block and the prediction block.
  • the prediction block is obtained, the values of the main mode and the sub mode are used.
  • the process of obtaining the prediction block based on the determined main mode value and the sub mode value is the same as that of the intra prediction unit 730.
  • the inverse intra predictor 720 does not need to perform a search process for determining a main mode and a sub mode.
  • FIG. 9 is a flowchart illustrating a video encoding method by the video encoder 700 of FIG. 7.
  • the intra prediction unit 730 determines, as a first step, an optimal prediction mode for the current block among the directional intra prediction modes as the main mode (S901).
  • the intra predictor 730 searches for a sub mode in which the orientation indicated by the main mode is inclined by a predetermined offset in both clockwise and counterclockwise directions based on the determined main mode (S903).
  • the intra predictor 730 and the inverse intra predictor 720 generate a prediction block for the current block from pixels of the neighboring block according to the determined main mode and sub mode (S909).
  • 10 to 17 illustrate a prediction block generation method according to the first embodiment of the present invention
  • FIGS. 18 and 19 illustrate a prediction block generation method according to the second embodiment of the present invention
  • FIG. A prediction block generation method according to a third embodiment of the present invention is shown.
  • the prediction block generation method uses a method of moving pixels of neighboring blocks in order to obtain a mode added in a sub mode, that is, two modes slightly inclined in two rotation directions in the main mode.
  • a mode added in a sub mode that is, two modes slightly inclined in two rotation directions in the main mode.
  • the degree of tilt may be differently selected by those skilled in the art, but the first embodiment will be described based on one pixel shift.
  • the sub mode has a negative mode in which the main mode is slightly tilted clockwise and a slight mode in which the main mode is slightly tilted counterclockwise.
  • the main mode also includes a mode that does not change.
  • the sub mode (-) mode may be displayed as -1, the (+) mode as 1, and the mode without change may be displayed as 0.
  • FIG. 10 illustrates a case in which the main mode is a vertical mode in which 0 is zero.
  • the 0-mode the mode in which the main mode is 0 and the (-)
  • the 0+ mode the main mode is 0 and the sub mode is (+)
  • the 0+ mode has the effect of tilting the main mode counterclockwise slightly by shifting adjacent pixels of the referenced upper block by one pixel to the right.
  • the main mode is a horizontal mode in which 1 is used.
  • the 1-mode the mode in which the main mode is 1 and the (-)
  • the 1+ mode the main mode is 1 and the sub mode is (+)
  • the 1+ mode the main mode is 1 and the sub mode is (+)
  • the 1+ mode when adjacent pixels move upward, adjacent pixels to which lower pixels among 4 ⁇ 4 blocks may refer may not exist (S905). In this case, the pixels missing from the adjacent pixels may be supplemented by copying the pixel L that existed before the movement (S907).
  • the main mode is a diagonal down-left mode with three.
  • the three-mode of the sub-mode has the effect of tilting the main mode slightly in the clockwise direction by moving adjacent pixels of the referenced upper block by one pixel to the left.
  • the 3+ mode of the sub modes has the effect of tilting the main mode slightly counterclockwise by moving adjacent pixels of the referenced upper block by one pixel to the right.
  • the main mode is a diagonal down-right mode of four.
  • the 4-mode of the sub-modes shifts the adjacent pixels of the referenced upper block by one pixel to the left and moves the adjacent pixels of the referenced left block by one pixel downward to incline the main mode slightly in the clockwise direction.
  • the 4+ mode slightly tilts the main mode counterclockwise by moving adjacent pixels of the referenced upper block by one pixel to the right and moving adjacent pixels of the referenced left block by one pixel upward.
  • the 4+ mode when the adjacent pixel of the left block is moved upward, there is no adjacent pixel to which the lower pixels of the 4 ⁇ 4 block can refer (S905).
  • the pixels missing from the adjacent pixels may be supplemented by copying the pixel L that existed before the movement (S907).
  • the main mode is a vertical right mode in which the main mode is five.
  • the 5-mode shifts the adjacent pixels of the referenced upper block by one pixel to the left and moves the adjacent pixels of the referenced left block by one pixel downward to slightly tilt the main mode clockwise.
  • the 5+ mode tilts the main mode counterclockwise slightly by moving adjacent pixels of the referenced upper block by one pixel to the right and moving adjacent pixels of the referenced left block by one pixel upward.
  • the 5+ mode when the adjacent pixels of the left block move upward, there are no adjacent pixels to which the lower pixels among the 4 ⁇ 4 blocks can refer (S905).
  • the pixels missing from the adjacent pixels may be supplemented by copying the pixel L that existed before the movement (S907).
  • FIG. 15 illustrates a case where the main mode is a horizontal down mode of six.
  • the 6-mode among the sub-modes has the effect of tilting the main mode clockwise slightly by moving adjacent pixels of the referenced upper block by one pixel to the left and moving adjacent pixels of the referenced left block by one pixel downward.
  • the 6+ mode of the sub-modes slightly tilts the main mode counterclockwise by moving adjacent pixels of the referenced upper block by one pixel to the right and moving adjacent pixels of the referenced left block by one pixel upward.
  • the adjacent pixels of the left block move upward, there are no adjacent pixels to which the lower pixels among the 4 ⁇ 4 blocks can refer (S905).
  • the pixels missing from the adjacent pixels may be supplemented by copying the pixel L that existed before the movement (S907).
  • the main mode is a vertical left mode in which the main mode is 7.
  • the 7-mode among the sub-modes has the effect of tilting the main mode slightly in the clockwise direction by moving adjacent pixels of the referenced upper block by one pixel to the left.
  • the 7+ mode of the sub mode has the effect of tilting the main mode slightly counterclockwise by moving adjacent pixels of the referenced upper block by one pixel to the right.
  • FIG. 17 illustrates a case in which the main mode is a horizontal-up mode of eight.
  • the 8-mode among the sub-modes has the effect of tilting the main mode slightly in the clockwise direction by moving adjacent pixels of the referenced left block by one pixel downward.
  • the 8+ mode of the sub modes has the effect of tilting the main mode slightly in the counterclockwise direction by moving adjacent pixels of the referenced left block upward by one pixel.
  • adjacent pixels when adjacent pixels move upward, adjacent pixels to which the lower pixels of the 4 ⁇ 4 blocks can refer do not exist (S905).
  • the pixels missing from the adjacent pixels may be supplemented by copying the pixel L that existed before the movement (S907).
  • the prediction block generation method according to the second embodiment uses the unit offset as the half pixel, unlike the first embodiment in which the unit offset is the pixel unit.
  • the main mode is a vertical mode in which 0 is used.
  • the 0-mode among the sub-modes has the effect of tilting the main mode slightly in the clockwise direction by moving adjacent pixels of the referenced upper block by 1/2 pixel to the left.
  • the 0+ mode has the effect of tilting the main mode slightly counterclockwise by moving adjacent pixels of the referenced upper block by 1/2 pixel to the right.
  • pixels a, b, c, and d in FIG. 19 may be calculated as the average of pixels M and A, the average of pixels A and B, the average of pixels B and C, and the average of pixels C and D, respectively. have.
  • the second embodiment has a case where the unit offset is 1/2 pixel as an example, but it will be understood by those skilled in the art that the case of 1/4 pixel or other sub pixel size can be implemented through the same interpolation method. .
  • the method according to the third embodiment is different from the case of the first and second embodiments, and the method according to the first and second embodiments is referred to to show the tilting effect of the main mode.
  • the prediction block generation method according to the third embodiment uses a method of directly tilting the copy direction while fixing the adjacent pixels.
  • 20 shows an example of two sub-modes in a vertical mode in which the main mode is zero.
  • FIG. 20 illustrates a case where the degree of tilting is one pixel, the present invention is not limited thereto, and tilting in units of half pixels may also be performed.
  • the difference unit 725 obtains a residual block by dividing the current block and the prediction block generated according to the aforementioned prediction block generation method (S911).
  • the intra predictor 730 provides the entropy encoder 740 with the determined main mode value and the sub mode value.
  • the intra predictor 730 may provide the entropy encoder 740 with the difference between the value of the main mode in the neighboring block and the value of the sub mode in the neighboring block.
  • the entropy encoder 740 losslessly encodes the transform coefficient quantized by the quantizer 780 and the direction difference provided from the motion data provided by the motion estimator 760 or the intra predictor 730, and decodes the bitstream. Create Here, since components and operations related to inter prediction are the same as those of FIG. 7, description thereof is omitted.
  • the bitstream 2100 includes a slice header 2110 and a slice date 2120, and the slice data 2120 includes a plurality of macroblock data (MBs) 2121 to 2124. It consists of.
  • one macroblock data 2123 may include an mb_type field 2130, an mb_pred field 2135, and a texture data field 2139.
  • a value indicating the type of macroblock is recorded in the mb_type field 2130. That is, it indicates whether the current macroblock is an intra macroblock or an inter macroblock.
  • a detailed prediction mode according to the type of the macroblock is recorded.
  • information of a prediction mode selected during intra prediction is recorded, and in case of an inter macroblock, information of a reference frame number and a motion vector is recorded for each macroblock partition.
  • the mb-pred field 2135 is divided into a plurality of block information 2141 to 2144, and each block information 2142 is a value of the aforementioned main mode. It is divided into a main_mode field 2145 for recording a sub-mode field 2146 for recording a value of the above-described sub-mode.
  • the encoded residual image that is, the texture data
  • the texture data field 2139 is recorded in the texture data field 2139.
  • FIG. 22 is a diagram schematically illustrating a video decoder 2200 according to another embodiment of the present invention.
  • the video decoder 2200 may include an entropy decoder 2210, an inverse quantizer 2220, an inverse spatial transformer 2230, an inverse intra predictor 2240, and a motion compensator 2250.
  • the entropy decoding unit 2210 performs lossless decoding in the inverse of the entropy coding scheme, thereby performing motion data (data related to a motion vector and a reference frame) in inter prediction, a main mode and a sub mode in intra prediction, and a texture. Extract data and more.
  • the entropy decoder 2210 provides texture data to the inverse quantizer 2220, provides motion data to the motion compensator 2250, and provides a main mode and a sub mode to the inverse intra predictor 2240. do.
  • the inverse quantizer 2220 inverse quantizes the texture data transferred from the entropy decoder 2210.
  • the inverse quantization process is a process of finding a quantized coefficient matched with a value expressed by a predetermined index in the encoder 700.
  • the table representing the matching relationship between the index and the quantization coefficients may be passed from the encoder 700 stage or may be due to an appointment between the encoder and the decoder in advance.
  • the inverse spatial transform unit 2230 converts the coefficients (frequency domain) generated as a result of inverse quantization into residual blocks in the spatial domain by performing a spatial transform inversely. For example, if the video encoder stage is spatially transformed by the wavelet method, the inverse spatial transform unit 2230 performs the inverse wavelet transform. When the video encoder stage is spatially transformed by the DCT method, the inverse DCT transform is performed. do.
  • the inverse intra predictor 2240 is a pre-generated block using a residual mode provided from the inverse spatial transform unit 2230 and a main mode value and a sub mode value transmitted from the entropy decoder 2210. Reconstruct the current block from the prediction block obtained from. Of course, this inverse intra prediction process is applied only when the current block is encoded through the intra prediction process in the encoder 700 stage.
  • the current block can be reconstructed simply by the sum of the residual block and the prediction block.
  • the prediction block is obtained, the values of the main mode and the sub mode are used.
  • the process of obtaining the prediction block based on the determined main mode value and the sub mode value is the same as that of the intra prediction unit 730 in the video encoder 700.
  • the inverse intra predictor 940 does not need to perform a search process for determining a main mode and a sub mode.
  • the sum of the restored current blocks may form one restored macroblock.
  • the motion compensator 2250 is used for reconstruction from inter prediction.
  • the motion compensator 2250 generates a motion compensation frame by performing motion compensation on the reconstructed frame using the motion data provided from the entropy decoder 2210.
  • this motion compensation process is applied only when the current block to be reconstructed is encoded by the inter prediction process at the encoder end.
  • the adder 2255 may add a current block by adding a corresponding image in the motion compensated frame provided from the residual block and the motion compensator 2250. Restore The sum of the restored current blocks may form one restored macroblock.
  • one reconstructed frame may be generated by a combination of the macroblock (intra macroblock) reconstructed by the inverse intra predictor 2240 and the macroblock (inter macroblock) reconstructed by the adder 2255.
  • FIG. 23 is a flowchart illustrating a video decoding method by the video decoder of FIG. 22.
  • the entropy decoding unit 2210 performs lossless decoding in the inverse of the entropy coding scheme, thereby performing motion data (data related to a motion vector and a reference frame) in inter prediction, a main mode in intra prediction, The sub mode and the texture data are extracted (S2301).
  • the entropy decoder 2210 provides texture data to the inverse quantizer 2220, provides motion data to the motion compensator 2250, and provides a main mode and a sub mode to the inverse intra predictor 2240. do.
  • the inverse quantizer 2220 inverse quantizes the texture data transferred from the entropy decoder 2210 (S2303).
  • the inverse quantization process is a process of finding a quantized coefficient matched with a value expressed by a predetermined index in the encoder 700.
  • a table representing a matching relationship between the index and the quantization coefficients may be passed from the encoder 700 end or may be due to an appointment between the encoder and the decoder in advance.
  • the inverse spatial transform unit 2230 performs a spatial transform inversely, and restores the residual image of the current block in the spatial domain from the coefficients (frequency domain) generated as a result of the inverse quantization (S2305).
  • the inverse intra predictor 2240 is a pre-generated block using a residual mode provided from the inverse spatial transform unit 2230 and a main mode value and a sub mode value transmitted from the entropy decoder 2210.
  • the current block is recovered from the prediction block obtained from S2313.
  • this inverse intra prediction process is applied only when the current block is encoded through the intra prediction process in the encoder 700 stage.
  • the current block can be simply restored by the sum of the residual block and the prediction block.
  • the prediction block is obtained, the values of the main mode and the sub mode are used.
  • the process of obtaining the prediction block based on the determined main mode value and the sub mode value is the same as that of the intra prediction unit 730 in the video encoder 700.
  • the inverse intra predictor 940 does not need to perform a search process for determining a main mode and a sub mode. That is, the prediction block is generated by horizontally or vertically moving adjacent pixels of the neighboring block by the offset of the main mode and the sub mode according to the value of the sub mode, based on the main mode transmitted from the entropy decoder 2210 (S2307). ).
  • the same pixels as before the video encoding process of FIG. 9 may be supplemented by copying the pixels existing before the movement (S2311).
  • the sum of the restored current blocks may form one restored macroblock.
  • Each component of the video encoder and the video decoder as described above may refer to software or hardware such as a field-programmable gate array (FPGA) or an application-specific integrated circuit (ASIC).
  • FPGA field-programmable gate array
  • ASIC application-specific integrated circuit
  • Such components are not limited to software or hardware, and may be configured to be stored in an addressable storage medium, or may be configured to execute one or more processors. Functions provided in such components may be implemented by more subdivided components, or may be implemented as one component that performs a specific function by combining a plurality of components.
  • the embodiment of the present invention is applied to the field of video encoder and video decoder, and compared with the H.264 standard, the accuracy of intra prediction is reduced while reducing the bit rate without significantly increasing the overhead of the bitstream generator. It is a very useful invention that produces an effect that can be enhanced.

Landscapes

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

Abstract

본 발명은 비디오 인코딩 장치 및 그 인코딩 방법, 비디오 디코딩 장치 및 그 디코딩 방법, 및 거기에 이용되는 방향적 인트라 예측방법에 관한 것으로서, 본 발명의 실시예에 따른 비디오 인코딩 장치는, 방향적 인트라 예측모드 중에서 현재 블록에 대한 메인 모드를 탐색하는 메인 모드 탐색부; 메인 모드 탐색부에 의해 탐색된 메인 모드가 나타내는 방위를 시계방향 및 반 시계방향의 양 방향으로 소정 오프셋만큼 기울인 서브 모드를 탐색하는 서브 모드 탐색부; 메인 모드 탐색부에 의해 탐색된 메인 모드 및 서브 모드 탐색부에 의해 탐색된 서브 모드에 기초하여, 현재 블록의 주변블록으로부터 현재 블록에 대한 예측 블록을 생성하는 예측블록 생성부; 현재 블록과 예측 블록 사이의 차분을 계산하는 차분기; 및 차분기에 의해 계산된 차분을 부호화하는 부호화부를 포함하는 것을 특징으로 한다. 본 발명에 의하면, 비디오 부호화에서 인트라 예측의 정확성 및 효율성을 높이면서도 오버헤드의 증가를 최소화할 수 있게 된다.

Description

비디오 인코딩 장치 및 그 인코딩 방법, 비디오 디코딩 장치 및 그 디코딩 방법, 및 거기에 이용되는 방향적 인트라 예측방법
본 발명의 실시예는 비디오 인코딩 장치 및 그 인코딩 방법, 비디오 디코딩 장치 및 그 디코딩 방법, 및 거기에 이용되는 방향적 인트라 예측방법에 관한 것이다. 더욱 상세하게는, H.264 표준에 따른 9개의 예측 모드를 메인 모드로 정의하고, 메인 모드가 나타내는 방위를 시계방향 및 반 시계방향으로 소정 오프셋만큼 기울인 모드를 서브 모드로 정의하며, 메인 모드 및 서브 모드에 기초하여 예측 블록을 결정함으로써, H.264 표준과 비교하여 비트스트림 생성시의 오버헤드를 크게 증가시키지 않으면서 비디오 부호화에서 인트라 예측의 정확성 및 효율성을 높일 수 있는 비디오 인코딩 장치 및 그 인코딩 방법, 비디오 디코딩 장치 및 그 디코딩 방법, 및 거기에 이용되는 방향적 인트라 예측방법에 관한 것이다.
인터넷을 포함한 정보통신 기술이 발달함에 따라 문자, 음성뿐만 아니라 화상통신이 증가하고 있다. 기존의 문자 위주의 통신 방식으로는 소비자의 다양한 욕구를 충족시키기에는 부족하며, 이에 따라 문자, 영상, 음악 등 다양한 형태의 정보를 수용할 수 있는 멀티미디어 서비스가 증가하고 있다. 멀티미디어 데이터는 그 양이 방대하여 대용량의 저장매체를 필요로 하며 전송 시에 넓은 대역폭을 필요로 한다. 따라서 문자, 영상, 오디오를 포함한 멀티미디어 데이터를 전송하기 위해서는 압축코딩기법을 사용하는 것이 필수적이다.
데이터를 압축하는 기본적인 원리는 데이터의 중복(redundancy) 요소를 제거하는 과정이다. 이미지에서 동일한 색이나 객체가 반복되는 것과 같은 공간적 중복이나, 동영상 프레임에서 인접 프레임이 거의 변화가 없는 경우나 오디오에서 같은 음이 계속 반복되는 것과 같은 시간적 중복, 또는 인간의 시각 및 지각 능력이 높은 주파수에 둔감한 것을 고려한 심리시각 중복을 제거함으로써 데이터를 압축할 수 있다.
이러한 동영상 압축 방법으로서, 최근에 MPEG-4(Moving Picture Experts Group-4)에 비해 압축 효율을 한층 향상시킨 H.264/AVC에 대한 관심이 높아지고 있다.
H.264는 매우 높은 데이터 압축률을 가지는 디지털 비디오 코덱 표준으로 MPEG-4 파트 10 또는 AVC(Advanced Video Coding)라고 부르기도 한다. 이 표준은 ITU-T(International Telecommunication Union Telecommunication Standardization Sector: 국제전기통신연합 전기통신 표준화 부문)의 VCEG(Video Coding Experts Group: 비디오 코딩 전문가 그룹)와 ISO/IEC(International Standardization Organization/International Electrotechnical Commission)의 MPEG가 공동으로 합동 비디오 팀(Joint Video Team)을 구성하고 표준화를 진행하여 나온 결과물이다.
압축 부호화 시의 압축 효율을 향상시키기 위하여 여러 가지 방법이 제안되고 있는데, 대표적인 것으로 시간적 예측(temporal prediction)을 이용하는 방법과 공간적 예측(spatial prediction)을 이용하는 방법이 있다.
시간적 예측은 도 1에 도시한 바와 같이, 현재 프레임(110)의 현재 블록(112)을 예측할 때 시간적으로 인접하는 다른 프레임(120)의 참조 블록(reference block)(122)을 참조하여 예측하는 방식이다. 즉, 현재 프레임(110)의 현재 블록(112)을 인터 예측함에 있어서, 시간적으로 인접하는 참조 프레임(120)을 검색하고, 참조 프레임(120) 내에서 현재 블록(112)과 가장 유사한 참조 블록(122)을 검색한다. 여기서, 참조 블록(122)은 현재 블록(112)을 가장 잘 예측할 수 있는 블록으로서, 현재 블록(112)과의 SAD(Sum of Absolute Difference)가 가장 작은 블록이 참조 블록(122)이 될 수 있다. 참조 블록(122)은 현재 블록(112)의 예측 블록이 되며, 현재 블록(112)에서 참조 블록(122)을 감산하여 잔차 블록(residual block)을 생성한다. 생성된 잔차 블록이 부호화되어 비트스트림에 삽입된다. 이때, 현재 프레임(110)에서 현재 블록(112)의 위치와 참조 프레임(120)에서 참조 블록(122)의 위치 사이의 상대적인 차이는 움직임 벡터(130)라 하며, 움직임 벡터(130)도 잔차 블록과 같이 부호화된다. 시간적 예측은 인터 예측(inter prediction) 또는 화면간 예측이라고도 한다.
공간적 예측은 하나의 프레임 내에서 대상 블록에 인접한 참조 블록의 재구성 픽셀 값을 이용하여 대상 블록의 예측 픽셀 값을 구하는 것으로서, 방향적 인트라 예측(directional intra-prediction)(이하에서는 단순히 인트라 예측이라고 한다) 또는 화면내 예측이라고도 한다. H.264는 인트라 예측을 이용한 부호화/복호화를 규정하고 있다.
인트라 예측은 하나의 서브 블록(sub-block)에 대해 상방향, 좌방향의 인접 픽셀들을 이용하여 정해진 방향으로 복사함으로써 현재 서브 블록의 값들을 예측하고, 그 차분만을 부호화하는 방법이다. H.264 표준에 따른 인트라 예측 기법에 있어서, 현재 블록에 대한 예측 블록은 앞선 코딩 순서를 갖는 다른 블록을 기반으로 생성된다. 그리고, 현재 블록과 예측 블록을 뺀 값이 코딩된다. H.264에 따른 비디오 인코더는 각각의 블록에 대하여, 예측 모드들 중에서 현재 블록과 예측 블록과의 차이가 최소가 되는 예측 모드를 선택한다.
H.264 표준에 따른 인트라 예측은, 4 x 4 휘도 블록 및 8 x 8 휘도 블록의 예측 픽셀 값을 생성하는 데 이용되는 인접 픽셀(adjacent pixels)의 위치 및 예측의 방향성을 고려하여 도 2에 도시한 바와 같은 9가지 예측 모드를 규정한다. 9가지 예측 모드는 그 예측 방향에 따라 Vertical 예측 모드(예측 모드 0), Horizontal 예측 모드(예측 모드 1), DC 예측 모드(예측 모드 2), Diagonal_Down_Left 예측 모드(예측 모드 3), Diagontal_Down_Right 예측 모드(예측 모드 4), Vertical_Right 예측 모드(예측 모드 5), Horizontal_Down 예측 모드(예측 모드 6), Vertical_Left 예측 모드(예측 모드 7) 및 Horizontal_Up 예측 모드(예측 모드 8)로 구분된다. 여기서, DC 예측 모드는 인접 8개의 픽셀의 평균 값을 사용한다.
그리고 16 x 16 휘도 블록에 대한 인트라 예측 처리에는 4가지 예측 모드가 사용되는데, Vertical 예측 모드(예측 모드 0), Horizontal 예측 모드(예측 모드 1), DC 예측 모드(예측 모드 2) 및 Plane 예측 모드(예측 모드 3)이 그것이다. 그리고 8 x 8 색도 블록에 대한 인트라 예측 처리에도 이와 동일한 4가지 예측 모드가 사용된다.
도 3은 도 2의 9가지 예측 모드를 설명하기 위한 라벨링의 예를 나타낸 것이다. 이 경우, 미리 디코딩되는 샘플들(A 내지 M)을 이용하여 현재 블록에 대한 예측 블록(a 내지 p를 포함하는 영역)을 생성한다. 만약, 여기서 E, F, G, H가 미리 디코딩될 수 없는 경우라면 그들의 위치에 D를 복사함으로써 E, F, G, H를 가상으로 생성할 수 있다.
도 4는 도 3을 이용하여 도 2의 9가지 예측 모드를 설명하기 위한 도면이다. 도면을 참조하면, 예측 모드 0인 경우에 예측 블록은 수직 라인 별로 동일한 픽셀 값으로 픽셀 값을 예측한다. 즉, 예측 블록의 픽셀들은 예측 블록의 위쪽에 위치한 참조 블록의 가장 인접한 픽셀들로부터 픽셀 값을 예측하는데, 인접 픽셀 A의 재구성 픽셀 값을 예측 블록의 제1열 픽셀 a, 픽셀 e, 픽셀 i 및 픽셀 m에 대한 예측 픽셀 값으로 설정한다. 또한, 동일한 방법으로 제2열 픽셀 b, 픽셀 f, 픽셀 j 및 픽셀 n은 인접 픽셀 B의 재구성 픽셀 값으로부터 예측하고, 제3열 픽셀 c, 픽셀 g, 픽셀 k 및 픽셀 o는 인접 픽셀 C의 재구성 픽셀 값으로부터 예측하며, 제4열 픽셀 d, 픽셀 h, 픽셀 l 및 픽셀 p는 인접 픽셀 D의 재구성 픽셀 값으로부터 예측한다. 그 결과, 도 5의 (a)에 도시한 바와 같이 각 열의 예측 픽셀 값이 픽셀 A, 픽셀 B, 픽셀 C 및 픽셀 D의 각 픽셀 값으로 이루어진 예측 블록이 생성된다.
또한, 예측 모드 1인 경우에 예측 블록은 수평 라인 별로 동일한 픽셀 값으로 픽셀 값을 예측한다. 즉, 예측 블록의 픽셀들은 예측 블록의 왼쪽에 위치한 참조 블록의 가장 인접한 픽셀들로부터 픽셀 값을 예측하는데, 인접 픽셀 I의 재구성 픽셀 값을 예측 블록의 제1행 픽셀 a, 픽셀 b, 픽셀 c 및 픽셀 d에 대한 예측 픽셀 값으로 설정한다. 또한, 동일한 방법으로 제2행 픽셀 e, 픽셀 f, 픽셀 g 및 픽셀 h는 인접 픽셀 J의 재구성 픽셀 값으로부터 예측하고, 제3행 픽셀 i, 픽셀 j, 픽셀 k 및 픽셀 l은 인접 픽셀 K의 재구성 픽셀 값으로부터 예측하며, 제4행 픽셀 m, 픽셀 n, 픽셀 o 및 픽셀 p는 인접 픽셀 D의 재구성 픽셀 값으로부터 예측한다. 그 결과, 도 5의 (b)에 도시한 바와 같이 각 행의 예측 픽셀 값이 픽셀 I, 픽셀 J, 픽셀 K 및 픽셀 L의 각 픽셀 값으로 이루어진 예측 블록이 생성된다.
또한, 예측 모드 2인 경우에 예측 블록의 픽셀들은 상위 픽셀들 A, B, C 및 D와 좌측 픽셀들 I, J, K 및 L의 픽셀 값의 평균으로 동일하게 대치된다.
한편, 예측 모드 3인 경우의 예측 블록의 픽셀들은 좌하(lower-left) 및 우상(upper-right) 사이에서 45°각도의 왼쪽 아래방향으로 내삽추정(interpolation)되고, 예측 모드 4인 경우의 예측 블록의 픽셀들은 45°각도의 오른쪽 아래방향으로 외삽추정된다. 또한, 예측 모드 5인 경우의 예측 블록의 픽셀들은 수직에서 약 26.6°각도(너비/높이 = 1/2)의 오른쪽 아래방향으로 외삽추정된다. 또한, 예측 모드 6인 경우의 예측 블록의 픽셀들은 수평에서 약 26.6°각도의 오른쪽 아래쪽 방향으로 외삽추정되고, 예측 모드 7인 경우의 예측 블록의 픽셀들은 수직에서 약 26.6°각도의 왼쪽 아래방향으로 외삽추정되며, 예측 모드 8인 경우의 예측 블록의 픽셀들은 수평에서 약 26.6°각도의 위쪽방향으로 내삽추정된다.
예측 모드 3 내지 예측 모드 8에서 예측 블록의 픽셀들은 미리 디코딩 되는 참조 블록의 픽셀들 A 내지 M의 가중 평균으로부터 생성될 수 있다. 예를 들어, 예측 모드 4의 경우, 예측 블록의 우 상단에 위치한 픽셀 d는 수학식 1과 같이 추정될 수 있다. 여기서, round() 함수는 정수 자리로 반올림하는 함수이다.
수학식 1
Figure PCTKR2010008387-appb-M000001
한편, 휘도 성분에 대한 16 × 16 예측 모델에는 전술한 바와 같이 예측 모드 0, 예측 모드 1, 예측 모드 2 및 예측 모드 3의 네 가지 모드가 있다.
예측 모드 0의 경우, 예측 블록의 픽셀들은 상위 픽셀들로부터 외삽추정되고, 예측 모드 1의 경우에는 좌측 픽셀들로부터 외삽추정된다. 또한, 예측 모드 2의 경우에는, 예측 블록의 픽셀들은 상위 픽셀들 및 좌측 픽셀들의 평균으로 계산된다. 마지막으로, 예측 모드 3의 경우에는, 상위 픽셀들 및 좌측 픽셀들에 맞는 선형 "plane" 함수를 이용한다. 이 모드는 휘도가 부드럽게 변하는 영역에 보다 적합하다.
이와 같이, H.264 표준에서는 DC 모드를 제외한 각각의 예측 모드의 경우, 현재 부호화 하고자 하는 예측 블록의 인접 픽셀들에 기초하여 각 모드에 해당하는 방향에 따라 예측 블록의 픽셀 값을 생성하고 있다.
그런데, 영상의 특성에 따라서는 이들 9개의 모드만으로는 정확한 예측이 어려운 경우가 존재하며, 이러한 경우는 부호화의 효율이 낮아질 수 있다. 예를 들어, 어떤 영상이 특정 방향성을 갖는 패턴으로 이루어져 있으나, 그 방향이 전술한 8개의 방향과는 정확히 일치하지 않는 경우가 발생할 수 있다. 그와 같은 경우에 방향성 모드의 개수 자체를 증가시키게 되면, 부호화 효율의 증가에 비해 인코딩되어야 할 정보량이 상당히 증가될 수 있으므로 바람직하지 못하다.
즉, 대부분의 경우에 있어서는 현재의 방향성 모드만으로도 충분할 수 있지만, 영상에 따라서는 각각의 예측 모드의 방향에 한계가 있기 때문에 부호화의 효율이 떨어져 예측 블록의 픽셀 값을 정확하게 예측할 수 없는 경우가 발생할 수 있다. 이러한 경우, 부정확한 인트라 예측으로 인하여 엔트로피 부호화의 이득을 제대로 볼 수 없게 되며, 이로 인해 비트율이 불필요하게 증가되는 문제점이 있다.
본 발명의 일 실시예는 전술한 문제점을 해결하기 위한 것으로서, 비디오 부호화에서 인트라 예측의 정확성 및 효율성을 높이면서도 오버헤드의 증가를 최소화할 수 있는 비디오 인코딩 장치 및 그 인코딩 방법, 비디오 디코딩 장치 및 그 디코딩 방법, 및 거기에 이용되는 방향적 인트라 예측방법을 제공하는 것을 목적으로 한다.
전술한 목적을 달성하기 위해, 본 발명의 일 실시예에 따른 비디오 인코딩 장치는, 방향적 인트라 예측모드 중에서 현재 블록에 대한 메인 모드를 탐색하는 메인 모드 탐색부; 메인 모드 탐색부에 의해 탐색된 메인 모드가 나타내는 방위를 시계방향 및 반 시계방향의 양 방향으로 소정 오프셋만큼 기울인 서브 모드를 탐색하는 서브 모드 탐색부; 메인 모드 탐색부에 의해 탐색된 메인 모드 및 서브 모드 탐색부에 의해 탐색된 서브 모드에 기초하여, 현재 블록의 주변블록으로부터 현재 블록에 대한 예측 블록을 생성하는 예측블록 생성부; 현재 블록과 예측 블록 사이의 차분을 계산하는 차분기; 및 차분기에 의해 계산된 차분을 부호화하는 부호화부를 포함하는 것을 특징으로 한다.
여기서, 서브 모드 탐색부는, 참조되는 주변 블록의 인접 픽셀들을 픽셀 단위 또는 하프 픽셀 단위로 수평 또는 수직으로 이동시켜 서브 모드를 탐색하는 것이 바람직하다.
이 경우, 서브 모드 탐색부는, 수평 또는 수직으로 이동된 인접 픽셀들 중 참조할 픽셀이 결여된 경우, 이동 전에 존재하는 픽셀을 복사하여 서브 모드를 탐색하는 것이 바람직하다.
전술한 목적을 달성하기 위해, 본 발명의 다른 실시예에 따른 비디오 디코딩 장치는, 입력된 비트스트림으로부터 방향적 인트라 예측에 관한 메인 모드, 서브 모드 및 텍스처 데이터를 추출하는 복호화부; 복호화부에 의해 추출된 텍스처 데이터를 역 양자화하는 역 양자화부; 역 양자화부에 의한 역 양자화 결과로 생성된 계수들로부터 현재 블록의 잔차 영상을 복원하는 역 공간적 변환부; 및 복호화부에 의해 추출된 메인 모드 및 서브 모드를 이용하여 현재 블록의 예측 블록을 생성하며, 생성된 예측 블록과 역 공간적 변환부에 의해 복원된 잔차 영상을 가산하여 현재 블록을 복원하는 역 인트라 예측부를 포함하는 것을 특징으로 한다.
여기서, 역 인트라 예측부는, 서브 모드에 따라, 메인 모드를 기준으로 주변 블록의 인접 픽셀들을 픽셀 단위 또는 하프 픽셀 단위로 수평 또는 수직 이동시키며, 이동된 인접 픽셀들로부터 메인 모드에 기초하여 예측 블록을 생성하는 것이 바람직하다.
이때, 이동된 인접 픽셀들 중에 참조할 픽셀이 결여된 경우, 역 인트라 예측부는 이동 전에 존재하는 픽셀을 복사하며, 이동된 인접 픽셀들 및 복사한 픽셀로부터 메인 모드에 기초하여 예측 블록을 생성하는 것이 바람직하다.
전술한 목적을 달성하기 위해, 본 발명의 다른 실시예에 따른 방향적 인트라 예측방법은, 방향적 인트라 예측모드 중에서 현재 블록에 대한 메인 모드를 탐색하는 단계; 탐색된 메인 모드가 나타내는 방위를 시계방향 및 반 시계방향의 양 방향으로 소정 오프셋만큼 기울인 서브 모드를 탐색하는 단계; 및 탐색된 메인 모드 및 탐색된 서브 모드에 기초하여, 현재 블록의 주변블록으로부터 현재 블록에 대한 예측 블록을 생성하는 단계를 포함하는 것을 특징으로 한다.
여기서, 서브 모드를 탐색하는 단계는, 참조되는 주변 블록의 인접 픽셀들을 수평 또는 수직 이동시키는 단계를 포함할 수 있다.
또한, 서브 모드를 탐색하는 단계는, 참조되는 주변 블록의 인접 픽셀들을 수평 또는 수직 이동시키는 단계; 및 수평 또는 수직 이동단계에 의해 이동된 인접 픽셀들 중 참조할 픽셀이 결여된 경우, 이동 전에 존재하는 픽셀을 복사하는 단계를 포함할 수도 있다.
이때, 서브 모드를 탐색하는 단계는, 픽셀 단위 또는 하프 픽셀 단위로 메인 모드가 나타내는 방위를 시계방향 및 반 시계방향의 양 방향으로 기울이는 것이 바람직하다.
전술한 목적을 달성하기 위해, 본 발명의 다른 실시예에 따른 비디오 인코딩 방법은, 방향적 인트라 예측모드 중에서 현재 블록에 대한 메인 모드를 탐색하는 단계; 탐색된 메인 모드가 나타내는 방위를 시계방향 및 반 시계방향의 양 방향으로 소정 오프셋만큼 기울인 서브 모드를 탐색하는 단계; 및 탐색된 메인 모드 및 탐색된 서브 모드에 기초하여, 현재 블록의 주변블록으로부터 현재 블록에 대한 예측 블록을 생성하는 단계; 현재 블록과 예측 블록 사이의 차분을 계산하는 단계; 및 차분 계산단계에 의해 계산된 차분을 부호화하는 단계를 포함하는 것을 특징으로 한다.
전술한 목적을 달성하기 위해, 본 발명의 다른 실시예에 따른 비디오 디코딩 방법은, 입력된 비트스트림으로부터 방향적 인트라 예측에 관한 메인 모드, 서브 모드 및 텍스처 데이터를 추출하는 단계; 추출된 텍스처 데이터를 역 양자화하는 단계; 역 양자화 단계에 의한 역 양자화 결과로 생성된 계수들로부터 현재 블록의 잔차 영상을 복원하는 단계; 추출된 메인 모드 및 서브 모드를 이용하여 현재 블록의 예측 블록을 생성하는 단계; 및 생성된 예측 블록과 복원된 잔차 영상을 가산하여 현재 블록을 복원하는 단계를 포함하는 것을 특징으로 한다.
여기서, 서브 모드는, 메인 모드가 나타내는 방위를 시계방향 및 반 시계방향의 양 방향으로 소정 오프셋만큼 기울여 형성된다.
바람직하게는, 현재 블록의 예측 블록을 생성하는 단계는, 서브 모드에 따라, 메인 모드를 기준으로 주변 블록의 인접 픽셀들을 수평 또는 수직으로 이동시키는 단계를 포함한다. 이 경우, 이동된 인접 픽셀들로부터 메인 모드에 기초하여 예측 블록을 생성한다.
또한, 비디오 디코딩 방법은, 이동단계에 의해 이동된 인접 픽셀들 중에 참조할 픽셀이 결여된 경우, 이동 전에 존재하는 픽셀을 복사하는 단계를 더 포함할 수 있다.
이상에서 설명한 바와 같이 본 발명의 실시예에 의하면, H.264 표준과 비교하여 비트스트림 생성서의 오버헤드를 크게 증가시키지 않고서도 비트율을 감소시키면서 인트라 예측의 정확성을 높일 수 있게 된다.
도 1은 일반적인 인터 예측을 설명하기 위해 도시한 도면이다.
도 2는 인트라 예측 모드의 방향성을 설명하기 위해 도시한 도면이다.
도 3은 도 2의 인트라 예측 모드를 설명하기 위한 라벨링의 예를 나타낸 도면이다.
도 4는 도 2의 인트라 예측 모드의 각각을 설명하기 위해 도시한 도면이다.
도 5의 (a)는 도 2의 인트라 예측 모드 중 예측 모드 0을 설명하기 위해 도시한 도면이며, 도 5의 (b)는 도 2의 인트라 예측 모드 중 예측 모드 1을 설명하기 위해 도시한 도면이다.
도 6은 본 발명에 따른 실시예의 개념을 설명하기 위해 도시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 비디오 인코더를 개략적으로 도시한 도면이다.
도 8은 도 7의 인트라 예측부의 구성 예를 개략적으로 도시한 도면이다.
도 9는 도 7의 비디오 인코더에 의한 비디오 인코딩 방법을 나타낸 흐름도이다.
도 10 내지 도 17은 본 발명의 제1 실시예에 따른 인트라 예측 블록 생성방법을 설명하기 위해 도시한 도면이다.
도 18 및 도 19는 본 발명의 제2 실시예에 따른 인트라 예측 블록 생성방법을 설명하기 위해 도시한 도면이다.
도 20은 본 발명의 제3 실시예에 따른 인트라 예측 블록 생성방법을 설명하기 위해 도시한 도면이다.
도 21은 도 7의 비디오 인코더에 의해 생성되는 비트스트림의 구조 예를 나타낸 도면이다.
도 22는 본 발명의 다른 실시예에 따른 비디오 디코더를 개략적으로 도시한 도면이다.
도 23은 도 22의 비디오 디코더에 의한 비디오 디코딩 방법을 나타낸 흐름도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
인트라 예측 결과 부호화 되어야 할 데이터는 두 가지가 있다. 하나는 주변 블록으로부터 예측된 블록과 현재 블록의 차분에 의하여 생성되는 '잔차 블록(residual blcok)'의 텍스쳐 데이터이고, 다른 하나는 각 블록 별로 적용된 인트라 예측 모드를 표시하는 데이터이다. 이 중, 본 발명에 따른 실시예에서는 각 블록 별로 적용된 인트라 예측 모드를 효율적으로 예측 및 압축하는 방법을 제시한다. 여기서, "블록"은 매크로블록, 또는 그 이하 크기의 서브 블록(8 × 8, 또는 4× 4 등)을 포괄하는 개념으로 사용된다.
도 6은 본 발명에 따른 실시예의 기본적인 개념을 설명하기 위해 도시한 도면이다. 여기서는 H.264 표준에 따른 9개의 인트라 예측 모드를 '메인 모드'로 정의하고, 이 메인 모드가 나타내는 방위(方位)를 시계 방향으로 약간 기울인(skewed) 모드 및 반시계 방향으로 약간 기울인 모드를 '서브 모드'라고 정의한다. 여기서, 서브 모드의 기울임의 정도는 당업자의 선택에 따라서 충분히 달라질 수 있다. 이하에서는 설명의 편의상 시계 방향을 (-)로, 반시계 방향을 (+)로 하여 설명한다. 이때, 서브 모드는 먼저 선택된 메인 모드를 기준으로 예측 효율을 더욱 높일 수 있는가를 기준으로 선택된다. 도 6에서는 예측모드 0이 메인 모드로 선택되었음을 나타낸다.
서브 모드는 도 6에 도시된 바와 같이, 메인 모드를 그대로 사용함을 나타내는 0과, 시계 방향 기울임을 나타내는 (-)와 반시계 방향 기울임을 나타내는 (+)로 나뉘어질 수 있다. 이를 숫자로 표시할 경우, 각각 0, -1, 1과 같이 나타낼 수 있다. 그런데, 대부분의 경우, 메인 모드만으로 충분한 예측이 가능하므로, 0(zero)이 선택되는 경우가 많다. 또한, 서브 모드 자체도 주변의 블록 서브 모드와 차이만을 표시하는 방식으로 효율화할 수 있기 때문에, 주변 블록의 서브 모드와 현재 블록의 서브 모드와 일치하는 경우에도 현재 블록의 서브 모드를 위해 코딩될 값은 0이 되는 경우가 많다. 이와 같이, 많은 수의 0은 추후 엔트로피 부호화의 효율을 높이게 되기 때문에, 서브 모드의 사용으로 인한 오버헤드는 그다지 크지 않다. 이러한 점에서, 단순히 메인 모드의 수를 증가시키는 경우에 비하여 오버헤드는 줄이면서 부호화 효율은 높일 수 있게 된다는 점에 주목할 필요가 있다.
도 7은 본 발명의 일 실시예에 따른 비디오 인코더(700)를 개략적으로 도시한 도면이다. 도면을 참조하면, 비디오 인코더(700)는 선택부(710), 가산기(715), 역 인트라 예측부(720), 차분기(725), 인트라 예측부(730), 엔트로피 부호화부(740), 공간적 변환부(750), 모션 추정부(760), 모션 보상부(770), 양자화부(780), 역 양자화부(790) 및 역 공간적 변환부(795)를 포함하여 구성될 수 있다.
선택부(710)는 인트라 예측 및 인터 예측 중에서 유리한 예측 방법을 선택한다. 이때, 선택부(710)는 매크로블록 단위로 예측 방법을 선택하는 것이 바람직하지만, 그에 한하지 않고 프레임 단위 또는 슬라이스(slice) 단위로 예측 방법을 선택할 수도 있다. 이를 위하여 선택부(710)는 가산기(715)로부터 인터 예측에 의하여 인코딩된 후 복원된 영상을 제공받으며, 역 인트라 예측부(720)으로부터 인트라 예측에 의하여 인코딩된 후 복원된 영상을 제공받는다. 선택부(710)는 차분기(725)에 의한 인터 예측을 수행할 것인지, 아니면 인트라 예측부(730)에 의한 인트라 예측을 수행할 것인지를 결정한다. 선택부(710)는 두 가지 예측 방법에 실제 부호화를 수행하여 그 비용(cost)이 더 낮은 예측 방법을 선택하게 된다.
여기서, 비용(C)은 여러 가지 방식으로 정의될 수 있는데, 대표적으로 레이트-왜곡(rate-distortion)에 기반하여 수학식 2와 같이 계산될 수 있다. 여기서, E는 부호화된 비트를 디코딩하여 복원된 신호와 원 신호와의 차이를 의미하고, B는 각각의 코딩에 있어서 소요되는 비트량을 의미한다. 또한, λ는 라그랑지안 계수로서 E와 B의 반영 비율을 조절할 수 있는 계수를 의미한다.
수학식 2
Figure PCTKR2010008387-appb-M000002
본 발명의 실시예에 따른 인트라 예측을 수행하기 위하여, 인트라 예측부(730)는 도 8에 도시한 바와 같이, 메인 모드 탐색부(732), 서브 모드 탐색부(734) 및 예측블록 생성부(736)를 구비할 수 있다.
메인 모드 탐색부(732)는 방향적 인트라 예측모드 중에서 현재 블록(예: 4x4 블록)에 대한 메인 모드를 탐색한다. 즉, 메인 모드 탐색부(732)는 H.264 표준에 따른 9개의 방향적 인트라 예측 모드 중에서 최적의 예측모드를 메인 모드로 결정한다.
서브 모드 탐색부(734)는 메인 모드 탐색부(732)에 의해 탐색된 메인 모드를 기준으로, 메인 모드가 나타내는 방위를 도 6에 도시한 바와 같이 시계방향 및 반 시계방향의 양 방향으로 소정 오프셋만큼 기울인 서브 모드를 결정한다.
이러한 메인 모드의 결정과 서브 모드의 결정 모두, 전술한 수학식 2와 같은 레이트-왜곡(rate-distortion) 비용의 관점에서 이루어질 수 있다. 메인 모드는 총 9개의 모드(0 내지 8)가 존재할 수 있고, 서브 모드는 총 3개의 모드(0, 1, -1)가 존재할 수 있다. 여기서, 서브 모드를 표시하는 0, 1, -1은 일 예에 불과하고, 부호를 코딩하지 않기 위해서 0, 1, 2로 표시할 수 있음은 물론이다.
이때, 현재 블록이 갖는 영상의 방향성은 그 주변 블록과 유사하기 마련이기 때문에, 현재 블록의 메인 모드 및 서브 모드는 주변 블록의 메인 모드 및 서브 모드와 각각 유사할 가능성이 많다. 따라서, 직접 메인 모드의 값 및 서브 모드의 값을 코딩하기 보다는 주변 블록으로부터 예측된 값과의 차분을 코딩하는 것이 바람직하다. 이러한 차분으로 인하여 0이 많이 발생되는 경우에는 이후의 엔트로피 코딩의 효율의 높아지게 된다. 메인 모드의 경우는 일반적인 H.264 표준에서와 동일한 방식으로 구현이 가능하다. 다만, 서브 모드의 경우 구체적인 구현 방법이 제시되어야 하는데, 이에 관해서는 후술한다.
예측블록 생성부(736)는 결정된 메인 모드 및 서브 모드에 의하여 예측 블록을 생성하고, 현재 블록을 예측 블록과 차분하여 얻어지는 잔차 블록(residual block)을 얻는다.
결국, 인트라 예측부(730)는 결정된 메인 모드의 값 및 서브 모드의 값을 엔트로피 부호화부(740)에 제공한다. 이때, 결정된 메인 모드의 값은 주변 블록에서의 메인 모드의 값과의 차분일 수도 있으며, 서브 모드의 값 또한 주변 블록에서의 서브 모드의 값과의 차분일 수 있다. 또한, 인트라 예측부(730)는 얻어진 잔차 블록을 DCT 등과 같은 공간적 변환을 수행하기 위하여 공간적 변환부(750)에 제공한다.
한편, 이러한 인트라 예측과 상보적으로 사용되는 인터 예측과 관련된 구성요소의 동작을 살펴보면 다음과 같다.
모션 추정부(760)는 입력 비디오 프레임 중에서, 참조 프레임을 기준으로 현재 프레임의 모션 추정을 수행하고 모션 벡터를 구한다. 이러한 움직임 추정을 위해 널리 사용되는 알고리즘은 블록 매칭(block matching) 알고리즘이다. 즉, 주어진 모션 블록을 참조 프레임의 특정 탐색영역 내에서 픽셀단위로 움직이면서 그 에러가 최저가 되는 경우의 변위를 움직임 벡터로 추정하는 것이다. 모션 추정을 위하여 고정된 크기의 모션 블록을 이용할 수도 있지만, 계층적 가변 사이즈 블록 매칭법(Hierarchical Variable Size Block Matching; HVSBM)에 의한 가변 크기를 갖는 모션 블록을 이용하여 모션 추정을 수행할 수도 있다. 모션 추정부(760)는 모션 추정 결과 구해지는 모션 벡터, 모션 블록의 크기, 참조 프레임 번호 등의 모션 데이터를 엔트로피 부호화부(740)에 제공한다. 여기서, 모션 벡터는 주변 블록에서의 모션 벡터와의 차분일 수도 있다.
모션 보상부(770)는 입력 비디오 프레임의 시간적 중복성을 감소시킨다. 이 경우, 모션 보상부(770)는 모션 추정부(760)에서 계산된 모션 벡터를 이용하여 참조 프레임에 대하여 모션 보상(motion compensation)을 수행함으로써 현재 프레임에 대한 인터 예측 프레임을 생성한다.
차분기(725)는 현재 프레임과 인터 예측 프레임을 차분함으로써 비디오의 시간적 중복성을 제거한다. 차분기(725)에서의 출력, 즉 인터 예측에서의 잔차 블록은 공간적 변환부(750)에 제공된다.
공간적 변환부(750)는 인트라 예측부(730) 또는 차분기(725)로부터 제공된 잔차 블록에 대하여, 공간적 변환법을 사용하여 공간적 중복성를 제거한다. 이러한 공간적 변환법으로는 주로 DCT(Discrete Cosine Transform)가 사용되며, 때로는 웨이브렛 변환(wavelet transform)이 사용되기도 한다. 공간적 변환 결과 구해지는 계수들을 변환 계수라고 하는데, 공간적 변환으로 DCT를 사용하는 경우 DCT 계수라고 하고, 웨이브렛 변환을 사용하는 경우 웨이브렛 계수라고 한다.
양자화부(780)는 공간적 변환부(750)에서 구한 변환 계수를 양자화한다. 양자화(quantization)란 임의의 실수 값으로 표현되는 상기 변환 계수를 일정 구간으로 나누어 불연속적인 값(discrete value)으로 나타내고, 이를 소정의 인덱스로 매칭(matching)시키는 작업을 의미한다. 특히, 공간적 변환 방법으로 웨이브렛 변환을 이용하는 경우에는 양자화 방법으로서 임베디드 양자화(embedded quantization) 방법을 이용하는 경우도 있다.
엔트로피 부호화부(740)는 양자화부(780)에 의하여 양자화된 변환 계수와, 모션 추정부(760)에 의하여 제공되는 모션 데이터 또는 인트라 예측부(730)로부터 제공되는 방향 차분을 무손실 부호화하고 비트스트림을 생성한다. 이러한 무손실 부호화 방법으로는, 산술 부호화(arithmetic coding), 가변 길이 부호화(variable length coding), 허프만 부호화 등이 사용될 수 있다.
한편, 비디오 인코더(700)는 인코더단과 디코더단 사이의 드리프팅 에러(drifting error)를 감소하기 위하여 폐루프 비디오 인코딩(closed-loop video encoding) 기법을 사용한다. 이를 위해서 비디오 인코더(700)는, 역 양자화부(790), 역 공간적 변환부(795), 역 인트라 예측부(720) 등을 더 구비하는 것이 바람직하다.
역 양자화부(790)는 양자화부(780)에서 양자화된 계수를 역 양자화한다. 이러한 역 양자화 과정은 양자화 과정의 역에 해당되는 과정이다. 역 공간적 변환부(795)는 역 양자화부(790)에 의한 역 양자화 결과를 역 공간적 변환하고 이를 가산기(715) 또는 역 인트라 예측부(720)에 제공한다. 이 경우, 상기 역 공간적 변환된 결과 복원되는 잔차 영상은 원래 인트라 예측에 의하여 생성된 프레임이면 역 인트라 예측부(720)에 제공하고, 인터 예측에 의하여 생성된 영상이면 가산기(715)에 제공한다.
가산기(715)는 역 공간적 변환부(795)로부터 제공되는 잔차 영상과, 모션 보상부(770)로부터 제공되어 프레임 버퍼(도시하지 않음)에 저장된 이전 프레임을 가산하여 비디오 프레임을 복원하고, 복원된 비디오 프레임을 모션 추정부(760)에 참조 프레임으로서 제공한다.
역 인트라 예측부(720)는 잔차 영상을 구성하는 잔차 블록과 메인 모드의 값 및 서브 모드의 값을 이용하여, 주변에 기 생성된 블록으로부터 얻어지는 예측 블록으로부터 현재 블록을 복원한다. 현재 블록은 간단히 잔차 블록과 예측 블록의 합에 의하여 복원될 수 있는데, 예측 블록을 구할 때 메인 모드의 값 및 서브 모드의 값이 이용되는 것이다. 결정된 메인 모드의 값 및 서브 모드의 값을 기준으로 예측 블록을 구하는 과정은 인트라 예측부(730)에서와 동일하다. 다만, 인트라 예측부(730)와 달리 역 인트라 예측부(720)는 메인 모드 및 서브 모드를 결정하기 위한 탐색 과정은 수행할 필요가 없다.
도 9는 도 7의 비디오 인코더(700)에 의한 비디오 인코딩 방법을 나타낸 흐름도이다.
도면을 참조하면, 인트라 예측부(730)는 첫 번째 단계로, 방향적 인트라 예측모드 중에서 현재 블록에 대한 최적의 예측모드를 메인 모드로 결정한다(S901). 또한, 인트라 예측부(730)는 두 번째 단계로, 결정된 메인 모드를 기준으로 메인 모드가 나타내는 방위를 시계방향 및 반 시계방향의 양 방향으로 소정 오프셋만큼 기울인 서브 모드를 탐색한다(S903).
인트라 예측부(730) 및 역 인트라 예측부(720)는 결정된 메인 모드 및 서브 모드에 따라 주변 블록의 픽셀들로부터 현재 블록에 대한 예측 블록을 생성한다(S909). 이때, 도 10 내지 도 17은 본 발명의 제1 실시예에 따른 예측 블록 생성방법을 나타내며, 도 18 및 도 19는 본 발명의 제2 실시예에 따른 예측 블록 생성방법을 나타내고, 도 20은 본 발명에 따른 제3 실시예에 따른 예측 블록 생성방법을 나타낸다.
먼저, 도 10 내지 도 17을 참조하여 본 발명의 제1 실시예에 따른 예측 블록 생성방법을 살펴본다.
제1 실시예에 따른 예측 블록 생성방법은, 서브 모드에서 추가되는 모드, 즉 메인 모드에서 두 회전 방향으로 약간 기울인 두 개의 모드를 구하기 위하여, 주변 블록의 픽셀을 이동시키는 방식을 사용한다. 여기서, 기울임의 정도(단위 오프셋)는 당업자에 따라 다르게 선택할 수 있겠으나 제1 실시예에서는 한 픽셀 이동을 기준으로 하여 설명한다.
전술한 바와 같이, 서브 모드에는 메인 모드를 시계 방향으로 약간 기울인 (-) 모드와 반시계 방향으로 약간 기울인 (+) 모드가 있다. 물론, 메인 모드에서 변경이 없는 모드도 포함된다고 볼 수 있다. 예를 들어, 서브 모드의 (-) 모드는 -1로, (+) 모드는 1로, 변경이 없는 모드는 0으로 각각 표시할 수 있다.
도 10은 메인 모드가 0인 수직(vertical) 모드인 경우를 나타낸다. 이때, 서브 모드 중에서 0- 모드(메인 모드가 0이고 서브 모드가 (-)인 모드)는 참조되는 상위 블록의 인접 픽셀들을 좌측으로 한 픽셀만큼 이동시킴으로써 메인 모드(수직 모드)를 시계 방향으로 약간 기울이는(회전시키는) 효과를 나타낸다. 마찬가지로, 서브 모드 중에서 0+ 모드(메인 모드가 0이고 서브 모드가 (+)인 모드)는 참조되는 상위 블록의 인접 픽셀들을 우측으로 한 픽셀만큼 이동시킴으로써 메인 모드를 반시계 방향으로 약간 기울이는 효과를 나타낸다.
또한, 도 11은 메인 모드가 1인 수평(horizontal) 모드인 경우를 나타낸다. 이때, 서브 모드 중에서 1-모드(메인 모드가 1이고 서브 모드가 (-)인 모드)는 참조되는 좌측 블록의 인접 픽셀들을 하방으로 한 픽셀만큼 이동시킴으로써 메인 모드를 시계 방향으로 약간 기울이는 효과를 나타낸다. 마찬가지로, 서브 모드 중에서 1+ 모드(메인 모드가 1이고 서브 모드가 (+)인 모드)는 참조되는 좌측 블록의 인접 픽셀들을 상방으로 한 픽셀만큼 이동시킴으로써 메인 모드를 반시계 방향으로 약간 기울이는 효과를 나타낸다. 여기서, 1+ 모드의 경우, 상방으로 인접픽셀이 이동하면 4×4의 블록 중 하단의 픽셀들은 참조할 수 있는 인접 픽셀이 존재하지 않게 된다(S905). 이와 같은 경우, 인접 픽셀에서 누락된 픽셀은 이동 전에 존재하던 픽셀(L)을 복사하는 방식으로 보충될 수 있다(S907).
또한, 도 12는 메인 모드가 3인 대각선 하방-좌측(diagonal down-left) 모드인 경우를 나타낸다. 이때, 서브 모드 중에서 3- 모드는 참조되는 상측 블록의 인접 픽셀들을 좌측으로 한 픽셀만큼 이동시킴으로써 메인 모드를 시계 방향으로 약간 기울이는 효과를 나타낸다. 마찬가지로, 서브 모드 중에서 3+ 모드는 참조되는 상측 블록의 인접 픽셀들을 우측으로 한 픽셀만큼 이동시킴으로써 메인 모드를 반시계 방향으로 약간 기울이는 효과를 나타낸다.
또한, 도 13은 메인 모드가 4인 대각선 하방-우측(diagonal down-right) 모드인 경우를 나타낸다. 이때, 서브 모드 중에서 4- 모드는 참조되는 상측 블록의 인접 픽셀들을 좌측으로 한 픽셀만큼 이동시키고, 참조되는 좌측 블록의 인접 픽셀들을 하방으로 한 픽셀만큼 이동시킴으로써 메인 모드를 시계 방향으로 약간 기울이는 효과를 나타낸다. 마찬가지로, 서브 모드 중에서 4+ 모드는 참조되는 상측 블록의 인접 픽셀들을 우측으로 한 픽셀만큼 이동시키고, 참조되는 좌측 블록의 인접 픽셀들을 상방으로 한 픽셀만큼 이동시킴으로써 메인 모드를 반시계 방향으로 약간 기울이는 효과를 나타낸다. 여기서, 4+ 모드의 경우, 상방으로 좌측 블록의 인접픽셀이 이동하면 4×4의 블록 중 하단의 픽셀들은 참조할 수 있는 인접 픽셀이 존재하지 않게 된다(S905). 이와 같은 경우, 전술한 바와 마찬가지로 인접 픽셀에서 누락된 픽셀은 이동 전에 존재하던 픽셀(L)을 복사하는 방식으로 보충될 수 있다(S907).
또한, 도 14는 메인 모드가 5인 수직-우측(vertical right) 모드인 경우를 나타낸다. 이때, 서브 모드 중에서 5- 모드는 참조되는 상측 블록의 인접 픽셀들을 좌측으로 한 픽셀만큼 이동시키고, 참조되는 좌측 블록의 인접 픽셀들을 하방으로 한 픽셀만큼 이동시킴으로써 메인 모드를 시계 방향으로 약간 기울이는 효과를 나타낸다. 마찬가지로, 서브 모드 중에서 5+ 모드는 참조되는 상측 블록의 인접 픽셀들을 우측으로 한 픽셀만큼 이동시키고, 참조되는 좌측 블록의 인접 픽셀들을 상방으로 한 픽셀만큼 이동시킴으로써 메인 모드를 반시계 방향으로 약간 기울이는 효과를 나타낸다. 여기서, 5+ 모드의 경우, 상방으로 좌측 블록의 인접픽셀이 이동하면 4×4의 블록 중 하단의 픽셀들은 참조할 수 있는 인접 픽셀이 존재하지 않게 된다(S905). 이와 같은 경우, 전술한 바와 마찬가지로 인접 픽셀에서 누락된 픽셀은 이동 전에 존재하던 픽셀(L)을 복사하는 방식으로 보충될 수 있다(S907).
또한, 도 15는 메인 모드가 6인 수평-하방(horizontal down) 모드인 경우를 나타낸다. 이때, 서브 모드 중에서 6- 모드는 참조되는 상측 블록의 인접 픽셀들을 좌측으로 한 픽셀만큼 이동시키고, 참조되는 좌측 블록의 인접 픽셀들을 하방으로 한 픽셀만큼 이동시킴으로써 메인 모드를 시계 방향으로 약간 기울이는 효과를 나타낸다. 마찬가지로, 서브 모드 중에서 6+ 모드는 참조되는 상측 블록의 인접 픽셀들을 우측으로 한 픽셀만큼 이동시키고, 참조되는 좌측 블록의 인접 픽셀들을 상방으로 한 픽셀만큼 이동시킴으로써 메인 모드를 반시계 방향으로 약간 기울이는 효과를 나타낸다. 여기서, 6+ 모드의 경우, 상방으로 좌측 블록의 인접픽셀이 이동하면 4×4의 블록 중 하단의 픽셀들은 참조할 수 있는 인접 픽셀이 존재하지 않게 된다(S905). 이와 같은 경우, 전술한 바와 마찬가지로 인접 픽셀에서 누락된 픽셀은 이동 전에 존재하던 픽셀(L)을 복사하는 방식으로 보충될 수 있다(S907).
또한, 도 16은 메인 모드가 7인 수직-좌측(vertical left) 모드인 경우를 나타낸다. 이때, 서브 모드 중에서 7- 모드는 참조되는 상측 블록의 인접 픽셀들을 좌측으로 한 픽셀만큼 이동시킴으로써 메인 모드를 시계 방향으로 약간 기울이는 효과를 나타낸다. 마찬가지로, 서브 모드 중에서 7+ 모드는 참조되는 상측 블록의 인접 픽셀들을 우측으로 한 픽셀만큼 이동시킴으로써 메인 모드를 반시계 방향으로 약간 기울이는 효과를 나타낸다.
또한, 도 17은 메인 모드가 8인 수평-상방(horizontal-up) 모드인 경우를 나타낸다. 이때, 서브 모드 중에서 8- 모드는 참조되는 좌측 블록의 인접 픽셀들을 하방으로 한 픽셀만큼 이동시킴으로써 메인 모드를 시계 방향으로 약간 기울이는 효과를 나타낸다. 마찬가지로, 서브 모드 중에서 8+ 모드는 참조되는 좌측 블록의 인접 픽셀들을 상방으로 한 픽셀만큼 이동시킴으로써 메인 모드를 반시계 방향으로 약간 기울이는 효과를 나타낸다. 여기서, 8+ 모드의 경우, 상방으로 인접픽셀이 이동하면 4×4의 블록 중 하단의 픽셀들은 참조할 수 있는 인접 픽셀이 존재하지 않게 된다(S905). 이와 같은 경우, 전술한 바와 마찬가지로 인접 픽셀에서 누락된 픽셀은 이동 전에 존재하던 픽셀(L)을 복사하는 방식으로 보충될 수 있다(S907).
다음에, 도 18 및 19를 참조하여 본 발명의 제2 실시예에 따른 예측 블록 생성방법을 살펴본다. 여기서, 제2 실시예에 따른 예측 블록 생성방법은 단위 오프셋을 픽셀 단위로 하는 제1 실시예와 달리, 단위 오프셋을 하프 픽셀로 이용한다.
도 18은 메인 모드가 0인 수직(vertical) 모드인 경우를 나타낸다. 이때, 서브 모드 중에서 0- 모드는 참조되는 상위 블록의 인접 픽셀들을 좌측으로 1/2 픽셀만큼 이동시킴으로써 메인 모드를 시계 방향으로 약간 기울이는 효과를 나타낸다. 마찬가지로, 서브 모드 중에서 0+ 모드는 참조되는 상위 블록의 인접 픽셀들을 우측으로 1/2 픽셀만큼 이동시킴으로써 메인 모드를 반시계 방향으로 약간 기울이는 효과를 나타낸다.
그런데, 이 경우 실제 참조되는 인접 픽셀과 현재 블록의 픽셀이 일치하지 않으므로 보간에 의한 인접 픽셀의 재생성이 필요하다. 도 19는 보간된 결과를 보여준다. 보간에 있어서는 여러 가지 방식이 사용될 수 있겠으나, 일 예로, 단순한 평균 값 계산이 사용될 수 있다. 예를 들어, 도 19의 픽셀 a, b, c 및 d는, 각각, 픽셀 M과 A의 평균, 픽셀 A와 B의 평균, 픽셀 B과 C의 평균, 픽셀 C과 D의 평균으로 계산될 수 있다.
이와 같은 제2 실시예에 따른 예측 블록을 구하는 방법은, 보간 이외에는 제1 실시예의 경우와 유사하므로 다른 메인 모드에 대한 중복적인 설명은 생략하기로 한다. 물론, 제2 실시예는 단위 오프셋이 1/2 픽셀인 경우를 예로 들었지만 1/4 픽셀 또는 다른 서브 픽셀 크기인 경우도 마찬가지의 보간 방식을 통하여 구현이 가능하다는 점은 당업자라면 충분히 이해할 수 있을 것이다.
다음에, 도 20을 참조하여 본 발명의 제3 실시예에 따라 예측 블록을 구하는 방법을 살펴본다. 여기서, 제3 실시예에 따른 방법은 제1 실시예 및 제2 실시예의 경우와는 구별되는 방식으로서, 제1 실시예 및 제2 실시예에 따른 방법에서는 메인 모드의 기울임 효과를 나타내기 위하여 참조되는 인접 픽셀을 이동시키는 방식을 사용하였으나, 제3 실시예에 따른 예측 블록 생성방법에서는 인접 픽셀은 고정한 상태에서 복사 방향을 직접 기울이는 방식을 사용한다. 도 20은 메인 모드가 0인 수직(vertical) 모드에 있어서의 두 가지 서브 모드의 예를 보여준다. 여기서, 도 20은 그 기울임의 정도가 한 픽셀인 경우를 예로 들었지만, 이에 한정되는 것은 아니며, 하프 픽셀 단위의 기울임도 가능하다.
차분기(725)는 현재 블록과 전술한 예측 블록 생성방법에 따라 생성된 예측 블록을 차분하여 잔차 블록을 얻는다(S911). 또한, 인트라 예측부(730)는 결정된 메인 모드의 값 및 서브 모드의 값을 엔트로피 부호화부(740)에 제공한다. 이때, 인트라 예측부(730)는 주변 블록에서의 메인 모드의 값과의 차분 및 주변 블록에서의 서브 모드의 값과의 차분을 엔트로피 부호화부(740)에 제공할 수도 있다.
엔트로피 부호화부(740)는 양자화부(780)에 의하여 양자화된 변환 계수와 모션 추정부(760)에 의하여 제공되는 모션 데이터 또는 인트라 예측부(730)로부터 제공되는 방향 차분을 무손실 부호화하고 비트스트림을 생성한다. 여기서, 인터 예측과 관련된 구성요소 및 그 동작은 도 7의 경우와 같으므로, 그에 대한 설명은 생략하였다.
도 21은 도 7의 비디오 인코더에 의해 생성되는 비트스트림의 구조의 예를 나타낸 도면이다. H.264에서는 비트스트림은 슬라이스(slice) 단위로 부호화된다. 비트스트림(2100)은슬 라이스 헤더(slice header)(2110)와, 슬라이스 데이터(slice date)(2120)를 포함하며, 슬라이스 데이터(2120)는 복수의 매크로블록 데이터들(MB)(2121 내지 2124)로 구성된다. 또한, 하나의 매크로블록 데이터(2123)는 mb_type 필드(2130)와, mb_pred 필드(2135)와, 텍스쳐 데이터(texture data) 필드(2139)로 구성될 수 있다.
여기서, mb_type 필드(2130)에는 매크로블록의 종류를 나타내는 값이 기록된다. 즉, 현재 매크로블록이 인트라 매크로블록(intra macroblock)인지, 인터 매크로블록(inter macroblock)인지를 나타낸다.
그리고, mb_pred 필드(2135)에는 상기 매크로블록의 종류에 따른 세부 예측 모드가 기록된다. 인트라 매크로블록의 경우에는 인트라 예측시 선택된 예측 모드의 정보가 기록되고, 인터 매크로블록의 경우에는 매크로블록 파티션 별로 참조 프레임 번호 및 모션 벡터의 정보가 기록된다.
mb-type 필드(2130)가 인트라 매크로블록을 나타내는 경우, mb-pred 필드(2135)는 복수의 블록 정보(2141 내지 2144)로 나뉘어지고, 각각의 블록 정보(2142)는 전술한 메인 모드의 값을 기록하는 main_mode 필드(2145)와 전술한 서브 모드의 값을 기록하는 sub-mode 필드(2146)로 나뉘어진다.
마지막으로, 텍스쳐 데이터 필드(2139)에는 부호화된 잔차 영상, 즉 텍스쳐 데이터가 기록된다.
도 22는 본 발명의 다른 실시예에 따른 비디오 디코더(2200)를 개략적으로 도시한 도면이다.
비디오 디코더(2200)는 엔트로피 복호화부(2210), 역 양자화부(2220), 역 공간적 변환부(2230), 역 인트라 예측부(2240) 및 모션 보상부(2250)를 포함하여 구성될 수 있다.
엔트로피 복호화부(2210)는 엔트로피 부호화 방식의 역으로 무손실 복호화를 수행하여, 인터 예측에 있어서의 모션 데이터(모션 벡터 및 참조 프레임 등에 관한 데이터), 인트라 예측에 있어서의 메인 모드 및 서브 모드, 및 텍스쳐 데이터 등을 추출한다. 이때, 엔트로피 복호화부(2210)는 역 양자화부(2220)에 텍스쳐 데이터를 제공하고, 모션 보상부(2250)에 모션 데이터를 제공하며, 역 인트라 예측부(2240)에 메인 모드 및 서브 모드를 제공한다.
역 양자화부(2220)는 엔트로피 복호화부(2210)로부터 전달된 텍스쳐 데이터를 역 양자화한다. 역 양자화 과정은 인코더(700) 단에서 소정의 인덱스로 표현하여 전달한 값으로부터 이와 매칭되는 양자화된 계수를 찾는 과정이다. 인덱스와 양자화 계수 간의 매칭(matching) 관계를 나타내는 테이블은 인코더(700) 단으로부터 전달될 수도 있고, 미리 인코더와 디코더 간의 약속에 의한 것일 수도 있다.
역 공간적 변환부(2230)는 공간적 변환을 역으로 수행하여, 역 양자화 결과 생성된 계수들(주파수 영역)을 공간적 영역에서의 잔차 블록으로 변환한다. 예를 들어, 비디오 인코더 단에서 웨이브렛 방식으로 공간적 변환된 경우에는 역 공간적 변환부(2230)는 역 웨이브렛 변환을 수행하며, 비디오 인코더 단에서 DCT 방식으로 공간적 변환된 경우에는 역 DCT 변환을 수행한다.
역 인트라 예측부(2240)는 엔트로피 복호화부(2210)로부터 전달되는 메인 모드의 값 및 서브 모드의 값과, 역 공간적 변환부(2230)로부터 제공되는 잔차 블록을 이용하여, 주변에 기 생성된 블록으로부터 얻어지는 예측 블록으로부터 현재 블록을 복원한다. 물론, 이와 같은 역 인트라 예측 과정은 현재 블록이 인코더(700) 단에서 인트라 예측 과정을 통하여 부호화된 경우에 한하여 적용된다.
현재 블록은 간단히 잔차 블록과 예측 블록의 합에 의하여 복원될 수 있는데, 예측 블록을 구할 때 메인 모드의 값 및 서브 모드의 값이 이용되는 것이다. 결정된 메인 모드의 값 및 서브 모드의 값을 기준으로 예측 블록을 구하는 과정은 비디오 인코더(700)에서의 인트라 예측부(730)에서와 동일하다. 다만, 인트라 예측부(730)와 달리 역 인트라 예측부(940)는 메인 모드 및 서브 모드를 결정하기 위한 탐색 과정은 수행할 필요가 없다. 이와 같이 복원된 현재 블록들의 총합은 하나의 복원된 매크로블록을 형성할 수 있다.
한편, 인터 예측으로부터의 복원을 위하여, 모션 보상부(2250)가 이용된다. 모션 보상부(2250)는 엔트로피 복호화부(2210)로부터 제공되는 모션 데이터를 이용하여, 기 복원된 프레임을 모션 보상하여 모션 보상 프레임을 생성한다. 물론, 이와 같은 모션 보상 과정은 복원하고자 하는 현재 블록이 인코더 단에서 인터 예측 과정을 통하여 부호화된 경우에 한하여 적용된다.
가산기(2255)는 역 공간적 변환부에서 복원되는 잔차 블록이 인터 예측에 의하여 생성된 것일 때에는, 잔차 블록과 모션 보상부(2250)로부터 제공되는 모션 보상된 프레임에서의 대응 영상을 가산하여 현재 블록을 복원한다. 이와 같이 복원된 현재 블록들의 총합은 하나의 복원된 매크로블록을 형성할 수 있다.
결국, 역 인트라 예측부(2240)에서 복원된 매크로블록(인트라 매크로블록) 및 가산기(2255)에서 복원된 매크로블록(인터 매크로블록)의 조합에 의하여 하나의 복원된 프레임이 생성될 수 있는 것이다.
도 23은 도 22의 비디오 디코더에 의한 비디오 디코딩 방법을 나타낸 흐름도이다.
도면을 참조하면, 엔트로피 복호화부(2210)는 엔트로피 부호화 방식의 역으로 무손실 복호화를 수행하여, 인터 예측에 있어서의 모션 데이터(모션 벡터 및 참조 프레임 등에 관한 데이터), 인트라 예측에 있어서의 메인 모드, 서브 모드 및 텍스쳐 데이터 등을 추출한다(S2301). 이때, 엔트로피 복호화부(2210)는 역 양자화부(2220)에 텍스쳐 데이터를 제공하고, 모션 보상부(2250)에 모션 데이터를 제공하며, 역 인트라 예측부(2240)에 메인 모드 및 서브 모드를 제공한다.
역 양자화부(2220)는 엔트로피 복호화부(2210)로부터 전달된 텍스쳐 데이터를 역 양자화한다(S2303). 역 양자화 과정은 인코더(700) 단에서 소정의 인덱스로 표현하여 전달한 값으로부터 이와 매칭되는 양자화된 계수를 찾는 과정이다. 인덱스와 양자화 계수 간의 매칭(matching) 관계를 나타내는 테이블은 인코더(700) 단으로부터 전달될 수도 있고, 미리 인코더와 디코더 간의 약속에 의한 것일 수도 있다.
역 공간적 변환부(2230)는 공간적 변환을 역으로 수행하며, 역 양자화 결과 생성된 계수들(주파수 영역)로부터 공간적 영역에서의 현재 블록의 잔차 영상을 복원한다(S2305).
역 인트라 예측부(2240)는 엔트로피 복호화부(2210)로부터 전달되는 메인 모드의 값 및 서브 모드의 값과, 역 공간적 변환부(2230)로부터 제공되는 잔차 블록을 이용하여, 주변에 기 생성된 블록으로부터 얻어지는 예측 블록으로부터 현재 블록을 복원한다(S2313). 물론, 이와 같은 역 인트라 예측 과정은 현재 블록이 인코더(700) 단에서 인트라 예측 과정을 통하여 부호화된 경우에 한하여 적용된다.
이때, 현재 블록은 간단히 잔차 블록과 예측 블록의 합에 의하여 복원될 수 있는데, 예측 블록을 구할 때 메인 모드의 값 및 서브 모드의 값이 이용되는 것이다. 결정된 메인 모드의 값 및 서브 모드의 값을 기준으로 예측 블록을 구하는 과정은 비디오 인코더(700)에서의 인트라 예측부(730)에서와 동일하다. 다만, 인트라 예측부(730)와 달리 역 인트라 예측부(940)는 메인 모드 및 서브 모드를 결정하기 위한 탐색 과정은 수행할 필요가 없다. 즉, 엔트로피 복호화부(2210)로부터 전달되는 메인 모드를 기준으로, 서브 모드의 값에 따라 메인 모드와 서브 모드의 오프셋만큼 주변 블록의 인접 픽셀들을 수평 또는 수직으로 이동시켜 예측 블록을 생성한다(S2307). 이때, 이동된 인접 픽셀들 중에 참조할 픽셀이 결여된 경우(S2309)에는, 도 9의 비디오 인코딩 과정에서와 마찬가지로 이동 전에 존재하는 픽셀을 복사하는 방식으로 보충할 수 있다(S2311). 이와 같이 복원된 현재 블록들의 총합은 하나의 복원된 매크로블록을 형성할 수 있다.
전술한 바와 같은 비디오 인코더 및 비디오 디코더의 각각의 구성요소는 소프트웨어(software) 또는, FPGA(field-programmable gate array)나 ASIC(application-specific integrated circuit)과 같은 하드웨어(hardware)를 의미할 수 있다. 그렇지만 이와 같은 구성요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(addressing)할 수 있는 저장 매체에 저장토록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 이와 같은 구성요소들 안에서 제공되는 기능은 더 세분화된 구성요소에 의하여 구현될 수 있으며, 복수의 구성요소들을 합하여 특정한 기능을 수행하는 하나의 구성요소로 구현할 수도 있다.
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재할 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미가 있다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
이상에서 설명한 바와 같이 본 발명의 실시예는 비디오 인코더 및 비디오 디코더 분야에 적용되어, H.264 표준과 비교하여 비트스트림 생성서의 오버헤드를 크게 증가시키지 않고서도 비트율을 감소시키면서 인트라 예측의 정확성을 높일 수 있는 효과를 발생시키는 매우 유용한 발명이다.
CROSS-REFERENCE TO RELATED APPLICATION
본 특허출원은 2009년 12월 03일 한국에 출원한 특허출원번호 제 10-2009-0119264 호에 대해 미국 특허법 119(a)조(35 U.S.C § 119(a))에 따라 우선권을 주장하면, 그 모든 내용은 참고문헌으로 본 특허출원에 병합된다. 아울러, 본 특허출원은 미국 이외에 국가에 대해서도 위와 동일한 동일한 이유로 우선권을 주장하면 그 모든 내용은 참고문헌으로 본 특허출원에 병합된다.

Claims (15)

  1. 비디오 인코딩 장치에 있어서,
    방향적 인트라 예측모드 중에서 현재 블록에 대한 메인 모드를 탐색하는 메인 모드 탐색부;
    상기 메인 모드 탐색부에 의해 탐색된 상기 메인 모드가 나타내는 방위를 시계방향 및 반 시계방향의 양 방향으로 소정 오프셋만큼 기울인 서브 모드를 탐색하는 서브 모드 탐색부;
    상기 메인 모드 탐색부에 의해 탐색된 상기 메인 모드 및 상기 서브 모드 탐색부에 의해 탐색된 상기 서브 모드에 기초하여, 상기 현재 블록의 주변블록으로부터 상기 현재 블록에 대한 예측 블록을 생성하는 예측블록 생성부;
    상기 현재 블록과 상기 예측 블록 사이의 차분을 계산하는 차분 계산부; 및
    상기 차분기에 의해 계산된 차분을 부호화하는 부호화부
    를 포함하는 것을 특징으로 하는 비디오 인코딩 장치.
  2. 제 1항에 있어서,
    상기 서브 모드 탐색부는,
    참조되는 주변 블록의 인접 픽셀들을 픽셀 단위 또는 하프 픽셀 단위로 수평 또는 수직으로 이동시켜 상기 서브 모드를 탐색하는 것을 특징으로 하는 비디오 인코딩 장치.
  3. 제 1항에 있어서,
    상기 서브 모드 탐색부는,
    참조되는 주변 블록의 인접 픽셀들을 픽셀 단위 또는 하프 픽셀 단위로 수평 또는 수직 이동시켜 탐색하며,
    수평 또는 수직으로 이동된 상기 인접 픽셀들 중 참조할 픽셀이 결여된 경우, 이동 전에 존재하는 픽셀을 복사하여 상기 서브 모드를 탐색하는 것을 특징으로 하는 비디오 인코딩 장치.
  4. 비디오 디코딩 장치에 있어서,
    입력된 비트스트림으로부터 방향적 인트라 예측에 관한 메인 모드, 서브 모드 및 텍스처 데이터를 추출하는 복호화부;
    상기 복호화부에 의해 추출된 상기 텍스처 데이터를 역 양자화하는 역 양자화부;
    상기 역 양자화부에 의한 역 양자화 결과로 생성된 계수들로부터 현재 블록의 잔차 영상을 복원하는 역 공간적 변환부; 및
    상기 복호화부에 의해 추출된 상기 메인 모드 및 상기 서브 모드를 이용하여 상기 현재 블록의 예측 블록을 생성하며, 생성된 상기 예측 블록과 상기 역 공간적 변환부에 의해 복원된 상기 잔차 영상을 가산하여 상기 현재 블록을 복원하는 역 인트라 예측부
    를 포함하는 것을 특징으로 하는 비디오 디코딩 장치.
  5. 제 4항에 있어서,
    상기 역 인트라 예측부는,
    상기 서브 모드에 따라, 상기 메인 모드를 기준으로 주변 블록의 인접 픽셀들을 픽셀 단위 또는 하프 픽셀 단위로 수평 또는 수직 이동시키며, 상기 이동된 인접 픽셀들로부터 상기 메인 모드에 기초하여 상기 예측 블록을 생성하는 것을 특징으로 하는 비디오 디코딩 장치.
  6. 제 4항에 있어서,
    상기 역 인트라 예측부는,
    상기 서브 모드에 따라, 상기 메인 모드를 기준으로 주변 블록의 인접 픽셀들을 픽셀 단위 또는 하프 픽셀 단위로 수평 또는 수직 이동시키고 상기 이동된 인접 픽셀들 중에 참조할 픽셀이 결여된 경우, 이동 전에 존재하는 픽셀을 복사하며, 상기 이동된 인접 픽셀들 및 상기 복사한 픽셀로부터 상기 메인 모드에 기초하여 상기 예측 블록을 생성하는 것을 특징으로 하는 비디오 디코딩 장치.
  7. 비디오 코딩에서의 방향적 인트라 예측방법에 있어서,
    방향적 인트라 예측모드 중에서 현재 블록에 대한 메인 모드를 탐색하는 단계;
    탐색된 상기 메인 모드가 나타내는 방위를 시계방향 및 반 시계방향의 양 방향으로 소정 오프셋만큼 기울인 서브 모드를 탐색하는 단계; 및
    탐색된 상기 메인 모드 및 탐색된 상기 서브 모드에 기초하여, 상기 현재 블록의 주변블록으로부터 상기 현재 블록에 대한 예측 블록을 생성하는 단계
    를 포함하는 것을 특징으로 하는 비디오 코딩에서의 방향적 인트라 예측방법.
  8. 제 7항에 있어서,
    상기 서브 모드를 탐색하는 단계는,
    참조되는 주변 블록의 인접 픽셀들을 수평 또는 수직 이동시켜 실행하는 것을 특징으로 하는 비디오 코딩에서의 방향적 인트라 예측방법.
  9. 제 7항에 있어서,
    상기 서브 모드를 탐색하는 단계는,
    참조되는 주변 블록의 인접 픽셀들을 수평 또는 수직 이동시켜 실행하며,
    수평 또는 수직 이동단계에 의해 이동된 상기 인접 픽셀들 중 참조할 픽셀이 결여된 경우, 이동 전에 존재하는 픽셀을 복사하는 단계
    를 포함하는 것을 특징으로 하는 비디오 코딩에서의 방향적 인트라 예측방법.
  10. 제 7항에 있어서,
    상기 서브 모드를 탐색하는 단계는,
    픽셀 단위 또는 하프 픽셀 단위로 상기 메인 모드가 나타내는 방위를 시계방향 및 반 시계방향의 양 방향으로 기울이는 것을 특징으로 하는 비디오 코딩에서의 방향적 인트라 예측방법.
  11. 비디오 인코딩 방법에 있어서,
    방향적 인트라 예측모드 중에서 현재 블록에 대한 메인 모드를 탐색하는 단계;
    탐색된 상기 메인 모드가 나타내는 방위를 시계방향 및 반 시계방향의 양 방향으로 소정 오프셋만큼 기울인 서브 모드를 탐색하는 단계; 및
    탐색된 상기 메인 모드 및 탐색된 상기 서브 모드에 기초하여, 상기 현재 블록의 주변블록으로부터 상기 현재 블록에 대한 예측 블록을 생성하는 단계
    상기 현재 블록과 상기 예측 블록 사이의 차분을 계산하는 단계; 및
    상기 차분기에 의해 계산된 차분을 부호화하는 단계
    를 포함하는 것을 특징으로 하는 비디오 인코딩 방법.
  12. 비디오 디코딩 방법에 있어서,
    입력된 비트스트림으로부터 방향적 인트라 예측에 관한 메인 모드, 서브 모드 및 텍스처 데이터를 추출하는 단계;
    추출된 상기 텍스처 데이터를 역 양자화하는 단계;
    상기 역 양자화 단계에 의한 역 양자화 결과로 생성된 계수들로부터 현재 블록의 잔차 영상을 복원하는 단계;
    추출된 상기 메인 모드 및 상기 서브 모드를 이용하여 상기 현재 블록의 예측 블록을 생성하는 단계; 및
    생성된 상기 예측 블록과 복원된 상기 잔차 영상을 가산하여 상기 현재 블록을 복원하는 단계
    를 포함하는 것을 특징으로 하는 비디오 디코딩 방법.
  13. 제 12항에 있어서,
    상기 서브 모드는, 상기 메인 모드가 나타내는 방위를 시계방향 및 반 시계방향의 양 방향으로 소정 오프셋만큼 기울여 형성된 것을 특징으로 하는 비디오 디코딩 방법.
  14. 제 12항에 있어서,
    상기 현재 블록의 예측 블록을 생성하는 단계는,
    상기 서브 모드에 따라, 상기 메인 모드를 기준으로 주변 블록의 인접 픽셀들을 수평 또는 수직으로 이동시키며, 상기 이동된 인접 픽셀들로부터 상기 메인 모드에 기초하여 상기 예측 블록을 생성하는 것을 특징으로 하는 비디오 디코딩 방법.
  15. 제 14항에 있어서,
    상기 이동단계에 의해 이동된 인접 픽셀들 중에 참조할 픽셀이 결여된 경우, 이동 전에 존재하는 픽셀을 복사하는 단계
    를 더 포함하는 것을 특징으로 하는 비디오 디코딩 방법.
PCT/KR2010/008387 2009-12-03 2010-11-25 비디오 인코딩 장치 및 그 인코딩 방법, 비디오 디코딩 장치 및 그 디코딩 방법, 및 거기에 이용되는 방향적 인트라 예측방법 WO2011068331A2 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/513,302 US9473777B2 (en) 2009-12-03 2010-11-25 Video encoding device and encoding method thereof, video decoding device and decoding method thereof, and directional intra-prediction method to be used thereto

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020090119264A KR101623124B1 (ko) 2009-12-03 2009-12-03 비디오 인코딩 장치 및 그 인코딩 방법, 비디오 디코딩 장치 및 그 디코딩 방법, 및 거기에 이용되는 방향적 인트라 예측방법
KR10-2009-0119264 2009-12-03

Publications (2)

Publication Number Publication Date
WO2011068331A2 true WO2011068331A2 (ko) 2011-06-09
WO2011068331A3 WO2011068331A3 (ko) 2011-10-06

Family

ID=44115402

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2010/008387 WO2011068331A2 (ko) 2009-12-03 2010-11-25 비디오 인코딩 장치 및 그 인코딩 방법, 비디오 디코딩 장치 및 그 디코딩 방법, 및 거기에 이용되는 방향적 인트라 예측방법

Country Status (3)

Country Link
US (1) US9473777B2 (ko)
KR (1) KR101623124B1 (ko)
WO (1) WO2011068331A2 (ko)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2651137A4 (en) * 2010-12-08 2016-03-02 Lg Electronics Inc INTRA-PREDICTION METHOD, ENCODING APPARATUS, AND DECODING APPARATUS USING THE SAME
KR20120140181A (ko) 2011-06-20 2012-12-28 한국전자통신연구원 화면내 예측 블록 경계 필터링을 이용한 부호화/복호화 방법 및 그 장치
US10645398B2 (en) * 2011-10-25 2020-05-05 Texas Instruments Incorporated Sample-based angular intra-prediction in video coding
KR102277121B1 (ko) * 2011-11-08 2021-07-15 한국과학기술원 영상 부호화/복호화 방법 및 장치
CN110855984B (zh) 2012-01-18 2023-05-02 韩国电子通信研究院 视频解码装置、视频编码装置和传输比特流的方法
US20130195185A1 (en) * 2012-02-01 2013-08-01 Industry-University Cooperation Foundation Hanyang University Apparatus and method for providing additional information to functional unit in reconfigurable codec
JP5591838B2 (ja) * 2012-02-02 2014-09-17 株式会社東芝 画像符号化装置、及び方法
US9185429B1 (en) 2012-04-30 2015-11-10 Google Inc. Video encoding and decoding using un-equal error protection
US9781447B1 (en) 2012-06-21 2017-10-03 Google Inc. Correlation based inter-plane prediction encoding and decoding
US9167268B1 (en) 2012-08-09 2015-10-20 Google Inc. Second-order orthogonal spatial intra prediction
US9344742B2 (en) 2012-08-10 2016-05-17 Google Inc. Transform-domain intra prediction
US9826229B2 (en) 2012-09-29 2017-11-21 Google Technology Holdings LLC Scan pattern determination from base layer pixel information for scalable extension
US9350988B1 (en) 2012-11-20 2016-05-24 Google Inc. Prediction mode-based block ordering in video coding
KR101596085B1 (ko) * 2012-12-18 2016-02-19 한양대학교 산학협력단 적응적인 인트라 예측을 이용한 영상 부호화/복호화 장치 및 방법
US9628790B1 (en) 2013-01-03 2017-04-18 Google Inc. Adaptive composite intra prediction for image and video compression
US9681128B1 (en) 2013-01-31 2017-06-13 Google Inc. Adaptive pre-transform scanning patterns for video and image compression
US10904551B2 (en) * 2013-04-05 2021-01-26 Texas Instruments Incorporated Video coding using intra block copy
US9247251B1 (en) * 2013-07-26 2016-01-26 Google Inc. Right-edge extension for quad-tree intra-prediction
RU2654129C2 (ru) 2013-10-14 2018-05-16 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Функциональные возможности режима внутреннего предсказания с блочным копированием для кодирования и декодирования видео и изображений
WO2015054812A1 (en) 2013-10-14 2015-04-23 Microsoft Technology Licensing, Llc Features of base color index map mode for video and image coding and decoding
CN105659602B (zh) 2013-10-14 2019-10-08 微软技术许可有限责任公司 用于视频和图像编码的帧内块复制预测模式的编码器侧选项
US10469863B2 (en) 2014-01-03 2019-11-05 Microsoft Technology Licensing, Llc Block vector prediction in video and image coding/decoding
US10390034B2 (en) 2014-01-03 2019-08-20 Microsoft Technology Licensing, Llc Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
EP3253059A1 (en) 2014-03-04 2017-12-06 Microsoft Technology Licensing, LLC Block flipping and skip mode in intra block copy prediction
CN105493505B (zh) 2014-06-19 2019-08-06 微软技术许可有限责任公司 统一的帧内块复制和帧间预测模式
AU2014408228B2 (en) 2014-09-30 2019-09-19 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled
US9591325B2 (en) 2015-01-27 2017-03-07 Microsoft Technology Licensing, Llc Special case handling for merged chroma blocks in intra block copy prediction mode
US10659783B2 (en) 2015-06-09 2020-05-19 Microsoft Technology Licensing, Llc Robust encoding/decoding of escape-coded pixels in palette mode
KR101911587B1 (ko) * 2015-08-03 2018-10-24 한양대학교 산학협력단 적응적인 인트라 예측을 이용한 영상 부호화/복호화 장치 및 방법
WO2017073362A1 (ja) * 2015-10-30 2017-05-04 ソニー株式会社 画像処理装置および方法
EP3442231A4 (en) 2016-05-02 2019-12-04 Industry - University Cooperation Foundation Hanyang University BILDCODE / DECODE PROCESS AND DEVICE USING INTRA-SCREEN PREDICTION
US10986349B2 (en) 2017-12-29 2021-04-20 Microsoft Technology Licensing, Llc Constraints on locations of reference blocks for intra block copy prediction
US11412260B2 (en) * 2018-10-29 2022-08-09 Google Llc Geometric transforms for image compression
US11375220B2 (en) * 2019-11-27 2022-06-28 Tencent America LLC Method and apparatus for video decoding using a nominal directional mode and an angular offset

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100679025B1 (ko) * 2004-11-12 2007-02-05 삼성전자주식회사 다 계층 기반의 인트라 예측 방법, 및 그 방법을 이용한비디오 코딩 방법 및 장치
KR100679031B1 (ko) * 2004-12-03 2007-02-05 삼성전자주식회사 다 계층 기반의 비디오 인코딩 방법, 디코딩 방법 및 상기방법을 이용한 장치
KR100703748B1 (ko) * 2005-01-25 2007-04-05 삼성전자주식회사 다 계층 기반의 비디오 프레임을 효율적으로 예측하는 방법및 그 방법을 이용한 비디오 코딩 방법 및 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101196429B1 (ko) * 2004-03-12 2012-11-01 삼성전자주식회사 동영상 트랜스코딩 방법 및 그 장치, 이에 사용되는움직임 벡터 보간방법
KR100678911B1 (ko) 2005-07-21 2007-02-05 삼성전자주식회사 방향적 인트라 예측의 적용을 확장하여 비디오 신호를인코딩하고 디코딩하는 방법 및 장치
US20080123947A1 (en) * 2005-07-22 2008-05-29 Mitsubishi Electric Corporation Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, image decoding program, computer readable recording medium having image encoding program recorded therein
US20080123977A1 (en) * 2005-07-22 2008-05-29 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
TW200840366A (en) * 2007-03-28 2008-10-01 Univ Nat Central Complexity control method of video encoder
WO2009028922A2 (en) * 2007-09-02 2009-03-05 Lg Electronics Inc. A method and an apparatus for processing a video signal

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100679025B1 (ko) * 2004-11-12 2007-02-05 삼성전자주식회사 다 계층 기반의 인트라 예측 방법, 및 그 방법을 이용한비디오 코딩 방법 및 장치
KR100679031B1 (ko) * 2004-12-03 2007-02-05 삼성전자주식회사 다 계층 기반의 비디오 인코딩 방법, 디코딩 방법 및 상기방법을 이용한 장치
KR100703748B1 (ko) * 2005-01-25 2007-04-05 삼성전자주식회사 다 계층 기반의 비디오 프레임을 효율적으로 예측하는 방법및 그 방법을 이용한 비디오 코딩 방법 및 장치

Also Published As

Publication number Publication date
WO2011068331A3 (ko) 2011-10-06
KR101623124B1 (ko) 2016-05-24
US20120320975A1 (en) 2012-12-20
US9473777B2 (en) 2016-10-18
KR20110062516A (ko) 2011-06-10

Similar Documents

Publication Publication Date Title
WO2011068331A2 (ko) 비디오 인코딩 장치 및 그 인코딩 방법, 비디오 디코딩 장치 및 그 디코딩 방법, 및 거기에 이용되는 방향적 인트라 예측방법
CN111955007A (zh) 视频解码的方法和装置
WO2013069932A1 (ko) 영상의 부호화 방법 및 장치, 및 복호화 방법 및 장치
WO2012008790A2 (en) Method and apparatus for encoding and decoding image through intra prediction
WO2013062197A1 (ko) 영상 복호화 장치
WO2011019246A2 (en) Method and apparatus for encoding/decoding image by controlling accuracy of motion vector
WO2011019234A2 (en) Method and apparatus for encoding and decoding image by using large transformation unit
WO2016204360A1 (ko) 영상 코딩 시스템에서 조도 보상에 기반한 블록 예측 방법 및 장치
WO2009113791A2 (ko) 영상 부호화장치 및 영상 복호화장치
WO2011126285A2 (ko) 부호화 모드에 대한 정보를 부호화, 복호화하는 방법 및 장치
WO2013062198A1 (ko) 영상 복호화 장치
CN112235581B (zh) 视频解码方法、装置、存储介质及电子设备
CN113892270A (zh) 在变换跳过模式和多变换选择之间进行协调的方法和装置
WO2012011672A2 (ko) 확장된 스킵모드를 이용한 영상 부호화/복호화 방법 및 장치
CN112655205A (zh) 仿射模型运动矢量的约束
CN113875234A (zh) 视频编解码的方法和装置
WO2013062194A1 (ko) 복원 블록을 생성하는 방법 및 장치
WO2012033344A2 (ko) 효과적인 화면내 예측모드 집합 선택을 이용한 영상 부호화/복호화 방법 및 장치
WO2011108879A2 (ko) 영상 부호화 장치, 그 영상 부호화 방법, 영상 복호화 장치 및 그 영상 복호화 방법
CN113557527A (zh) 通用视频编解码中色彩变换的方法和装置
CN112789851A (zh) 视频编解码方法及装置
WO2011068332A2 (ko) 공간적 예측장치 및 그 예측방법, 그것을 이용한 영상 부호화 장치 및 방법, 및 영상 복호화 장치 및 방법
CN114375570A (zh) 用于视频编码的方法及装置
WO2012033343A2 (ko) 참조 화소들의 특성을 이용하여 예측모드 정보의 전송을 생략할 수 있는 화면 내 예측 부호화/복호화 장치 및 그 방법
CN111726627A (zh) 视频解码方法、装置、计算机设备和存储介质

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: 10834746

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase in:

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13513302

Country of ref document: US

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS (EPO FORM 1205A DATED 10-09-2012)

122 Ep: pct application non-entry in european phase

Ref document number: 10834746

Country of ref document: EP

Kind code of ref document: A2